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. ");
            }
        }
Пример #2
0
 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. ");
     }
 }
Пример #4
0
        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)));
            }
        }