Esempio n. 1
0
        [Authorize(Roles = "L4_DeliverMan, L5_GeneralStaff,Guest")]  //level 4 ,5 and register User access only
        public async Task <IActionResult> VolunteerEdit(int?volunteerId, string userEmail)
        {
            if (volunteerId == null)
            {
                return(NotFound());
            }
            var volunteer = await _context.Volunteer.FindAsync(volunteerId);

            var volunteerEC = await _context.VolunteerEmergencyContact.FindAsync(volunteerId);

            if (volunteer != null)
            {
                if (volunteer.Email != userEmail)
                {
                    ModelState.AddModelError(string.Empty, "Volunteer Info Email 与 AppUser Name 不一致");
                    //return RedirectToRoute(new {area = "Identity",controller="" pages = "/Account/Manage/Index"});
                    return(Redirect("/Identity/Account/Manage"));
                    // return NotFound();// 无法编辑别的志愿者
                }
                else//打包
                {
                    ViewData["BranchId"] = new SelectList(_context.Branch, "BranchId", "Name", volunteer.BranchId);
                    ViewData["RoleId"]   = new SelectList(_context.VolunteerRole, "RoleId", "RoleName", volunteer.RoleId);
                    ViewData["StatusId"] = new SelectList(_context.VolunteerStatus, "StatusId", "Content", volunteer.StatusId);

                    var vEvm = new VolunteerEditViewModel
                    {
                        VolunteerId           = volunteer.VolunteerId,
                        FirstName             = volunteer.FirstName,
                        LastName              = volunteer.LastName,
                        Dob                   = volunteer.Dob,
                        Email                 = volunteer.Email,
                        PreferredPhone        = volunteer.PreferredPhone,
                        AlternativePhone      = volunteer.AlternativePhone,
                        Address               = volunteer.Address,
                        TownCity              = volunteer.TownCity,
                        PostCode              = volunteer.PostCode,
                        StatusId              = volunteer.StatusId,
                        BranchId              = volunteer.BranchId,
                        RoleId                = volunteer.RoleId,
                        IsAssignedUserAccount = volunteer.IsAssignedUserAccount
                    };
                    if (volunteerEC != null)
                    {
                        vEvm.EFirstName    = volunteerEC.FirstName;
                        vEvm.ELastName     = volunteerEC.LastName;
                        vEvm.EPhoneNumber  = volunteerEC.PhoneNumber;
                        vEvm.ERelationship = volunteerEC.Relationship;
                    }
                    //  volunteer.

                    return(View(vEvm));
                }
            }
            //
            return(RedirectToAction("Index"));
        }
Esempio n. 2
0
        public async Task <IActionResult> VolunteerEdit(int volunteerId, VolunteerEditViewModel vVM)
        {
            if (volunteerId != vVM.VolunteerId)
            {
                return(NotFound());
            }

            if (ModelState.IsValid)
            {
                try
                {
                    //vVM 转为  volunteer 和 EVolunteerContact
                    //如果 EVolunteerContact 查找不存在,创建
                    // _context.Update(vVM);
                    var vol = await _context.Volunteer.FindAsync(vVM.VolunteerId);

                    if (vol != null)
                    {
                        vol.VolunteerId           = vVM.VolunteerId;
                        vol.FirstName             = vVM.FirstName;
                        vol.LastName              = vVM.LastName;
                        vol.Dob                   = vVM.Dob;
                        vol.Email                 = vVM.Email;
                        vol.PreferredPhone        = vVM.PreferredPhone;
                        vol.AlternativePhone      = vVM.AlternativePhone;
                        vol.Address               = vVM.Address;
                        vol.TownCity              = vVM.TownCity;
                        vol.PostCode              = vVM.PostCode;
                        vol.StatusId              = vVM.StatusId;
                        vol.BranchId              = vVM.BranchId;
                        vol.RoleId                = vVM.RoleId;
                        vol.IsAssignedUserAccount = vVM.IsAssignedUserAccount;
                    }
                    var evol = await _context.VolunteerEmergencyContact.FindAsync(vVM.VolunteerId);

                    if (evol != null)
                    {
                        evol.FirstName    = vVM.EFirstName;
                        evol.LastName     = vVM.ELastName;
                        evol.PhoneNumber  = vVM.EPhoneNumber;
                        evol.Relationship = vVM.ERelationship;
                    }
                    else
                    {
                        _context.Add(new VolunteerEmergencyContact
                        {
                            VolunteerId  = vVM.VolunteerId,
                            FirstName    = vVM.EFirstName,
                            LastName     = vVM.ELastName,
                            PhoneNumber  = vVM.EPhoneNumber,
                            Relationship = vVM.ERelationship
                        });
                    }

                    await _context.SaveChangesAsync();
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!VolunteerExists(vVM.VolunteerId))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
                vVM.StatusMessage    = "Your Volunteer Info has been saved !";
                ViewData["BranchId"] = new SelectList(_context.Branch, "BranchId", "Name", vVM.BranchId);
                ViewData["RoleId"]   = new SelectList(_context.VolunteerRole, "RoleId", "RoleName", vVM.RoleId);
                ViewData["StatusId"] = new SelectList(_context.VolunteerStatus, "StatusId", "Content", vVM.StatusId);
                return(View(vVM));
            }

            ViewData["BranchId"] = new SelectList(_context.Branch, "BranchId", "Name", vVM.BranchId);
            ViewData["RoleId"]   = new SelectList(_context.VolunteerRole, "RoleId", "RoleName", vVM.RoleId);
            ViewData["StatusId"] = new SelectList(_context.VolunteerStatus, "StatusId", "Content", vVM.StatusId);
            vVM.StatusMessage    = "Oops, Something went wrong ! ";
            return(View(vVM));
        }