75 lines
3.0 KiB
C#
75 lines
3.0 KiB
C#
using AyCode.Core.Consts;
|
|
using AyCode.Entities;
|
|
using AyCode.Entities.Server.LogItems;
|
|
using AyCode.Services.SignalRs;
|
|
using AyCode.Utils.Extensions;
|
|
using DevExpress.Data.Filtering;
|
|
using Microsoft.AspNetCore.Authorization;
|
|
using Microsoft.AspNetCore.Cors;
|
|
using Microsoft.AspNetCore.Mvc;
|
|
using TIAM.Database.DataLayers.Admins;
|
|
using TIAM.Entities.Transfers;
|
|
using TIAM.Services;
|
|
using TIAMWebApp.Server.Services;
|
|
using TIAMWebApp.Shared.Application.Models;
|
|
using TIAMWebApp.Shared.Application.Models.ClientSide.UI;
|
|
|
|
namespace TIAMWebApp.Server.Controllers
|
|
{
|
|
[Authorize]
|
|
[ApiController]
|
|
[EnableCors("_myAllowSpecificOrigins")]
|
|
[Route("api/v1/[controller]")]
|
|
public class LoggerApiController(LoggerToLoggerApiController logger, AdminDal adminDal) : ControllerBase
|
|
{
|
|
// = new TIAM.Core.Loggers.Logger<LoggerApiController>();
|
|
|
|
[AllowAnonymous]
|
|
[HttpPost]
|
|
[Route(APIUrls.AddLogItemRouteName)]
|
|
public async Task AddLogItem(AcLogItem? logItem)
|
|
{
|
|
try
|
|
{
|
|
if (logItem == null)
|
|
{
|
|
logger.Error("AddLogItem; LogItem == null");
|
|
//_logger.Writer<ConsoleLogWriter>().Detail("");
|
|
|
|
return;
|
|
}
|
|
|
|
//logItem.LogHeaderId = ???
|
|
logItem.TimeStampUtc = DateTime.UtcNow;
|
|
|
|
logger.Write(logItem);
|
|
|
|
//_logger.Writer<IAcConsoleLogWriter>()?.Write(logItem.AppType, logItem.LogLevel, logItem.Text, logItem.CallerName, logItem.CategoryName, logItem.ErrorType, logItem.Exception);
|
|
//_logger.Writer<DbLogItemWriter>().WriteLogItemAsync(logItem);
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
Console.WriteLine($@"ERROR!!! {nameof(LoggerApiController)}->AddLogItem; ex: {ex.Message}{AcEnv.NL}{AcEnv.NL}{ex}");
|
|
}
|
|
}
|
|
|
|
[AllowAnonymous]
|
|
[HttpGet]
|
|
[Route(APIUrls.GetAllLogItemsRouteName)]
|
|
[SignalR(SignalRTags.GetAllLogItemsByFilterText)]
|
|
public async Task<List<LogItemViewerModel>> GetAllLogItems(string? criteriaOperatorText) //(int takeCount, string filterText)
|
|
{
|
|
//public Task<List<Transfer>> GetTransfersByFilterAsync(CriteriaOperator criteriaOperator) => SessionAsync(ctx => (ctx.GetTransfers().AppendWhere(new CriteriaToExpressionConverter(), criteriaOperator) as IQueryable<Transfer>)!.ToList());
|
|
List<AcLogItem> logItemList;
|
|
|
|
if (criteriaOperatorText.IsNullOrWhiteSpace()) logItemList = await adminDal.GetLogItemsAsync(1000);
|
|
else logItemList = await adminDal.GetLogItemsByFilterAsync(CriteriaOperator.Parse(criteriaOperatorText),1000);
|
|
|
|
var resultList = new List<LogItemViewerModel>(logItemList.Count);
|
|
//logItemList[0].ToModelDto<LogItemViewerModel, AcLogItem>();
|
|
resultList.AddRange(logItemList.Select(logItem => new LogItemViewerModel(logItem, logItem.LogHeaderId)));
|
|
|
|
return resultList;
|
|
}
|
|
}
|
|
} |