Add Logger

This commit is contained in:
jozsef.b@aycode.com 2024-05-14 13:04:13 +02:00
parent dc9c8ddad2
commit 147dc830ba
54 changed files with 573 additions and 286 deletions

View File

@ -0,0 +1,17 @@
using AyCode.Core.Enums;
using AyCode.Core.Loggers;
namespace TIAM.Core.Loggers;
public class ConsoleLogWriter : AcConsoleLogWriter
{
public ConsoleLogWriter() : this(null)
{ }
public ConsoleLogWriter(string? categoryName = null) : base(categoryName)
{ }
public ConsoleLogWriter(AppType appType, LogLevel logLevel, string? callerClassName = null) : base(appType, logLevel, callerClassName)
{
}
}

View File

@ -0,0 +1,12 @@
using AyCode.Core.Loggers;
namespace TIAM.Core.Loggers;
public interface ILogger<TCategory> : ILogger
{
}
public interface ILogger : IAcLoggerBase
{
}

View File

@ -0,0 +1,32 @@
using AyCode.Core.Enums;
using AyCode.Core.Loggers;
namespace TIAM.Core.Loggers;
public class Logger<TCategory> : AcLoggerBase, ILogger<TCategory>
{
public Logger() : base(typeof(TCategory).Name)
{ }
public Logger(params IAcLogWriterBase[] logWriters) : base(typeof(TCategory).Name, logWriters)
{ }
public Logger(AppType appType, LogLevel logLevel, params IAcLogWriterBase[] logWriters) : base(appType, logLevel, typeof(TCategory).Name, logWriters)
{ }
}
public class Logger : AcLoggerBase, ILogger
{
public Logger() : this(null)
{
}
public Logger(string? categoryName) : base(categoryName)
{ }
public Logger(string? categoryName, params IAcLogWriterBase[] logWriters) : base(categoryName, logWriters)
{ }
public Logger(AppType appType, LogLevel logLevel, string? categoryName, params IAcLogWriterBase[] logWriters) : base(appType, logLevel, categoryName, logWriters)
{ }
}

View File

@ -17,6 +17,23 @@
"SendGrid": {
//"Key": "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"
"Key": "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"
}
},
"AyCode": {
"ProjectId": "684f34d1-163a-4077-918f-a9d9df5ce789",
"Logger": {
"AppType": "Server",
"LogLevel": "Detail",
"LogWriters": [
{
"LogLevel": "Detail",
"LogWriterType": "TIAM.Core.Loggers.ConsoleLogWriter, TIAM.Core, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null"
},
{
"LogLevel": "Detail",
"LogWriterType": "TIAM.Database.DbLogItemWriter, TIAM.Database, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null"
}
]
}
}
}

View File

@ -1,4 +1,5 @@
using AyCode.Core.Extensions;
using AyCode.Core.Server.Loggers;
using AyCode.Database.DbSets.Messages;
using AyCode.Database.DbSets.Users;
using AyCode.Models.Enums;
@ -228,7 +229,7 @@ namespace TIAM.Database.DataLayers.Admins
public bool CreateProductAsync(Product product)
{
Context.CreateProduct(product);
Console.WriteLine($@"Saving product to db {product.Id}, {product.Name}, {product.ServiceProviderId}");
GlobalLogger.Info($@"Saving product to db {product.Id}, {product.Name}, {product.ServiceProviderId}");
var result = Context.SaveChangesAsync();
return result.Result > 0;
}
@ -240,14 +241,14 @@ namespace TIAM.Database.DataLayers.Admins
public virtual Task<TiamServiceProvider?> GetServiceProviderByIdAsync(Guid id)
{
Console.WriteLine($@"Getting serviceProvider from db {id}");
GlobalLogger.Info($@"Getting serviceProvider from db {id}");
return Context.ServiceProviders.SingleOrDefaultAsync(x => x.Id == id);
}
//public Task<UserProductMapping> CreateUserProductMappingAsync(UserProductMapping userProductMapping)
//{
// Context.UserProductMappings.Add(userProductMapping);
// Console.WriteLine($"Saving userProductMapping to db {userProductMapping.Id}, {userProductMapping.ProductId}, {userProductMapping.UserId}");
// GlobalLogger.Info($"Saving userProductMapping to db {userProductMapping.Id}, {userProductMapping.ProductId}, {userProductMapping.UserId}");
// return Context.SaveChangesAsync().ContinueWith(x => userProductMapping);
//}
@ -453,7 +454,7 @@ namespace TIAM.Database.DataLayers.Admins
}
foreach (var row in result)
{
Console.WriteLine($@"GetPermissionsOfUserProductMappingsAndGroupsAsyncByContextId: {row.ContextId}, {row.SubjectId}, {row.SubjectType}, {row.Name}, {row.PermissionsValue}");
GlobalLogger.Info($@"GetPermissionsOfUserProductMappingsAndGroupsAsyncByContextId: {row.ContextId}, {row.SubjectId}, {row.SubjectType}, {row.Name}, {row.PermissionsValue}");
}
return Task.FromResult(result);
}

View File

@ -1,4 +1,5 @@
using AyCode.Core.Logger;
using AyCode.Core.Loggers;
using AyCode.Core.Server.Loggers;
using Microsoft.EntityFrameworkCore;
using TIAM.Database.DbContexts.Auctions;
using TIAM.Entities.Auctions;
@ -19,14 +20,14 @@ namespace TIAM.Database.DataLayers.Auctions
public Task<List<AuctionBid>> GetBidsByEmail(string email)
{
Logger.Info($"Getting bid from db {email}");
GlobalLogger.Info($"Getting bid from db {email}");
var emailLower = email.ToLower();
return Context.AuctionBids.Where(x => x.Email.ToLower() == emailLower).ToListAsync();
}
public AuctionBid? GetBidById(Guid id)
{
Logger.Info($"Getting bid from db {id}");
GlobalLogger.Info($"Getting bid from db {id}");
return Context.AuctionBids.FirstOrDefault(x => x.Id == id);
}
@ -36,7 +37,7 @@ namespace TIAM.Database.DataLayers.Auctions
auctionBid.Created = DateTime.UtcNow;
auctionBid.Modified = DateTime.UtcNow;
Context.AuctionBids.Add(auctionBid);
Logger.Info($"Saving user to db {auctionBid.Id}, {auctionBid.Email}, {auctionBid.PhoneNumber}");
GlobalLogger.Info($"Saving user to db {auctionBid.Id}, {auctionBid.Email}, {auctionBid.PhoneNumber}");
return Context.SaveChangesAsync().ContinueWith(x => x.Result > 0);
}

View File

@ -234,7 +234,7 @@ namespace TIAM.Database.DataLayers.ServiceProviders
//// }
//// foreach (var row in result)
//// {
//// Console.WriteLine($"GetPermissionsOfUserProductMappingsAndGroupsAsyncByContextId: {row.ContextId}, {row.SubjectId}, {row.SubjectType}, {row.Name}, {row.PermissionsValue}");
//// GlobalLogger.Info($"GetPermissionsOfUserProductMappingsAndGroupsAsyncByContextId: {row.ContextId}, {row.SubjectId}, {row.SubjectType}, {row.Name}, {row.PermissionsValue}");
//// }
//// return Task.FromResult(result);
//// }
@ -340,7 +340,7 @@ namespace TIAM.Database.DataLayers.ServiceProviders
//// {
//// var prod = Context.UpdateProduct(product);
//// Console.WriteLine($"Saving product to db {product.Id}, {product.Name}, {product.ServiceProviderId}");
//// GlobalLogger.Info($"Saving product to db {product.Id}, {product.Name}, {product.ServiceProviderId}");
//// Context.SaveChanges();
//// return prod;
//// }

View File

@ -0,0 +1,25 @@
using AyCode.Core.Enums;
using AyCode.Core.Loggers;
using AyCode.Database;
using AyCode.Database.DbContexts.Loggers;
using AyCode.Entities.LogItems;
namespace TIAM.Database;
public class LoggerDbContextBase : AcLoggerDbContextBase<AcLogItem>
{
}
public class DbLogItemWriter : AcDbLogItemWriter<LoggerDbContextBase, AcLogItem>
{
public DbLogItemWriter() : this(null)
{ }
public DbLogItemWriter(string? categoryName = null) : base(categoryName)
{ }
public DbLogItemWriter(AppType appType, LogLevel logLevel, string? categoryName = null) : base(appType, logLevel, categoryName)
{
}
}

View File

@ -1,3 +1,4 @@
using AyCode.Core.Server.Loggers;
using AyCode.Services.Server.Tests.LoginServices;
using TIAM.Database.DataLayers.Users;
using TIAM.Database.DbContexts.Users;
@ -24,8 +25,12 @@ namespace TIAM.Services.Server.Tests.LoginServices
[DataTestMethod]
[DataRow([RegisterUserIdString, RegisterEmail, RegisterPassword])]
public override Task AcBase_RegisterUser_ReturnsUser_WhenUserExist(string[] userIdEmailPasswordStrings)
=> base.AcBase_RegisterUser_ReturnsUser_WhenUserExist(userIdEmailPasswordStrings);
{
GlobalLogger.Debug("Test started0...");
return base.AcBase_RegisterUser_ReturnsUser_WhenUserExist(userIdEmailPasswordStrings);
}
[DataTestMethod]
[DataRow([LoginEmail, LoginPassword])]
public override void AcBase_LoginUser_ReturnsUser_WhenUserExist(string[] emailPasswordStrings)

View File

@ -1,6 +1,7 @@
{
"ConnectionStrings": {
"DeveloperDbConnection": "Data Source=185.51.190.197;Initial Catalog=TIAM_DEV;Trusted_Connection=false;Encrypt=false;TrustServerCertificate=True;Connect Timeout=200;User ID=Anata_Development_Team;Password=v6f_?xNfg9N1;MultipleActiveResultSets=true"
"DeveloperDbConnection":
"Data Source=185.51.190.197;Initial Catalog=TIAM_DEV;Trusted_Connection=false;Encrypt=false;TrustServerCertificate=True;Connect Timeout=200;User ID=Anata_Development_Team;Password=v6f_?xNfg9N1;MultipleActiveResultSets=true"
},
"Logging": {
"LogLevel": {
@ -17,6 +18,23 @@
"SendGrid": {
//"Key": "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"
"Key": "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"
}
},
"AyCode": {
"ProjectId": "684f34d1-163a-4077-918f-a9d9df5ce789",
"Logger": {
"AppType": "Server",
"LogLevel": "Detail",
"LogWriters": [
{
"LogLevel": "Detail",
"LogWriterType": "TIAM.Core.Loggers.ConsoleLogWriter, TIAM.Core, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null"
},
{
"LogLevel": "Detail",
"LogWriterType": "TIAM.Database.DbLogItemWriter, TIAM.Database, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null"
}
]
}
}
}

View File

@ -1,4 +1,6 @@
using System.Net;
using AyCode.Core.Helpers;
using AyCode.Core.Loggers;
using AyCode.Models.Enums;
using Microsoft.Extensions.Configuration;
using SendGrid;
@ -19,6 +21,8 @@ namespace TIAM.Services.Server
Console.WriteLine($@"EmailMessage!!!");
// Access DerivedClass properties
//var subject = emailMessage.Subject;
//adminDal.AddEmailMessageAsync(message).Forget();
result = (await SendMailWithSendgrid(message)).ToString(); //?? HttpStatusCode.BadRequest.ToString();
break;
case (int)MessageTypesEnum.sms:

View File

@ -7,6 +7,7 @@ using AyCode.Interfaces.StorageHandlers;
using TIAMWebApp.Shared.Application.Utility;
using TIAMWebApp.Shared.Application.Services;
using BlazorAnimation;
using AyCode.Core.Loggers;
namespace TIAMMobileApp
{
@ -46,7 +47,7 @@ namespace TIAMMobileApp
builder.Services.AddScoped<IWeatherForecastService, WeatherForecastService>();
builder.Services.AddScoped<ITransferDataService, TransferDataService>();
builder.Services.AddScoped<LogToBrowserConsole>();
builder.Services.AddScoped<IAcLogWriterBase, BrowserConsoleLogWriter>();
builder.Services.AddScoped<IPopulationStructureDataProvider, PopulationStructureDataProvider>();
builder.Services.AddScoped<ISupplierService, SupplierService>();
builder.Services.AddScoped<IUserDataService, UserDataServiceMobile>();

View File

@ -7,9 +7,12 @@
@using TIAMWebApp.Shared.Application.Models.ClientSide
@using AyCode.Interfaces.StorageHandlers;
@using System.Globalization;
@using AyCode.Core.Enums
@using AyCode.Core.Loggers
@using TIAM.Core.Loggers
@inject NavigationManager NavManager
@inject IJSRuntime JSRuntime
@inject LogToBrowserConsole logToBrowserConsole
@inject IEnumerable<IAcLogWriterBase> LogWriters
@inject IUserDataService UserDataService
@inject ISecureStorageHandler SecureStorageHandler
@inject ISessionService sessionService;
@ -31,16 +34,17 @@
@code {
[Parameter]
public string TrackingId { get; set; }
string userDetailsStr;
string locale;
ILogger _logger;
protected async override Task OnInitializedAsync()
protected override async Task OnInitializedAsync()
{
_logger = new LoggerClient<AppLaunchComponent>(LogWriters.ToArray());
var (_userDetailStr, _locale) = await GetLocalSettings();
userDetailsStr = _userDetailStr;
@ -49,20 +53,20 @@
{
locale = _locale;
Culture = new CultureInfo(locale);
logToBrowserConsole.LogToBC("Locale from settings: " + locale);
_logger.Info("Locale from settings: " + locale);
}
else
{
logToBrowserConsole.LogToBC("Default locale:" + Culture.Name);
_logger.Info("Default locale:" + Culture.Name);
}
logToBrowserConsole = new LogToBrowserConsole(JSRuntime);
//_logger = new _logger(JSRuntime);
//wait for 5 seconds
//await Task.Delay(1000);
if (!string.IsNullOrWhiteSpace(userDetailsStr))
{
logToBrowserConsole.LogToBC(userDetailsStr);
_logger.Info(userDetailsStr);
var userBasicDetail = JsonConvert.DeserializeObject<UserBasicDetails>(userDetailsStr);
var handler = new JwtSecurityTokenHandler();
@ -73,16 +77,16 @@
if (jsontoken?.ValidTo < DateTime.UtcNow)
{
logToBrowserConsole.LogToBC("Token needs to be refreshed");
_logger.Info("Token needs to be refreshed");
bool isTokenRefreshed = await UserDataService.RefreshToken();
if (isTokenRefreshed)
{
logToBrowserConsole.LogToBC("Token refreshed");
_logger.Info("Token refreshed");
}
else
{
logToBrowserConsole.LogToBC("Couldn't refresh token");
_logger.Info("Couldn't refresh token");
SignOut();
//NavManager.NavigateTo("/");
return;
@ -91,7 +95,7 @@
}
else
{
logToBrowserConsole.LogToBC("Valid token found");
_logger.Info("Valid token found");
}
@ -99,13 +103,13 @@
string _email = jsontoken.Claims.First(claim => claim.Type == JwtRegisteredClaimNames.Email).Value;
var user = await UserDataService.IsLoggedInAsync(Guid.Parse(_userId));
sessionService.User = user;
logToBrowserConsole.LogToBC($"Saved user in db is: {user.DisplayName}, setting autenthicated state");
_logger.Info($"Saved user in db is: {user.DisplayName}, setting autenthicated state");
sessionService.IsAuthenticated = true;
//NavManager.NavigateTo("/");
}
else
{
logToBrowserConsole.LogToBC("No token stored yet");
_logger.Info("No token stored yet");
NavManager.NavigateTo("/");
}
ComponentUpdateService.CallRequestRefresh();

View File

@ -18,6 +18,7 @@ using TIAMSharedUI.Shared;
using DevExpress.Pdf.Native.BouncyCastle.Asn1.Cms;
using System.Text.RegularExpressions;
using AyCode.Core.Consts;
using AyCode.Core.Loggers;
namespace TIAMSharedUI.Pages.Components
@ -25,7 +26,7 @@ namespace TIAMSharedUI.Pages.Components
public partial class InputWizard : ComponentBase
{
[Inject]
public required LogToBrowserConsole LogToBrowserConsole { get; set; }
public required IAcLogWriterBase BrowserConsoleLogWriter { get; set; }
[Inject]
IStringLocalizer<TIAMResources> localizer { get; set; }
@ -96,13 +97,13 @@ namespace TIAMSharedUI.Pages.Components
public void OnNext(MouseEventArgs args)
{
LogToBrowserConsole.LogToBC("OnNext called");
BrowserConsoleLogWriter.Info("OnNext called");
CurrentStep++;
}
public void OnPrevious(MouseEventArgs args)
{
LogToBrowserConsole.LogToBC("OnPrev called");
BrowserConsoleLogWriter.Info("OnPrev called");
CurrentStep--;
}
@ -110,7 +111,7 @@ namespace TIAMSharedUI.Pages.Components
{
var _type = Data.GetType();
LogToBrowserConsole.LogToBC("Hellooooo " + _type.AssemblyQualifiedName);
BrowserConsoleLogWriter.Info("Hellooooo " + _type.AssemblyQualifiedName);
var propertyList = _type.GetProperties();
var _length = propertyList.Length - IgnoreReflection.Count;
@ -136,7 +137,7 @@ namespace TIAMSharedUI.Pages.Components
if (!FormSteps.ContainsKey(k))
{
_stepID = Guid.NewGuid();
LogToBrowserConsole.LogToBC($"Adding step {k}, {_stepID}, for {property.Name}");
BrowserConsoleLogWriter.Info($"Adding step {k}, {_stepID}, for {property.Name}");
FormSteps.Add(k, _stepID);
}
else
@ -149,7 +150,7 @@ namespace TIAMSharedUI.Pages.Components
//the following line creates a lambda expression that returns the value of the property
var lambda = Expression.Lambda(typeof(Func<>).MakeGenericType(property.PropertyType), access);
LogToBrowserConsole.LogToBC(lambda.ToString());
BrowserConsoleLogWriter.Info(lambda.ToString());
layoutItemBuilder.OpenElement(i++, "div");//open div
layoutItemBuilder.AddAttribute(i++, "id", _stepID.ToString());
@ -162,7 +163,7 @@ namespace TIAMSharedUI.Pages.Components
else
{
//this input should be focused, so we set a flag
LogToBrowserConsole.LogToBC($"Setting focus to {property.Name}");
BrowserConsoleLogWriter.Info($"Setting focus to {property.Name}");
}
@ -183,7 +184,7 @@ namespace TIAMSharedUI.Pages.Components
case DataType.Text:
{
editor.OpenComponent<DxTextBox>(j++);
LogToBrowserConsole.LogToBC($"{property.Name}, {property.PropertyType}");
BrowserConsoleLogWriter.Info($"{property.Name}, {property.PropertyType}");
editor.AddAttribute(j++, "Text", property.GetValue(Data));
editor.AddAttribute(j++, "TextExpression", lambda);
editor.AddAttribute(j++, "CssClass", "form-field");
@ -358,9 +359,9 @@ namespace TIAMSharedUI.Pages.Components
//editor.AddAttribute(j++, "TExpression", lambda);
editor.AddAttribute(j++, "OnSliderChanged", EventCallback.Factory.Create<string>(this, result =>
{
LogToBrowserConsole.LogToBC($"Slider changed to {result}");
BrowserConsoleLogWriter.Info($"Slider changed to {result}");
property.SetValue(Data, result);
LogToBrowserConsole.LogToBC($"bleh: {property.Name} = {property.GetValue(Data)}");
BrowserConsoleLogWriter.Info($"bleh: {property.Name} = {property.GetValue(Data)}");
StateHasChanged(); // Add this line to refresh the UI
}));
@ -374,7 +375,7 @@ namespace TIAMSharedUI.Pages.Components
editor.AddAttribute(j++, "TextChanged", EventCallback.Factory.Create<string>(this, str =>
{
property.SetValue(Data, str);
LogToBrowserConsole.LogToBC($"bleh: {property.Name} = {property.GetValue(Data)}");
BrowserConsoleLogWriter.Info($"bleh: {property.Name} = {property.GetValue(Data)}");
}));
editor.CloseComponent();
@ -387,7 +388,7 @@ namespace TIAMSharedUI.Pages.Components
editor.AddAttribute(j++, "NullText", "Please tell us your name.");
editor.AddAttribute(j++, "FirstNameChanged", EventCallback.Factory.Create<string>(this, result =>
{
LogToBrowserConsole.LogToBC($"FirstName changed to {result}");
BrowserConsoleLogWriter.Info($"FirstName changed to {result}");
//find property with name FirstName
PropertyInfo firstNameProperty = propertyList.FirstOrDefault(p => p.Name == "FirstName");
@ -406,7 +407,7 @@ namespace TIAMSharedUI.Pages.Components
editor.AddAttribute(j++, "LastNameChanged", EventCallback.Factory.Create<string>(this, result =>
{
LogToBrowserConsole.LogToBC($"LastName changed to {result}");
BrowserConsoleLogWriter.Info($"LastName changed to {result}");
//find property with name FirstName
PropertyInfo firstNameProperty = propertyList.FirstOrDefault(p => p.Name == "FirstName");
@ -421,7 +422,7 @@ namespace TIAMSharedUI.Pages.Components
string fullName = $"{firstName} {lastName}";
property.SetValue(Data, fullName);
}
LogToBrowserConsole.LogToBC($"bleh: {property.Name} = {property.GetValue(Data)}");
BrowserConsoleLogWriter.Info($"bleh: {property.Name} = {property.GetValue(Data)}");
StateHasChanged(); // Add this line to refresh the UI
}));
@ -435,7 +436,7 @@ namespace TIAMSharedUI.Pages.Components
editor.AddAttribute(j++, "TextChanged", EventCallback.Factory.Create<string>(this, str =>
{
property.SetValue(Data, str);
LogToBrowserConsole.LogToBC($"bleh: {property.Name} = {property.GetValue(Data)}");
BrowserConsoleLogWriter.Info($"bleh: {property.Name} = {property.GetValue(Data)}");
}));
editor.CloseComponent();
@ -501,7 +502,7 @@ namespace TIAMSharedUI.Pages.Components
layoutItemBuilder.CloseElement();
LogToBrowserConsole.LogToBC($"loop {k}, length: {_length}, formSteps: {FormSteps.Count} ");
BrowserConsoleLogWriter.Info($"loop {k}, length: {_length}, formSteps: {FormSteps.Count} ");
k++;
}
@ -510,7 +511,7 @@ namespace TIAMSharedUI.Pages.Components
layoutItemBuilder.AddAttribute(i++, "CssClass", "full-width justify-content-center");
layoutItemBuilder.AddAttribute(i++, "Template", (RenderFragment<object>)((context) => ((editor) =>
{
LogToBrowserConsole.LogToBC($"Submit button {CurrentStep}, {FormSteps.Count}");
BrowserConsoleLogWriter.Info($"Submit button {CurrentStep}, {FormSteps.Count}");
editor.OpenElement(i++, "button");
editor.AddAttribute(i++, "type", "submit");
@ -553,7 +554,7 @@ namespace TIAMSharedUI.Pages.Components
private void SetPhoneNumber(PropertyInfo property, object Data, string str)
{
LogToBrowserConsole.LogToBC($"SetPhoneNumber called with {str}");
BrowserConsoleLogWriter.Info($"SetPhoneNumber called with {str}");
property.SetValue(Data, str);
}
}

View File

@ -10,6 +10,7 @@ using System.Globalization;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using AyCode.Core.Loggers;
using TIAMSharedUI.Resources;
using TIAMWebApp.Shared.Application.Interfaces;
using TIAMWebApp.Shared.Application.Models;
@ -28,7 +29,7 @@ namespace TIAMSharedUI.Pages.Components
[Inject]
public NavigationManager navigationManager { get; set; }
[Inject]
public LogToBrowserConsole logToBrowserConsole { get; set; }
public IAcLogWriterBase BrowserConsoleLogWriter { get; set; }
[Inject]
public IComponentUpdateService componentUpdateService { get; set; }
@ -57,12 +58,12 @@ namespace TIAMSharedUI.Pages.Components
string? current = await GetCurrentSettings();
if (!string.IsNullOrEmpty(current))
{
logToBrowserConsole.LogToBC(current);
BrowserConsoleLogWriter.Info(current);
//SelectedCulture = culture.FirstOrDefault(x => x.Name == Setting.Locale);
foreach (var item in culture)
{
logToBrowserConsole.LogToBC(item.Name);
BrowserConsoleLogWriter.Info(item.Name);
if (item.Name == current)
{
SelectedCulture = item;
@ -70,7 +71,7 @@ namespace TIAMSharedUI.Pages.Components
}
}
logToBrowserConsole.LogToBC("Selected: " + SelectedCulture.Name);
BrowserConsoleLogWriter.Info("Selected: " + SelectedCulture.Name);
}
else
{

View File

@ -12,6 +12,7 @@
@using TIAMWebApp.Shared.Application.Models.PageModels
@using TIAMWebApp.Shared.Application.Utility;
@using System.IdentityModel.Tokens.Jwt;
@using AyCode.Core.Loggers
@using TIAMSharedUI.Pages.Components;
@using TIAMSharedUI.Shared
@using TIAMWebApp.Shared.Application.Models.ClientSide.UI.WizardModels
@ -22,7 +23,7 @@
@inject ISessionService sessionService;
@inject IStringLocalizer<MyResources> localizer;
@inject NavigationManager navManager
@inject LogToBrowserConsole logToBrowserConsole
@inject IAcLogWriterBase BrowserConsoleLogWriter
@inject ITransferDataService transferDataService
@ -455,7 +456,7 @@ new HeroSliderItem
if (IsLoggedIn)
{
logToBrowserConsole.LogToBC("logged in" + sessionService.User.UserModelDto.Products.FirstOrDefault().Id);
BrowserConsoleLogWriter.Info("logged in" + sessionService.User.UserModelDto.Products.FirstOrDefault().Id);
}
}
@ -497,7 +498,7 @@ new HeroSliderItem
}
var transferResult = await transferDataService.CreateTransfers(transferList);
logToBrowserConsole.LogToBC($"Submitted nested form: {transferResult.GetType().FullName}, {transferResult.Count}");
BrowserConsoleLogWriter.Info($"Submitted nested form: {transferResult.GetType().FullName}, {transferResult.Count}");
return transferResult;
}
}

View File

@ -9,6 +9,7 @@
@using TIAMWebApp.Shared.Application.Models.ClientSide.UI
@using TIAMWebApp.Shared.Application.Utility;
@using System.IdentityModel.Tokens.Jwt;
@using AyCode.Core.Loggers
@using TIAMSharedUI.Pages.Components;
@using TIAMSharedUI.Shared
@using TIAMWebApp.Shared.Application.Models.ClientSide.UI.WizardModels
@ -19,7 +20,7 @@
@inject ISessionService sessionService;
@inject IStringLocalizer<MyResources> localizer;
@inject NavigationManager navManager
@inject LogToBrowserConsole logToBrowserConsole
@inject IAcLogWriterBase BrowserConsoleLogWriter
@inject IWizardProcessor WizardProcessor
<PageTitle>Index</PageTitle>
@ -151,7 +152,7 @@
}
transferWizardModel.Price = null;
var transfer = await WizardProcessor.ProcessWizardAsync<TransferWizardModel>(transferWizardModel.GetType(), transferWizardModel);
logToBrowserConsole.LogToBC($"Submitted nested form: {Result.GetType().FullName}");
BrowserConsoleLogWriter.Info($"Submitted nested form: {Result.GetType().FullName}");
navManager.NavigateTo("/transfer2/" + transfer.Id);
}

View File

@ -4,11 +4,12 @@
@using TIAMWebApp.Shared.Application.Utility
@using Newtonsoft.Json
@using System.IdentityModel.Tokens.Jwt
@using AyCode.Core.Loggers
@using TIAMWebApp.Shared.Application.Models.ClientSide
@using AyCode.Interfaces.StorageHandlers;
@inject NavigationManager NavManager
@inject IJSRuntime JSRuntime
@inject LogToBrowserConsole logToBrowserConsole
@inject IAcLogWriterBase BrowserConsoleLogWriter
@inject IUserDataService UserDataService
@inject ISecureStorageHandler SecureStorageHandler
@inject HttpClient http;
@ -22,12 +23,12 @@ Loading....
protected async override Task OnInitializedAsync()
{
logToBrowserConsole = new LogToBrowserConsole(JSRuntime);
BrowserConsoleLogWriter = new BrowserConsoleLogWriter(JSRuntime);
//wait for 5 seconds
await Task.Delay(5000);
string userDetailsStr = await SecureStorageHandler.GetFromSecureStorageAsync(nameof(Setting.UserBasicDetails));
logToBrowserConsole.LogToBC(userDetailsStr);
BrowserConsoleLogWriter.Info(userDetailsStr);
if (!string.IsNullOrWhiteSpace(userDetailsStr))
{
var userBasicDetail = JsonConvert.DeserializeObject<UserBasicDetails>(userDetailsStr);
@ -40,30 +41,30 @@ Loading....
if (jsontoken?.ValidTo < DateTime.UtcNow)
{
logToBrowserConsole.LogToBC("Token needs to be refreshed");
BrowserConsoleLogWriter.Info("Token needs to be refreshed");
bool isTokenRefreshed = await UserDataService.RefreshToken();
if (isTokenRefreshed)
{
logToBrowserConsole.LogToBC("Token refreshed");
BrowserConsoleLogWriter.Info("Token refreshed");
NavManager.NavigateTo("/home");
}
else
{
logToBrowserConsole.LogToBC("Couldn't refresh token");
BrowserConsoleLogWriter.Info("Couldn't refresh token");
NavManager.NavigateTo("/login");
}
}
else
{
logToBrowserConsole.LogToBC("Valid token found");
BrowserConsoleLogWriter.Info("Valid token found");
NavManager.NavigateTo("/home");
}
}
else
{
logToBrowserConsole.LogToBC("No token stored yet");
BrowserConsoleLogWriter.Info("No token stored yet");
NavManager.NavigateTo("/login");
}

View File

@ -12,7 +12,7 @@ using TIAMSharedUI.Resources;
using System.Resources;
using Microsoft.Extensions.Localization;
using AyCode.Blazor.Components;
using AyCode.Core.Logger;
using AyCode.Core.Loggers;
using Azure.Core;
namespace TIAMSharedUI.Pages
@ -25,7 +25,7 @@ namespace TIAMSharedUI.Pages
[Inject]
public IUserDataService userDataService { get; set; }
[Inject]
public LogToBrowserConsole logToBrowserConsole { get; set; }
public IAcLogWriterBase BrowserConsoleLogWriter { get; set; }
[Inject]
public IJSRuntime jsRuntime { get; set; }
[Inject]
@ -58,11 +58,11 @@ namespace TIAMSharedUI.Pages
private async void SubmitLogin()
{
currentStep = 1;
logToBrowserConsole.LogToBC("Login started: " + "Email: " + loginModel.Email + ", Password: " + loginModel.Password);
BrowserConsoleLogWriter.Info("Login started: " + "Email: " + loginModel.Email + ", Password: " + loginModel.Password);
var response = await userDataService.AuthenticateUser(loginModel);
//var response = await UserDataservice.TestUserApi(30);
logToBrowserConsole.LogToBC("Login started");
logToBrowserConsole.LogToBC(response);
BrowserConsoleLogWriter.Info("Login started");
BrowserConsoleLogWriter.Info(response);
if (!string.IsNullOrEmpty(response))
{
@ -107,14 +107,14 @@ namespace TIAMSharedUI.Pages
{
//await App.Current.MainPage.DisplayAlert("Error", "Invalid credentials", "Ok");
//display error message via jsinterop
logToBrowserConsole.LogToBC("Invalid credentials");
BrowserConsoleLogWriter.Info("Invalid credentials");
navManager.NavigateTo("login");
}
else
{
//await App.Current.MainPage.DisplayAlert("Success", "Successful login", "Ok");
//display success message via jsinterop
logToBrowserConsole.LogToBC("Successful login");
BrowserConsoleLogWriter.Info("Successful login");
var user = await userDataService.IsLoggedInAsync(myId);
SaveToSessionInfo(user);
user.UserType = UserType.Admin;
@ -129,7 +129,7 @@ namespace TIAMSharedUI.Pages
//api error
//await App.Current.MainPage.DisplayAlert("Error", "An error occured while trying to login", "Ok");
//display error message via jsinterop
logToBrowserConsole.LogToBC("An error occured while trying to login");
BrowserConsoleLogWriter.Info("An error occured while trying to login");
navManager.NavigateTo("login");
}

View File

@ -4,7 +4,8 @@
@using TIAMWebApp.Shared.Application.Models.ClientSide.UI.WizardModels
@using TIAMWebApp.Shared.Application.Utility
@using TIAM.Entities.Transfers
@inject LogToBrowserConsole logToBrowserConsole
@using AyCode.Core.Loggers
@inject IAcLogWriterBase BrowserConsoleLogWriter
@inject IWizardProcessor WizardProcessor
<h3>TestPage</h3>
<div class="container mt-3">
@ -131,7 +132,7 @@
public async Task SubmitForm(object Result)
{
var transferDestination = await WizardProcessor.ProcessWizardAsync<TransferDestination>(Result.GetType(), Result);
logToBrowserConsole.LogToBC($"Submitted nested form: {Result.GetType().FullName}");
BrowserConsoleLogWriter.Info($"Submitted nested form: {Result.GetType().FullName}");
}
}

View File

@ -4,8 +4,9 @@
@using TIAMWebApp.Shared.Application.Interfaces
@using TIAMWebApp.Shared.Application.Models.ClientSide.UI.WizardModels
@using TIAMWebApp.Shared.Application.Utility
@using AyCode.Core.Loggers
@inject NavigationManager navManager
@inject LogToBrowserConsole logToBrowserConsole
@inject IAcLogWriterBase BrowserConsoleLogWriter
@inject IWizardProcessor WizardProcessor
<PageTitle>Transfer</PageTitle>
@ -50,7 +51,7 @@
public async Task SubmitForm(object Result)
{
var transfer = await WizardProcessor.ProcessWizardAsync<TransferWizardModel>(Result.GetType(), Result);
logToBrowserConsole.LogToBC($"Submitted nested form: {Result.GetType().FullName}");
BrowserConsoleLogWriter.Info($"Submitted nested form: {Result.GetType().FullName}");
navManager.NavigateTo("/transfer2/"+transfer.Id);
}

View File

@ -36,6 +36,7 @@
@rendermode RenderMode.InteractiveWebAssembly
@page "/user/media"
@using System.Net.Http.Headers
@using AyCode.Core.Loggers
@using TIAMSharedUI.Shared
@using TIAMWebApp.Shared.Application.Interfaces
@using TIAMWebApp.Shared.Application.Models
@ -43,7 +44,7 @@
@layout AdminLayout
@inject IJSRuntime JSRuntime;
@inject IImageDataService imageDataService;
@inject LogToBrowserConsole logToBrowserConsole;
@inject IAcLogWriterBase BrowserConsoleLogWriter;
@implements IAsyncDisposable
<h3>File Upload</h3>
@ -153,7 +154,7 @@
{
ErrorMessage = ex.Message;
logToBrowserConsole.LogToBC(ex.Message);
BrowserConsoleLogWriter.Info(ex.Message);
}
}

View File

@ -5,8 +5,9 @@
@using TIAMSharedUI.Shared
@using TIAMWebApp.Shared.Application.Models.ClientSide.UI.WizardModels
@using TIAMWebApp.Shared.Application.Utility
@using AyCode.Core.Loggers
@layout AdminLayout
@inject LogToBrowserConsole logToBrowserConsole
@inject IAcLogWriterBase BrowserConsoleLogWriter
@inject IStringLocalizer<TIAMResources> localizer
<h3>Properties</h3>
@ -129,7 +130,7 @@
public async Task SubmitForm(object Result)
{
//await WizardProcessor.ProcessWizardAsync(Result.GetType(), Result);
logToBrowserConsole.LogToBC($"Submitted nested form: {Result.GetType().FullName}");
BrowserConsoleLogWriter.Info($"Submitted nested form: {Result.GetType().FullName}");
}
@ -153,10 +154,10 @@
{
if (e.IsNew)
//add new orderData to orderData array
logToBrowserConsole.LogToBC("New orderData added");
BrowserConsoleLogWriter.Info("New orderData added");
//await NwindDataService.InsertEmployeeAsync((EditableEmployee)e.EditModel);
else
logToBrowserConsole.LogToBC("orderData updated");
BrowserConsoleLogWriter.Info("orderData updated");
//modify orderData where orderData.Name == e.EditModel.Name
//await NwindDataService.UpdateEmployeeAsync((EditableEmployee)e.DataItem, (EditableEmployee)e.EditModel);
@ -167,14 +168,14 @@
{
//await NwindDataService.RemoveEmployeeAsync((EditableEmployee)e.DataItem);
//remove orderData from orderData array
logToBrowserConsole.LogToBC("orderData deleted");
BrowserConsoleLogWriter.Info("orderData deleted");
//await UpdateDataAsync();
}
async Task UpdateDataAsync()
{
//DataSource = await NwindDataService.GetEmployeesEditableAsync();
//refresh grid
logToBrowserConsole.LogToBC("orderData grid refreshed");
BrowserConsoleLogWriter.Info("orderData grid refreshed");
}
protected override void OnInitialized()

View File

@ -4,7 +4,7 @@
@using TIAMWebApp.Shared.Application.Interfaces
@using TIAMWebApp.Shared.Application.Utility
@inject IUserDataService NwindDataService
@inject LogToBrowserConsole logToBrowserConsole
@inject BrowserConsoleLogWriter BrowserConsoleLogWriter
<div class="mb-2">
Contact Phone: @PhoneNumber
@ -50,7 +50,7 @@
PhoneNumber = UserInfo.UserDto.PhoneNumber;
EmailAddress = UserInfo.UserDto.EmailAddress;
DetailGridData = Customer.TransferToDrivers;
logToBrowserConsole.LogToBC($"DetailGridData: {DetailGridData.Count}");
BrowserConsoleLogWriter.Info($"DetailGridData: {DetailGridData.Count}");
}
void CustomizeEditModel(GridCustomizeEditModelEventArgs e)
@ -73,10 +73,10 @@
{
if (e.IsNew)
//add new orderData to orderData array
logToBrowserConsole.LogToBC("New orderData added");
BrowserConsoleLogWriter.Info("New orderData added");
//await NwindDataService.InsertEmployeeAsync((EditableEmployee)e.EditModel);
else
logToBrowserConsole.LogToBC("orderData updated");
BrowserConsoleLogWriter.Info("orderData updated");
//await NwindDataService.UpdateEmployeeAsync((EditableEmployee)e.DataItem, (EditableEmployee)e.EditModel);
@ -86,14 +86,14 @@
{
//await NwindDataService.RemoveEmployeeAsync((EditableEmployee)e.DataItem);
//remove orderData from orderData array
logToBrowserConsole.LogToBC("orderData deleted");
BrowserConsoleLogWriter.Info("orderData deleted");
//await UpdateDataAsync();
}
async Task UpdateDataAsync()
{
//DataSource = await NwindDataService.GetEmployeesEditableAsync();
//refresh grid
logToBrowserConsole.LogToBC("orderData grid refreshed");
BrowserConsoleLogWriter.Info("orderData grid refreshed");
}
}

View File

@ -8,7 +8,7 @@
@using TIAMWebApp.Shared.Application.Models.ClientSide.Messages
@using TIAMWebApp.Shared.Application.Utility
@layout AdminLayout
@inject LogToBrowserConsole logToBrowserConsole
@inject BrowserConsoleLogWriter BrowserConsoleLogWriter
@inject IStringLocalizer<TIAMResources> localizer
<!--div class="text-center m-5">

View File

@ -65,7 +65,7 @@ namespace TIAMSharedUI.Pages.User.SysAdmins
public async Task SubmitForm(object Result)
{
//await WizardProcessor.ProcessWizardAsync(Result.GetType(), Result);
logToBrowserConsole.LogToBC($"Submitted nested form: {Result.GetType().FullName}");
BrowserConsoleLogWriter.Info($"Submitted nested form: {Result.GetType().FullName}");
}
@ -104,13 +104,13 @@ namespace TIAMSharedUI.Pages.User.SysAdmins
ProductData = ((ProductWizardModel[])ProductData).Append(myModel);
//add new orderData to orderData array
logToBrowserConsole.LogToBC("New orderData added");
BrowserConsoleLogWriter.Info("New orderData added");
//await NwindDataService.InsertEmployeeAsync((EditableEmployee)e.EditModel);
}
else
{
logToBrowserConsole.LogToBC("orderData updated");
BrowserConsoleLogWriter.Info("orderData updated");
//modify transferData where transferData.Id == e.EditModel.Id
//get transfer from TransferData by Id
@ -140,27 +140,27 @@ namespace TIAMSharedUI.Pages.User.SysAdmins
{
//await NwindDataService.RemoveEmployeeAsync((EditableEmployee)e.DataItem);
//remove orderData from orderData array
logToBrowserConsole.LogToBC("orderData deleted");
BrowserConsoleLogWriter.Info("orderData deleted");
//await UpdateDataAsync();
}
async Task UpdateDataAsync()
{
//DataSource = await NwindDataService.GetEmployeesEditableAsync();
//refresh grid
logToBrowserConsole.LogToBC("orderData grid refreshed");
BrowserConsoleLogWriter.Info("orderData grid refreshed");
}
protected override async Task OnInitializedAsync()
{
base.OnInitialized();
var a = await serviceProviderDataService.GetProductsForServiceProviderAsync(Guid.Parse("3587F169-683C-4EEE-BCB5-E8D57F8C6DCE"));
logToBrowserConsole.LogToBC($"ProductDataFromDb: {((ProductWizardModel[])ProductDataFromDb).Length}");
BrowserConsoleLogWriter.Info($"ProductDataFromDb: {((ProductWizardModel[])ProductDataFromDb).Length}");
foreach (var item in a)
{
//add new transferwizardmodel to transferData array
ProductDataFromDb = ((ProductWizardModel[])ProductDataFromDb).Append(
new ProductWizardModel(item.ServiceProvider, item.ProductType, item.Name, item.Description, item.Price, item.JsonDetails));
logToBrowserConsole.LogToBC($"TransferDataFromDb: {item.Name}");
BrowserConsoleLogWriter.Info($"TransferDataFromDb: {item.Name}");
}
}

View File

@ -15,7 +15,7 @@
@using TIAMWebApp.Shared.Application.Models.PageModels
@using TIAMWebApp.Shared.Application.Utility
@layout AdminLayout
@inject LogToBrowserConsole logToBrowserConsole
@inject BrowserConsoleLogWriter BrowserConsoleLogWriter
@inject IStringLocalizer<TIAMResources> localizer
@inject IWizardProcessor wizardProcessor
@inject ITransferDataService transferDataService
@ -223,7 +223,7 @@
void SendMail(Transfer Item)
{
logToBrowserConsole.LogToBC($"Sending mail to {Item.ContactEmail}");
BrowserConsoleLogWriter.Info($"Sending mail to {Item.ContactEmail}");
PopupVisible = true;
}
@ -250,7 +250,7 @@
{
var email = await wizardProcessor.ProcessWizardAsync<MessageWizardModel>(Result.GetType(), Result);
logToBrowserConsole.LogToBC($"Submitted nested form: {Result.GetType().FullName}");
BrowserConsoleLogWriter.Info($"Submitted nested form: {Result.GetType().FullName}");
}
void Grid_CustomizeElement(GridCustomizeElementEventArgs e)
@ -301,12 +301,12 @@
if (e.IsNew)
{
//add new orderData to orderData array
logToBrowserConsole.LogToBC("New orderData added");
BrowserConsoleLogWriter.Info("New orderData added");
//await transferDataService.CreateTransfer((TransferWizardModel)e.EditModel);
}
else
{
logToBrowserConsole.LogToBC("orderData updated at id " + ((Transfer)e.EditModel).Id);
BrowserConsoleLogWriter.Info("orderData updated at id " + ((Transfer)e.EditModel).Id);
success = await transferDataService.UpdateTransferAsync((Transfer)e.EditModel);
@ -329,14 +329,14 @@
{
//await NwindDataService.RemoveEmployeeAsync((EditableEmployee)e.DataItem);
//remove orderData from orderData array
logToBrowserConsole.LogToBC("orderData deleted");
BrowserConsoleLogWriter.Info("orderData deleted");
//await UpdateDataAsync();
}
async Task UpdateDataAsync()
{
//refresh grid
TransferData = await transferDataService.GetTransfersAsync();
logToBrowserConsole.LogToBC("orderData grid refreshed");
BrowserConsoleLogWriter.Info("orderData grid refreshed");
}
protected override async Task OnInitializedAsync()

View File

@ -18,7 +18,7 @@
@using TIAMWebApp.Shared.Application.Models.PageModels
@using TIAMWebApp.Shared.Application.Utility
@layout AdminLayout
@inject LogToBrowserConsole logToBrowserConsole
@inject BrowserConsoleLogWriter BrowserConsoleLogWriter
@inject IStringLocalizer<TIAMResources> localizer
@inject ISessionService sessionService
@inject IWizardProcessor wizardProcessor
@ -176,13 +176,13 @@
async void SendMail(UserModelDtoDetail Item)
{
var user = await userDataService.GetUserDetailByIdAsync(Item.Id);
logToBrowserConsole.LogToBC($"Sending mail to {user.UserDto.EmailAddress}");
BrowserConsoleLogWriter.Info($"Sending mail to {user.UserDto.EmailAddress}");
messageWizardModel.ReceiverId = user.Id;
messageWizardModel.ReceiverEmailAddress = user.UserDto.EmailAddress;
messageWizardModel.SenderId = sessionService.User.UserId;
messageWizardModel.SenderEmailAddress = sessionService.User.Email;
logToBrowserConsole.LogToBC($"Sending mail to {messageWizardModel.ReceiverEmailAddress} from {messageWizardModel.SenderId}");
BrowserConsoleLogWriter.Info($"Sending mail to {messageWizardModel.ReceiverEmailAddress} from {messageWizardModel.SenderId}");
PopupVisible = true;
}
@ -209,7 +209,7 @@
{
var email = await wizardProcessor.ProcessWizardAsync<MessageWizardModel>(Result.GetType(), Result);
logToBrowserConsole.LogToBC($"Submitted nested form: {Result.GetType().FullName}");
BrowserConsoleLogWriter.Info($"Submitted nested form: {Result.GetType().FullName}");
}
void Grid_CustomizeElement(GridCustomizeElementEventArgs e)
@ -267,11 +267,11 @@
await userDataService.CreateGuestUser(registration);
logToBrowserConsole.LogToBC("New user created added");
BrowserConsoleLogWriter.Info("New user created added");
}
else
{
logToBrowserConsole.LogToBC("orderData updated at id " + ((UserModelDtoDetail)e.EditModel).Id);
BrowserConsoleLogWriter.Info("orderData updated at id " + ((UserModelDtoDetail)e.EditModel).Id);
//await transferDataService.UpdateTransferAsync((TransferWizardModel)e.EditModel);
//modify transferData where transferData.Id == e.EditModel.Id
@ -294,14 +294,14 @@
{
//await NwindDataService.RemoveEmployeeAsync((EditableEmployee)e.DataItem);
//remove orderData from orderData array
logToBrowserConsole.LogToBC("orderData deleted");
BrowserConsoleLogWriter.Info("orderData deleted");
//await UpdateDataAsync();
}
async Task UpdateDataAsync()
{
//refresh grid
UserData = await userDataService.GetUsersWithDetailsAsync();
logToBrowserConsole.LogToBC("orderData grid refreshed");
BrowserConsoleLogWriter.Info("orderData grid refreshed");
}
protected override async Task OnInitializedAsync()

View File

@ -9,7 +9,7 @@
@using TIAMWebApp.Shared.Application.Models.ClientSide.Messages
@using TIAMWebApp.Shared.Application.Utility
@layout AdminLayout
@inject LogToBrowserConsole logToBrowserConsole
@inject BrowserConsoleLogWriter BrowserConsoleLogWriter
@inject IStringLocalizer<TIAMResources> localizer
<PageTitle>Transfers</PageTitle>

View File

@ -67,7 +67,7 @@ namespace TIAMSharedUI.Pages.User.SysAdmins
public async Task SubmitForm(object Result)
{
//await WizardProcessor.ProcessWizardAsync(Result.GetType(), Result);
logToBrowserConsole.LogToBC($"Submitted nested form: {Result.GetType().FullName}");
BrowserConsoleLogWriter.Info($"Submitted nested form: {Result.GetType().FullName}");
}
@ -114,14 +114,14 @@ namespace TIAMSharedUI.Pages.User.SysAdmins
Price = myModel.Price,
PriceType = myModel.PriceType
});*/
logToBrowserConsole.LogToBC("New orderData added");
BrowserConsoleLogWriter.Info("New orderData added");
//add mymodel to transferData array
TransferDataFromDb = ((TransferDestinationWizardModel[])TransferDataFromDb).Append(myModel).ToArray();
}
else
{
logToBrowserConsole.LogToBC("orderData updated");
BrowserConsoleLogWriter.Info("orderData updated");
//modify transferData where transferData.Id == e.EditModel.Id
//get transfer from TransferData by Id
@ -155,7 +155,7 @@ namespace TIAMSharedUI.Pages.User.SysAdmins
{
//await NwindDataService.RemoveEmployeeAsync((EditableEmployee)e.DataItem);
//remove orderData from orderData array
logToBrowserConsole.LogToBC("orderData deleted");
BrowserConsoleLogWriter.Info("orderData deleted");
//await UpdateDataAsync();
}
async Task UpdateDataAsync()
@ -164,23 +164,23 @@ namespace TIAMSharedUI.Pages.User.SysAdmins
await transferDataService.GetDestinationsAsync();
//refresh grid
logToBrowserConsole.LogToBC("orderData grid refreshed");
BrowserConsoleLogWriter.Info("orderData grid refreshed");
}
protected override async Task OnInitializedAsync()
{
base.OnInitialized();
var a = await transferDataService.GetDestinationsAsync();
logToBrowserConsole.LogToBC($"TransferDataFromDb: {((TransferDestinationWizardModel[])TransferDataFromDb).Length}");
BrowserConsoleLogWriter.Info($"TransferDataFromDb: {((TransferDestinationWizardModel[])TransferDataFromDb).Length}");
foreach (var item in a)
{
//add new transferwizardmodel to transferData array
TransferDataFromDb = ((TransferDestinationWizardModel[])TransferDataFromDb).Append(
new TransferDestinationWizardModel(item.Id, item.Name, item.Description, item.AddressString, item.Price, item.Price2, item.Price3, item.Address)).ToArray();
logToBrowserConsole.LogToBC($"TransferDataFromDb: {item.Name}");
BrowserConsoleLogWriter.Info($"TransferDataFromDb: {item.Name}");
}
logToBrowserConsole.LogToBC($"TransferDataFromDb: {((TransferDestinationWizardModel[])TransferDataFromDb).Length}");
BrowserConsoleLogWriter.Info($"TransferDataFromDb: {((TransferDestinationWizardModel[])TransferDataFromDb).Length}");
}
void ColumnChooserButton_Click()

View File

@ -8,7 +8,7 @@
@using TIAMWebApp.Shared.Application.Utility
@inject IUserDataService NwindDataService
@inject IServiceProviderDataService serviceProviderDataService
@inject LogToBrowserConsole logToBrowserConsole
@inject BrowserConsoleLogWriter BrowserConsoleLogWriter
<div class="mb-2">
UserProductMapping
@ -76,7 +76,7 @@
DetailGridData = Customer.ServiceProviders;
AvailableServices = await serviceProviderDataService.GetServiceProvidersAsync();
logToBrowserConsole.LogToBC($"DetailGridData: {DetailGridData.Count}");
BrowserConsoleLogWriter.Info($"DetailGridData: {DetailGridData.Count}");
}
void CustomizeEditModel(GridCustomizeEditModelEventArgs e)
@ -96,10 +96,10 @@
{
if (e.IsNew)
//add new orderData to orderData array
logToBrowserConsole.LogToBC("New orderData added");
BrowserConsoleLogWriter.Info("New orderData added");
//await NwindDataService.InsertEmployeeAsync((EditableEmployee)e.EditModel);
else
logToBrowserConsole.LogToBC("orderData updated");
BrowserConsoleLogWriter.Info("orderData updated");
//await NwindDataService.UpdateEmployeeAsync((EditableEmployee)e.DataItem, (EditableEmployee)e.EditModel);
@ -109,14 +109,14 @@
{
//await NwindDataService.RemoveEmployeeAsync((EditableEmployee)e.DataItem);
//remove orderData from orderData array
logToBrowserConsole.LogToBC("orderData deleted");
BrowserConsoleLogWriter.Info("orderData deleted");
//await UpdateDataAsync();
}
async Task UpdateDataAsync()
{
//DataSource = await NwindDataService.GetEmployeesEditableAsync();
//refresh grid
logToBrowserConsole.LogToBC("orderData grid refreshed");
BrowserConsoleLogWriter.Info("orderData grid refreshed");
}
}

View File

@ -7,7 +7,7 @@
@using TIAMWebApp.Shared.Application.Utility
@inject IUserDataService NwindDataService
@inject IServiceProviderDataService serviceProviderDataService
@inject LogToBrowserConsole logToBrowserConsole
@inject BrowserConsoleLogWriter BrowserConsoleLogWriter
<div class="mb-2">
UserProductMapping
@ -75,7 +75,7 @@
DetailGridData = Customer.UserProductMappings;
AvailableProducts = await serviceProviderDataService.GetAllProductsAsync();
logToBrowserConsole.LogToBC($"DetailGridData: {DetailGridData.Count}");
BrowserConsoleLogWriter.Info($"DetailGridData: {DetailGridData.Count}");
}
void CustomizeEditModel(GridCustomizeEditModelEventArgs e)
@ -95,10 +95,10 @@
{
if (e.IsNew)
//add new orderData to orderData array
logToBrowserConsole.LogToBC("New orderData added");
BrowserConsoleLogWriter.Info("New orderData added");
//await NwindDataService.InsertEmployeeAsync((EditableEmployee)e.EditModel);
else
logToBrowserConsole.LogToBC("orderData updated");
BrowserConsoleLogWriter.Info("orderData updated");
//await NwindDataService.UpdateEmployeeAsync((EditableEmployee)e.DataItem, (EditableEmployee)e.EditModel);
@ -108,14 +108,14 @@
{
//await NwindDataService.RemoveEmployeeAsync((EditableEmployee)e.DataItem);
//remove orderData from orderData array
logToBrowserConsole.LogToBC("orderData deleted");
BrowserConsoleLogWriter.Info("orderData deleted");
//await UpdateDataAsync();
}
async Task UpdateDataAsync()
{
//DataSource = await NwindDataService.GetEmployeesEditableAsync();
//refresh grid
logToBrowserConsole.LogToBC("orderData grid refreshed");
BrowserConsoleLogWriter.Info("orderData grid refreshed");
}
}

View File

@ -6,6 +6,7 @@ using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using AyCode.Core.Loggers;
using TIAMSharedUI.Resources;
using TIAMWebApp.Shared.Application.Interfaces;
using TIAMWebApp.Shared.Application.Utility;
@ -29,7 +30,7 @@ namespace TIAMSharedUI.Shared.Components
public IComponentUpdateService componentUpdateService { get; set; }
[Inject]
public LogToBrowserConsole logToBrowserConsole { get; set; }
public IAcLogWriterBase BrowserConsoleLogWriter { get; set; }
private bool collapseNavMenu = true;
private bool myUser = false;
@ -40,7 +41,7 @@ namespace TIAMSharedUI.Shared.Components
private void RefreshMe()
{
logToBrowserConsole.LogToBC($"Navbar refresh called! {DateTime.Now} ");
BrowserConsoleLogWriter.Info($"Navbar refresh called! {DateTime.Now} ");
OnInitialized();
StateHasChanged();
}
@ -66,14 +67,14 @@ namespace TIAMSharedUI.Shared.Components
{
base.OnInitialized();
componentUpdateService.RefreshRequested += RefreshMe;
logToBrowserConsole.LogToBC($"Navbar OnInit {DateTime.Now} ");
BrowserConsoleLogWriter.Info($"Navbar OnInit {DateTime.Now} ");
if (sessionService.User != null)
{
myUser = true;
}
else
{
logToBrowserConsole.LogToBC($"Navbar myUser false! {DateTime.Now} ");
BrowserConsoleLogWriter.Info($"Navbar myUser false! {DateTime.Now} ");
myUser = false;
}
@ -91,7 +92,7 @@ namespace TIAMSharedUI.Shared.Components
}
foreach (var property in _properties)
{
logToBrowserConsole.LogToBC($"First property: {property.Value} ");
BrowserConsoleLogWriter.Info($"First property: {property.Value} ");
}
}

View File

@ -1,8 +1,9 @@
@using System.Linq.Expressions
@using AyCode.Core.Loggers
@using TIAM.Entities.Transfers
@using TIAMWebApp.Shared.Application.Interfaces
@using TIAMWebApp.Shared.Application.Utility
@inject LogToBrowserConsole logToBrowserConsole
@inject IAcLogWriterBase BrowserConsoleLogWriter
<style>
.underlineInput{
@ -230,7 +231,7 @@
protected override void OnParametersSet()
{
logToBrowserConsole.LogToBC($"SliderItemSelector is initialized with OwlId: {OwlId}");
BrowserConsoleLogWriter.Info($"SliderItemSelector is initialized with OwlId: {OwlId}");
base.OnParametersSet();
}
@ -252,7 +253,7 @@
[JSInvokable]
public void ShowCoordinates(string coordinates, string itemId)
{
logToBrowserConsole.LogToBC($"Slider is changing: {coordinates}, {itemId}");
BrowserConsoleLogWriter.Info($"Slider is changing: {coordinates}, {itemId}");
//content = coordinates + "item = " + itemId;
SliderElementId = Convert.ToInt32(itemId);
@ -277,7 +278,7 @@
public void OnTextChanged(string text)
{
logToBrowserConsole.LogToBC($"Slider text changed: {text}");
BrowserConsoleLogWriter.Info($"Slider text changed: {text}");
OnSliderChanged.InvokeAsync(text);
}

View File

@ -7,6 +7,7 @@ using Microsoft.AspNetCore.Components.WebAssembly.Hosting;
using Microsoft.JSInterop;
using System.Reflection;
using System.Resources;
using AyCode.Core.Loggers;
using TIAMWebApp.Client;
using TIAMWebApp.Client.Services;
using TIAMWebApp.Shared.Application.Interfaces;
@ -23,7 +24,6 @@ builder.Services.AddScoped<IPopulationStructureDataProvider, PopulationStructure
builder.Services.AddScoped<ISupplierService, SupplierService>();
builder.Services.AddScoped<IUserDataService, UserDataServiceWeb>();
builder.Services.AddScoped<ISecureStorageHandler, SecureStorageHandler>();
builder.Services.AddScoped<LogToBrowserConsole>();
builder.Services.AddBlazoredLocalStorage();
builder.Services.AddSingleton<ISessionService, SessionServiceWeb>();
builder.Services.AddSingleton<IComponentUpdateService, ComponentUpdateServiceWeb>();
@ -34,6 +34,8 @@ builder.Services.AddScoped<IImageDataService, ImageDataService>();
//WebSpecific
builder.Services.AddScoped<SessionStorageAccessor>();
builder.Services.AddSingleton(x => new ResourceManager("TIAMWebApp.Client.Resources.MyResources", typeof(Program).Assembly));
builder.Services.AddScoped<IAcLogWriterBase, BrowserConsoleLogWriter>();
builder.Services.AddScoped<IAcLogWriterBase, HttpClientLogItemWriter>();
//WebSpecific end

View File

@ -1,4 +1,5 @@
using System.Collections;
using AyCode.Core.Loggers;
using System.Collections;
using System.Collections.Generic;
using System.Net.Http.Json;
using System.Text.Json;
@ -15,12 +16,12 @@ namespace TIAMWebApp.Client.Services
public class PermissionService : IPermissionService
{
private readonly HttpClient http;
private readonly LogToBrowserConsole logToBrowserConsole;
private readonly IAcLogWriterBase _browserConsoleLogWriter;
public PermissionService(HttpClient http, LogToBrowserConsole logToBrowserConsole)
public PermissionService(HttpClient http, IAcLogWriterBase browserConsoleLogWriter)
{
this.http = http;
this.logToBrowserConsole = logToBrowserConsole;
this._browserConsoleLogWriter = browserConsoleLogWriter;
}
//1. create a permission to be assigned to users to access a context

View File

@ -1,18 +1,19 @@
using Microsoft.EntityFrameworkCore.Infrastructure;
using Microsoft.JSInterop;
using Microsoft.JSInterop;
using Newtonsoft.Json;
using System.Net.Http.Json;
using System.Text;
using TIAM.Entities.Users;
using AyCode.Core.Enums;
using TIAMWebApp.Shared.Application.Interfaces;
using TIAMWebApp.Shared.Application.Models;
using TIAMWebApp.Shared.Application.Models.ClientSide;
using TIAMWebApp.Shared.Application.Models.PageModels;
using TIAMWebApp.Shared.Application.Utility;
using AyCode.Interfaces.StorageHandlers;
using AyCode.Core.Logger;
using TIAM.Core.Loggers;
using TIAM.Models.Dtos.Users;
using Azure;
using ILogger = TIAM.Core.Loggers.ILogger;
using LogLevel = AyCode.Core.Loggers.LogLevel;
using AyCode.Core.Loggers;
namespace TIAMWebApp.Client.Services
@ -22,20 +23,26 @@ namespace TIAMWebApp.Client.Services
private readonly HttpClient http;
private readonly ISecureStorageHandler secureStorageHandler;
private readonly IJSRuntime jsRuntime;
private readonly LogToBrowserConsole logToBrowserConsole;
//private readonly BrowserConsoleLogWriter _browserConsoleLogWriter;
private readonly IServiceProviderDataService serviceProviderDataService;
private readonly ILogger _logger;
public Dictionary<int, string> userRoleTypes { get => throw new NotImplementedException(); set => throw new NotImplementedException(); }
public UserDataServiceWeb(HttpClient http, ISecureStorageHandler secureStorageHandler, IJSRuntime jSRuntime, IServiceProviderDataService serviceProviderDataService)
public UserDataServiceWeb(HttpClient http, ISecureStorageHandler secureStorageHandler, IJSRuntime jSRuntime, IServiceProviderDataService serviceProviderDataService, IEnumerable<IAcLogWriterBase> logWriters)
//public UserDataServiceWeb(HttpClient http, ISecureStorageHandler secureStorageHandler, IJSRuntime jSRuntime, IServiceProviderDataService serviceProviderDataService, HttpClientLogItemWriter logWriter)
{
this.http = http;
this.secureStorageHandler = secureStorageHandler;
this.jsRuntime = jSRuntime;
this.logToBrowserConsole = new LogToBrowserConsole(jsRuntime);
//this._browserConsoleLogWriter = new BrowserConsoleLogWriter(jsRuntime);
this.serviceProviderDataService = serviceProviderDataService;
_logger = new TIAM.Core.Loggers.Logger<UserDataServiceWeb>(AppType.Web, LogLevel.Info, logWriters.ToArray());
//_logger = new TIAM.Core.Loggers.Logger<UserDataServiceWeb>(AppType.Web, LogLevel.Info, logWriter);
}
public async Task<UserSessionModel> IsLoggedInAsync(Guid id)
{
@ -48,7 +55,7 @@ namespace TIAMWebApp.Client.Services
var hasProperties = await serviceProviderDataService.GetPropertiesByOwnerIdAsync(userModelDto.Id);
if (hasProperties != null)
logToBrowserConsole.LogToBC($"{hasProperties.Count} properties found");
_logger.Info($"{hasProperties.Count} properties found");
//create user session model
var user = new UserSessionModel(userModelDto.Id, UserType.User, userModelDto, hasProperties, 1);
@ -85,7 +92,7 @@ namespace TIAMWebApp.Client.Services
//}
//catch (Exception ex)
//{
// Console.WriteLine(ex);
// _logger.Error(ex.Message, ex);
//}
if (response.IsSuccessStatusCode)
@ -108,7 +115,7 @@ namespace TIAMWebApp.Client.Services
bool isSuccess = true;
string result = string.Empty;
var url = $"{Setting.ApiBaseUrl}/{APIUrls.CreateUser}";
logToBrowserConsole.LogToBC("CreateUser url: " + url);
_logger.Info("CreateUser url: " + url);
var response = await http.PostAsJsonAsync(url, regModel);
result = await response.Content.ReadAsStringAsync();
/*if (response.IsSuccessStatusCode)
@ -133,7 +140,7 @@ namespace TIAMWebApp.Client.Services
string result = string.Empty;
UserModelDto? user = new UserModelDto();
var url = $"{Setting.ApiBaseUrl}/{APIUrls.CreateGuestUser}";
logToBrowserConsole.LogToBC("CreateGuestUser url: " + url);
_logger.Info("CreateGuestUser url: " + url);
var response = await http.PostAsJsonAsync(url, regModel);
@ -141,7 +148,7 @@ namespace TIAMWebApp.Client.Services
{
isSuccess = true;
result = await response.Content.ReadAsStringAsync();
logToBrowserConsole.LogToBC("CreateGuestUser result: " + result);
_logger.Info("CreateGuestUser result: " + result);
user = JsonConvert.DeserializeObject<UserModelDto>(result);
}
else
@ -166,7 +173,7 @@ namespace TIAMWebApp.Client.Services
var url = $"{Setting.ApiBaseUrl}/{APIUrls.GetUsersWithDetails}";
logToBrowserConsole.LogToBC("GetUserByEmailAsync url: " + url + "!");
_logger.Info("GetUserByEmailAsync url: " + url + "!");
var response = await http.GetFromJsonAsync<List<UserModelDtoDetail>>(APIUrls.GetUsersWithDetails);
//var result = await response.Content.ReadAsStringAsync();
//var user = JsonConvert.DeserializeObject<UserModelDto>(result);
@ -177,7 +184,11 @@ namespace TIAMWebApp.Client.Services
public async Task<UserModelDto?> GetUserByEmailAsync(string email)
{
var url = $"{Setting.ApiBaseUrl}/{APIUrls.GetUserByEmail}";
logToBrowserConsole.LogToBC("GetUserByEmailAsync url: " + url + ", " + email);
_logger.Info("GetUserByEmailAsync url: " + url + ", " + email);
//GlobalLogger.Info("GetUserByEmailAsync url: " + url + ", " + email, "GLOBAL_LOGGER");
var response = await http.PostAsJsonAsync(url, email);
var result = await response.Content.ReadAsStringAsync();
var user = JsonConvert.DeserializeObject<UserModelDto>(result);
@ -187,7 +198,7 @@ namespace TIAMWebApp.Client.Services
public async Task<UserModelDto?> GetUserByIdAsync(Guid id)
{
var url = $"{Setting.ApiBaseUrl}/{APIUrls.GetUserById}";
logToBrowserConsole.LogToBC("GetUserByIdAsync url: " + url + ", " + id.ToString());
_logger.Info("GetUserByIdAsync url: " + url + ", " + id.ToString());
var response = await http.PostAsJsonAsync(url, id);
var result = await response.Content.ReadAsStringAsync();
@ -198,8 +209,10 @@ namespace TIAMWebApp.Client.Services
public async Task<UserModelDtoDetail?> GetUserDetailByIdAsync(Guid id)
{
_logger.Info("GetUserDetailByIdAsync", "GLOBAL_LOGGER");
var url = $"{Setting.ApiBaseUrl}/{APIUrls.GetUserDetailById}";
logToBrowserConsole.LogToBC("GetUserDetailByIdAsync url: " + url + ", " + id.ToString());
_logger.Info("GetUserDetailByIdAsync url: " + url + ", " + id.ToString());
var response = await http.PostAsJsonAsync(url, id);
var result = await response.Content.ReadAsStringAsync();
@ -210,7 +223,7 @@ namespace TIAMWebApp.Client.Services
public async Task<bool> RefreshToken()
{
logToBrowserConsole.LogToBC("RefreshToken() called");
_logger.Info("RefreshToken() called");
bool isTokenRefreshed = false;
var url = $"{Setting.ApiBaseUrl}/{APIUrls.RefreshToken}";
@ -224,7 +237,7 @@ namespace TIAMWebApp.Client.Services
try
{
logToBrowserConsole.LogToBC("Refreshtoken url: " + url);
_logger.Info("Refreshtoken url: " + url);
var response = await http.PostAsync(url, new StringContent(serializedStr, Encoding.UTF8, "application/json"));
if (response.IsSuccessStatusCode)
{
@ -245,7 +258,7 @@ namespace TIAMWebApp.Client.Services
catch (Exception ex)
{
string msg = ex.Message;
logToBrowserConsole.LogToBC("Refreshtoken exception: " + ex.ToString());
_logger.Error("Refreshtoken exception: " + ex.Message, ex);
}

View File

@ -18,6 +18,7 @@
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\..\TIAM.Core\TIAM.Core.csproj" />
<ProjectReference Include="..\..\TIAMSharedUI\TIAMSharedUI.csproj" />
<ProjectReference Include="..\Shared\TIAMWebApp.Shared.Application.csproj" />
</ItemGroup>
@ -38,6 +39,9 @@
<Reference Include="AyCode.Models.Server">
<HintPath>..\..\..\AyCode.Core\AyCode.Services.Server\bin\Debug\net8.0\AyCode.Models.Server.dll</HintPath>
</Reference>
<Reference Include="AyCode.Services">
<HintPath>..\..\..\AyCode.Core\AyCode.Services.Server\bin\Debug\net8.0\AyCode.Services.dll</HintPath>
</Reference>
</ItemGroup>
</Project>

View File

@ -1,4 +1,5 @@
using AyCode.Core.Logger;
using AyCode.Core.Loggers;
using AyCode.Core.Server.Loggers;
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Mvc;
using TIAM.Database.DataLayers.Auctions;
@ -31,7 +32,7 @@ namespace TIAMWebApp.Server.Controllers
[Route("CreateBid")]
public async Task<IActionResult> CreateUser([FromBody] AuctionBid SerializedAuctionBidModel)
{
Logger.Info("CreateBid called");
GlobalLogger.Info("CreateBid called");
//if (string.IsNullOrEmpty(SerializedAuctionBidModel.GetRawText()))
//{
// return BadRequest("SerializedAuctionBidModel is required");
@ -61,7 +62,7 @@ namespace TIAMWebApp.Server.Controllers
}
else
{
Logger.Info($"Bid to be created: {userId}, {targetProductId}, {email}, {phoneNumber}, {bidAmount}, {isValid}");
GlobalLogger.Info($"Bid to be created: {userId}, {targetProductId}, {email}, {phoneNumber}, {bidAmount}, {isValid}");
finalizedBidModel = new AuctionBid(userId, targetProductId, email, phoneNumber, bidAmount);
await _auctionDal.CreateBidAsync(finalizedBidModel);
return Ok(finalizedBidModel.Id);
@ -98,14 +99,14 @@ namespace TIAMWebApp.Server.Controllers
[Route("ValidateBid")]
public async Task<IActionResult> ValidateBid([FromBody] AuctionBid SerializedAuctionBidModel)
{
Logger.Info("ValidateBid called");
GlobalLogger.Info("ValidateBid called");
//var validateBid = JObject.Parse(SerializedAuctionBidModel.GetRawText()).ToObject<AuctionBidModel>();
//check if bid exists
AuctionBid? dbBid = null;
//Logger.Info(validateBid?.Id);
Logger.Info(SerializedAuctionBidModel?.Id.ToString());
GlobalLogger.Info(SerializedAuctionBidModel?.Id.ToString());
//if (validateBid != null)
if (SerializedAuctionBidModel != null)
{
@ -127,7 +128,7 @@ namespace TIAMWebApp.Server.Controllers
//if (dbBid.Email == validateBid?.Email)
if (dbBid.Email == SerializedAuctionBidModel?.Email)
{
Logger.Info("Bid is valid");
GlobalLogger.Info("Bid is valid");
dbBid.IsValid = true;
//Update userModel with refreshToken!!
await _auctionDal.UpdateBidAsync(dbBid);

View File

@ -1,4 +1,5 @@
using AyCode.Core.Logger;
using AyCode.Core.Loggers;
using AyCode.Core.Server.Loggers;
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Cors;
using Microsoft.AspNetCore.Mvc;
@ -42,14 +43,14 @@ namespace TIAMWebApp.Server.Controllers
[Route(APIUrls.UploadImageRouteName)]
public ActionResult UploadImage([FromForm] IFormFile file)
{
Console.WriteLine($@"Upload file called: {file.FileName}");
GlobalLogger.Info($@"Upload file called: {file.FileName}");
if (file == null || file.Length == 0)
return BadRequest("File not selected");
string folderPath = @"C:\CDN";
string fileName = Path.GetFileNameWithoutExtension(file.FileName);
string extension = Path.GetExtension(file.FileName).ToUpper();
Console.WriteLine(extension);
GlobalLogger.Info(extension);
var isValidExtenstion = imageExtensions.Contains(extension);
var isValidSize = file.Length <= MaxFileSize;
if (!isValidExtenstion || !isValidSize)

View File

@ -1,3 +1,4 @@
using AyCode.Core.Server.Loggers;
using GoogleApi;
using GoogleApi.Entities.Common;
using GoogleApi.Entities.Common.Enums;
@ -47,8 +48,8 @@ namespace TIAMWebApp.Server.Controllers
var latitude = myTrip.StartLatitude; // Example latitude
var longitude = myTrip.StartLongitude; // Example longitude
Console.WriteLine(latitude);
Console.WriteLine(longitude);
GlobalLogger.Info(latitude.ToString());
GlobalLogger.Info(longitude.ToString());
var booo = new Coordinate(latitude, longitude);
var request = new LocationGeocodeRequest
@ -126,10 +127,10 @@ namespace TIAMWebApp.Server.Controllers
var longitude2 = Trips[0].EndLongitude; // Example longitude
Console.WriteLine(latitude1);
Console.WriteLine(longitude1);
Console.WriteLine(latitude2);
Console.WriteLine(longitude2);
GlobalLogger.Info(latitude1.ToString());
GlobalLogger.Info(longitude1.ToString());
GlobalLogger.Info(latitude2.ToString());
GlobalLogger.Info(longitude2.ToString());
try
{
@ -165,10 +166,7 @@ namespace TIAMWebApp.Server.Controllers
}
catch (Exception e)
{
Console.Write("Errorcode: {0}, {1}", (int)response.Status, e);
GlobalLogger.Error($"Errorcode: {response?.Status}, {e.Message}", e);
}
@ -177,7 +175,7 @@ namespace TIAMWebApp.Server.Controllers
}
catch (WebException ex)
{
Console.WriteLine("Google Maps API Error {0}", ex.Message);
GlobalLogger.Error($"Google Maps API Error {ex.Message}", ex);
return "Google Maps API Error {0}" + ex.Message;
}

View File

@ -9,6 +9,7 @@ using System.Drawing;
using System.Drawing.Imaging;
using System.Net;
using System.Text.Json;
using AyCode.Core.Server.Loggers;
using TIAM.Database.DataLayers.Admins;
//using TIAM.Database.DataLayers.ServiceProviders;
using TIAM.Entities.Permissions;
@ -42,7 +43,7 @@ namespace TIAMWebApp.Server.Controllers
[EndpointSummary("Create assigned user")]
public async Task<IActionResult> CreateServiceProvider([FromBody] ServiceProviderModel serializedServiceProviderModel)
{
Console.WriteLine(@"CreateUser called");
GlobalLogger.Info(@"CreateUser called");
if (serializedServiceProviderModel == null)
{
return BadRequest("SerializedLoginModel is required");
@ -72,7 +73,7 @@ namespace TIAMWebApp.Server.Controllers
else
{
Console.WriteLine($@"ServiceProvider to be created: {id}, {name}, {ownerId}");
GlobalLogger.Info($@"ServiceProvider to be created: {id}, {name}, {ownerId}");
await _adminDal.CreateServiceProviderAsync(new TiamServiceProvider(id, name, ownerId, Guid.NewGuid()));
}
@ -99,7 +100,7 @@ namespace TIAMWebApp.Server.Controllers
[Route(APIUrls.GetServiceProviderByIdRouteName)]
public async Task<TiamServiceProvider?> GetServiceProviderById([FromBody] Guid id)
{
Console.WriteLine($@"GetServiceProviderById called with id: {id}");
GlobalLogger.Info($@"GetServiceProviderById called with id: {id}");
return await _adminDal.GetServiceProviderByIdAsync(id);
}
@ -111,7 +112,7 @@ namespace TIAMWebApp.Server.Controllers
[Tags("Finished", "ServiceProvider")]
public async Task<Dictionary<Guid, string>> GetServiceProvidersByOwnerId([FromBody] Guid ownerId)
{
Console.WriteLine($@"GetServiceProvidersByOwnerId called with ownerId: {ownerId}");
GlobalLogger.Info($@"GetServiceProvidersByOwnerId called with ownerId: {ownerId}");
var serviceProviders = await _adminDal.GetServiceProvidersAsync();
@ -136,7 +137,7 @@ namespace TIAMWebApp.Server.Controllers
}
else
{
Console.WriteLine($@"CreateUserProductMappings called with ownerId: {createUserProductMappingModel.ContextId}, {createUserProductMappingModel.ContextId}");
GlobalLogger.Info($@"CreateUserProductMappings called with ownerId: {createUserProductMappingModel.ContextId}, {createUserProductMappingModel.ContextId}");
var userProductMapping = new UserProductMapping(createUserProductMappingModel.ContextId, createUserProductMappingModel.ContextId);
@ -152,7 +153,7 @@ namespace TIAMWebApp.Server.Controllers
[Route(APIUrls.GetUserProductMappingsForProductRouteName)]
public async Task<Dictionary<Guid, string>> GetUserProductMappingsForProduct(Guid serviceProviderId)
{
Console.WriteLine($@"GetUserProductMappingsForServiceProvider called with serviceProviderId: {serviceProviderId}");
GlobalLogger.Info($@"GetUserProductMappingsForServiceProvider called with serviceProviderId: {serviceProviderId}");
var userProductMappingDictionary = new Dictionary<Guid, string>();
@ -169,7 +170,7 @@ namespace TIAMWebApp.Server.Controllers
[Tags("In-Progress", "Product")]
public async Task<IActionResult> AddProduct([FromBody] Product product)
{
Console.WriteLine(@"AddProduct called");
GlobalLogger.Info(@"AddProduct called");
if (product == null)
{
return BadRequest("Product is required");
@ -187,7 +188,7 @@ namespace TIAMWebApp.Server.Controllers
[Tags("In-Progress", "Product")]
public async Task<IActionResult> GetQRCodeByProductId([FromBody] Guid productId)
{
Console.WriteLine(@"GetQRCode called");
GlobalLogger.Info(@"GetQRCode called");
if (productId == Guid.Empty)
{
return BadRequest("Product is required");
@ -202,7 +203,7 @@ namespace TIAMWebApp.Server.Controllers
//Bitmap qrCodeImage = qrCode.GetGraphic(20);
var rootpath = System.IO.Path.Combine(System.IO.Directory.GetCurrentDirectory(), "assets");
var qrCodeImage = qrCode.GetGraphic(20, Color.DarkMagenta, Color.White, (Bitmap)Bitmap.FromFile(rootpath + "/myimage.png"));
Console.WriteLine($@"qrCodeLogo: {rootpath}/myimage.png");
GlobalLogger.Info($@"qrCodeLogo: {rootpath}/myimage.png");
var ms = new MemoryStream();
qrCodeImage.Save(ms, ImageFormat.Jpeg);
var byteImage = ms.ToArray();
@ -219,7 +220,7 @@ namespace TIAMWebApp.Server.Controllers
[Tags("In-Progress", "Product")]
public IActionResult GetProductsByServiceProviderId([FromBody] Guid serviceProviderId)
{
Console.WriteLine($@"GetProductsByServiceProviderId called with serviceProviderId: {serviceProviderId}");
GlobalLogger.Info($@"GetProductsByServiceProviderId called with serviceProviderId: {serviceProviderId}");
if (serviceProviderId == Guid.Empty)
{
@ -249,7 +250,7 @@ namespace TIAMWebApp.Server.Controllers
[Tags("In-Progress", "Product")]
public async Task<string> GetAllProducts()
{
Console.WriteLine("GetAllProducts called");
GlobalLogger.Info("GetAllProducts called");
var products = _adminDal.GetProductsJson();
if (products != null)

View File

@ -1,34 +1,25 @@
using DevExpress.Office.Crypto;
using DevExpress.Xpo.DB;
using DevExpress.XtraPrinting;
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Identity;
using Microsoft.AspNetCore.Mvc;
using Newtonsoft.Json.Linq;
using Microsoft.IdentityModel.Tokens;
using System.IdentityModel.Tokens.Jwt;
using System.Security.Claims;
using System.Security.Cryptography;
using System.Text.Json;
using TIAMWebApp.Shared.Application.Models;
using TIAMWebApp.Shared.Application.Models.PageModels;
using TIAMWebApp.Server.Models;
using System.Text;
using AyCode.Core.Logger;
using Microsoft.AspNetCore.Hosting;
using Microsoft.EntityFrameworkCore;
using AyCode.Core.Loggers;
using TIAM.Database.DataLayers.Users;
using TIAM.Entities.Users;
using TIAM.Models.Dtos.Users;
using TIAMWebApp.Server.ModelsTIAMWebApp.Shared.Application.Models;
using TIAMWebApp.Shared.Application.Utility;
using TIAM.Database.DataLayers.Admins;
using System;
using AyCode.Core.Consts;
using AyCode.Core.Helpers;
using AyCode.Core.Enums;
using AyCode.Core.Server.Loggers;
using AyCode.Entities.LogItems;
using TIAM.Database;
using TIAM.Entities.Profiles;
using TIAM.Entities.Addresses;
using TIAM.Services.Server.Logins;
using ILogger = TIAM.Core.Loggers.ILogger;
using LogLevel = AyCode.Core.Loggers.LogLevel;
namespace TIAMWebApp.Server.Controllers
{
@ -44,7 +35,7 @@ namespace TIAMWebApp.Server.Controllers
private readonly IWebHostEnvironment _webHostEnvironment;
//readonly PasswordHasher _hasher = new();
private readonly ILogger _logger;
/*private UserModel[] users = new UserModel[]
{
new UserModel(new Guid("540271f6-c604-4c16-8160-d5a7cafedf00"), "test@tiam.hu", "+36701234567", "Asdasd123456"),
@ -52,17 +43,33 @@ namespace TIAMWebApp.Server.Controllers
};*/
private readonly ILogger<UserAPIController> _logger;
//private readonly ILogger<UserAPIController> _logger;
public UserAPIController(ILogger<UserAPIController> logger, IConfiguration configuration, IWebHostEnvironment webHostEnvironment, UserDal userDal, AdminDal adminDal)
public UserAPIController(IConfiguration configuration, IWebHostEnvironment webHostEnvironment, UserDal userDal, AdminDal adminDal, IEnumerable<IAcLogWriterBase> logWriters)
{
_logger = logger;
_configuration = configuration;
_webHostEnvironment = webHostEnvironment;
_userDal = userDal;
_adminDal = adminDal;
_loginService = new LoginService(_userDal, _configuration);
_logger = new TIAM.Core.Loggers.Logger<UserAPIController>(logWriters.ToArray());
}
[AllowAnonymous]
[HttpPost]
[Route(APIUrls.LoggerRouteName)]
public IActionResult AddLogItem(AcLogItem? logItem)
{
if (logItem == null)
{
_logger.Error("AddLogItem; LogItem == null");
return BadRequest();
}
_logger.Info(logItem.Text, logItem.CategoryName, logItem.CallerName);
return Ok();
}
@ -82,12 +89,12 @@ namespace TIAMWebApp.Server.Controllers
[Route(APIUrls.AuthenticateUserRouteName)]
public async Task<IActionResult> AuthenticateUser([FromBody] JsonElement serializedLoginModel)
{
Console.WriteLine(@"AuthenticateUser called");
_logger.Info(@"AuthenticateUser called");
var authenticateUser = JObject.Parse(serializedLoginModel.GetRawText()).ToObject<LoginModel>();
if (authenticateUser == null) throw new NullReferenceException("authenticateUser == null");
Console.WriteLine(authenticateUser.Email);
_logger.Info(authenticateUser.Email);
var loggedInModel = _loginService.Login(authenticateUser.Email, authenticateUser.Password);
if (loggedInModel.IsLoggedIn)
@ -107,7 +114,7 @@ namespace TIAMWebApp.Server.Controllers
return Ok(response);
}
Console.WriteLine(@"User not valid! errorCode: " + loggedInModel.LoginErrorCode);
_logger.Info(@"User not valid! errorCode: " + loggedInModel.LoginErrorCode);
return Unauthorized();
}
@ -116,12 +123,12 @@ namespace TIAMWebApp.Server.Controllers
[Route(APIUrls.RefreshTokenRouteName)]
public async Task<IActionResult> RefreshToken(RefreshTokenRequest? refreshTokenRequest)
{
Console.WriteLine(@"RefreshToken called");
_logger.Info(@"RefreshToken called");
var response = new MainResponse();
if (refreshTokenRequest is null)
{
Console.WriteLine(@"RefreshTokenRequest is null");
_logger.Info(@"RefreshTokenRequest is null");
response.ErrorMessage = "Invalid request";
return BadRequest(response);
}
@ -130,7 +137,7 @@ namespace TIAMWebApp.Server.Controllers
if (principal != null)
{
Console.WriteLine(@"Principal is not null");
_logger.Info(@"Principal is not null");
var email = principal.Claims.FirstOrDefault(f => f.Type == ClaimTypes.Email);
//var userModel = await _userManager.FindByEmailAsync(email?.Value);
@ -141,7 +148,7 @@ namespace TIAMWebApp.Server.Controllers
{
//get user from db
dbUser = await _userDal.GetUserByEmailAsync(email.Value, true);
Console.WriteLine($@"DbUser email: {dbUser?.EmailAddress}");
_logger.Info($@"DbUser email: {dbUser?.EmailAddress}");
}
//mocking - update userModel with new refreshToken so it returns true after the check below
@ -150,7 +157,7 @@ namespace TIAMWebApp.Server.Controllers
if (dbUser is null || dbUser.RefreshToken != refreshTokenRequest.RefreshToken)
{
response.ErrorMessage = "Invalid Request";
Console.WriteLine($@"{dbUser?.RefreshToken}, {refreshTokenRequest.RefreshToken}");
_logger.Info($@"{dbUser?.RefreshToken}, {refreshTokenRequest.RefreshToken}");
return BadRequest(response);
}
@ -172,7 +179,7 @@ namespace TIAMWebApp.Server.Controllers
return Ok(response);
}
Console.WriteLine(@"Principal is null");
_logger.Info(@"Principal is null");
return NotFound("Invalid Token Found");
}
@ -181,7 +188,7 @@ namespace TIAMWebApp.Server.Controllers
[Route("CreateUser")]
public async Task<IActionResult> CreateUser([FromBody] JsonElement serializedRegistrationModel)
{
Console.WriteLine(@"CreateUser called");
_logger.Info(@"CreateUser called");
if (string.IsNullOrEmpty(serializedRegistrationModel.GetRawText()))
{
@ -209,10 +216,10 @@ namespace TIAMWebApp.Server.Controllers
}
else
{
Console.WriteLine($@"User to be created: {userId}");
Console.WriteLine($@"User to be created: {email}");
Console.WriteLine($@"User to be created: {phoneNumber}");
Console.WriteLine($@"User to be created: {password}");
_logger.Info($@"User to be created: {userId}");
_logger.Info($@"User to be created: {email}");
_logger.Info($@"User to be created: {phoneNumber}");
_logger.Info($@"User to be created: {password}");
await _userDal.CreateUserAsync(new User(userId, email, phoneNumber, password));
}
@ -227,7 +234,7 @@ namespace TIAMWebApp.Server.Controllers
[Route(APIUrls.UpdateUser)]
public async Task<IActionResult> UpdateUser([FromBody] JsonElement SerializedUserModel)
{
Console.WriteLine("UpdateUser called");
_logger.Info("UpdateUser called");
if (string.IsNullOrEmpty(SerializedUserModel.GetRawText()))
{
@ -249,9 +256,9 @@ namespace TIAMWebApp.Server.Controllers
}
else
{
Console.WriteLine($"User to be updated: {userId}");
Console.WriteLine($"User to be updated: {email}");
Console.WriteLine($"User to be updated: {phoneNumber}");
_logger.Info($"User to be updated: {userId}");
_logger.Info($"User to be updated: {email}");
_logger.Info($"User to be updated: {phoneNumber}");
await _userDal.UpdateUserAsync(new User(userId, email, phoneNumber));
}
@ -265,19 +272,19 @@ namespace TIAMWebApp.Server.Controllers
[AllowAnonymous]
[HttpPost]
[Route(APIUrls.CreateGuestUserRouteName)]
public async Task<IActionResult> CreateGuestUser([FromBody] JsonElement SerializedRegistrationModel)
public async Task<IActionResult> CreateGuestUser([FromBody] JsonElement serializedRegistrationModel)
{
Console.WriteLine(@"CreateGuestUser called");
_logger.Info(@"CreateGuestUser called");
var result = false;
UserModelDtoDetail? guestUser = null;
if (string.IsNullOrEmpty(SerializedRegistrationModel.GetRawText()))
if (string.IsNullOrEmpty(serializedRegistrationModel.GetRawText()))
{
return BadRequest("SerializedLoginModel is required");
}
else
{
var user = JObject.Parse(SerializedRegistrationModel.GetRawText()).ToObject<RegistrationModel>();
var user = JObject.Parse(serializedRegistrationModel.GetRawText()).ToObject<RegistrationModel>();
if (user != null)
{
@ -299,10 +306,10 @@ namespace TIAMWebApp.Server.Controllers
}
else
{
Console.WriteLine($@"User to be created: {userId}");
Console.WriteLine($@"User to be created: {email}");
Console.WriteLine($@"User to be created: {phoneNumber}");
Console.WriteLine($@"User to be created: {password}");
_logger.Info($@"User to be created: {userId}");
_logger.Info($@"User to be created: {email}");
_logger.Info($@"User to be created: {phoneNumber}");
_logger.Info($@"User to be created: {password}");
User userToCreate = new(userId, email, phoneNumber, password);
userToCreate.ProfileId = Guid.NewGuid();
@ -342,7 +349,7 @@ namespace TIAMWebApp.Server.Controllers
[Route(APIUrls.GetUsersWithDetailsRouteName)]
public Task<List<UserModelDtoDetail>> GetUsersWithDetails()
{
Console.WriteLine("GetUsersWithDetails called");
_logger.Info("GetUsersWithDetails called");
//var users = await _userDal.Ctx.Users.ToListAsync();//.GetUsersAsync();
//return users;
return _userDal.GetAllUserModelDtoAsync<UserModelDtoDetail>();
@ -353,8 +360,8 @@ namespace TIAMWebApp.Server.Controllers
[Route("GetUserByEmail")]
public Task<UserModelDto?> GetUserByEmail(string email)
{
Logger.Info($"GetUserByEmail called with email: {email}");
Console.WriteLine($@"GetUserByEmail called with email: {email}");
_logger.Info($"GetUserByEmail called with email: {email}");
_logger.Info($@"GetUserByEmail called with email: {email}");
return _userDal.GetUserModelDtoByEmailAsync<UserModelDto>(email, false);
}
@ -364,7 +371,7 @@ namespace TIAMWebApp.Server.Controllers
[Route("GetUserById")]
public Task<UserModelDto?> GetUserById([FromBody] Guid id)
{
Logger.Info($"GetUserById called with id: {id}");
_logger.Info($"GetUserById called with id: {id}");
return _userDal.GetUserModelDtoByIdAsync<UserModelDto>(id, true);
}
@ -373,7 +380,7 @@ namespace TIAMWebApp.Server.Controllers
[Route("GetUserDetailById")]
public Task<UserModelDtoDetail?> GetUserDetailById([FromBody] Guid id)
{
Logger.Info($"GetUserDetailById called with id: {id}");
_logger.Info($"GetUserDetailById called with id: {id}");
return _userDal.GetUserModelDtoByIdAsync<UserModelDtoDetail>(id, true);
}
}

View File

@ -3,12 +3,16 @@ using Microsoft.AspNetCore.Http.Features;
using Microsoft.IdentityModel.Tokens;
using Microsoft.OpenApi.Models;
using System.Text;
using AyCode.Core.Loggers;
using TIAM.Core.Loggers;
using TIAM.Database;
using TIAM.Database.DataLayers.Admins;
using TIAM.Database.DataLayers.Auctions;
using TIAM.Database.DataLayers.TransferDestinations;
using TIAM.Database.DataLayers.Users;
using TIAM.Entities.Emails;
using TIAM.Services.Server;
using TIAMWebApp.Shared.Application.Utility;
//using TIAM.Database.DataLayers.ServiceProviders;
var builder = WebApplication.CreateBuilder(args);
@ -20,6 +24,8 @@ string MyAllowSpecificOrigins = "_myAllowSpecificOrigins";
builder.Services.AddControllersWithViews();
builder.Services.AddRazorPages();
//builder.Services.AddDbContext<TransferDestinationDbContext>(options => options.UseSqlServer(builder.Configuration.GetConnectionString("DeveloperDbConnection")));;
builder.Services.AddScoped<IAcLogWriterBase, ConsoleLogWriter>();
builder.Services.AddScoped<IAcLogWriterBase, DbLogItemWriter>();
builder.Services.AddScoped<UserDal>();
builder.Services.AddScoped<AdminDal>();
builder.Services.AddScoped<AuctionDal>();

View File

@ -26,6 +26,7 @@
<ItemGroup>
<ProjectReference Include="..\..\..\Aycode.Blazor\AyCode.Blazor.Controllers\AyCode.Blazor.Controllers.csproj" />
<ProjectReference Include="..\..\TIAM.Core\TIAM.Core.csproj" />
<ProjectReference Include="..\..\TIAM.Database\TIAM.Database.csproj" />
<ProjectReference Include="..\..\TIAM.Entities.Server\TIAM.Entities.Server.csproj" />
<ProjectReference Include="..\..\TIAM.Entities\TIAM.Entities.csproj" />

View File

@ -17,6 +17,23 @@
"SendGrid": {
//"Key": "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"
"Key": "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"
}
},
}
"AyCode": {
"ProjectId": "684f34d1-163a-4077-918f-a9d9df5ce789",
"Logger": {
"AppType": "Server",
"LogLevel": "Detail",
"LogWriters": [
{
"LogLevel": "Detail",
"LogWriterType": "TIAM.Core.Loggers.ConsoleLogWriter, TIAM.Core, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null"
},
{
"LogLevel": "Detail",
"LogWriterType": "TIAM.Database.DbLogItemWriter, TIAM.Database, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null"
}
]
}
}
}

View File

@ -41,6 +41,9 @@ namespace TIAMWebApp.Shared.Application.Models
public const string LogoutUserRouteName = "LogoutUser";
public const string LogoutUser = UserAPI + LogoutUserRouteName;
public const string LoggerRouteName = "Logger";
public const string Logger = UserAPI + LoggerRouteName;
public const string CreateUserRouteName = "CreateUser";
public const string CreateUser = UserAPI + CreateUserRouteName;

View File

@ -19,7 +19,7 @@ namespace TIAMWebApp.Shared.Application.Services
private readonly HttpClient http;
private readonly ISecureStorageHandler secureStorageHandler;
private readonly IJSRuntime jsRuntime;
private readonly LogToBrowserConsole logToBrowserConsole;
private readonly BrowserConsoleLogWriter _browserConsoleLogWriter;
public ServiceProviderDataService(HttpClient http, ISecureStorageHandler secureStorageHandler, IJSRuntime jSRuntime)
@ -27,7 +27,7 @@ namespace TIAMWebApp.Shared.Application.Services
this.http = http;
this.secureStorageHandler = secureStorageHandler;
this.jsRuntime = jSRuntime;
this.logToBrowserConsole = new LogToBrowserConsole(jsRuntime);
this._browserConsoleLogWriter = new BrowserConsoleLogWriter(jsRuntime);
}
//22.
@ -74,7 +74,7 @@ namespace TIAMWebApp.Shared.Application.Services
if (response.IsSuccessStatusCode)
{
var result = await response.Content.ReadFromJsonAsync<Dictionary<Guid, string>>();
logToBrowserConsole.LogToBC(result.FirstOrDefault().Value);
_browserConsoleLogWriter.Info(result.FirstOrDefault().Value);
return result;
}
else
@ -123,7 +123,7 @@ namespace TIAMWebApp.Shared.Application.Services
if (response.IsSuccessStatusCode)
{
var result = await response.Content.ReadAsStringAsync();
logToBrowserConsole.LogToBC("SKBitmap width: " + result);
_browserConsoleLogWriter.Info("SKBitmap width: " + result);
return result;
}
else
@ -139,7 +139,7 @@ namespace TIAMWebApp.Shared.Application.Services
if (response.IsSuccessStatusCode)
{
var result = await response.Content.ReadAsStringAsync();
logToBrowserConsole.LogToBC("Json: " + result);
_browserConsoleLogWriter.Info("Json: " + result);
var data = JsonConvert.DeserializeObject<IEnumerable<Product>>(result);
if (data != null)
{

View File

@ -1,4 +1,5 @@
using System.Net.Http.Json;
using AyCode.Core.Loggers;
using System.Net.Http.Json;
using System.Text.Json;
using TIAM.Entities.Transfers;
using TIAMWebApp.Shared.Application.Interfaces;
@ -12,12 +13,12 @@ namespace TIAMWebApp.Shared.Application.Services
public class TransferDataService : ITransferDataService
{
private readonly HttpClient http;
private readonly LogToBrowserConsole logToBrowserConsole;
private readonly IAcLogWriterBase _browserConsoleLogWriter;
public TransferDataService(HttpClient http, LogToBrowserConsole logToBrowserConsole)
public TransferDataService(HttpClient http, IAcLogWriterBase browserConsoleLogWriter)
{
this.http = http;
this.logToBrowserConsole = logToBrowserConsole;
this._browserConsoleLogWriter = browserConsoleLogWriter;
}
@ -26,7 +27,7 @@ namespace TIAMWebApp.Shared.Application.Services
var url = $"{Setting.ApiBaseUrl}/{APIUrls.GetTransferDestinations}";
//var url = $"{APIUrls.GetTransferDestinations}";
logToBrowserConsole.LogToBC(url);
_browserConsoleLogWriter.Info(url);
List<TransferDestination>? response = await http.GetFromJsonAsync<List<TransferDestination>>(url);
if(response == null)
return new List<TransferDestination>();
@ -68,13 +69,13 @@ namespace TIAMWebApp.Shared.Application.Services
public async Task<Transfer?> CreateTransfer(TransferWizardModel model)
{
logToBrowserConsole.LogToBC("CreateTransfer called");
logToBrowserConsole.LogToBC(model.PickupAddress);
logToBrowserConsole.LogToBC(model.Destination);
logToBrowserConsole.LogToBC(model.EmailAddress);
logToBrowserConsole.LogToBC(model.PhoneNumber);
logToBrowserConsole.LogToBC(model.TripDate.ToString());
logToBrowserConsole.LogToBC(model.NumberOfPassengers.ToString());
_browserConsoleLogWriter.Info("CreateTransfer called");
_browserConsoleLogWriter.Info(model.PickupAddress);
_browserConsoleLogWriter.Info(model.Destination);
_browserConsoleLogWriter.Info(model.EmailAddress);
_browserConsoleLogWriter.Info(model.PhoneNumber);
_browserConsoleLogWriter.Info(model.TripDate.ToString());
_browserConsoleLogWriter.Info(model.NumberOfPassengers.ToString());
model.Id = Guid.NewGuid();
var transfer = model.CopyToTransfer();
@ -155,7 +156,7 @@ namespace TIAMWebApp.Shared.Application.Services
{
var url = $"{Setting.ApiBaseUrl}/{APIUrls.GetTransferById}";
//var url = $"{APIUrls.GetTransferDestinations}";
logToBrowserConsole.LogToBC(url);
_browserConsoleLogWriter.Info(url);
Transfer? response = await http.GetFromJsonAsync<Transfer>(url);
if (response == null)
return new Transfer();
@ -166,7 +167,7 @@ namespace TIAMWebApp.Shared.Application.Services
{
var url = $"{Setting.ApiBaseUrl}/{APIUrls.GetTransfers}";
//var url = $"{APIUrls.GetTransferDestinations}";
logToBrowserConsole.LogToBC(url);
_browserConsoleLogWriter.Info(url);
//add json settings ignore readonly properties
JsonSerializerOptions options = new JsonSerializerOptions
{

View File

@ -27,6 +27,7 @@
<PackageReference Include="Microsoft.JSInterop" Version="8.0.4" />
<PackageReference Include="SkiaSharp" Version="2.88.8" />
<PackageReference Include="SkiaSharp.Views.Desktop.Common" Version="2.88.8" />
<PackageReference Include="System.Net.Http.Json" Version="8.0.0" />
</ItemGroup>
<ItemGroup>

View File

@ -0,0 +1,40 @@
using AyCode.Core.Enums;
using AyCode.Core.Loggers;
using Microsoft.JSInterop;
namespace TIAMWebApp.Shared.Application.Utility;
//public interface IBrowserConsoleLogWriter : IAcLogWriterBase
//{ }
//public abstract class LogWriterClient : AcTextLogWriterBase
//{
// protected LogWriterClient(IJSRuntime jsRuntime) : base(AppType.Web, LogLevel.Debug)
// { }
//}
public class BrowserConsoleLogWriter : AcTextLogWriterBase
{
private readonly IJSRuntime _jsRuntime;
//public BrowserConsoleLogWriter() : base(AppType.Web, LogLevel.Debug)
//{
// _jsRuntime = Services.GetRequiredService<IJSRuntime>();
//}
public BrowserConsoleLogWriter(IJSRuntime jsRuntime) : base(AppType.Web, LogLevel.Debug)
{
_jsRuntime = jsRuntime;
}
protected override void WriteText(string? logText)
{
_jsRuntime.InvokeVoidAsync("console.log", logText);
}
//public void Info(string message)
//{
// ((AcLogWriterBase)this).Info(message);
// //jsRuntime.InvokeVoidAsync("console.log", logText);
//}
}

View File

@ -0,0 +1,25 @@
using AyCode.Entities.LogItems;
using AyCode.Services.Loggers;
using static System.Net.WebRequestMethods;
using TIAMWebApp.Shared.Application.Models.ClientSide;
using TIAMWebApp.Shared.Application.Models.PageModels;
using TIAMWebApp.Shared.Application.Models;
using System.Net.Http.Json;
namespace TIAMWebApp.Shared.Application.Utility;
public class HttpClientLogItemWriter : AcHttpClientLogItemWriter<AcLogItem>
{
public HttpClientLogItemWriter(HttpClient httpClient) : base(httpClient)
{ }
protected override void WriteLogItem(AcLogItem logItem, Action? callback = null)
{
base.WriteLogItem(logItem, () =>
{
var url = $"{Setting.ApiBaseUrl}/{APIUrls.Logger}";
_httpClient.PostAsJsonAsync(url, logItem);
});
}
}

View File

@ -2,19 +2,19 @@
namespace TIAMWebApp.Shared.Application.Utility
{
public class LogToBrowserConsole
{
private readonly IJSRuntime jsRuntime;
//public class LogToBrowserConsole
//{
// private readonly IJSRuntime jsRuntime;
public LogToBrowserConsole(IJSRuntime jsRuntime)
{
this.jsRuntime = jsRuntime;
}
// public LogToBrowserConsole(IJSRuntime jsRuntime)
// {
// this.jsRuntime = jsRuntime;
// }
public void LogToBC(string message)
{
jsRuntime.InvokeVoidAsync("console.log", message);
}
// public void LogToBC(string message)
// {
// jsRuntime.InvokeVoidAsync("console.log", message);
// }
}
//}
}

View File

@ -0,0 +1,17 @@
using AyCode.Core.Enums;
using AyCode.Core.Loggers;
using TIAM.Core.Loggers;
namespace TIAMWebApp.Shared.Application.Utility;
public class LoggerClient<TCategory> : Logger, ILogger<TCategory>
{
public LoggerClient() : base(AppType.Web, LogLevel.Detail, typeof(TCategory).Name)
{ }
public LoggerClient(params IAcLogWriterBase[] logWriters) : base(AppType.Web, LogLevel.Detail, typeof(TCategory).Name, logWriters)
{ }
public LoggerClient(AppType appType, LogLevel logLevel, params IAcLogWriterBase[] logWriters) : base(appType, logLevel, typeof(TCategory).Name, logWriters)
{ }
}