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": { "SendGrid": {
//"Key": "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" //"Key": "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"
"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.Extensions;
using AyCode.Core.Server.Loggers;
using AyCode.Database.DbSets.Messages; using AyCode.Database.DbSets.Messages;
using AyCode.Database.DbSets.Users; using AyCode.Database.DbSets.Users;
using AyCode.Models.Enums; using AyCode.Models.Enums;
@ -228,7 +229,7 @@ namespace TIAM.Database.DataLayers.Admins
public bool CreateProductAsync(Product product) public bool CreateProductAsync(Product product)
{ {
Context.CreateProduct(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(); var result = Context.SaveChangesAsync();
return result.Result > 0; return result.Result > 0;
} }
@ -240,14 +241,14 @@ namespace TIAM.Database.DataLayers.Admins
public virtual Task<TiamServiceProvider?> GetServiceProviderByIdAsync(Guid id) 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); return Context.ServiceProviders.SingleOrDefaultAsync(x => x.Id == id);
} }
//public Task<UserProductMapping> CreateUserProductMappingAsync(UserProductMapping userProductMapping) //public Task<UserProductMapping> CreateUserProductMappingAsync(UserProductMapping userProductMapping)
//{ //{
// Context.UserProductMappings.Add(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); // return Context.SaveChangesAsync().ContinueWith(x => userProductMapping);
//} //}
@ -453,7 +454,7 @@ namespace TIAM.Database.DataLayers.Admins
} }
foreach (var row in result) 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); 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 Microsoft.EntityFrameworkCore;
using TIAM.Database.DbContexts.Auctions; using TIAM.Database.DbContexts.Auctions;
using TIAM.Entities.Auctions; using TIAM.Entities.Auctions;
@ -19,14 +20,14 @@ namespace TIAM.Database.DataLayers.Auctions
public Task<List<AuctionBid>> GetBidsByEmail(string email) 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(); var emailLower = email.ToLower();
return Context.AuctionBids.Where(x => x.Email.ToLower() == emailLower).ToListAsync(); return Context.AuctionBids.Where(x => x.Email.ToLower() == emailLower).ToListAsync();
} }
public AuctionBid? GetBidById(Guid id) 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); return Context.AuctionBids.FirstOrDefault(x => x.Id == id);
} }
@ -36,7 +37,7 @@ namespace TIAM.Database.DataLayers.Auctions
auctionBid.Created = DateTime.UtcNow; auctionBid.Created = DateTime.UtcNow;
auctionBid.Modified = DateTime.UtcNow; auctionBid.Modified = DateTime.UtcNow;
Context.AuctionBids.Add(auctionBid); 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); return Context.SaveChangesAsync().ContinueWith(x => x.Result > 0);
} }

View File

@ -234,7 +234,7 @@ namespace TIAM.Database.DataLayers.ServiceProviders
//// } //// }
//// foreach (var row in result) //// 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); //// return Task.FromResult(result);
//// } //// }
@ -340,7 +340,7 @@ namespace TIAM.Database.DataLayers.ServiceProviders
//// { //// {
//// var prod = Context.UpdateProduct(product); //// 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(); //// Context.SaveChanges();
//// return prod; //// 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 AyCode.Services.Server.Tests.LoginServices;
using TIAM.Database.DataLayers.Users; using TIAM.Database.DataLayers.Users;
using TIAM.Database.DbContexts.Users; using TIAM.Database.DbContexts.Users;
@ -24,8 +25,12 @@ namespace TIAM.Services.Server.Tests.LoginServices
[DataTestMethod] [DataTestMethod]
[DataRow([RegisterUserIdString, RegisterEmail, RegisterPassword])] [DataRow([RegisterUserIdString, RegisterEmail, RegisterPassword])]
public override Task AcBase_RegisterUser_ReturnsUser_WhenUserExist(string[] userIdEmailPasswordStrings) 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] [DataTestMethod]
[DataRow([LoginEmail, LoginPassword])] [DataRow([LoginEmail, LoginPassword])]
public override void AcBase_LoginUser_ReturnsUser_WhenUserExist(string[] emailPasswordStrings) public override void AcBase_LoginUser_ReturnsUser_WhenUserExist(string[] emailPasswordStrings)

View File

@ -1,6 +1,7 @@
{ {
"ConnectionStrings": { "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": { "Logging": {
"LogLevel": { "LogLevel": {
@ -17,6 +18,23 @@
"SendGrid": { "SendGrid": {
//"Key": "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" //"Key": "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"
"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 System.Net;
using AyCode.Core.Helpers;
using AyCode.Core.Loggers;
using AyCode.Models.Enums; using AyCode.Models.Enums;
using Microsoft.Extensions.Configuration; using Microsoft.Extensions.Configuration;
using SendGrid; using SendGrid;
@ -19,6 +21,8 @@ namespace TIAM.Services.Server
Console.WriteLine($@"EmailMessage!!!"); Console.WriteLine($@"EmailMessage!!!");
// Access DerivedClass properties // Access DerivedClass properties
//var subject = emailMessage.Subject; //var subject = emailMessage.Subject;
//adminDal.AddEmailMessageAsync(message).Forget();
result = (await SendMailWithSendgrid(message)).ToString(); //?? HttpStatusCode.BadRequest.ToString(); result = (await SendMailWithSendgrid(message)).ToString(); //?? HttpStatusCode.BadRequest.ToString();
break; break;
case (int)MessageTypesEnum.sms: case (int)MessageTypesEnum.sms:

View File

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

View File

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

View File

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

View File

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

View File

@ -12,6 +12,7 @@
@using TIAMWebApp.Shared.Application.Models.PageModels @using TIAMWebApp.Shared.Application.Models.PageModels
@using TIAMWebApp.Shared.Application.Utility; @using TIAMWebApp.Shared.Application.Utility;
@using System.IdentityModel.Tokens.Jwt; @using System.IdentityModel.Tokens.Jwt;
@using AyCode.Core.Loggers
@using TIAMSharedUI.Pages.Components; @using TIAMSharedUI.Pages.Components;
@using TIAMSharedUI.Shared @using TIAMSharedUI.Shared
@using TIAMWebApp.Shared.Application.Models.ClientSide.UI.WizardModels @using TIAMWebApp.Shared.Application.Models.ClientSide.UI.WizardModels
@ -22,7 +23,7 @@
@inject ISessionService sessionService; @inject ISessionService sessionService;
@inject IStringLocalizer<MyResources> localizer; @inject IStringLocalizer<MyResources> localizer;
@inject NavigationManager navManager @inject NavigationManager navManager
@inject LogToBrowserConsole logToBrowserConsole @inject IAcLogWriterBase BrowserConsoleLogWriter
@inject ITransferDataService transferDataService @inject ITransferDataService transferDataService
@ -455,7 +456,7 @@ new HeroSliderItem
if (IsLoggedIn) 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); 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; return transferResult;
} }
} }

View File

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

View File

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

View File

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

View File

@ -4,7 +4,8 @@
@using TIAMWebApp.Shared.Application.Models.ClientSide.UI.WizardModels @using TIAMWebApp.Shared.Application.Models.ClientSide.UI.WizardModels
@using TIAMWebApp.Shared.Application.Utility @using TIAMWebApp.Shared.Application.Utility
@using TIAM.Entities.Transfers @using TIAM.Entities.Transfers
@inject LogToBrowserConsole logToBrowserConsole @using AyCode.Core.Loggers
@inject IAcLogWriterBase BrowserConsoleLogWriter
@inject IWizardProcessor WizardProcessor @inject IWizardProcessor WizardProcessor
<h3>TestPage</h3> <h3>TestPage</h3>
<div class="container mt-3"> <div class="container mt-3">
@ -131,7 +132,7 @@
public async Task SubmitForm(object Result) public async Task SubmitForm(object Result)
{ {
var transferDestination = await WizardProcessor.ProcessWizardAsync<TransferDestination>(Result.GetType(), 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.Interfaces
@using TIAMWebApp.Shared.Application.Models.ClientSide.UI.WizardModels @using TIAMWebApp.Shared.Application.Models.ClientSide.UI.WizardModels
@using TIAMWebApp.Shared.Application.Utility @using TIAMWebApp.Shared.Application.Utility
@using AyCode.Core.Loggers
@inject NavigationManager navManager @inject NavigationManager navManager
@inject LogToBrowserConsole logToBrowserConsole @inject IAcLogWriterBase BrowserConsoleLogWriter
@inject IWizardProcessor WizardProcessor @inject IWizardProcessor WizardProcessor
<PageTitle>Transfer</PageTitle> <PageTitle>Transfer</PageTitle>
@ -50,7 +51,7 @@
public async Task SubmitForm(object Result) public async Task SubmitForm(object Result)
{ {
var transfer = await WizardProcessor.ProcessWizardAsync<TransferWizardModel>(Result.GetType(), 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); navManager.NavigateTo("/transfer2/"+transfer.Id);
} }

View File

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

View File

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

View File

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

View File

@ -65,7 +65,7 @@ namespace TIAMSharedUI.Pages.User.SysAdmins
public async Task SubmitForm(object Result) public async Task SubmitForm(object Result)
{ {
//await WizardProcessor.ProcessWizardAsync(Result.GetType(), 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); ProductData = ((ProductWizardModel[])ProductData).Append(myModel);
//add new orderData to orderData array //add new orderData to orderData array
logToBrowserConsole.LogToBC("New orderData added"); BrowserConsoleLogWriter.Info("New orderData added");
//await NwindDataService.InsertEmployeeAsync((EditableEmployee)e.EditModel); //await NwindDataService.InsertEmployeeAsync((EditableEmployee)e.EditModel);
} }
else else
{ {
logToBrowserConsole.LogToBC("orderData updated"); BrowserConsoleLogWriter.Info("orderData updated");
//modify transferData where transferData.Id == e.EditModel.Id //modify transferData where transferData.Id == e.EditModel.Id
//get transfer from TransferData by Id //get transfer from TransferData by Id
@ -140,27 +140,27 @@ namespace TIAMSharedUI.Pages.User.SysAdmins
{ {
//await NwindDataService.RemoveEmployeeAsync((EditableEmployee)e.DataItem); //await NwindDataService.RemoveEmployeeAsync((EditableEmployee)e.DataItem);
//remove orderData from orderData array //remove orderData from orderData array
logToBrowserConsole.LogToBC("orderData deleted"); BrowserConsoleLogWriter.Info("orderData deleted");
//await UpdateDataAsync(); //await UpdateDataAsync();
} }
async Task UpdateDataAsync() async Task UpdateDataAsync()
{ {
//DataSource = await NwindDataService.GetEmployeesEditableAsync(); //DataSource = await NwindDataService.GetEmployeesEditableAsync();
//refresh grid //refresh grid
logToBrowserConsole.LogToBC("orderData grid refreshed"); BrowserConsoleLogWriter.Info("orderData grid refreshed");
} }
protected override async Task OnInitializedAsync() protected override async Task OnInitializedAsync()
{ {
base.OnInitialized(); base.OnInitialized();
var a = await serviceProviderDataService.GetProductsForServiceProviderAsync(Guid.Parse("3587F169-683C-4EEE-BCB5-E8D57F8C6DCE")); 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) foreach (var item in a)
{ {
//add new transferwizardmodel to transferData array //add new transferwizardmodel to transferData array
ProductDataFromDb = ((ProductWizardModel[])ProductDataFromDb).Append( ProductDataFromDb = ((ProductWizardModel[])ProductDataFromDb).Append(
new ProductWizardModel(item.ServiceProvider, item.ProductType, item.Name, item.Description, item.Price, item.JsonDetails)); 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.Models.PageModels
@using TIAMWebApp.Shared.Application.Utility @using TIAMWebApp.Shared.Application.Utility
@layout AdminLayout @layout AdminLayout
@inject LogToBrowserConsole logToBrowserConsole @inject BrowserConsoleLogWriter BrowserConsoleLogWriter
@inject IStringLocalizer<TIAMResources> localizer @inject IStringLocalizer<TIAMResources> localizer
@inject IWizardProcessor wizardProcessor @inject IWizardProcessor wizardProcessor
@inject ITransferDataService transferDataService @inject ITransferDataService transferDataService
@ -223,7 +223,7 @@
void SendMail(Transfer Item) void SendMail(Transfer Item)
{ {
logToBrowserConsole.LogToBC($"Sending mail to {Item.ContactEmail}"); BrowserConsoleLogWriter.Info($"Sending mail to {Item.ContactEmail}");
PopupVisible = true; PopupVisible = true;
} }
@ -250,7 +250,7 @@
{ {
var email = await wizardProcessor.ProcessWizardAsync<MessageWizardModel>(Result.GetType(), Result); 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) void Grid_CustomizeElement(GridCustomizeElementEventArgs e)
@ -301,12 +301,12 @@
if (e.IsNew) if (e.IsNew)
{ {
//add new orderData to orderData array //add new orderData to orderData array
logToBrowserConsole.LogToBC("New orderData added"); BrowserConsoleLogWriter.Info("New orderData added");
//await transferDataService.CreateTransfer((TransferWizardModel)e.EditModel); //await transferDataService.CreateTransfer((TransferWizardModel)e.EditModel);
} }
else 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); success = await transferDataService.UpdateTransferAsync((Transfer)e.EditModel);
@ -329,14 +329,14 @@
{ {
//await NwindDataService.RemoveEmployeeAsync((EditableEmployee)e.DataItem); //await NwindDataService.RemoveEmployeeAsync((EditableEmployee)e.DataItem);
//remove orderData from orderData array //remove orderData from orderData array
logToBrowserConsole.LogToBC("orderData deleted"); BrowserConsoleLogWriter.Info("orderData deleted");
//await UpdateDataAsync(); //await UpdateDataAsync();
} }
async Task UpdateDataAsync() async Task UpdateDataAsync()
{ {
//refresh grid //refresh grid
TransferData = await transferDataService.GetTransfersAsync(); TransferData = await transferDataService.GetTransfersAsync();
logToBrowserConsole.LogToBC("orderData grid refreshed"); BrowserConsoleLogWriter.Info("orderData grid refreshed");
} }
protected override async Task OnInitializedAsync() protected override async Task OnInitializedAsync()

View File

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

View File

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

View File

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

View File

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

View File

@ -7,7 +7,7 @@
@using TIAMWebApp.Shared.Application.Utility @using TIAMWebApp.Shared.Application.Utility
@inject IUserDataService NwindDataService @inject IUserDataService NwindDataService
@inject IServiceProviderDataService serviceProviderDataService @inject IServiceProviderDataService serviceProviderDataService
@inject LogToBrowserConsole logToBrowserConsole @inject BrowserConsoleLogWriter BrowserConsoleLogWriter
<div class="mb-2"> <div class="mb-2">
UserProductMapping UserProductMapping
@ -75,7 +75,7 @@
DetailGridData = Customer.UserProductMappings; DetailGridData = Customer.UserProductMappings;
AvailableProducts = await serviceProviderDataService.GetAllProductsAsync(); AvailableProducts = await serviceProviderDataService.GetAllProductsAsync();
logToBrowserConsole.LogToBC($"DetailGridData: {DetailGridData.Count}"); BrowserConsoleLogWriter.Info($"DetailGridData: {DetailGridData.Count}");
} }
void CustomizeEditModel(GridCustomizeEditModelEventArgs e) void CustomizeEditModel(GridCustomizeEditModelEventArgs e)
@ -95,10 +95,10 @@
{ {
if (e.IsNew) if (e.IsNew)
//add new orderData to orderData array //add new orderData to orderData array
logToBrowserConsole.LogToBC("New orderData added"); BrowserConsoleLogWriter.Info("New orderData added");
//await NwindDataService.InsertEmployeeAsync((EditableEmployee)e.EditModel); //await NwindDataService.InsertEmployeeAsync((EditableEmployee)e.EditModel);
else else
logToBrowserConsole.LogToBC("orderData updated"); BrowserConsoleLogWriter.Info("orderData updated");
//await NwindDataService.UpdateEmployeeAsync((EditableEmployee)e.DataItem, (EditableEmployee)e.EditModel); //await NwindDataService.UpdateEmployeeAsync((EditableEmployee)e.DataItem, (EditableEmployee)e.EditModel);
@ -108,14 +108,14 @@
{ {
//await NwindDataService.RemoveEmployeeAsync((EditableEmployee)e.DataItem); //await NwindDataService.RemoveEmployeeAsync((EditableEmployee)e.DataItem);
//remove orderData from orderData array //remove orderData from orderData array
logToBrowserConsole.LogToBC("orderData deleted"); BrowserConsoleLogWriter.Info("orderData deleted");
//await UpdateDataAsync(); //await UpdateDataAsync();
} }
async Task UpdateDataAsync() async Task UpdateDataAsync()
{ {
//DataSource = await NwindDataService.GetEmployeesEditableAsync(); //DataSource = await NwindDataService.GetEmployeesEditableAsync();
//refresh grid //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.Linq;
using System.Text; using System.Text;
using System.Threading.Tasks; using System.Threading.Tasks;
using AyCode.Core.Loggers;
using TIAMSharedUI.Resources; using TIAMSharedUI.Resources;
using TIAMWebApp.Shared.Application.Interfaces; using TIAMWebApp.Shared.Application.Interfaces;
using TIAMWebApp.Shared.Application.Utility; using TIAMWebApp.Shared.Application.Utility;
@ -29,7 +30,7 @@ namespace TIAMSharedUI.Shared.Components
public IComponentUpdateService componentUpdateService { get; set; } public IComponentUpdateService componentUpdateService { get; set; }
[Inject] [Inject]
public LogToBrowserConsole logToBrowserConsole { get; set; } public IAcLogWriterBase BrowserConsoleLogWriter { get; set; }
private bool collapseNavMenu = true; private bool collapseNavMenu = true;
private bool myUser = false; private bool myUser = false;
@ -40,7 +41,7 @@ namespace TIAMSharedUI.Shared.Components
private void RefreshMe() private void RefreshMe()
{ {
logToBrowserConsole.LogToBC($"Navbar refresh called! {DateTime.Now} "); BrowserConsoleLogWriter.Info($"Navbar refresh called! {DateTime.Now} ");
OnInitialized(); OnInitialized();
StateHasChanged(); StateHasChanged();
} }
@ -66,14 +67,14 @@ namespace TIAMSharedUI.Shared.Components
{ {
base.OnInitialized(); base.OnInitialized();
componentUpdateService.RefreshRequested += RefreshMe; componentUpdateService.RefreshRequested += RefreshMe;
logToBrowserConsole.LogToBC($"Navbar OnInit {DateTime.Now} "); BrowserConsoleLogWriter.Info($"Navbar OnInit {DateTime.Now} ");
if (sessionService.User != null) if (sessionService.User != null)
{ {
myUser = true; myUser = true;
} }
else else
{ {
logToBrowserConsole.LogToBC($"Navbar myUser false! {DateTime.Now} "); BrowserConsoleLogWriter.Info($"Navbar myUser false! {DateTime.Now} ");
myUser = false; myUser = false;
} }
@ -91,7 +92,7 @@ namespace TIAMSharedUI.Shared.Components
} }
foreach (var property in _properties) 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 System.Linq.Expressions
@using AyCode.Core.Loggers
@using TIAM.Entities.Transfers @using TIAM.Entities.Transfers
@using TIAMWebApp.Shared.Application.Interfaces @using TIAMWebApp.Shared.Application.Interfaces
@using TIAMWebApp.Shared.Application.Utility @using TIAMWebApp.Shared.Application.Utility
@inject LogToBrowserConsole logToBrowserConsole @inject IAcLogWriterBase BrowserConsoleLogWriter
<style> <style>
.underlineInput{ .underlineInput{
@ -230,7 +231,7 @@
protected override void OnParametersSet() protected override void OnParametersSet()
{ {
logToBrowserConsole.LogToBC($"SliderItemSelector is initialized with OwlId: {OwlId}"); BrowserConsoleLogWriter.Info($"SliderItemSelector is initialized with OwlId: {OwlId}");
base.OnParametersSet(); base.OnParametersSet();
} }
@ -252,7 +253,7 @@
[JSInvokable] [JSInvokable]
public void ShowCoordinates(string coordinates, string itemId) 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; //content = coordinates + "item = " + itemId;
SliderElementId = Convert.ToInt32(itemId); SliderElementId = Convert.ToInt32(itemId);
@ -277,7 +278,7 @@
public void OnTextChanged(string text) public void OnTextChanged(string text)
{ {
logToBrowserConsole.LogToBC($"Slider text changed: {text}"); BrowserConsoleLogWriter.Info($"Slider text changed: {text}");
OnSliderChanged.InvokeAsync(text); OnSliderChanged.InvokeAsync(text);
} }

View File

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

View File

@ -1,4 +1,5 @@
using System.Collections; using AyCode.Core.Loggers;
using System.Collections;
using System.Collections.Generic; using System.Collections.Generic;
using System.Net.Http.Json; using System.Net.Http.Json;
using System.Text.Json; using System.Text.Json;
@ -15,12 +16,12 @@ namespace TIAMWebApp.Client.Services
public class PermissionService : IPermissionService public class PermissionService : IPermissionService
{ {
private readonly HttpClient http; 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.http = http;
this.logToBrowserConsole = logToBrowserConsole; this._browserConsoleLogWriter = browserConsoleLogWriter;
} }
//1. create a permission to be assigned to users to access a context //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 Newtonsoft.Json;
using System.Net.Http.Json; using System.Net.Http.Json;
using System.Text; using System.Text;
using TIAM.Entities.Users; using AyCode.Core.Enums;
using TIAMWebApp.Shared.Application.Interfaces; using TIAMWebApp.Shared.Application.Interfaces;
using TIAMWebApp.Shared.Application.Models; using TIAMWebApp.Shared.Application.Models;
using TIAMWebApp.Shared.Application.Models.ClientSide; using TIAMWebApp.Shared.Application.Models.ClientSide;
using TIAMWebApp.Shared.Application.Models.PageModels; using TIAMWebApp.Shared.Application.Models.PageModels;
using TIAMWebApp.Shared.Application.Utility; using TIAMWebApp.Shared.Application.Utility;
using AyCode.Interfaces.StorageHandlers; using AyCode.Interfaces.StorageHandlers;
using AyCode.Core.Logger; using TIAM.Core.Loggers;
using TIAM.Models.Dtos.Users; 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 namespace TIAMWebApp.Client.Services
@ -22,20 +23,26 @@ namespace TIAMWebApp.Client.Services
private readonly HttpClient http; private readonly HttpClient http;
private readonly ISecureStorageHandler secureStorageHandler; private readonly ISecureStorageHandler secureStorageHandler;
private readonly IJSRuntime jsRuntime; private readonly IJSRuntime jsRuntime;
private readonly LogToBrowserConsole logToBrowserConsole; //private readonly BrowserConsoleLogWriter _browserConsoleLogWriter;
private readonly IServiceProviderDataService serviceProviderDataService; private readonly IServiceProviderDataService serviceProviderDataService;
private readonly ILogger _logger;
public Dictionary<int, string> userRoleTypes { get => throw new NotImplementedException(); set => throw new NotImplementedException(); } 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.http = http;
this.secureStorageHandler = secureStorageHandler; this.secureStorageHandler = secureStorageHandler;
this.jsRuntime = jSRuntime; this.jsRuntime = jSRuntime;
this.logToBrowserConsole = new LogToBrowserConsole(jsRuntime); //this._browserConsoleLogWriter = new BrowserConsoleLogWriter(jsRuntime);
this.serviceProviderDataService = serviceProviderDataService; 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) public async Task<UserSessionModel> IsLoggedInAsync(Guid id)
{ {
@ -48,7 +55,7 @@ namespace TIAMWebApp.Client.Services
var hasProperties = await serviceProviderDataService.GetPropertiesByOwnerIdAsync(userModelDto.Id); var hasProperties = await serviceProviderDataService.GetPropertiesByOwnerIdAsync(userModelDto.Id);
if (hasProperties != null) if (hasProperties != null)
logToBrowserConsole.LogToBC($"{hasProperties.Count} properties found"); _logger.Info($"{hasProperties.Count} properties found");
//create user session model //create user session model
var user = new UserSessionModel(userModelDto.Id, UserType.User, userModelDto, hasProperties, 1); var user = new UserSessionModel(userModelDto.Id, UserType.User, userModelDto, hasProperties, 1);
@ -85,7 +92,7 @@ namespace TIAMWebApp.Client.Services
//} //}
//catch (Exception ex) //catch (Exception ex)
//{ //{
// Console.WriteLine(ex); // _logger.Error(ex.Message, ex);
//} //}
if (response.IsSuccessStatusCode) if (response.IsSuccessStatusCode)
@ -108,7 +115,7 @@ namespace TIAMWebApp.Client.Services
bool isSuccess = true; bool isSuccess = true;
string result = string.Empty; string result = string.Empty;
var url = $"{Setting.ApiBaseUrl}/{APIUrls.CreateUser}"; var url = $"{Setting.ApiBaseUrl}/{APIUrls.CreateUser}";
logToBrowserConsole.LogToBC("CreateUser url: " + url); _logger.Info("CreateUser url: " + url);
var response = await http.PostAsJsonAsync(url, regModel); var response = await http.PostAsJsonAsync(url, regModel);
result = await response.Content.ReadAsStringAsync(); result = await response.Content.ReadAsStringAsync();
/*if (response.IsSuccessStatusCode) /*if (response.IsSuccessStatusCode)
@ -133,7 +140,7 @@ namespace TIAMWebApp.Client.Services
string result = string.Empty; string result = string.Empty;
UserModelDto? user = new UserModelDto(); UserModelDto? user = new UserModelDto();
var url = $"{Setting.ApiBaseUrl}/{APIUrls.CreateGuestUser}"; var url = $"{Setting.ApiBaseUrl}/{APIUrls.CreateGuestUser}";
logToBrowserConsole.LogToBC("CreateGuestUser url: " + url); _logger.Info("CreateGuestUser url: " + url);
var response = await http.PostAsJsonAsync(url, regModel); var response = await http.PostAsJsonAsync(url, regModel);
@ -141,7 +148,7 @@ namespace TIAMWebApp.Client.Services
{ {
isSuccess = true; isSuccess = true;
result = await response.Content.ReadAsStringAsync(); result = await response.Content.ReadAsStringAsync();
logToBrowserConsole.LogToBC("CreateGuestUser result: " + result); _logger.Info("CreateGuestUser result: " + result);
user = JsonConvert.DeserializeObject<UserModelDto>(result); user = JsonConvert.DeserializeObject<UserModelDto>(result);
} }
else else
@ -166,7 +173,7 @@ namespace TIAMWebApp.Client.Services
var url = $"{Setting.ApiBaseUrl}/{APIUrls.GetUsersWithDetails}"; 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 response = await http.GetFromJsonAsync<List<UserModelDtoDetail>>(APIUrls.GetUsersWithDetails);
//var result = await response.Content.ReadAsStringAsync(); //var result = await response.Content.ReadAsStringAsync();
//var user = JsonConvert.DeserializeObject<UserModelDto>(result); //var user = JsonConvert.DeserializeObject<UserModelDto>(result);
@ -177,7 +184,11 @@ namespace TIAMWebApp.Client.Services
public async Task<UserModelDto?> GetUserByEmailAsync(string email) public async Task<UserModelDto?> GetUserByEmailAsync(string email)
{ {
var url = $"{Setting.ApiBaseUrl}/{APIUrls.GetUserByEmail}"; 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 response = await http.PostAsJsonAsync(url, email);
var result = await response.Content.ReadAsStringAsync(); var result = await response.Content.ReadAsStringAsync();
var user = JsonConvert.DeserializeObject<UserModelDto>(result); var user = JsonConvert.DeserializeObject<UserModelDto>(result);
@ -187,7 +198,7 @@ namespace TIAMWebApp.Client.Services
public async Task<UserModelDto?> GetUserByIdAsync(Guid id) public async Task<UserModelDto?> GetUserByIdAsync(Guid id)
{ {
var url = $"{Setting.ApiBaseUrl}/{APIUrls.GetUserById}"; 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 response = await http.PostAsJsonAsync(url, id);
var result = await response.Content.ReadAsStringAsync(); var result = await response.Content.ReadAsStringAsync();
@ -198,8 +209,10 @@ namespace TIAMWebApp.Client.Services
public async Task<UserModelDtoDetail?> GetUserDetailByIdAsync(Guid id) public async Task<UserModelDtoDetail?> GetUserDetailByIdAsync(Guid id)
{ {
_logger.Info("GetUserDetailByIdAsync", "GLOBAL_LOGGER");
var url = $"{Setting.ApiBaseUrl}/{APIUrls.GetUserDetailById}"; 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 response = await http.PostAsJsonAsync(url, id);
var result = await response.Content.ReadAsStringAsync(); var result = await response.Content.ReadAsStringAsync();
@ -210,7 +223,7 @@ namespace TIAMWebApp.Client.Services
public async Task<bool> RefreshToken() public async Task<bool> RefreshToken()
{ {
logToBrowserConsole.LogToBC("RefreshToken() called"); _logger.Info("RefreshToken() called");
bool isTokenRefreshed = false; bool isTokenRefreshed = false;
var url = $"{Setting.ApiBaseUrl}/{APIUrls.RefreshToken}"; var url = $"{Setting.ApiBaseUrl}/{APIUrls.RefreshToken}";
@ -224,7 +237,7 @@ namespace TIAMWebApp.Client.Services
try try
{ {
logToBrowserConsole.LogToBC("Refreshtoken url: " + url); _logger.Info("Refreshtoken url: " + url);
var response = await http.PostAsync(url, new StringContent(serializedStr, Encoding.UTF8, "application/json")); var response = await http.PostAsync(url, new StringContent(serializedStr, Encoding.UTF8, "application/json"));
if (response.IsSuccessStatusCode) if (response.IsSuccessStatusCode)
{ {
@ -245,7 +258,7 @@ namespace TIAMWebApp.Client.Services
catch (Exception ex) catch (Exception ex)
{ {
string msg = ex.Message; 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>
<ItemGroup> <ItemGroup>
<ProjectReference Include="..\..\TIAM.Core\TIAM.Core.csproj" />
<ProjectReference Include="..\..\TIAMSharedUI\TIAMSharedUI.csproj" /> <ProjectReference Include="..\..\TIAMSharedUI\TIAMSharedUI.csproj" />
<ProjectReference Include="..\Shared\TIAMWebApp.Shared.Application.csproj" /> <ProjectReference Include="..\Shared\TIAMWebApp.Shared.Application.csproj" />
</ItemGroup> </ItemGroup>
@ -38,6 +39,9 @@
<Reference Include="AyCode.Models.Server"> <Reference Include="AyCode.Models.Server">
<HintPath>..\..\..\AyCode.Core\AyCode.Services.Server\bin\Debug\net8.0\AyCode.Models.Server.dll</HintPath> <HintPath>..\..\..\AyCode.Core\AyCode.Services.Server\bin\Debug\net8.0\AyCode.Models.Server.dll</HintPath>
</Reference> </Reference>
<Reference Include="AyCode.Services">
<HintPath>..\..\..\AyCode.Core\AyCode.Services.Server\bin\Debug\net8.0\AyCode.Services.dll</HintPath>
</Reference>
</ItemGroup> </ItemGroup>
</Project> </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.Authorization;
using Microsoft.AspNetCore.Mvc; using Microsoft.AspNetCore.Mvc;
using TIAM.Database.DataLayers.Auctions; using TIAM.Database.DataLayers.Auctions;
@ -31,7 +32,7 @@ namespace TIAMWebApp.Server.Controllers
[Route("CreateBid")] [Route("CreateBid")]
public async Task<IActionResult> CreateUser([FromBody] AuctionBid SerializedAuctionBidModel) public async Task<IActionResult> CreateUser([FromBody] AuctionBid SerializedAuctionBidModel)
{ {
Logger.Info("CreateBid called"); GlobalLogger.Info("CreateBid called");
//if (string.IsNullOrEmpty(SerializedAuctionBidModel.GetRawText())) //if (string.IsNullOrEmpty(SerializedAuctionBidModel.GetRawText()))
//{ //{
// return BadRequest("SerializedAuctionBidModel is required"); // return BadRequest("SerializedAuctionBidModel is required");
@ -61,7 +62,7 @@ namespace TIAMWebApp.Server.Controllers
} }
else 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); finalizedBidModel = new AuctionBid(userId, targetProductId, email, phoneNumber, bidAmount);
await _auctionDal.CreateBidAsync(finalizedBidModel); await _auctionDal.CreateBidAsync(finalizedBidModel);
return Ok(finalizedBidModel.Id); return Ok(finalizedBidModel.Id);
@ -98,14 +99,14 @@ namespace TIAMWebApp.Server.Controllers
[Route("ValidateBid")] [Route("ValidateBid")]
public async Task<IActionResult> ValidateBid([FromBody] AuctionBid SerializedAuctionBidModel) public async Task<IActionResult> ValidateBid([FromBody] AuctionBid SerializedAuctionBidModel)
{ {
Logger.Info("ValidateBid called"); GlobalLogger.Info("ValidateBid called");
//var validateBid = JObject.Parse(SerializedAuctionBidModel.GetRawText()).ToObject<AuctionBidModel>(); //var validateBid = JObject.Parse(SerializedAuctionBidModel.GetRawText()).ToObject<AuctionBidModel>();
//check if bid exists //check if bid exists
AuctionBid? dbBid = null; AuctionBid? dbBid = null;
//Logger.Info(validateBid?.Id); //Logger.Info(validateBid?.Id);
Logger.Info(SerializedAuctionBidModel?.Id.ToString()); GlobalLogger.Info(SerializedAuctionBidModel?.Id.ToString());
//if (validateBid != null) //if (validateBid != null)
if (SerializedAuctionBidModel != null) if (SerializedAuctionBidModel != null)
{ {
@ -127,7 +128,7 @@ namespace TIAMWebApp.Server.Controllers
//if (dbBid.Email == validateBid?.Email) //if (dbBid.Email == validateBid?.Email)
if (dbBid.Email == SerializedAuctionBidModel?.Email) if (dbBid.Email == SerializedAuctionBidModel?.Email)
{ {
Logger.Info("Bid is valid"); GlobalLogger.Info("Bid is valid");
dbBid.IsValid = true; dbBid.IsValid = true;
//Update userModel with refreshToken!! //Update userModel with refreshToken!!
await _auctionDal.UpdateBidAsync(dbBid); 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.Authorization;
using Microsoft.AspNetCore.Cors; using Microsoft.AspNetCore.Cors;
using Microsoft.AspNetCore.Mvc; using Microsoft.AspNetCore.Mvc;
@ -42,14 +43,14 @@ namespace TIAMWebApp.Server.Controllers
[Route(APIUrls.UploadImageRouteName)] [Route(APIUrls.UploadImageRouteName)]
public ActionResult UploadImage([FromForm] IFormFile file) 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) if (file == null || file.Length == 0)
return BadRequest("File not selected"); return BadRequest("File not selected");
string folderPath = @"C:\CDN"; string folderPath = @"C:\CDN";
string fileName = Path.GetFileNameWithoutExtension(file.FileName); string fileName = Path.GetFileNameWithoutExtension(file.FileName);
string extension = Path.GetExtension(file.FileName).ToUpper(); string extension = Path.GetExtension(file.FileName).ToUpper();
Console.WriteLine(extension); GlobalLogger.Info(extension);
var isValidExtenstion = imageExtensions.Contains(extension); var isValidExtenstion = imageExtensions.Contains(extension);
var isValidSize = file.Length <= MaxFileSize; var isValidSize = file.Length <= MaxFileSize;
if (!isValidExtenstion || !isValidSize) if (!isValidExtenstion || !isValidSize)

View File

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

View File

@ -9,6 +9,7 @@ using System.Drawing;
using System.Drawing.Imaging; using System.Drawing.Imaging;
using System.Net; using System.Net;
using System.Text.Json; using System.Text.Json;
using AyCode.Core.Server.Loggers;
using TIAM.Database.DataLayers.Admins; using TIAM.Database.DataLayers.Admins;
//using TIAM.Database.DataLayers.ServiceProviders; //using TIAM.Database.DataLayers.ServiceProviders;
using TIAM.Entities.Permissions; using TIAM.Entities.Permissions;
@ -42,7 +43,7 @@ namespace TIAMWebApp.Server.Controllers
[EndpointSummary("Create assigned user")] [EndpointSummary("Create assigned user")]
public async Task<IActionResult> CreateServiceProvider([FromBody] ServiceProviderModel serializedServiceProviderModel) public async Task<IActionResult> CreateServiceProvider([FromBody] ServiceProviderModel serializedServiceProviderModel)
{ {
Console.WriteLine(@"CreateUser called"); GlobalLogger.Info(@"CreateUser called");
if (serializedServiceProviderModel == null) if (serializedServiceProviderModel == null)
{ {
return BadRequest("SerializedLoginModel is required"); return BadRequest("SerializedLoginModel is required");
@ -72,7 +73,7 @@ namespace TIAMWebApp.Server.Controllers
else 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())); await _adminDal.CreateServiceProviderAsync(new TiamServiceProvider(id, name, ownerId, Guid.NewGuid()));
} }
@ -99,7 +100,7 @@ namespace TIAMWebApp.Server.Controllers
[Route(APIUrls.GetServiceProviderByIdRouteName)] [Route(APIUrls.GetServiceProviderByIdRouteName)]
public async Task<TiamServiceProvider?> GetServiceProviderById([FromBody] Guid id) 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); return await _adminDal.GetServiceProviderByIdAsync(id);
} }
@ -111,7 +112,7 @@ namespace TIAMWebApp.Server.Controllers
[Tags("Finished", "ServiceProvider")] [Tags("Finished", "ServiceProvider")]
public async Task<Dictionary<Guid, string>> GetServiceProvidersByOwnerId([FromBody] Guid ownerId) 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(); var serviceProviders = await _adminDal.GetServiceProvidersAsync();
@ -136,7 +137,7 @@ namespace TIAMWebApp.Server.Controllers
} }
else 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); var userProductMapping = new UserProductMapping(createUserProductMappingModel.ContextId, createUserProductMappingModel.ContextId);
@ -152,7 +153,7 @@ namespace TIAMWebApp.Server.Controllers
[Route(APIUrls.GetUserProductMappingsForProductRouteName)] [Route(APIUrls.GetUserProductMappingsForProductRouteName)]
public async Task<Dictionary<Guid, string>> GetUserProductMappingsForProduct(Guid serviceProviderId) 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>(); var userProductMappingDictionary = new Dictionary<Guid, string>();
@ -169,7 +170,7 @@ namespace TIAMWebApp.Server.Controllers
[Tags("In-Progress", "Product")] [Tags("In-Progress", "Product")]
public async Task<IActionResult> AddProduct([FromBody] Product product) public async Task<IActionResult> AddProduct([FromBody] Product product)
{ {
Console.WriteLine(@"AddProduct called"); GlobalLogger.Info(@"AddProduct called");
if (product == null) if (product == null)
{ {
return BadRequest("Product is required"); return BadRequest("Product is required");
@ -187,7 +188,7 @@ namespace TIAMWebApp.Server.Controllers
[Tags("In-Progress", "Product")] [Tags("In-Progress", "Product")]
public async Task<IActionResult> GetQRCodeByProductId([FromBody] Guid productId) public async Task<IActionResult> GetQRCodeByProductId([FromBody] Guid productId)
{ {
Console.WriteLine(@"GetQRCode called"); GlobalLogger.Info(@"GetQRCode called");
if (productId == Guid.Empty) if (productId == Guid.Empty)
{ {
return BadRequest("Product is required"); return BadRequest("Product is required");
@ -202,7 +203,7 @@ namespace TIAMWebApp.Server.Controllers
//Bitmap qrCodeImage = qrCode.GetGraphic(20); //Bitmap qrCodeImage = qrCode.GetGraphic(20);
var rootpath = System.IO.Path.Combine(System.IO.Directory.GetCurrentDirectory(), "assets"); 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")); 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(); var ms = new MemoryStream();
qrCodeImage.Save(ms, ImageFormat.Jpeg); qrCodeImage.Save(ms, ImageFormat.Jpeg);
var byteImage = ms.ToArray(); var byteImage = ms.ToArray();
@ -219,7 +220,7 @@ namespace TIAMWebApp.Server.Controllers
[Tags("In-Progress", "Product")] [Tags("In-Progress", "Product")]
public IActionResult GetProductsByServiceProviderId([FromBody] Guid serviceProviderId) public IActionResult GetProductsByServiceProviderId([FromBody] Guid serviceProviderId)
{ {
Console.WriteLine($@"GetProductsByServiceProviderId called with serviceProviderId: {serviceProviderId}"); GlobalLogger.Info($@"GetProductsByServiceProviderId called with serviceProviderId: {serviceProviderId}");
if (serviceProviderId == Guid.Empty) if (serviceProviderId == Guid.Empty)
{ {
@ -249,7 +250,7 @@ namespace TIAMWebApp.Server.Controllers
[Tags("In-Progress", "Product")] [Tags("In-Progress", "Product")]
public async Task<string> GetAllProducts() public async Task<string> GetAllProducts()
{ {
Console.WriteLine("GetAllProducts called"); GlobalLogger.Info("GetAllProducts called");
var products = _adminDal.GetProductsJson(); var products = _adminDal.GetProductsJson();
if (products != null) 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.Authorization;
using Microsoft.AspNetCore.Identity;
using Microsoft.AspNetCore.Mvc; using Microsoft.AspNetCore.Mvc;
using Newtonsoft.Json.Linq; using Newtonsoft.Json.Linq;
using Microsoft.IdentityModel.Tokens;
using System.IdentityModel.Tokens.Jwt;
using System.Security.Claims; using System.Security.Claims;
using System.Security.Cryptography;
using System.Text.Json; using System.Text.Json;
using TIAMWebApp.Shared.Application.Models; using TIAMWebApp.Shared.Application.Models;
using TIAMWebApp.Shared.Application.Models.PageModels; using TIAMWebApp.Shared.Application.Models.PageModels;
using TIAMWebApp.Server.Models; using TIAMWebApp.Server.Models;
using System.Text; using AyCode.Core.Loggers;
using AyCode.Core.Logger;
using Microsoft.AspNetCore.Hosting;
using Microsoft.EntityFrameworkCore;
using TIAM.Database.DataLayers.Users; using TIAM.Database.DataLayers.Users;
using TIAM.Entities.Users; using TIAM.Entities.Users;
using TIAM.Models.Dtos.Users; using TIAM.Models.Dtos.Users;
using TIAMWebApp.Server.ModelsTIAMWebApp.Shared.Application.Models;
using TIAMWebApp.Shared.Application.Utility;
using TIAM.Database.DataLayers.Admins; using TIAM.Database.DataLayers.Admins;
using System; using AyCode.Core.Enums;
using AyCode.Core.Consts; using AyCode.Core.Server.Loggers;
using AyCode.Core.Helpers; using AyCode.Entities.LogItems;
using TIAM.Database;
using TIAM.Entities.Profiles; using TIAM.Entities.Profiles;
using TIAM.Entities.Addresses; using TIAM.Entities.Addresses;
using TIAM.Services.Server.Logins; using TIAM.Services.Server.Logins;
using ILogger = TIAM.Core.Loggers.ILogger;
using LogLevel = AyCode.Core.Loggers.LogLevel;
namespace TIAMWebApp.Server.Controllers namespace TIAMWebApp.Server.Controllers
{ {
@ -44,7 +35,7 @@ namespace TIAMWebApp.Server.Controllers
private readonly IWebHostEnvironment _webHostEnvironment; private readonly IWebHostEnvironment _webHostEnvironment;
//readonly PasswordHasher _hasher = new(); //readonly PasswordHasher _hasher = new();
private readonly ILogger _logger;
/*private UserModel[] users = new UserModel[] /*private UserModel[] users = new UserModel[]
{ {
new UserModel(new Guid("540271f6-c604-4c16-8160-d5a7cafedf00"), "test@tiam.hu", "+36701234567", "Asdasd123456"), 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; _configuration = configuration;
_webHostEnvironment = webHostEnvironment; _webHostEnvironment = webHostEnvironment;
_userDal = userDal; _userDal = userDal;
_adminDal = adminDal; _adminDal = adminDal;
_loginService = new LoginService(_userDal, _configuration); _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)] [Route(APIUrls.AuthenticateUserRouteName)]
public async Task<IActionResult> AuthenticateUser([FromBody] JsonElement serializedLoginModel) public async Task<IActionResult> AuthenticateUser([FromBody] JsonElement serializedLoginModel)
{ {
Console.WriteLine(@"AuthenticateUser called"); _logger.Info(@"AuthenticateUser called");
var authenticateUser = JObject.Parse(serializedLoginModel.GetRawText()).ToObject<LoginModel>(); var authenticateUser = JObject.Parse(serializedLoginModel.GetRawText()).ToObject<LoginModel>();
if (authenticateUser == null) throw new NullReferenceException("authenticateUser == null"); if (authenticateUser == null) throw new NullReferenceException("authenticateUser == null");
Console.WriteLine(authenticateUser.Email); _logger.Info(authenticateUser.Email);
var loggedInModel = _loginService.Login(authenticateUser.Email, authenticateUser.Password); var loggedInModel = _loginService.Login(authenticateUser.Email, authenticateUser.Password);
if (loggedInModel.IsLoggedIn) if (loggedInModel.IsLoggedIn)
@ -107,7 +114,7 @@ namespace TIAMWebApp.Server.Controllers
return Ok(response); return Ok(response);
} }
Console.WriteLine(@"User not valid! errorCode: " + loggedInModel.LoginErrorCode); _logger.Info(@"User not valid! errorCode: " + loggedInModel.LoginErrorCode);
return Unauthorized(); return Unauthorized();
} }
@ -116,12 +123,12 @@ namespace TIAMWebApp.Server.Controllers
[Route(APIUrls.RefreshTokenRouteName)] [Route(APIUrls.RefreshTokenRouteName)]
public async Task<IActionResult> RefreshToken(RefreshTokenRequest? refreshTokenRequest) public async Task<IActionResult> RefreshToken(RefreshTokenRequest? refreshTokenRequest)
{ {
Console.WriteLine(@"RefreshToken called"); _logger.Info(@"RefreshToken called");
var response = new MainResponse(); var response = new MainResponse();
if (refreshTokenRequest is null) if (refreshTokenRequest is null)
{ {
Console.WriteLine(@"RefreshTokenRequest is null"); _logger.Info(@"RefreshTokenRequest is null");
response.ErrorMessage = "Invalid request"; response.ErrorMessage = "Invalid request";
return BadRequest(response); return BadRequest(response);
} }
@ -130,7 +137,7 @@ namespace TIAMWebApp.Server.Controllers
if (principal != null) 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 email = principal.Claims.FirstOrDefault(f => f.Type == ClaimTypes.Email);
//var userModel = await _userManager.FindByEmailAsync(email?.Value); //var userModel = await _userManager.FindByEmailAsync(email?.Value);
@ -141,7 +148,7 @@ namespace TIAMWebApp.Server.Controllers
{ {
//get user from db //get user from db
dbUser = await _userDal.GetUserByEmailAsync(email.Value, true); 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 //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) if (dbUser is null || dbUser.RefreshToken != refreshTokenRequest.RefreshToken)
{ {
response.ErrorMessage = "Invalid Request"; response.ErrorMessage = "Invalid Request";
Console.WriteLine($@"{dbUser?.RefreshToken}, {refreshTokenRequest.RefreshToken}"); _logger.Info($@"{dbUser?.RefreshToken}, {refreshTokenRequest.RefreshToken}");
return BadRequest(response); return BadRequest(response);
} }
@ -172,7 +179,7 @@ namespace TIAMWebApp.Server.Controllers
return Ok(response); return Ok(response);
} }
Console.WriteLine(@"Principal is null"); _logger.Info(@"Principal is null");
return NotFound("Invalid Token Found"); return NotFound("Invalid Token Found");
} }
@ -181,7 +188,7 @@ namespace TIAMWebApp.Server.Controllers
[Route("CreateUser")] [Route("CreateUser")]
public async Task<IActionResult> CreateUser([FromBody] JsonElement serializedRegistrationModel) public async Task<IActionResult> CreateUser([FromBody] JsonElement serializedRegistrationModel)
{ {
Console.WriteLine(@"CreateUser called"); _logger.Info(@"CreateUser called");
if (string.IsNullOrEmpty(serializedRegistrationModel.GetRawText())) if (string.IsNullOrEmpty(serializedRegistrationModel.GetRawText()))
{ {
@ -209,10 +216,10 @@ namespace TIAMWebApp.Server.Controllers
} }
else else
{ {
Console.WriteLine($@"User to be created: {userId}"); _logger.Info($@"User to be created: {userId}");
Console.WriteLine($@"User to be created: {email}"); _logger.Info($@"User to be created: {email}");
Console.WriteLine($@"User to be created: {phoneNumber}"); _logger.Info($@"User to be created: {phoneNumber}");
Console.WriteLine($@"User to be created: {password}"); _logger.Info($@"User to be created: {password}");
await _userDal.CreateUserAsync(new User(userId, email, phoneNumber, password)); await _userDal.CreateUserAsync(new User(userId, email, phoneNumber, password));
} }
@ -227,7 +234,7 @@ namespace TIAMWebApp.Server.Controllers
[Route(APIUrls.UpdateUser)] [Route(APIUrls.UpdateUser)]
public async Task<IActionResult> UpdateUser([FromBody] JsonElement SerializedUserModel) public async Task<IActionResult> UpdateUser([FromBody] JsonElement SerializedUserModel)
{ {
Console.WriteLine("UpdateUser called"); _logger.Info("UpdateUser called");
if (string.IsNullOrEmpty(SerializedUserModel.GetRawText())) if (string.IsNullOrEmpty(SerializedUserModel.GetRawText()))
{ {
@ -249,9 +256,9 @@ namespace TIAMWebApp.Server.Controllers
} }
else else
{ {
Console.WriteLine($"User to be updated: {userId}"); _logger.Info($"User to be updated: {userId}");
Console.WriteLine($"User to be updated: {email}"); _logger.Info($"User to be updated: {email}");
Console.WriteLine($"User to be updated: {phoneNumber}"); _logger.Info($"User to be updated: {phoneNumber}");
await _userDal.UpdateUserAsync(new User(userId, email, phoneNumber)); await _userDal.UpdateUserAsync(new User(userId, email, phoneNumber));
} }
@ -265,19 +272,19 @@ namespace TIAMWebApp.Server.Controllers
[AllowAnonymous] [AllowAnonymous]
[HttpPost] [HttpPost]
[Route(APIUrls.CreateGuestUserRouteName)] [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; var result = false;
UserModelDtoDetail? guestUser = null; UserModelDtoDetail? guestUser = null;
if (string.IsNullOrEmpty(SerializedRegistrationModel.GetRawText())) if (string.IsNullOrEmpty(serializedRegistrationModel.GetRawText()))
{ {
return BadRequest("SerializedLoginModel is required"); return BadRequest("SerializedLoginModel is required");
} }
else else
{ {
var user = JObject.Parse(SerializedRegistrationModel.GetRawText()).ToObject<RegistrationModel>(); var user = JObject.Parse(serializedRegistrationModel.GetRawText()).ToObject<RegistrationModel>();
if (user != null) if (user != null)
{ {
@ -299,10 +306,10 @@ namespace TIAMWebApp.Server.Controllers
} }
else else
{ {
Console.WriteLine($@"User to be created: {userId}"); _logger.Info($@"User to be created: {userId}");
Console.WriteLine($@"User to be created: {email}"); _logger.Info($@"User to be created: {email}");
Console.WriteLine($@"User to be created: {phoneNumber}"); _logger.Info($@"User to be created: {phoneNumber}");
Console.WriteLine($@"User to be created: {password}"); _logger.Info($@"User to be created: {password}");
User userToCreate = new(userId, email, phoneNumber, password); User userToCreate = new(userId, email, phoneNumber, password);
userToCreate.ProfileId = Guid.NewGuid(); userToCreate.ProfileId = Guid.NewGuid();
@ -342,7 +349,7 @@ namespace TIAMWebApp.Server.Controllers
[Route(APIUrls.GetUsersWithDetailsRouteName)] [Route(APIUrls.GetUsersWithDetailsRouteName)]
public Task<List<UserModelDtoDetail>> GetUsersWithDetails() public Task<List<UserModelDtoDetail>> GetUsersWithDetails()
{ {
Console.WriteLine("GetUsersWithDetails called"); _logger.Info("GetUsersWithDetails called");
//var users = await _userDal.Ctx.Users.ToListAsync();//.GetUsersAsync(); //var users = await _userDal.Ctx.Users.ToListAsync();//.GetUsersAsync();
//return users; //return users;
return _userDal.GetAllUserModelDtoAsync<UserModelDtoDetail>(); return _userDal.GetAllUserModelDtoAsync<UserModelDtoDetail>();
@ -353,8 +360,8 @@ namespace TIAMWebApp.Server.Controllers
[Route("GetUserByEmail")] [Route("GetUserByEmail")]
public Task<UserModelDto?> GetUserByEmail(string email) public Task<UserModelDto?> GetUserByEmail(string email)
{ {
Logger.Info($"GetUserByEmail called with email: {email}"); _logger.Info($"GetUserByEmail called with email: {email}");
Console.WriteLine($@"GetUserByEmail called with email: {email}"); _logger.Info($@"GetUserByEmail called with email: {email}");
return _userDal.GetUserModelDtoByEmailAsync<UserModelDto>(email, false); return _userDal.GetUserModelDtoByEmailAsync<UserModelDto>(email, false);
} }
@ -364,7 +371,7 @@ namespace TIAMWebApp.Server.Controllers
[Route("GetUserById")] [Route("GetUserById")]
public Task<UserModelDto?> GetUserById([FromBody] Guid id) 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); return _userDal.GetUserModelDtoByIdAsync<UserModelDto>(id, true);
} }
@ -373,7 +380,7 @@ namespace TIAMWebApp.Server.Controllers
[Route("GetUserDetailById")] [Route("GetUserDetailById")]
public Task<UserModelDtoDetail?> GetUserDetailById([FromBody] Guid id) 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); return _userDal.GetUserModelDtoByIdAsync<UserModelDtoDetail>(id, true);
} }
} }

View File

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

View File

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

View File

@ -17,6 +17,23 @@
"SendGrid": { "SendGrid": {
//"Key": "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" //"Key": "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"
"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 LogoutUserRouteName = "LogoutUser";
public const string LogoutUser = UserAPI + LogoutUserRouteName; 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 CreateUserRouteName = "CreateUser";
public const string CreateUser = UserAPI + CreateUserRouteName; public const string CreateUser = UserAPI + CreateUserRouteName;

View File

@ -19,7 +19,7 @@ namespace TIAMWebApp.Shared.Application.Services
private readonly HttpClient http; private readonly HttpClient http;
private readonly ISecureStorageHandler secureStorageHandler; private readonly ISecureStorageHandler secureStorageHandler;
private readonly IJSRuntime jsRuntime; private readonly IJSRuntime jsRuntime;
private readonly LogToBrowserConsole logToBrowserConsole; private readonly BrowserConsoleLogWriter _browserConsoleLogWriter;
public ServiceProviderDataService(HttpClient http, ISecureStorageHandler secureStorageHandler, IJSRuntime jSRuntime) public ServiceProviderDataService(HttpClient http, ISecureStorageHandler secureStorageHandler, IJSRuntime jSRuntime)
@ -27,7 +27,7 @@ namespace TIAMWebApp.Shared.Application.Services
this.http = http; this.http = http;
this.secureStorageHandler = secureStorageHandler; this.secureStorageHandler = secureStorageHandler;
this.jsRuntime = jSRuntime; this.jsRuntime = jSRuntime;
this.logToBrowserConsole = new LogToBrowserConsole(jsRuntime); this._browserConsoleLogWriter = new BrowserConsoleLogWriter(jsRuntime);
} }
//22. //22.
@ -74,7 +74,7 @@ namespace TIAMWebApp.Shared.Application.Services
if (response.IsSuccessStatusCode) if (response.IsSuccessStatusCode)
{ {
var result = await response.Content.ReadFromJsonAsync<Dictionary<Guid, string>>(); var result = await response.Content.ReadFromJsonAsync<Dictionary<Guid, string>>();
logToBrowserConsole.LogToBC(result.FirstOrDefault().Value); _browserConsoleLogWriter.Info(result.FirstOrDefault().Value);
return result; return result;
} }
else else
@ -123,7 +123,7 @@ namespace TIAMWebApp.Shared.Application.Services
if (response.IsSuccessStatusCode) if (response.IsSuccessStatusCode)
{ {
var result = await response.Content.ReadAsStringAsync(); var result = await response.Content.ReadAsStringAsync();
logToBrowserConsole.LogToBC("SKBitmap width: " + result); _browserConsoleLogWriter.Info("SKBitmap width: " + result);
return result; return result;
} }
else else
@ -139,7 +139,7 @@ namespace TIAMWebApp.Shared.Application.Services
if (response.IsSuccessStatusCode) if (response.IsSuccessStatusCode)
{ {
var result = await response.Content.ReadAsStringAsync(); var result = await response.Content.ReadAsStringAsync();
logToBrowserConsole.LogToBC("Json: " + result); _browserConsoleLogWriter.Info("Json: " + result);
var data = JsonConvert.DeserializeObject<IEnumerable<Product>>(result); var data = JsonConvert.DeserializeObject<IEnumerable<Product>>(result);
if (data != null) 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 System.Text.Json;
using TIAM.Entities.Transfers; using TIAM.Entities.Transfers;
using TIAMWebApp.Shared.Application.Interfaces; using TIAMWebApp.Shared.Application.Interfaces;
@ -12,12 +13,12 @@ namespace TIAMWebApp.Shared.Application.Services
public class TransferDataService : ITransferDataService public class TransferDataService : ITransferDataService
{ {
private readonly HttpClient http; 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.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 = $"{Setting.ApiBaseUrl}/{APIUrls.GetTransferDestinations}";
//var url = $"{APIUrls.GetTransferDestinations}"; //var url = $"{APIUrls.GetTransferDestinations}";
logToBrowserConsole.LogToBC(url); _browserConsoleLogWriter.Info(url);
List<TransferDestination>? response = await http.GetFromJsonAsync<List<TransferDestination>>(url); List<TransferDestination>? response = await http.GetFromJsonAsync<List<TransferDestination>>(url);
if(response == null) if(response == null)
return new List<TransferDestination>(); return new List<TransferDestination>();
@ -68,13 +69,13 @@ namespace TIAMWebApp.Shared.Application.Services
public async Task<Transfer?> CreateTransfer(TransferWizardModel model) public async Task<Transfer?> CreateTransfer(TransferWizardModel model)
{ {
logToBrowserConsole.LogToBC("CreateTransfer called"); _browserConsoleLogWriter.Info("CreateTransfer called");
logToBrowserConsole.LogToBC(model.PickupAddress); _browserConsoleLogWriter.Info(model.PickupAddress);
logToBrowserConsole.LogToBC(model.Destination); _browserConsoleLogWriter.Info(model.Destination);
logToBrowserConsole.LogToBC(model.EmailAddress); _browserConsoleLogWriter.Info(model.EmailAddress);
logToBrowserConsole.LogToBC(model.PhoneNumber); _browserConsoleLogWriter.Info(model.PhoneNumber);
logToBrowserConsole.LogToBC(model.TripDate.ToString()); _browserConsoleLogWriter.Info(model.TripDate.ToString());
logToBrowserConsole.LogToBC(model.NumberOfPassengers.ToString()); _browserConsoleLogWriter.Info(model.NumberOfPassengers.ToString());
model.Id = Guid.NewGuid(); model.Id = Guid.NewGuid();
var transfer = model.CopyToTransfer(); var transfer = model.CopyToTransfer();
@ -155,7 +156,7 @@ namespace TIAMWebApp.Shared.Application.Services
{ {
var url = $"{Setting.ApiBaseUrl}/{APIUrls.GetTransferById}"; var url = $"{Setting.ApiBaseUrl}/{APIUrls.GetTransferById}";
//var url = $"{APIUrls.GetTransferDestinations}"; //var url = $"{APIUrls.GetTransferDestinations}";
logToBrowserConsole.LogToBC(url); _browserConsoleLogWriter.Info(url);
Transfer? response = await http.GetFromJsonAsync<Transfer>(url); Transfer? response = await http.GetFromJsonAsync<Transfer>(url);
if (response == null) if (response == null)
return new Transfer(); return new Transfer();
@ -166,7 +167,7 @@ namespace TIAMWebApp.Shared.Application.Services
{ {
var url = $"{Setting.ApiBaseUrl}/{APIUrls.GetTransfers}"; var url = $"{Setting.ApiBaseUrl}/{APIUrls.GetTransfers}";
//var url = $"{APIUrls.GetTransferDestinations}"; //var url = $"{APIUrls.GetTransferDestinations}";
logToBrowserConsole.LogToBC(url); _browserConsoleLogWriter.Info(url);
//add json settings ignore readonly properties //add json settings ignore readonly properties
JsonSerializerOptions options = new JsonSerializerOptions JsonSerializerOptions options = new JsonSerializerOptions
{ {

View File

@ -27,6 +27,7 @@
<PackageReference Include="Microsoft.JSInterop" Version="8.0.4" /> <PackageReference Include="Microsoft.JSInterop" Version="8.0.4" />
<PackageReference Include="SkiaSharp" Version="2.88.8" /> <PackageReference Include="SkiaSharp" Version="2.88.8" />
<PackageReference Include="SkiaSharp.Views.Desktop.Common" 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>
<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 namespace TIAMWebApp.Shared.Application.Utility
{ {
public class LogToBrowserConsole //public class LogToBrowserConsole
{ //{
private readonly IJSRuntime jsRuntime; // private readonly IJSRuntime jsRuntime;
public LogToBrowserConsole(IJSRuntime jsRuntime) // public LogToBrowserConsole(IJSRuntime jsRuntime)
{ // {
this.jsRuntime = jsRuntime; // this.jsRuntime = jsRuntime;
} // }
public void LogToBC(string message) // public void LogToBC(string message)
{ // {
jsRuntime.InvokeVoidAsync("console.log", 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)
{ }
}