Ejemplo n.º 1
0
        // Create or Edit Donor Record
        public IActionResult CreateEditDonorRecord(string?id)
        {
            donorRecord = new DonorRecord();
            if (id == null)
            {
                //Create New Record
                return(View(donorRecord));
            }
            //Update by retriving infomation from DB
            donorRecord = _db.donorRecords.FirstOrDefault(u => u.dID == id);
            if (donorRecord == null)
            {
                return(NotFound());
            }

            return(View(donorRecord));
        }
Ejemplo n.º 2
0
        public async Task <IActionResult> CreateEditDonorRecord(DonorRecord donorRecord)
        {
            if (ModelState.IsValid)
            {
                if (donorRecord.dID == null)
                {
                    //Create an Identity for the new Donor, based on the generated ID, assign the ID to the donor.dID
                    var user = new IdentityUser {
                        UserName = donorRecord.username, Email = donorRecord.username
                    };
                    var result = await _userManager.CreateAsync(user, donorRecord.password);

                    if (result.Succeeded)
                    {
                        donorRecord.dID = user.Id;
                        await _userManager.AddToRoleAsync(user, "Donor");

                        _db.donorRecords.Add(donorRecord);
                    }
                }
                else
                {
                    //Update
                    _db.donorRecords.Update(donorRecord);
                    var user = await _userManager.FindByIdAsync(donorRecord.dID);

                    var result = await _userManager.SetUserNameAsync(user, donorRecord.username);

                    await _userManager.SetEmailAsync(user, donorRecord.username);

                    await _userManager.ChangePasswordAsync(user, user.PasswordHash, donorRecord.password);
                }
                _db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            else
            {
                return(View(donorRecord));
            }
        }