Esempio n. 1
0
        public ActionResult Register()
        {
            var viewModel = new CreateDonorVm
            {
                BloodTypes = new List <string>()
                {
                    "O-", "O+", "A-", "A+", "B+", "B-", "AB+", "AB-", "A", "B", "AB", "O"
                }
            };

            return(View(viewModel));
        }
Esempio n. 2
0
        public async Task <ActionResult> Register(CreateDonorVm vm)
        {
            vm.BloodTypes = new List <string>()
            {
                "O-", "O+", "A-", "A+", "B+", "B-", "AB+", "AB-", "A", "B", "AB", "O"
            };

            if (!ModelState.IsValid)
            {
                return(View(vm));
            }

            var donor = new Donor();

            donor.Name            = vm.Name;
            donor.Email           = vm.Email;
            donor.Type            = vm.Type;
            donor.Password        = vm.Password;
            donor.ConfirmPassword = vm.ConfirmPassword;
            donor.Phone           = vm.Phone;
            donor.Location        = vm.Location;
            donor.IsApproved      = false;

            db.Donors.Add(donor);
            db.SaveChanges();

            var user = new ApplicationUser {
                UserName = vm.Email, Email = vm.Email
            };
            var result = await UserManager.CreateAsync(user, vm.Password);

            if (result.Succeeded)
            {
                return(RedirectToAction("Login"));
            }

            foreach (var error in result.Errors)
            {
                ModelState.AddModelError("", error);
            }

            return(View(vm));
        }