Beispiel #1
0
        public IActionResult AddAddress(long id, CustomerAddress newAdd)
        {
            var customer = _db.Customers.FirstOrDefault(c => c.CustomerId == id);

            if (customer == null)
            {
                return(RedirectToAction("List"));
            }

            var added = new AddEditAddressViewModel
            {
                AlterAddress = newAdd
            };

            added = FillEditAddress(customer, added);

            if (!ModelState.IsValid)
            {
                return(View(added));
            }

            var checkedAddress = AnyAddressFieldsFilled(added.AlterAddress);

            if (checkedAddress != null)
            {
                _db.Add(checkedAddress);
                _db.SaveChanges();
            }

            return(RedirectToAction("profile", "customer", new { id = id }));
        }
Beispiel #2
0
        public IActionResult AddAddress(long id)
        {
            var customer = _db.Customers.FirstOrDefault(c => c.CustomerId == id);

            if (customer == null)
            {
                return(RedirectToAction("List"));
            }

            var newAdd = new CustomerAddress {
                CustomerId = id
            };
            var adding = new AddEditAddressViewModel {
                AlterAddress = newAdd
            };

            adding = FillEditAddress(customer, adding);

            if (Request.Headers["X-Requested-With"] == "XMLHttpRequest")
            {
                return(PartialView(adding));
            }

            return(View(adding));
        }
Beispiel #3
0
        public IActionResult EditAddress(long id, long ml)
        {
            var requested = _db.Customers.FirstOrDefault(c => c.CustomerId == id);

            if (ValidCustomerIdAndLong(requested, id, ml) != null)
            {
                return(ValidCustomerIdAndLong(requested, id, ml));
            }

            var editModel = new AddEditAddressViewModel();

            //make sure there is an attatched address to the customer
            if (_db.MailingAddresses.Any(m => m.CustomerId == id))
            {
                //if there is find the one with the associated address id
                var requestedAddress = _db.MailingAddresses.FirstOrDefault(m => m.AddressId == ml);
                if (requestedAddress == null)
                {
                    return(RedirectToAction("Profile", "Customer", new { id = id }));
                }
                else
                {
                    editModel = FillEditAddress(requested, editModel);
                    editModel.AlterAddress = requestedAddress;
                }
            }

            if (Request.Headers["X-Requested-With"] == "XMLHttpRequest")
            {
                return(PartialView(editModel));
            }

            return(View(editModel));
        }
Beispiel #4
0
        //Address View Model filler to fill out customer info
        private AddEditAddressViewModel FillEditAddress(Customer givenCustomer, AddEditAddressViewModel toFill)
        {
            toFill.CusId     = givenCustomer.CustomerId;
            toFill.Given     = givenCustomer.FirstName;
            toFill.Surname   = givenCustomer.LastName;
            toFill.Creation  = givenCustomer.DateCreated;
            toFill.Emails    = _db.Emails.Where(e => e.CustomerId == givenCustomer.CustomerId).ToList();
            toFill.Phones    = _db.PhoneNumbers.Where(p => p.CustomerId == givenCustomer.CustomerId).ToList();
            toFill.Addresses = _db.MailingAddresses.Where(m => m.CustomerId == givenCustomer.CustomerId).ToList();

            return(toFill);
        }
Beispiel #5
0
        public IActionResult EditAddress(long id, CustomerAddress editAdd, long ml)
        {
            var requested = _db.Customers.FirstOrDefault(c => c.CustomerId == id);

            if (ValidCustomerIdAndLong(requested, id, ml) != null)
            {
                return(ValidCustomerIdAndLong(requested, id, ml));
            }

            var edited = new AddEditAddressViewModel
            {
                AlterAddress = editAdd
            };

            //find the address with the associated address id
            var requestedAddress = _db.MailingAddresses.FirstOrDefault(m => m.AddressId == ml);

            if (requestedAddress == null)
            {
                return(RedirectToAction("Profile", "Customer", new { id = id }));
            }
            else
            {
                var sendBack = FillEditAddress(requested, edited);
                if (!ModelState.IsValid)
                {
                    return(View(sendBack));
                }

                var checkedAddress = AnyAddressFieldsFilled(editAdd);
                if (checkedAddress != null)
                {
                    requestedAddress.City          = checkedAddress.City;
                    requestedAddress.Country       = checkedAddress.Country;
                    requestedAddress.Postal        = checkedAddress.Postal;
                    requestedAddress.ProvState     = checkedAddress.ProvState;
                    requestedAddress.StreetAddress = checkedAddress.StreetAddress;
                    _db.SaveChanges();
                }
            }

            return(RedirectToAction("Profile", "Customer", new { id = id }));
        }