Ejemplo n.º 1
0
        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"));
        }
Ejemplo n.º 2
0
        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));
        }
Ejemplo n.º 3
0
        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));
        }