示例#1
0
        public ActionResult Create(ClientPhoneViewModel clientPhoneViewModel)
        {
            if (ModelState.IsValid)
            {
                var client = new Client();
                client.FirstName = clientPhoneViewModel.FirstName;
                client.LastName  = clientPhoneViewModel.LastName;
                client.Address   = clientPhoneViewModel.Address;
                client.Email     = clientPhoneViewModel.Email;
                if (clientPhoneViewModel.HomeNumber != null)
                {
                    clientPhoneViewModel.HomeNumber.PhoneNumberType = PhoneNumberType.Home;
                    client.PhoneNumbers.Add(clientPhoneViewModel.HomeNumber);
                }
                if (clientPhoneViewModel.MobileNumber != null)
                {
                    clientPhoneViewModel.MobileNumber.PhoneNumberType = PhoneNumberType.Mobile;
                    client.PhoneNumbers.Add(clientPhoneViewModel.MobileNumber);
                }
                if (clientPhoneViewModel.OfficeNumber != null)
                {
                    clientPhoneViewModel.OfficeNumber.PhoneNumberType = PhoneNumberType.Office;
                    client.PhoneNumbers.Add(clientPhoneViewModel.OfficeNumber);
                }

                db.Clients.Add(client);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            return(View(clientPhoneViewModel));
        }
示例#2
0
        // GET: Clients/Edit/5
        public ActionResult Edit(int?id)
        {
            PhoneRepository phoneRepository = new PhoneRepository();

            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            Client client = db.Clients.Find(id);

            if (client == null)
            {
                return(HttpNotFound());
            }
            ClientPhoneViewModel clientPhoneViewModel = new ClientPhoneViewModel();

            clientPhoneViewModel.ClientId     = id;
            clientPhoneViewModel.FirstName    = client.FirstName;
            clientPhoneViewModel.LastName     = client.LastName;
            clientPhoneViewModel.Address      = client.Address;
            clientPhoneViewModel.Email        = client.Email;
            clientPhoneViewModel.HomeNumber   = phoneRepository.GetByClientIdAndType(id, PhoneNumberType.Home);
            clientPhoneViewModel.MobileNumber = phoneRepository.GetByClientIdAndType(id, PhoneNumberType.Mobile);
            clientPhoneViewModel.OfficeNumber = phoneRepository.GetByClientIdAndType(id, PhoneNumberType.Office);
            return(View(clientPhoneViewModel));
        }
示例#3
0
        public ActionResult Edit(ClientPhoneViewModel clientPhoneViewModel)
        {
            if (ModelState.IsValid)
            {
                PhoneRepository phoneRepository = new PhoneRepository();
                Client          client          = db.Clients.Find(clientPhoneViewModel.ClientId);
                client.FirstName = clientPhoneViewModel.FirstName;
                client.LastName  = clientPhoneViewModel.LastName;
                client.Address   = clientPhoneViewModel.Address;
                client.Email     = clientPhoneViewModel.Email;

                PhoneNumber homeNumber   = client.PhoneNumbers.FirstOrDefault(phone => phone.PhoneNumberType == PhoneNumberType.Home);
                PhoneNumber mobileNumber = client.PhoneNumbers.FirstOrDefault(phone => phone.PhoneNumberType == PhoneNumberType.Mobile);
                PhoneNumber officeNumber = client.PhoneNumbers.FirstOrDefault(phone => phone.PhoneNumberType == PhoneNumberType.Office);

                if (homeNumber != null)
                {
                    homeNumber.Phone = clientPhoneViewModel.HomeNumber.Phone;
                }
                else
                {
                    clientPhoneViewModel.HomeNumber.PhoneNumberType = PhoneNumberType.Home;
                    client.PhoneNumbers.Add(clientPhoneViewModel.HomeNumber);
                }

                if (mobileNumber != null)
                {
                    mobileNumber.Phone = clientPhoneViewModel.MobileNumber.Phone;
                }
                else
                {
                    clientPhoneViewModel.MobileNumber.PhoneNumberType = PhoneNumberType.Mobile;
                    client.PhoneNumbers.Add(clientPhoneViewModel.MobileNumber);
                }

                if (officeNumber != null)
                {
                    officeNumber.Phone = clientPhoneViewModel.OfficeNumber.Phone;
                }
                else
                {
                    clientPhoneViewModel.OfficeNumber.PhoneNumberType = PhoneNumberType.Office;
                    client.PhoneNumbers.Add(clientPhoneViewModel.OfficeNumber);
                }

                db.Entry(client).State = EntityState.Modified;
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }
            return(View(clientPhoneViewModel));
        }