From 269e8bd67952fb188335eed389192891437c26ed Mon Sep 17 00:00:00 2001 From: "jozsef.b@aycode.com" <9Rj@D}fVwBaN> Date: Tue, 28 May 2024 16:13:35 +0200 Subject: [PATCH] add logger to ServiceProviderApiController --- .../ServiceProviderAPIController.cs | 97 ++++++++----------- 1 file changed, 38 insertions(+), 59 deletions(-) diff --git a/TIAMWebApp/Server/Controllers/ServiceProviderAPIController.cs b/TIAMWebApp/Server/Controllers/ServiceProviderAPIController.cs index 6037ed0d..734b3e5f 100644 --- a/TIAMWebApp/Server/Controllers/ServiceProviderAPIController.cs +++ b/TIAMWebApp/Server/Controllers/ServiceProviderAPIController.cs @@ -3,36 +3,23 @@ using Microsoft.AspNetCore.Mvc; using QRCoder; using System.Drawing; using System.Drawing.Imaging; -using AyCode.Core.Server.Loggers; using TIAM.Database.DataLayers.Admins; -//using TIAM.Database.DataLayers.ServiceProviders; using TIAM.Entities.ServiceProviders; using TIAM.Entities.Users; using TIAMWebApp.Shared.Application.Models; using Product = TIAM.Entities.Products.Product; -using TIAM.Entities.Transfers; -using System.Text.Json.Nodes; -using System.Text.Json; -using Newtonsoft.Json.Linq; using TIAM.Entities.Addresses; using TIAM.Entities.Profiles; +using AyCode.Core.Loggers; namespace TIAMWebApp.Server.Controllers { [Authorize] [ApiController] [Route("api/v1/[controller]")] - public class ServiceProviderAPIController : ControllerBase + public class ServiceProviderAPIController(AdminDal adminDal, IEnumerable logWriters) : ControllerBase { - private readonly AdminDal _adminDal; - - private readonly ILogger _logger; - - public ServiceProviderAPIController(ILogger logger, AdminDal adminDal) - { - _logger = logger; - _adminDal = adminDal; - } + private readonly TIAM.Core.Loggers.Logger _logger = new(logWriters.ToArray()); //15. [AllowAnonymous] @@ -42,7 +29,8 @@ namespace TIAMWebApp.Server.Controllers [EndpointSummary("Create service provider")] public async Task CreateServiceProvider([FromBody] ServiceProviderModel serializedServiceProviderModel) { - GlobalLogger.Info(@"CreateUser called"); + _logger.Info(@"CreateServiceProvider called"); + //if (serializedServiceProviderModel.GetArrayLength() == 0) if (serializedServiceProviderModel == null) { @@ -55,21 +43,13 @@ namespace TIAMWebApp.Server.Controllers var serviceProvider = serializedServiceProviderModel; if (serviceProvider != null) { - - var id = Guid.NewGuid(); var name = serviceProvider.Name; var commissionRate = serviceProvider.CommissionPercent; Guid ownerId; - if(serviceProvider.OwnerId == Guid.Empty) - { - //no owner set yet - ownerId = serviceProvider.OwnerId; - } - else - { - ownerId = serviceProvider.OwnerId; - } + + //no owner set yet + ownerId = serviceProvider.OwnerId == Guid.Empty ? serviceProvider.OwnerId : serviceProvider.OwnerId; if (name is null) { @@ -78,14 +58,17 @@ namespace TIAMWebApp.Server.Controllers else { - GlobalLogger.Info($@"ServiceProvider to be created: {id}, {name}, {ownerId}"); - Company toCreate = new Company(id, name, ownerId, Guid.NewGuid()); - toCreate.CommissionPercent = commissionRate; + _logger.Info($@"ServiceProvider to be creating; id: {id}, name: {name}, ownerId: {ownerId}"); + + var toCreate = new Company(id, name, ownerId, Guid.NewGuid()) + { + CommissionPercent = commissionRate + }; toCreate.SetProfile(new Profile(Guid.NewGuid(), toCreate.Name)); toCreate.Profile.SetAddress(new Address(Guid.NewGuid(), "Controller CreateServiceProvider; address text...")); - var result = await _adminDal.CreateServiceProviderAsync(toCreate); + var result = await adminDal.CreateServiceProviderAsync(toCreate); if (!result) { serviceProvider = null; @@ -113,7 +96,7 @@ namespace TIAMWebApp.Server.Controllers [Route(APIUrls.GetServiceProvidersRouteName)] public async Task GetServiceProviders() { - return await _adminDal.GetServiceProvidersJsonAsync(); + return await adminDal.GetServiceProvidersJsonAsync(); } //18. @@ -122,9 +105,9 @@ namespace TIAMWebApp.Server.Controllers [Route(APIUrls.GetServiceProviderByIdRouteName)] public async Task GetServiceProviderById([FromBody] Guid id) { - GlobalLogger.Info($@"GetServiceProviderById called with id: {id}"); + _logger.Info($@"GetServiceProviderById called with id: {id}"); - return await _adminDal.GetServiceProviderByIdAsync(id); + return await adminDal.GetServiceProviderByIdAsync(id); } [AllowAnonymous] @@ -132,17 +115,11 @@ namespace TIAMWebApp.Server.Controllers [Route(APIUrls.UpdateServiceProviderRouteName)] public async Task UpdateServiceProvider(Company companyToModify) { - GlobalLogger.Info($"UpdateServiceProvider called! + {companyToModify.Id}"); - var result = await _adminDal.UpdateServiceProviderAsync(companyToModify); - if(result) - { - return companyToModify; + _logger.Info($"UpdateServiceProvider called! + {companyToModify.Id}"); - } - else - { - return null; - } + var result = await adminDal.UpdateServiceProviderAsync(companyToModify); + + return result ? companyToModify : null; } //17. @@ -152,9 +129,9 @@ namespace TIAMWebApp.Server.Controllers [Tags("Finished", "ServiceProvider")] public async Task> GetServiceProvidersByOwnerId([FromBody] Guid ownerId) { - GlobalLogger.Info($@"GetServiceProvidersByOwnerId called with ownerId: {ownerId}"); + _logger.Info($@"GetServiceProvidersByOwnerId called with ownerId: {ownerId}"); - var serviceProviders = await _adminDal.GetServiceProvidersAsync(); + var serviceProviders = await adminDal.GetServiceProvidersAsync(); //return serviceProviders.Where(x => x.OwnerId == ownerId).ToList(); var myServiceproviders = serviceProviders.Where(x => x.OwnerId == ownerId).ToDictionary(x => x.Id, x => x.Name); @@ -177,11 +154,11 @@ namespace TIAMWebApp.Server.Controllers } else { - GlobalLogger.Info($@"CreateUserProductMappings called with ownerId: {createUserProductMappingModel.ContextId}, {createUserProductMappingModel.ContextId}"); + _logger.Info($@"CreateUserProductMappings called with ownerId: {createUserProductMappingModel.ContextId}, {createUserProductMappingModel.ContextId}"); var userProductMapping = new UserProductMapping(createUserProductMappingModel.ContextId, createUserProductMappingModel.ContextId); - var result = await _adminDal.AddUserProductMappingAsync(userProductMapping); + var result = await adminDal.AddUserProductMappingAsync(userProductMapping); return Ok(result); } @@ -193,11 +170,11 @@ namespace TIAMWebApp.Server.Controllers [Route(APIUrls.GetUserProductMappingsForProductRouteName)] public async Task> GetUserProductMappingsForProduct(Guid serviceProviderId) { - GlobalLogger.Info($@"GetUserProductMappingsForServiceProvider called with serviceProviderId: {serviceProviderId}"); + _logger.Info($@"GetUserProductMappingsForServiceProvider called with serviceProviderId: {serviceProviderId}"); var userProductMappingDictionary = new Dictionary(); - var serviceProviders = await _adminDal.GetServiceProvidersAsync(); + var serviceProviders = await adminDal.GetServiceProvidersAsync(); var myServiceproviders = serviceProviders.Where(x => x.Id == serviceProviderId).ToDictionary(x => x.Id, x => x.Name); //put serviceprovider id and name into a dictionary @@ -210,14 +187,15 @@ namespace TIAMWebApp.Server.Controllers [Tags("In-Progress", "Product")] public async Task AddProduct([FromBody] Product product) { - GlobalLogger.Info(@"AddProduct called"); + _logger.Info(@"AddProduct called"); + if (product == null) { return BadRequest("Product is required"); } else { - var result = _adminDal.AddProductAsync(product); + var result = adminDal.AddProductAsync(product); return Ok(result); } } @@ -228,7 +206,8 @@ namespace TIAMWebApp.Server.Controllers [Tags("In-Progress", "Product")] public async Task GetQRCodeByProductId([FromBody] Guid productId) { - GlobalLogger.Info(@"GetQRCode called"); + _logger.Info(@"GetQRCode called"); + if (productId == Guid.Empty) { return BadRequest("Product is required"); @@ -243,7 +222,7 @@ namespace TIAMWebApp.Server.Controllers //Bitmap qrCodeImage = qrCode.GetGraphic(20); var rootpath = System.IO.Path.Combine(System.IO.Directory.GetCurrentDirectory(), "assets"); var qrCodeImage = qrCode.GetGraphic(20, Color.DarkMagenta, Color.White, (Bitmap)Bitmap.FromFile(rootpath + "/myimage.png")); - GlobalLogger.Info($@"qrCodeLogo: {rootpath}/myimage.png"); + _logger.Info($@"qrCodeLogo: {rootpath}/myimage.png"); var ms = new MemoryStream(); qrCodeImage.Save(ms, ImageFormat.Jpeg); var byteImage = ms.ToArray(); @@ -260,7 +239,7 @@ namespace TIAMWebApp.Server.Controllers [Tags("In-Progress", "Product")] public IActionResult GetProductsByServiceProviderId([FromBody] Guid serviceProviderId) { - GlobalLogger.Info($@"GetProductsByServiceProviderId called with serviceProviderId: {serviceProviderId}"); + _logger.Info($@"GetProductsByServiceProviderId called with serviceProviderId: {serviceProviderId}"); if (serviceProviderId == Guid.Empty) { @@ -268,7 +247,7 @@ namespace TIAMWebApp.Server.Controllers } else { - var products = _adminDal.GetProductsJsonByServiceProviderId(serviceProviderId); + var products = adminDal.GetProductsJsonByServiceProviderId(serviceProviderId); if (products != null) { return Ok(products); @@ -290,9 +269,9 @@ namespace TIAMWebApp.Server.Controllers [Tags("In-Progress", "Product")] public async Task GetAllProducts() { - GlobalLogger.Info("GetAllProducts called"); + _logger.Info("GetAllProducts called"); - var products = _adminDal.GetProductsJson(); + var products = adminDal.GetProductsJson(); if (products != null) { return products;