From 8c9ce52ec26608280655d1e2e55f682d3a0f768f Mon Sep 17 00:00:00 2001 From: Pramod Mahajan Date: Tue, 20 May 2025 10:00:57 +0530 Subject: [PATCH] created api for contact Tag Update --- .../Controllers/MasterController.cs | 36 +++++++++++++++++-- 1 file changed, 33 insertions(+), 3 deletions(-) diff --git a/Marco.Pms.Services/Controllers/MasterController.cs b/Marco.Pms.Services/Controllers/MasterController.cs index 61baaa3..36a3ee8 100644 --- a/Marco.Pms.Services/Controllers/MasterController.cs +++ b/Marco.Pms.Services/Controllers/MasterController.cs @@ -1,6 +1,8 @@ using Marco.Pms.DataAccess.Data; +using Marco.Pms.Model.Directory; using Marco.Pms.Model.Dtos.Activities; using Marco.Pms.Model.Dtos.Master; +using Marco.Pms.Model.Employees; using Marco.Pms.Model.Entitlements; using Marco.Pms.Model.Forum; using Marco.Pms.Model.Mapper; @@ -638,8 +640,7 @@ namespace Marco.Pms.Services.Controllers _logger.LogError("Work category master {WorkCategoryId} not found in database", workCategoryMasterDto.Id ?? Guid.Empty); return NotFound(ApiResponse.ErrorResponse("Work category master not found", "Work category master not found", 404)); } - _logger.LogError("User sent empyt payload"); - return BadRequest(ApiResponse.ErrorResponse("User sent Empty payload", "User sent Empty payload", 400)); + } [HttpDelete("work-category/{id}")] @@ -774,7 +775,36 @@ namespace Marco.Pms.Services.Controllers [HttpPost("contact-tag/edit/{id}")] public async Task UpdateContactTagMaster(Guid id, [FromBody] UpdateContactTagDto updateContactTagDto) { - return Ok(); + + var tenantId = _userHelper.GetTenantId(); + Employee LoggedInEmployee = await _userHelper.GetCurrentEmployeeAsync(); + if (updateContactTagDto != null && updateContactTagDto.Id != id) + { + ContactTagMaster? contactTag = await _context.ContactTagMasters.AsNoTracking().FirstOrDefaultAsync(t => t.TenantId == tenantId && t.Id == updateContactTagDto.Id); + if(contactTag != null) + { + contactTag = updateContactTagDto.ToContactTagMasterFromUpdateContactTagDto(tenantId); + _context.ContactTagMasters.Update(contactTag); + + _context.DirectoryUpdateLogs.Add(new DirectoryUpdateLog + { + RefereanceId = contactTag.Id, + UpdatedById = LoggedInEmployee.Id, + UpdateAt = DateTime.UtcNow + }); + await _context.SaveChangesAsync(); + + ContactTagVM contactTagVm = contactTag.ToContactTagVMFromContactTagMaster(); + + + + _logger.LogInfo("Work category master {ConatctTagId} updated successfully from tenant {tenantId}", contactTagVm.Id, tenantId); + return Ok(ApiResponse.SuccessResponse(contactTagVm, "Contact Tag master updated successfully", 200)); + } + } + _logger.LogError("Contact Tag master {ContactTagId} not found in database", id); + return NotFound(ApiResponse.ErrorResponse("Contact Tag master not found", "Work category master not found", 404)); + } [HttpDelete("contact-tag/{id}")]