public ActionResult Edit(ContactCreateViewModel contactvmNew, HttpPostedFileBase file)
        {
            try
            {
                Contact _con = ContactsMapper.To_Contact_Create_ViewModel(contactvmNew);
                if (file != null)
                {
                    string _FileName = Path.GetFileName(file.FileName);
                    string _path     = Path.Combine(Server.MapPath("~/UploadImg"), _FileName);
                    _con.ImagePath = _FileName;
                    file.SaveAs(_path);
                }
                else
                {
                    _con.ImagePath = "images.png";
                }

                _contactrepository.Update(_con);
                _contactrepository.Save();
                List <PhoneNumber> _phonenumber = PhoneNumberMapper.To_PhoneNumber_Create_ViewModel(contactvmNew, _con.ContactId).ToList();
                foreach (PhoneNumber phonItem in _phonenumber)
                {
                    _phonenumberrepository.Update(phonItem);
                    _phonenumberrepository.Save();
                }
                return(RedirectToAction("Contacts"));
            }
            catch (DataException)
            {
                ModelState.AddModelError(string.Empty, "Unable to save changes. Try again.");
            }
            return(View(contactvmNew));
        }
        protected override void OnModelCreating(ModelBuilder modelBuilder)
        {
            PersonMapper.Map(modelBuilder);
            PersonRelationMapper.Map(modelBuilder);
            PhoneNumberMapper.Map(modelBuilder);
            CityMapper.Map(modelBuilder);

            base.OnModelCreating(modelBuilder);
        }
        public void ToDomain()
        {
            string number             = "4848522541";
            string countryCallingCode = "+32";

            PhoneNumber phoneNumber = new PhoneNumberMapper().ToDomain(new PhoneNumberDto()
                                                                       .WithNumber(number)
                                                                       .WithCountryCallingCode(countryCallingCode));

            Assert.Equal(number, phoneNumber.Number);
            Assert.Equal(countryCallingCode, phoneNumber.CountryCallingCode);
        }
        public void ToDto()
        {
            string number             = "4848522541";
            string countryCallingCode = "+32";

            PhoneNumberDto phoneNumberDto = new PhoneNumberMapper().ToDto(PhoneNumber.PhoneNumberBuilder.PhoneNumber()
                                                                          .WithNumber(number)
                                                                          .WithCountryCallingCode(countryCallingCode)
                                                                          .Build());

            Assert.Equal(number, phoneNumberDto.Number);
            Assert.Equal(countryCallingCode, phoneNumberDto.CountryCallingCode);
        }
        // GET: PhoneBookHomeController/Edit

        public ActionResult Edit(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            Contact                _contact         = _contactrepository.Select(id);
            List <PhoneNumber>     _phonenumberlist = _phonenumberrepository.SelectAll().Where(d => d.ContactId == _contact.ContactId).ToList();
            ContactCreateViewModel contactVM        = PhoneNumberMapper.To_Contact_Create_ViewModel(_phonenumberlist);

            contactVM.contactvm = ContactsMapper.To_Contact_View_Model(_contact);
            if (contactVM == null)
            {
                return(HttpNotFound());
            }
            return(View(contactVM));
        }
        public ActionResult Create(ContactCreateViewModel contactcreatevm, HttpPostedFileBase file)
        {
            if (ModelState.IsValid)
            {
                Contact _contact = ContactsMapper.To_Contact_Create_ViewModel(contactcreatevm);
                try
                {
                    if (file.ContentLength > 0)
                    {
                        string _FileName = Path.GetFileName(file.FileName);
                        string _path     = Path.Combine(Server.MapPath("~/UploadImg"), _FileName);
                        _contact.ImagePath = _FileName;
                        file.SaveAs(_path);
                    }
                }
                catch
                {
                    _contact.ImagePath = "images.png";
                }

                finally
                {
                    int val = 0;
                    _contactrepository.Create(_contact, ref val);
                    _contactrepository.Save();
                    List <PhoneNumber> _phonenumber = PhoneNumberMapper.To_PhoneNumber_Create_ViewModel(contactcreatevm, val).ToList();
                    foreach (PhoneNumber phonItem in _phonenumber)
                    {
                        _phonenumberrepository.Create(phonItem);
                        _phonenumberrepository.Save();
                    }
                }
                return(RedirectToAction("Contacts"));
            }
            return(View("Create"));
        }
 public CustomerMapper(AddressMapper addressMapper, EmailMapper emailMapper, PhoneNumberMapper phoneNumberMapper)
 {
     _addressMapper     = addressMapper;
     _emailMapper       = emailMapper;
     _phoneNumberMapper = phoneNumberMapper;
 }