From d62725cb38408b2135767067b1e2d96dfc7ac834 Mon Sep 17 00:00:00 2001 From: "ashutosh.nehete" Date: Sat, 17 May 2025 16:44:24 +0530 Subject: [PATCH] Added an API to Update existing Contact-note --- Marco.Pms.Services/Helpers/DirectoryHelper.cs | 38 +++++++++++++++++++ 1 file changed, 38 insertions(+) diff --git a/Marco.Pms.Services/Helpers/DirectoryHelper.cs b/Marco.Pms.Services/Helpers/DirectoryHelper.cs index 1ea8b6a..8afd1d9 100644 --- a/Marco.Pms.Services/Helpers/DirectoryHelper.cs +++ b/Marco.Pms.Services/Helpers/DirectoryHelper.cs @@ -2067,6 +2067,44 @@ namespace Marco.Pms.Services.Helpers return ApiResponse.SuccessResponse(new { }, "Note deleted successfully", 200); } + public async Task> UpdateContactNote(Guid id, UpdateContactNoteDto noteDto) + { + Guid tenantId = _userHelper.GetTenantId(); + var LoggedInEmployee = await _userHelper.GetCurrentEmployeeAsync(); + if (noteDto != null && id == noteDto.Id) + { + Contact? contact = await _context.Contacts.FirstOrDefaultAsync(c => c.Id == noteDto.ContactId && c.IsActive && c.TenantId == tenantId); + if (contact != null) + { + ContactNote? contactNote = await _context.ContactNotes.FirstOrDefaultAsync(n => n.Id == noteDto.Id && n.ContactId == contact.Id && n.IsActive); + if (contactNote != null) + { + contactNote.Note = noteDto.Note; + + _context.DirectoryUpdateLogs.Add(new DirectoryUpdateLog + { + RefereanceId = id, + UpdatedById = LoggedInEmployee.Id, + UpdateAt = DateTime.UtcNow + }); + + await _context.SaveChangesAsync(); + ContactNoteVM noteVM = contactNote.ToContactNoteVMFromContactNote(); + + + _logger.LogInfo("Employee {EmployeeId} updated note {NoteId} at contact {ContactId}", LoggedInEmployee.Id, noteVM.Id, contact.Id); + return ApiResponse.SuccessResponse(noteVM, "Note updated successfully", 200); + } + _logger.LogWarning("Employee with ID {LoggedInEmployeeId} attempted to update a note {NoteId} to contact with ID {ContactId}, but the Note was not found in the database.", LoggedInEmployee.Id, noteDto.Id, noteDto.ContactId); + return ApiResponse.ErrorResponse("Note not found", "Note not found", 404); + } + _logger.LogWarning("Employee with ID {LoggedInEmployeeId} attempted to update a note {NoteId} to contact with ID {ContactId}, but the contact was not found in the database.", LoggedInEmployee.Id, noteDto.Id, noteDto.ContactId); + return ApiResponse.ErrorResponse("Contact not found", "Contact not found", 404); + } + _logger.LogWarning("Employee with ID {LoggedInEmployeeId} sended empty payload", LoggedInEmployee.Id); + return ApiResponse.ErrorResponse("User Send empty Payload", "User Send empty Payload", 400); + } + // -------------------------------- Bucket -------------------------------- public async Task> GetBucketList()