public void SaveTerminalContact(TerminalContactFormViewModel viewModel, string action) { try { var terminalContact = 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 terminalContactToEdit = Table.SingleOrDefault(x => x.Id == viewModel.Id && !x.Deleted); if (terminalContactToEdit == null) { throw new Exception("Contact does not exist in our records!!!"); } if (terminalContact != null) { if (!terminalContact.Deleted && terminalContactToEdit.Id != terminalContact.Id) { throw new Exception("Contact already exists. "); } } Mapper.Map(viewModel, terminalContactToEdit); Edit(terminalContactToEdit); } else { if (terminalContact != null) { if (!terminalContact.Deleted) { throw new Exception("Contact already exists. "); } } Add(Mapper.Map <TerminalContactFormViewModel, TerminalContact>(viewModel)); } } catch (Exception ex) { throw new Exception(ex.Message + "Please check the entered values. "); } }
public ActionResult Edit(TerminalContactFormViewModel terminalContactFormViewModel) { if (!User.IsInRole("Edit Terminal Contacts")) { ViewBag.Error = "Access Denied"; return(PartialView("../Shared/ErrorWithLayout")); } try { if (!ModelState.IsValid) { return(View(_terminalContactRepository.TerminalContactToEdit(terminalContactFormViewModel.Id))); } _terminalContactRepository.SaveTerminalContact(terminalContactFormViewModel, "Edit"); return(RedirectToAction("Details", "Terminals", new { id = terminalContactFormViewModel.TerminalId })); } catch (Exception ex) { ViewBag.Error = ex.Message; return(View(_terminalContactRepository.TerminalContactToEdit(terminalContactFormViewModel.Id))); } }
public TerminalContactFormViewModel InitializeNewFormViewModel(TerminalContactFormViewModel viewModel) { try { if (viewModel == null) { throw new Exception("Model not found. "); } var terminalContactFormViewModel = Mapper.Map <TerminalContactFormViewModel, TerminalContactFormViewModel>(viewModel); terminalContactFormViewModel.ContactTypes = Context.ContactTypes.ToList(); terminalContactFormViewModel.Countries = Context.Countries.ToList(); terminalContactFormViewModel.States = Context.States.Where(x => x.CountryId == viewModel.CountryId) .ToList(); terminalContactFormViewModel.Cities = Context.Cities.Where(x => x.StateId == viewModel.StateId) .ToList(); return(terminalContactFormViewModel); } catch (Exception ex) { throw new Exception(ex.Message + "Contact not found. "); } }
public ActionResult Create(TerminalContactFormViewModel terminalContactFormViewModel) { if (!User.IsInRole("Add Terminal Contacts")) { ViewBag.Error = "Access Denied"; return(PartialView("../Shared/ErrorWithLayout")); } try { if (!ModelState.IsValid) { ViewBag.Error = "Please check the entered values. "; return(View(_terminalContactRepository.InitializeNewFormViewModel(terminalContactFormViewModel))); } _terminalContactRepository.SaveTerminalContact(terminalContactFormViewModel, "Save"); return(RedirectToAction("Details", "Terminals", new { id = terminalContactFormViewModel.TerminalId })); } catch (Exception ex) { ViewBag.Error = ex.Message; return(View(_terminalContactRepository.InitializeNewFormViewModel(terminalContactFormViewModel))); } }