Esempio n. 1
0
        //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));
        }
Esempio n. 2
0
        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"));
        }
Esempio n. 3
0
        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);
        }
Esempio n. 4
0
        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));
        }
Esempio n. 5
0
        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"));
        }