public async Task <IActionResult> OnPostAsync() { if (!ModelState.IsValid) { return(Page()); } _context.Attach(AuditTrail).State = EntityState.Modified; try { await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!AuditTrailExists(AuditTrail.AuditTrailID)) { return(NotFound()); } else { throw; } } return(RedirectToPage("./Index")); }
public async Task <IActionResult> OnPostAsync() { if (!ModelState.IsValid) { return(Page()); } //Original details var originalAddress = await _context.Address .AsNoTracking() .FirstOrDefaultAsync(a => a.AddressID == Address.AddressID); _context.Attach(Address).State = EntityState.Modified; //Override values for updated by and date Address.CreatedBy = originalAddress.CreatedBy; Address.CreatedDate = originalAddress.CreatedDate; Address.UpdatedDate = DateTime.Now; Address.UpdatedBy = Shared.Identity.GetUserId(User, _context); var customerToUpdate = await _context.Customer .Include(c => c.Address) .FirstOrDefaultAsync(c => c.CustomerID == Address.CustomerID); try { UpdateCustomerPrimaryAddress(_context, Address, customerToUpdate); await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!AddressExists(Address.AddressID)) { return(NotFound()); } else { throw; } } object originalObj = new object(); originalObj = originalAddress; object newObj = new object(); newObj = Address; string changes = Shared.Audit.WhatChanged(originalObj, newObj, ""); await Shared.Audit.AddAuditRecord(_context, 'E', "Address", "AddressID", Address.AddressID, Shared.Identity.GetUserId(User, _context), changes); //return RedirectToPage("./Index"); return(new JsonResult(Address)); }
public async Task <IActionResult> OnPostAsync(int?id, string[] selectedAreas) { if (!ModelState.IsValid) { return(Page()); } //Original details var originalCustomer = await _context.Customer .Include(c => c.CustomerArea) .ThenInclude(c => c.Area) .AsNoTracking() .FirstOrDefaultAsync(c => c.CustomerID == id); _context.Attach(Customer).State = EntityState.Modified; //Override values for updated by and date Customer.CreatedBy = originalCustomer.CreatedBy; Customer.CreatedDate = originalCustomer.CreatedDate; Customer.UpdatedDate = DateTime.Now; Customer.UpdatedBy = Identity.GetUserId(User, _context); var customerToUpdate = await _context.Customer .Include(c => c.CustomerArea) .ThenInclude(c => c.Area) .FirstOrDefaultAsync(c => c.CustomerID == id); try { UpdateCustomerAreas(_context, selectedAreas, customerToUpdate); await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!CustomerExists(customerToUpdate.CustomerID)) { return(NotFound()); } else { throw; } } object originalCustomerObj = new object(); originalCustomerObj = originalCustomer; object newCustomerObj = new object(); newCustomerObj = customerToUpdate; object originalCustomerAreasObj = new object(); originalCustomerAreasObj = originalCustomer.CustomerArea; object newCustomerAreasObj = new object(); newCustomerAreasObj = customerToUpdate.CustomerArea; string changes = ""; changes = Audit.WhatChanged(originalCustomerObj, newCustomerObj, changes); changes = Audit.ElementsChanged(originalCustomerAreasObj, newCustomerAreasObj, "AreaID", changes); await Audit.AddAuditRecord(_context, 'E', "Customer", "CustomerID", Customer.CustomerID, Identity.GetUserId(User, _context), changes); //return RedirectToPage("./Index"); return(new JsonResult(Customer)); }