From e3dfcb4ee0e917c7b7004dcce2d960d5700d3734 Mon Sep 17 00:00:00 2001 From: "ashutosh.nehete" Date: Wed, 14 May 2025 17:51:57 +0530 Subject: [PATCH] Added DirectoryHelper in helper folder --- .../Dtos/Directory/CreateContactDto.cs | 3 +- .../Dtos/Directory/UpdateContactDto.cs | 1 + Marco.Pms.Model/Mapper/DirectoryMapper.cs | 4 ++- .../Controllers/DirectoryController.cs | 34 ++++++++++++------- Marco.Pms.Services/Helpers/DirectoryHelper.cs | 21 ++++++++++++ Marco.Pms.Services/Program.cs | 2 ++ 6 files changed, 51 insertions(+), 14 deletions(-) create mode 100644 Marco.Pms.Services/Helpers/DirectoryHelper.cs diff --git a/Marco.Pms.Model/Dtos/Directory/CreateContactDto.cs b/Marco.Pms.Model/Dtos/Directory/CreateContactDto.cs index 42937c0..6e962a4 100644 --- a/Marco.Pms.Model/Dtos/Directory/CreateContactDto.cs +++ b/Marco.Pms.Model/Dtos/Directory/CreateContactDto.cs @@ -6,7 +6,8 @@ public string? Name { get; set; } public List? ContactPhones { get; set; } public List? ContactEmails { get; set; } - public Guid ContactCategoryId { get; set; } + public List? BucketIds { get; set; } + public Guid? ContactCategoryId { get; set; } public string? Description { get; set; } public string? Organization { get; set; } public string? Address { get; set; } diff --git a/Marco.Pms.Model/Dtos/Directory/UpdateContactDto.cs b/Marco.Pms.Model/Dtos/Directory/UpdateContactDto.cs index 042150d..7c93cce 100644 --- a/Marco.Pms.Model/Dtos/Directory/UpdateContactDto.cs +++ b/Marco.Pms.Model/Dtos/Directory/UpdateContactDto.cs @@ -7,6 +7,7 @@ public string? Name { get; set; } public List? ContactPhones { get; set; } public List? ContactEmails { get; set; } + public List? BucketIds { get; set; } public Guid ContactCategoryId { get; set; } public string? Description { get; set; } public string? Organization { get; set; } diff --git a/Marco.Pms.Model/Mapper/DirectoryMapper.cs b/Marco.Pms.Model/Mapper/DirectoryMapper.cs index d66615a..abf72d3 100644 --- a/Marco.Pms.Model/Mapper/DirectoryMapper.cs +++ b/Marco.Pms.Model/Mapper/DirectoryMapper.cs @@ -8,7 +8,7 @@ namespace Marco.Pms.Model.Mapper { public static class DirectoryMapper { - public static Contact ToContactFromCreateContactDto(this CreateContactDto createContactDto, Guid tenantId) + public static Contact ToContactFromCreateContactDto(this CreateContactDto createContactDto, Guid tenantId, Guid employeeId) { return new Contact @@ -19,6 +19,8 @@ namespace Marco.Pms.Model.Mapper Description = createContactDto.Description ?? string.Empty, Organization = createContactDto?.Organization ?? string.Empty, Address = createContactDto != null ? createContactDto.Address : string.Empty, + CreatedById = employeeId, + CreatedAt = DateTime.UtcNow, TenantId = tenantId }; } diff --git a/Marco.Pms.Services/Controllers/DirectoryController.cs b/Marco.Pms.Services/Controllers/DirectoryController.cs index b0de798..a2f984c 100644 --- a/Marco.Pms.Services/Controllers/DirectoryController.cs +++ b/Marco.Pms.Services/Controllers/DirectoryController.cs @@ -1,26 +1,25 @@ -using Marco.Pms.DataAccess.Data; -using Marco.Pms.Model.Dtos.Directory; -using MarcoBMS.Services.Helpers; +using Marco.Pms.Model.Dtos.Directory; +using Marco.Pms.Model.Utilities; +using Marco.Pms.Services.Helpers; using MarcoBMS.Services.Service; using Microsoft.AspNetCore.Mvc; namespace Marco.Pms.Services.Controllers { - [Route("api/[controller]")] [ApiController] + [Route("api/[controller]")] + public class DirectoryController : ControllerBase { - private readonly ApplicationDbContext _context; + private readonly DirectoryHelper _directoryHelper; private readonly ILoggingService _logger; - private readonly UserHelper _userHelper; - public DirectoryController(ApplicationDbContext context, ILoggingService logger, UserHelper userHelper) + public DirectoryController(DirectoryHelper directoryHelper, ILoggingService logger) { - _context = context; + _directoryHelper = directoryHelper; _logger = logger; - _userHelper = userHelper; } [HttpGet] @@ -32,10 +31,21 @@ namespace Marco.Pms.Services.Controllers [HttpPost] public async Task CreateContact([FromBody] CreateContactDto createContact) { + if (!ModelState.IsValid) + { + var errors = ModelState.Values + .SelectMany(v => v.Errors) + .Select(e => e.ErrorMessage) + .ToList(); + _logger.LogError("User sent Invalid Date while marking attendance"); + return BadRequest(ApiResponse.ErrorResponse("Invalid data", errors, 400)); + } + return Ok(); } - { - return Ok(); + + + + } } -} diff --git a/Marco.Pms.Services/Helpers/DirectoryHelper.cs b/Marco.Pms.Services/Helpers/DirectoryHelper.cs new file mode 100644 index 0000000..832d190 --- /dev/null +++ b/Marco.Pms.Services/Helpers/DirectoryHelper.cs @@ -0,0 +1,21 @@ +using Marco.Pms.DataAccess.Data; +using MarcoBMS.Services.Helpers; +using MarcoBMS.Services.Service; + +namespace Marco.Pms.Services.Helpers +{ + public class DirectoryHelper + { + private readonly ApplicationDbContext _context; + private readonly ILoggingService _logger; + private readonly UserHelper _userHelper; + + + public DirectoryHelper(ApplicationDbContext context, ILoggingService logger, UserHelper userHelper) + { + _context = context; + _logger = logger; + _userHelper = userHelper; + } + } +} diff --git a/Marco.Pms.Services/Program.cs b/Marco.Pms.Services/Program.cs index 1d69193..dbd6912 100644 --- a/Marco.Pms.Services/Program.cs +++ b/Marco.Pms.Services/Program.cs @@ -3,6 +3,7 @@ using Marco.Pms.DataAccess.Data; using Marco.Pms.Model.Authentication; using Marco.Pms.Model.Entitlements; using Marco.Pms.Model.Utilities; +using Marco.Pms.Services.Helpers; using Marco.Pms.Services.Service; using MarcoBMS.Services.Helpers; using MarcoBMS.Services.Middleware; @@ -130,6 +131,7 @@ builder.Services.AddScoped(); builder.Services.AddScoped(); builder.Services.AddScoped(); builder.Services.AddScoped(); +builder.Services.AddScoped(); builder.Services.AddSingleton();