Added audit while mark as complete ininvoice
This commit is contained in:
parent
843dc8edfc
commit
34bd84ad73
@ -1144,6 +1144,7 @@ namespace Marco.Pms.Services.Controllers
|
|||||||
// Create a scope for permission service resolution
|
// Create a scope for permission service resolution
|
||||||
using var scope = _serviceScopeFactory.CreateScope();
|
using var scope = _serviceScopeFactory.CreateScope();
|
||||||
var _permission = scope.ServiceProvider.GetRequiredService<PermissionServices>();
|
var _permission = scope.ServiceProvider.GetRequiredService<PermissionServices>();
|
||||||
|
var _updateLogHelper = scope.ServiceProvider.GetRequiredService<UtilityMongoDBHelper>();
|
||||||
|
|
||||||
// Get the currently logged-in employee
|
// Get the currently logged-in employee
|
||||||
var loggedInEmployee = await _userHelper.GetCurrentEmployeeAsync();
|
var loggedInEmployee = await _userHelper.GetCurrentEmployeeAsync();
|
||||||
@ -1196,15 +1197,31 @@ namespace Marco.Pms.Services.Controllers
|
|||||||
|
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
|
var invoiceStateBeforeChange = _updateLogHelper.EntityToBsonDocument(invoice);
|
||||||
|
|
||||||
// Mark invoice as completed.
|
// Mark invoice as completed.
|
||||||
invoice.MarkAsCompleted = true;
|
invoice.MarkAsCompleted = true;
|
||||||
|
invoice.UpdatedAt = DateTime.UtcNow;
|
||||||
|
invoice.UpdatedById = loggedInEmployee.Id;
|
||||||
|
|
||||||
// Persist the change to the database.
|
// Persist the change to the database.
|
||||||
await _context.SaveChangesAsync();
|
await _context.SaveChangesAsync();
|
||||||
|
|
||||||
_logger.LogInfo("Invoice {InvoiceId} marked as completed by user {UserId}", invoiceId, loggedInEmployee.Id);
|
_logger.LogInfo("Invoice {InvoiceId} marked as completed by user {UserId}", invoiceId, loggedInEmployee.Id);
|
||||||
|
|
||||||
return Ok(ApiResponse<object>.SuccessResponse(new { }, "Invoice is marked as completed successfully", 200));
|
await _updateLogHelper.PushToUpdateLogsAsync(new UpdateLogsObject
|
||||||
|
{
|
||||||
|
EntityId = invoice.Id.ToString(),
|
||||||
|
UpdatedById = loggedInEmployee.Id.ToString(),
|
||||||
|
OldObject = invoiceStateBeforeChange,
|
||||||
|
UpdatedAt = DateTime.UtcNow
|
||||||
|
}, "InvoiceModificationLog");
|
||||||
|
|
||||||
|
var response = _mapper.Map<InvoiceListVM>(invoice);
|
||||||
|
response.UpdatedBy = _mapper.Map<BasicEmployeeVM>(loggedInEmployee);
|
||||||
|
response.BalanceAmount = response.BasicAmount + response.TaxAmount;
|
||||||
|
|
||||||
|
return Ok(ApiResponse<object>.SuccessResponse(response, "Invoice is marked as completed successfully", 200));
|
||||||
}
|
}
|
||||||
catch (Exception ex)
|
catch (Exception ex)
|
||||||
{
|
{
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user