//GET public ActionResult Edit(string id, ModificationAction modify) { var individualDb = unitOfWork.Individuals.GetIndividualWithAddressAndPhone(id);//5 if (individualDb == null) { return(HttpNotFound()); } var viewModel = new IndividualFormViewModel(individualDb) { ModificationAction = modify }; switch (modify) { case ModificationAction.EditIndividual: return(View("EditIndividual", viewModel)); case ModificationAction.EditAddresses: return(View("EditAddress", viewModel)); case ModificationAction.EditPhones: return(View("EditPhones", viewModel)); } return(View("IndividualForm", viewModel)); }
public ActionResult Update(IndividualFormViewModel individualVM) { if (!ModelState.IsValid) { var viewModel = new IndividualFormViewModel(individualVM); switch (individualVM.ModificationAction) { case ModificationAction.EditIndividual: return(View("EditIndividual", viewModel)); case ModificationAction.EditAddresses: return(View("EditPhones", viewModel)); case ModificationAction.EditPhones: return(View("EditPhones", viewModel)); } return(View("IndividualForm", viewModel)); } var individualDB = unitOfWork.Individuals.GetIndividualWithAddressAndPhone(individualVM.IndividualId);//4 switch (individualVM.ModificationAction) { case ModificationAction.EditIndividual: individualDB.Edit(individualVM.Individual); break; case ModificationAction.EditAddresses: individualDB.PrimaryAddress.Edit(individualVM.PrimaryAddress); if (individualDB.SecondaryAddress != null) { individualDB.SecondaryAddress.Edit(individualVM.SecondaryAddress); } break; case ModificationAction.EditPhones: for (int i = 0; i < individualDB.Phones.Count; i++) { individualDB.Phones.ElementAt(i).Edit(individualVM.Phones[i]); } if (individualDB.Phones.Count < individualVM.Phones.Count) { for (int j = individualDB.Phones.Count; j < individualVM.Phones.Count; j++) { individualDB.Phones.Add(individualVM.Phones[j]); } } break; default: break; } unitOfWork.Complete(); if (User.IsInRole(RoleName.Administrator)) { return(RedirectToAction("GetIndividuals")); } return(RedirectToAction("Index")); }
public static Individual New(IndividualFormViewModel IVM, ApplicationUser user, Collection <Phone> phones) { var individual = new Individual(IVM.Individual.FathersName, IVM.Individual.DateOfBirth, IVM.Individual.FirstName, IVM.Individual.IdentificationCardNo, IVM.Individual.LastName, IVM.Individual.SSN, IVM.Individual.VatNumber, user.Id, user.Email, phones, IVM.PrimaryAddress); return(individual); }
public ActionResult New() { var userId = User.Identity.GetUserId(); var appUser = unitOfWork.Users.GetUser(userId); var viewModel = new IndividualFormViewModel() { Individual = Individual.NewForView(), Phones = new List <Phone>(), ModificationAction = ModificationAction.NewIndividual, }; viewModel.Individual.SetEmail(appUser); return(View("IndividualForm", viewModel)); }
public ActionResult Save(IndividualFormViewModel ifvm) { var userId = User.Identity.GetUserId(); var appUser = unitOfWork.Users.GetUser(userId); if (!ModelState.IsValid) { var viewModel = new IndividualFormViewModel() { Individual = ifvm.Individual, Phones = ifvm.Phones, PrimaryAddress = ifvm.PrimaryAddress }; return(View("IndividualForm", viewModel)); } Collection <Phone> viewPhones = new Collection <Phone>(ifvm.Phones); if (ifvm.IndividualId == null) { var individual = Individual.New(ifvm, appUser, viewPhones); appUser.RegisterCompletion = true; unitOfWork.Individuals.AddIndividual(individual); //2 var request = new Request(individual, RequestType.UserAccActivation); unitOfWork.Requests.AddRequest(request); //3 var hubModel = new { Name = ifvm.Individual.FullName, Type = request.Type.ToString() }; SignalHub.GetRequest(hubModel); } unitOfWork.Complete(); if (User.IsInRole(RoleName.Administrator)) { return(RedirectToAction("GetIndividuals")); } return(RedirectToAction("Index")); }