public async Task <IActionResult> OnGetAsync(int?id) { if (id == null) { return(NotFound()); } Customer = await _context.Customer .Include(c => c.ApplicationUserCreatedBy) .Include(c => c.ApplicationUserUpdatedBy) .Include(c => c.Showroom) .Include(c => c.SourceOfInformation) .Include(c => c.CustomerArea).ThenInclude(c => c.Area) .AsNoTracking() .FirstOrDefaultAsync(m => m.CustomerID == id); if (Customer == null) { return(NotFound()); } ViewData["CreatedBy"] = new SelectList(_context.Users, "Id", "Id"); ViewData["UpdatedBy"] = new SelectList(_context.Users, "Id", "Id"); ViewData["TitleID"] = new SelectList(_context.Lookup.Where(L => L.Domain == "TITLE"), "LookupCode", "LookupName"); ViewData["ShowroomID"] = new SelectList(_context.Showroom, "ShowroomID", "ShowroomName"); ViewData["SourceOfInformationID"] = new SelectList(_context.SourceOfInformation, "SourceOfInformationID", "SourceOfInformationName"); PopulateCustomerAreaData(_context, Customer); await Audit.AddAuditRecord(_context, 'V', "Customer", "CustomerID", Customer.CustomerID, Identity.GetUserId(User, _context), Customer.Forename + " " + Customer.Surname + " (" + Customer.CustomerID + ") Viewed"); return(Page()); }
public async Task <IActionResult> OnPostAsync() { if (!ModelState.IsValid) { return(Page()); } //Override values for created by and date Address.CreatedDate = DateTime.Now; Address.CreatedBy = Identity.GetUserId(User, _context); _context.Address.Add(Address); await _context.SaveChangesAsync(); await Audit.AddAuditRecord(_context, 'C', "Address", "AddressID", Address.AddressID, Identity.GetUserId(User, _context), "Address Created"); //return RedirectToPage("./Index"); JObject jsonItem = JObject.FromObject(Address); //objectID added for form.js jsonItem.Add("objectID", Address.AddressID); return(Content(jsonItem.ToString(), "application/json")); //return new JsonResult(Address); }
public async Task <IActionResult> OnPostAsync(string[] selectedAreas) { if (!ModelState.IsValid) { return(Page()); } //Override values for created by and date Customer.CreatedDate = DateTime.Now; Customer.CreatedBy = Identity.GetUserId(User, _context); if (selectedAreas != null) { Customer.CustomerArea = new List <CustomerArea>(); foreach (var area in selectedAreas) { var areaToAdd = new CustomerArea { AreaID = int.Parse(area) }; Customer.CustomerArea.Add(areaToAdd); } } _context.Customer.Add(Customer); await _context.SaveChangesAsync(); await Audit.AddAuditRecord(_context, 'C', "Customer", "CustomerID", Customer.CustomerID, Identity.GetUserId(User, _context), "Customer Created"); //return RedirectToPage("./Index"); JObject jsonItem = JObject.FromObject(Customer); //objectID added for form.js jsonItem.Add("objectID", Customer.CustomerID); return(Content(jsonItem.ToString(), "application/json")); //return new JsonResult(Customer); }
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)); }