Added an API to Update existing Contact-note

This commit is contained in:
ashutosh.nehete 2025-05-17 16:44:24 +05:30
parent 10625101e1
commit fa3a7ab7f2
2 changed files with 67 additions and 31 deletions

View File

@ -104,20 +104,20 @@ namespace Marco.Pms.Services.Controllers
[HttpPost("note")] [HttpPost("note")]
public async Task<IActionResult> CreateContactNote([FromBody] CreateContactNoteDto noteDto) public async Task<IActionResult> CreateContactNote([FromBody] CreateContactNoteDto noteDto)
{ {
return Ok();
//var response = await _directoryHelper.CreateContactNote(noteDto); var response = await _directoryHelper.CreateContactNote(noteDto);
//if (response.StatusCode == 200) if (response.StatusCode == 200)
//{ {
//return Ok(response); return Ok(response);
//} }
//else if (response.StatusCode == 404) else if (response.StatusCode == 404)
//{ {
// return NotFound(response); return NotFound(response);
//} }
//else else
//{ {
// return BadRequest(response); return BadRequest(response);
//} }
} }
[HttpGet("note/{ContactId}")] [HttpGet("note/{ContactId}")]
@ -141,28 +141,26 @@ namespace Marco.Pms.Services.Controllers
[HttpPut("note/{id}")] [HttpPut("note/{id}")]
public async Task<IActionResult> UpdateContactNote(Guid id, [FromBody] UpdateContactNoteDto noteDto) public async Task<IActionResult> UpdateContactNote(Guid id, [FromBody] UpdateContactNoteDto noteDto)
{ {
return Ok(); var response = await _directoryHelper.UpdateContactNote(id, noteDto);
//var response = await _directoryHelper.UpdateContactNote(id, noteDto); if (response.StatusCode == 200)
//if (response.StatusCode == 200) {
//{ return Ok(response);
// return Ok(response); }
//} else if (response.StatusCode == 404)
//else if (response.StatusCode == 404) {
//{ return NotFound(response);
// return NotFound(response); }
//} else
//else {
//{ return BadRequest(response);
// return BadRequest(response); }
//}
} }
[HttpDelete("note/{id}")] [HttpDelete("note/{id}")]
public async Task<IActionResult> DeleteContactNote(Guid id) public async Task<IActionResult> DeleteContactNote(Guid id)
{ {
return Ok(); var response = await _directoryHelper.DeleteContactNote(id);
//var response = await _directoryHelper.DeleteContactNote(id); return Ok(response);
//return Ok(response);
} }
// -------------------------------- Bucket -------------------------------- // -------------------------------- Bucket --------------------------------

View File

@ -647,6 +647,44 @@ namespace Marco.Pms.Services.Helpers
return ApiResponse<object>.ErrorResponse("Contact not found", "Contact not found", 404); return ApiResponse<object>.ErrorResponse("Contact not found", "Contact not found", 404);
} }
public async Task<ApiResponse<object>> 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<object>.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<object>.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<object>.ErrorResponse("Contact not found", "Contact not found", 404);
}
_logger.LogWarning("Employee with ID {LoggedInEmployeeId} sended empty payload", LoggedInEmployee.Id);
return ApiResponse<object>.ErrorResponse("User Send empty Payload", "User Send empty Payload", 400);
}
// -------------------------------- Bucket -------------------------------- // -------------------------------- Bucket --------------------------------
public async Task<ApiResponse<object>> GetBucketList() public async Task<ApiResponse<object>> GetBucketList()