public PartnerContactFormViewModel InitializeNewFormViewModel(PartnerContactFormViewModel viewModel) { try { if (viewModel == null) { throw new Exception("Model not found. "); } return(new PartnerContactFormViewModel() { Id = viewModel.Id, PartnerId = viewModel.PartnerId, Name = viewModel.Name, LastName = viewModel.LastName, Email = viewModel.Email, ContactTypeId = viewModel.ContactTypeId, ContactTypes = Context.ContactTypes.ToList(), Phone = viewModel.Phone, Address1 = viewModel.Address1, Address2 = viewModel.Address2, Zip = viewModel.Zip, CountryId = viewModel.CountryId, Countries = Context.Countries.ToList(), StateId = viewModel.StateId, States = Context.States.Where(x => x.CountryId == viewModel.CountryId).ToList(), CityId = viewModel.CityId, Cities = Context.Cities.Where(x => x.StateId == viewModel.StateId).ToList(), }); } catch (Exception ex) { throw new Exception(ex.Message + "Contact not found. "); } }
public ActionResult Edit(PartnerContactFormViewModel viewModel) { try { if (!ModelState.IsValid) { ViewBag.Error = "Model not valid, please check the entered values. "; return(View(_partnerContactRepository.PartnerContactToEdit(viewModel.Id))); } _partnerContactRepository.SavePartner(viewModel, "Edit"); return(RedirectToAction("Details", "Partners", new { id = viewModel.PartnerId })); } catch (Exception ex) { ViewBag.Error = ex.Message; return(View(_partnerContactRepository.PartnerContactToEdit(viewModel.Id))); } }
public void SavePartner(PartnerContactFormViewModel viewModel, string action) { try { var partnerContact = Table.SingleOrDefault(x => (string.Equals(x.Name.Trim().ToLower(), viewModel.Name.Trim().ToLower()) && string.Equals(x.LastName.Trim().ToLower(), viewModel.LastName.Trim().ToLower()) || x.Email == viewModel.Email || x.Phone == viewModel.Phone)); if (action == "Edit") { var partnerContactToEdit = Table.SingleOrDefault(x => x.Id == viewModel.Id && !x.Deleted); if (partnerContactToEdit == null) { throw new Exception("Contact not found. "); } if (partnerContact != null) { if (!partnerContact.Deleted && partnerContactToEdit.Id != partnerContact.Id) { throw new Exception("Contact already exists. "); } } partnerContactToEdit.PartnerId = viewModel.PartnerId; partnerContactToEdit.Name = viewModel.Name; partnerContactToEdit.LastName = viewModel.LastName; partnerContactToEdit.Email = viewModel.Email; partnerContactToEdit.ContactTypeId = viewModel.ContactTypeId; partnerContactToEdit.Phone = viewModel.Phone; partnerContactToEdit.Address1 = viewModel.Address1; partnerContactToEdit.Address2 = viewModel.Address2; partnerContactToEdit.Zip = viewModel.Zip; partnerContactToEdit.CountryId = viewModel.CountryId; partnerContactToEdit.StateId = viewModel.StateId; partnerContactToEdit.CityId = viewModel.CityId; Edit(partnerContactToEdit); } else { if (partnerContact != null) { if (!partnerContact.Deleted) { throw new Exception("Contact already exists."); } } var partnerContactResult = new PartnerContact() { PartnerId = viewModel.PartnerId, Name = viewModel.Name, LastName = viewModel.LastName, Email = viewModel.Email, ContactTypeId = viewModel.ContactTypeId, Phone = viewModel.Phone, Address1 = viewModel.Address1, Address2 = viewModel.Address2, Zip = viewModel.Zip, CountryId = viewModel.CountryId, StateId = viewModel.StateId, CityId = viewModel.CityId, }; Add(partnerContactResult); } } catch (Exception ex) { throw new Exception(ex.Message + "Please check entered values. "); } }