コード例 #1
0
        public IActionResult Update(int id, MemberUpdateViewModel memberUpdateViewModel)
        {
            Member member = this.memberRepository.Get(id);

            if (member != null)
            {
                if (ModelState.IsValid)
                {
                    member.MemberNumber = memberUpdateViewModel.MemberNumber;
                    member.ParentName   = memberUpdateViewModel.ParentName;
                    member.ChildName    = memberUpdateViewModel.ChildName;
                    member.ExpiryYear   = memberUpdateViewModel.ExpiryYear;
                    member.Type         = memberUpdateViewModel.Type;

                    this.memberRepository.Update(member);
                    TempData["Message"] = $"{member.ParentName} is geüpdate";
                    return(RedirectToAction("Leden", "Gezinsbond"));
                }
                else
                {
                    return(View(memberUpdateViewModel));
                }
            }
            else
            {
                return(NotFound());
            }
        }
コード例 #2
0
        public ActionResult Update(int id, MemberUpdateViewModel model)
        {
            var user = _memberService.GetUser(id);

            if (ModelState.IsValid.Equals(false))
            {
                model.Pic = user.Pic;
                return(View(model));
            }

            // Update Table Password
            var newPassword = model.Password;

            if (string.IsNullOrEmpty(newPassword).Equals(false))
            {
                var newPassEntity = _memberService.ConvertToPassEntity(user.Id, user.Guid, newPassword);

                // 管理者可以強制變更密碼
                if (SignInUser.User.IsAdmin.Equals(false))
                {
                    var isSamePassword = _memberService.CheckIsHistroyPassword(user.Id, newPassEntity.HashPw);
                    if (isSamePassword)
                    {
                        ModelState.AddModelError("HistroyPassword", "新密碼不可跟使用過的舊密碼相同。");
                        model.Password = string.Empty;
                        return(View(model));
                    }
                }

                _memberService.CreatePassword(newPassEntity);
            }

            // 大頭照
            var fileName = _memberService.SaveMemberPic(model.File, Server.MapPath(FileUploadPath));

            if (string.IsNullOrEmpty(fileName).Equals(false))
            {
                user.Pic = $"{FileUploadPath}/{fileName}";
            }

            // Update Table User
            user.Name = model.Name;
            _memberService.UpdateUser(user);

            // 修改自己的資料完畢之後也要更新Session
            if (SignInUser.User.Id == id)
            {
                var artCnt = _memberService.GetUserArticleCount(user.Id);
                SignInUser.UserLogin(true, user, artCnt);
            }
            return(RedirectToAction(model.BackAction, model.BackController, new { page = model.BackPage }));
        }
コード例 #3
0
        public ActionResult UpdateMember(string id)
        {
            var entity    = _examinationRepository.GetMemberProfiles.FirstOrDefault(x => x.Member.Id == id);
            var newentity = new MemberUpdateViewModel
            {
                // ReSharper disable once PossibleNullReferenceException
                MemId        = entity.Id,
                Address      = entity.Address,
                FullName     = entity.FullName,
                MobileNumber = entity.Member.PhoneNumber
            };

            return(View(newentity));
        }
コード例 #4
0
        public async Task<ActionResult> Update(MemberUpdateViewModel viewModel)
        {
            if (ModelState.IsValid)
            {
                Member updatedMember = viewModel.Member;

                var member = await _unitOfWork.Members.GetMemberWithMembershipTypeAsync(updatedMember.Id);

                member.Name = updatedMember.Name;
                member.MembershipTypeId = updatedMember.MembershipTypeId;
                member.BooksRemaining = updatedMember.BooksRemaining;

                await _unitOfWork.CompleteAsync();

                return RedirectToAction("Index");
            }

            return View(viewModel);
        }
コード例 #5
0
        public IActionResult Update(int id)
        {
            Member member = this.memberRepository.Get(id);

            if (member != null)
            {
                MemberUpdateViewModel memberUpdateViewModel = new MemberUpdateViewModel
                {
                    MemberNumber = member.MemberNumber,
                    ParentName   = member.ParentName,
                    ChildName    = member.ChildName,
                    ExpiryYear   = member.ExpiryYear,
                    Type         = member.Type
                };
                return(View(memberUpdateViewModel));
            }
            else
            {
                return(NotFound());
            }
        }
コード例 #6
0
        public ActionResult Update(int?id, int?page)
        {
            var backController = page != null ? "Admin" : "Post";
            var backAction     = "Index";

            ViewBag.Title = "修改會員資料";

            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }

            var user = _memberService.GetUser(id.Value);

            if (user == null)
            {
                return(RedirectToAction(backAction, backController));
            }

            if ((SignInUser.User.IsAdmin || SignInUser.User.Id == id).Equals(false))
            {
                return(RedirectToAction(backAction, backController));
            }

            var model = new MemberUpdateViewModel()
            {
                Id             = user.Id,
                Name           = user.Name,
                Password       = string.Empty,
                Pic            = user.Pic,
                BackAction     = backAction,
                BackController = backController,
                BackPage       = page
            };

            return(View(model));
        }
コード例 #7
0
        public async Task<ActionResult<MemberUpdateViewModel>> Update(int? id)
        {
            if (id == null || id == 0)
            {
                return NotFound();
            }

            var member = await _unitOfWork.Members.GetMemberWithMembershipTypeAsync((int)id);

            if (member == null)
            {
                return NotFound();
            }

            var membershipTypes = _unitOfWork.MembershipTypes.GetAll().ToList();

            var viewModel = new MemberUpdateViewModel
            {
                Member = member,
                MembershipTypes = membershipTypes
            };

            return View(viewModel);
        }
コード例 #8
0
        public ActionResult UpdateMember(MemberUpdateViewModel mp)
        {
            if (ModelState.IsValid)
            {
                var me = _examinationRepository.GetMemberProfiles.FirstOrDefault(x => x.Id == mp.MemId);
                if (me != null)
                {
                    var user = UserManager.FindById(me.Member.Id);
                    if (user != null)
                    {
                        user.MemberProfile.FullName = mp.FullName;
                        user.MemberProfile.Address  = mp.Address;
                        user.PhoneNumber            = mp.MobileNumber;
                        user.PhoneNumberConfirmed   = true;

                        UserManager.Update(user);
                        TempData["notification"] = "The member has been updated successfully";
                        return(RedirectToAction("Member"));
                    }
                }
            }
            ModelState.AddModelError("", "Kindly fill in all required information");
            return(View(mp));
        }