コード例 #1
0
        public void ShowWindow(BaseViewModel viewModel, bool showAsDialog = false)
        {
            Window window = viewModel switch
            {
                // Wenn viewModel null ist -> ArgumentNullException
                null => throw new ArgumentNullException(nameof(viewModel)),

                      MainViewModel _ => new MainWindow(),

                      EditMemberViewModel _ => new EditMemberWindow(),

                      // default -> InvalidOperationException
                      _ => throw new InvalidOperationException($"Unbekanntes ViewModel '{viewModel}'"),
            };

            _windows[viewModel] = window;

            window.DataContext = viewModel;

            if (showAsDialog)
            {
                window.ShowDialog();
            }
            else
            {
                window.Show();
            }
        }
コード例 #2
0
        public ActionResult EditMyProfile(EditMemberViewModel model)
        {
            if (ModelState.IsValid)
            {
                Member origMember = _dataService.GetMember(model.Id);
                origMember.FirstName      = model.FirstName;
                origMember.LastName       = model.LastName;
                origMember.Phone          = model.Phone;
                origMember.AltPhone       = model.AltPhone;
                origMember.AddressLine_1  = model.AddressLine_1;
                origMember.AddressLine_2  = model.AddressLine_2;
                origMember.City           = model.City;
                origMember.State          = model.State;
                origMember.Zip            = model.Zip;
                origMember.LastMedical    = model.LastMedical;
                origMember.TotalHours     = model.TotalHours;
                origMember.RetractHours   = model.RetractHours;
                origMember.EmergencyName  = model.EmergencyName;
                origMember.EmergencyPhone = model.EmergencyPhone;
                // emails updated in separate view
                //origMember.PrimaryEmail = model.PrimaryEmail;
                //origMember.SecondaryEmail = model.SecondaryEmail;

                _dataService.UpdateMember(origMember);
                return(RedirectToAction("Details", new { id = model.Id }));
            }

            // use this to collect errors and log them
            //var errors = from v in ModelState.Values
            //             where v.Errors.Count > 0
            //             select v.Errors;

            return(View(model));
        }
コード例 #3
0
        //修改
        public OperationResult Update(EditMemberViewModel input)
        {
            var result = new OperationResult();

            try
            {
                Member entity = _repository.GetAll <Member>().FirstOrDefault(m => m.MemberId == input.MemberId);
                entity.MemberName     = input.MemberName;
                entity.MemberConEmail = input.MemberConEmail;
                if (input.Gender != "請選擇性別")
                {
                    entity.Gender = input.Gender;
                }
                //entity.MemberBirth = input.MemberBirth;
                entity.AboutMe       = input.AboutMe;
                entity.ProfileImgUrl = input.ProfileImgUrl;
                entity.MemberWebsite = input.MemberWebsite;
                entity.ProfileImgUrl = input.ProfileImgUrl;
                _repository.Update(entity);
                result.IsSuccessful = true;
            }
            catch (Exception ex)
            {
                //result.Member
                result.DateTime     = DateTime.Now;
                result.Exception    = ex;
                result.IsSuccessful = false;
            }
            return(result);
        }
コード例 #4
0
        public async Task <ActionResult> Edit(string id, EditMemberViewModel model)
        {
            if (!ModelState.IsValid)
            {
                return(View("Error"));
            }

            // TODO: add security (user with lower rank cannot change user with higher rank)

            string          clubRankName = ClubRolesFactory.GetName(ClubRolesFactory.GetId(model.ClubRank)); // verify if rank from form is "real"
            ApplicationUser user         = await _userManager.FindByIdAsync(id);

            #region GetUserClubRank

            IList <Claim> claim = await _userManager.GetClaimsAsync(user);

            Claim[] userClaim = claim.Where(u => u.Type == "ClubRank").ToArray();


            if (userClaim != null && userClaim.Length > 0 && userClaim[0].Value.Length > 0)
            {
                await _userManager.ReplaceClaimAsync(user, userClaim[0], new Claim("ClubRank", clubRankName));
            }
            else
            {
                await _userManager.AddClaimAsync(user, new Claim("ClubRank", clubRankName));
            }
            #endregion
            return(RedirectToAction("Index"));
        }
コード例 #5
0
        public async Task <IActionResult> Edit(int id)
        {
            var model = await _db.Members.FindAsync(id);

            if (model == null)
            {
                return(RedirectToAction("Index"));
            }

            var viewModel = new EditMemberViewModel(model);

            viewModel.MembershipTypes = await GetMembershipTypes("Uppdatera medlemskapet med");

            if (viewModel.ExpireDate < DateTime.Today)
            {
                viewModel.ExpireStatus = "danger";
            }
            else if (viewModel.ExpireDate < DateTime.Today.AddMonths(1))
            {
                viewModel.ExpireStatus = "warning";
            }
            else
            {
                viewModel.ExpireStatus = "normal";
            }
            return(View(viewModel));
        }
コード例 #6
0
        private void EditMember_Executed()
        {
            var viewModel = new EditMemberViewModel(this,
                                                    DBManagerApp.MainWnd.CurrentGroups.SelectedKey,
                                                    DBManagerApp.MainWnd.CurrentGroups.SelectedItem.Value);

            var wnd = new CEditMemberWnd(viewModel,
                                         DBManagerApp.MainWnd.CurrentGroups.SelectedKey,
                                         DBManagerApp.MainWnd.CurrentGroups.SelectedItem.Value)
            {
                Owner = DBManagerApp.MainWnd
            };

            if (wnd.ShowDialog() == true)
            {
                IDMember = wnd.MemberData.MemberInDB.id_member;
                Name     = wnd.MemberData.Name;
                Surname  = wnd.MemberData.Surname;

                SecondCol = wnd.MemberData.SecondColumn;
                Coach     = wnd.MemberData.PartInDB.coach;
                Team      = wnd.MemberData.PartInDB.team;

                YearOfBirth = wnd.MemberData.YearOfBirth;
                InitGrade   = (byte?)wnd.MemberData.Grade;
            }
        }
コード例 #7
0
        public ActionResult Edit(EditMemberViewModel model)
        {
            List <Role> roles = _dataService.GetAllRoles();

            if (ModelState.IsValid)
            {
                Member origMember = _dataService.GetMember(model.Id); //model.ConvertToEntity();
                model.CopyToEntity(origMember);

                if (User.IsInRole(UserRoles.Admin.ToString()))
                {
                    origMember.Roles  = model.MemberRoles.Select(id => roles.FirstOrDefault(cr => cr.Id == id)).ToList();
                    origMember.Status = model.Status;
                }

                _dataService.UpdateMember(origMember);

                return(RedirectToAction("Details", new { id = model.Id }));
            }

            //var errors = from v in ModelState.Values
            //             where v.Errors.Count > 0
            //             select v.Errors;

            model.ClubRoles = roles;
            return(View(ViewNames.EditMember, model));
        }
コード例 #8
0
        public IActionResult EditMember(int id)
        {
            var member = _membersRepository.Get(id);

            if (member != null)
            {
                var model = new EditMemberViewModel
                {
                    Id             = member.Id,
                    Name           = member.Name,
                    Surname        = member.Surname,
                    Patronymic     = member.Patronymic,
                    Contribution   = member.Contribution,
                    DateOfEntry    = member.DateOfEntry,
                    DateOfExit     = member.DateOfExit,
                    IsScholarship  = member.IsScholarship,
                    NumberOfTicket = member.NumberOfTicket,
                    Faculties      = _facultyRepository.GetList()
                };

                model.GroupId    = member.GroupId ?? 0;
                model.GroupTitle = model.GroupId == 0 ? "Група не обрана" : member.Group.Title;

                model.FacultyId = member.FacultyId ?? 0;

                return(View(model));
            }

            return(NotFound());
        }
コード例 #9
0
        /// <summary>
        /// Updates the members information.
        /// </summary>
        /// <param name="viewModel"></param>
        /// <returns></returns>
        public void UpdateMemberInfo(EditMemberViewModel viewModel)
        {
            var member = unitOfWork.MemberRepository.FindMemberById(viewModel.Id);

            MapEditMemberVMToMember(viewModel, member);
            unitOfWork.MemberRepository.Update(member);
        }
コード例 #10
0
        public ActionResult EditMember(int mid)
        {
            EditMemberViewModel model = new EditMemberViewModel();

            model.member     = bll.GetModel(mid);
            model.regintable = bll.GetReginTableListModel(1);
            return(View(model));
        }
コード例 #11
0
        //Edit Member
        public ActionResult EditMember()
        {
            EditMemberViewModel data   = new EditMemberViewModel();
            Members             member = memberService.GetAccount(User.Identity.Name);

            data.account = member.Account;
            data.name    = member.Name;
            data.email   = member.Email;
            data.phone   = member.Phonenumber;
            return(View(data));
        }
コード例 #12
0
 public ActionResult EditMember(EditMemberViewModel member)
 {
     if (ModelState.IsValid)
     {
         memberService.EditMember(member.account, member.name, member.email, member.phone);
         return(RedirectToAction("MemberCenter", "Platform"));
     }
     else
     {
         return(View(member));
     }
 }
コード例 #13
0
        public ActionResult EditMyProfile()
        {
            ProfileCommon profile = HttpContext.Profile as ProfileCommon;

            if (profile == null)
            {
                throw new HttpException(404, "Member not found");
            }

            Member member             = _dataService.GetMember(profile.MemberId);
            EditMemberViewModel model = new EditMemberViewModel(member);

            return(View(model));
        }
コード例 #14
0
        public ActionResult Create(int?loginId)
        {
            EditMemberViewModel viewModel = new EditMemberViewModel();

            viewModel.ClubRoles   = _dataService.GetAllRoles();
            viewModel.Status      = MemberStatus.Pending.ToString();
            viewModel.MemberRoles = new List <int>();
            if (loginId != null)
            {
                Login login = _dataService.GetLoginById((int)loginId);
                viewModel.LoginId  = login.Id;
                viewModel.Username = login.Username;
            }
            return(View(ViewNames.CreateMember, viewModel));
        }
コード例 #15
0
        public async Task <IActionResult> Edit(EditMemberViewModel viewModel)
        {
            if (ModelState.IsValid)
            {
                var membershipType = await _db.MembershipTypes.FindAsync((int)viewModel.MembershipTypeId);

                var model = await _db.Members.FindAsync(viewModel.Id);

                if (model == null)
                {
                    return(RedirectToAction("Index"));
                }

                model.Id             = viewModel.Id;
                model.PersonalNumber = viewModel.PersonalNumber;
                model.FirstName      = viewModel.FirstName;
                model.LastName       = viewModel.LastName;
                model.Address        = viewModel.Address;
                model.PostalCode     = viewModel.PostalCode;
                model.City           = viewModel.City;
                model.Email          = viewModel.Email;
                model.Phone          = viewModel.Phone;
                model.Program        = viewModel.Program;
                // Om förnyelse/öka medlemskapet
                if (viewModel.MembershipTypeId > 0)
                {
                    // Har det tidigare medlemskapet gått ut när man lägger till så ta från dagens datum.
                    // Annars så läggs perioden på det redan aktiva medlemskapet.
                    if (model.ExpireDate < DateTime.Today)
                    {
                        model.ExpireDate = DateTime.Today.AddYears(membershipType.LengthInYears);
                    }
                    else
                    {
                        model.ExpireDate = model.ExpireDate.AddYears(membershipType.LengthInYears);
                    }
                }

                await _db.SaveChangesAsync();

                TempData["Message"] = "Medlem uppdaterad!";
                return(RedirectToAction("Index"));
            }
            viewModel.MembershipTypes = await GetMembershipTypes("Uppdatera medlemskapet med");

            return(View(viewModel));
        }
コード例 #16
0
        public ActionResult Create(EditMemberViewModel model)
        {
            if (ModelState.IsValid)
            {
                Member member = model.ConvertToEntity();
                member.MemberSince = DateTime.Now;

                Login login = null;
                if (model.LoginId == 0)
                {
                    login = _dataService.GetLoginByUsername(model.Username);
                }
                else
                {
                    login = _dataService.GetLoginById(model.LoginId);
                }

                if (login == null)
                {
                    ModelState.AddModelError("Username", String.Format("Username '{0}' can not be found in the database", model.Username));
                    model.ClubRoles = _dataService.GetAllRoles();
                    return(View(ViewNames.CreateMember, model));
                }

                member.LoginId = login.Id;

                if (model.MemberRoles != null && model.MemberRoles.Count > 0)
                {
                    List <Role> allRoles = _dataService.GetAllRoles();
                    member.Roles = new List <Role>();
                    foreach (int roleId in model.MemberRoles)
                    {
                        member.Roles.Add(allRoles.FirstOrDefault(r => r.Id == roleId));
                    }
                }

                member.Status = model.Status;
                _dataService.SaveMember(member);
                return(RedirectToAction("Details", new { id = member.Id }));
            }

            model.MemberRoles = new List <int>();
            model.ClubRoles   = _dataService.GetAllRoles();
            return(View(ViewNames.EditMember, model));
        }
コード例 #17
0
        public async Task <ActionResult> Edit(EditMemberViewModel viewModel)
        {
            if (ModelState.IsValid)
            {
                // All member edits should send change request to CR manager

                // Only send change request if admin or member's deacon
                if (AuthHelper.IsMemberDeacon(User.Identity.Name, viewModel.Id) ||
                    AuthHelper.HasAdminAccess(User.Identity.Name))
                {
                    var ccgMemberSelected = unitOfWork.MemberRepository.FindMemberById(viewModel.Id);

                    // concat ccg name with deacon names
                    _ccgService.SetCCGViewName(ccgMemberSelected.CCG);

                    // user logged in
                    var user = unitOfWork.AppUserRepository.FindUserByEmail(User.Identity.Name);

                    // map edit view model to change request obj.
                    var changeRequest = Mapper.Map <ChangeRequest>(viewModel);
                    changeRequest.CRDate      = DateTime.Now;
                    changeRequest.CcgMemberId = viewModel.CcgMemberId;
                    changeRequest.DeaconId    = user.Id;

                    // store change request in database
                    unitOfWork.ChangeRequestRepository.Add(changeRequest);

                    await SendCRManagersMessageAsync(user.FullName);

                    string title   = "Change Request Sent";
                    string message = "Your change request has been submitted.";
                    NotifyHelper.SendUserNotification(user.UserName, title, message, type: NotificationType.Success);

                    ViewBag.Message = message;
                }
                else
                {
                    return(View("EditDenied"));
                }
            }

            ViewBag.CCGs = new SelectList(unitOfWork.CCGRepository.FindAll(), "Id", "CcgName", viewModel.CcgId);

            return(Redirect(viewModel.ReturnUrl));
        }
コード例 #18
0
 /// <summary>
 /// Maps EditMemberViewModel to CCGMember.
 /// Manual mapping is safer than auto mapping for updates.
 /// </summary>
 /// <param name="viewModel"></param>
 /// <param name="member"></param>
 /// <returns></returns>
 private void MapEditMemberVMToMember(EditMemberViewModel viewModel, CCGMember member)
 {
     member.LastName        = viewModel.LastName;
     member.FirstName       = viewModel.FirstName;
     member.Title           = viewModel.Title;
     member.Suffix          = viewModel.Suffix;
     member.Address         = viewModel.Address;
     member.City            = viewModel.City;
     member.State           = viewModel.State;
     member.ZipCode         = viewModel.ZipCode;
     member.PhoneNumber     = viewModel.PhoneNumber;
     member.CellPhoneNumber = viewModel.CellPhoneNumber;
     member.BirthDate       = viewModel.BirthDate;
     member.EmailAddress    = viewModel.EmailAddress;
     member.DateJoinedZion  = viewModel.DateJoinedZion;
     member.AnniversaryDate = viewModel.AnniversaryDate;
     member.CcgId           = viewModel.CcgId;
     member.IsMemberActive  = viewModel.IsMemberActive;
 }
コード例 #19
0
        public ActionResult Edit(int?id)
        {
            int           memberId = 0;
            ProfileCommon profile  = HttpContext.Profile as ProfileCommon;

            if (profile == null)
            {
                RedirectToAction("LogOn", "Account");
            }

            // make sure member information is edited by self or admin only
            if (id == null)
            {
                memberId = profile.MemberId;
            }
            else
            {
                if (id == profile.MemberId)
                {
                    memberId = profile.MemberId;
                }
                else
                {
                    if (User.IsInRole(FlyingClub.Common.UserRoles.Admin.ToString()))
                    {
                        memberId = (int)id;
                    }
                    else
                    {
                        throw new HttpException(403, "Operation is not authorized.");
                    }
                }
            }

            Member member             = _dataService.GetMember(memberId);
            EditMemberViewModel model = new EditMemberViewModel(member);

            model.ClubRoles   = _dataService.GetAllRoles();
            model.MemberRoles = member.Roles.Select(r => r.Id).ToList();

            return(View(ViewNames.EditMember, model));
        }
コード例 #20
0
        public string Update(EditMemberViewModel input)
        {
            var result = new OperationResult();

            result = _memberService.Update(input);
            if (result.IsSuccessful)
            {
                _memberService.Relogin();
                return("成功");
            }
            else
            {
                Log entity = new Log()
                {
                    //Path = result.WriteLog(HostingEnvironment.MapPath("~/Assets/Log/")),
                    DateTime = result.DateTime
                };
                _logservice.Create(entity);
                return("失敗");
            }
        }
コード例 #21
0
        public IActionResult EditMember(EditMemberViewModel model)
        {
            if (model != null)
            {
                var member = new Member
                {
                    Id             = model.Id,
                    Surname        = model.Surname,
                    Name           = model.Name,
                    Patronymic     = model.Patronymic,
                    DateOfEntry    = model.DateOfEntry,
                    NumberOfTicket = model.NumberOfTicket,
                    IsScholarship  = model.IsScholarship,
                    Contribution   = model.Contribution,
                    FacultyId      = model.FacultyId,
                    GroupId        = model.GroupId
                };

                // If GroupID or FacultyId is '0', need to set value of fields to 'null'.
                // We need to do this, because we get foregign key update error.
                member.GroupId   = model.GroupId == 0 ? null : model.GroupId;
                member.FacultyId = model.FacultyId == 0 ? null : model.FacultyId;

                _membersRepository.Update(member);
            }

            // If group isn't selected.
            if (model.GroupId == 0)
            {
                return(RedirectToAction("index", "home"));
            }
            // If group is selected.
            else
            {
                return(RedirectToAction("members", "groups", new { groupId = model.GroupId }));
            }
        }
コード例 #22
0
ファイル: AdminController.cs プロジェクト: git-martin/yilehao
        public ActionResult EditOnPost(EditMemberViewModel editMember)
        {
            var    result    = new DataJsonResult();
            Member oldMember = null;

            if (!string.IsNullOrWhiteSpace(editMember.MemberId))
            {
                oldMember = _memberService.FindMemberById(editMember.MemberId);
            }

            if (oldMember == null)
            {
                //新建用户
                User user = _memberService.FindUserByName(editMember.UserName);
                if (user == null)
                {
                    var member = new Member
                    {
                        UserName       = editMember.UserName,
                        Email          = editMember.Email,
                        PhoneNumber    = editMember.PhoneNumber,
                        LockoutEnabled = false,
                        NickName       = editMember.NickName,
                        Birthday       = editMember.Birthday,
                        Sex            = editMember.Sex,
                        Province       = editMember.Member_Province,
                        City           = editMember.Member_City,
                        District       = editMember.Member_District,
                        Street         = editMember.Member_Street,
                        Address        = editMember.Address
                    };

                    var identityResult = _memberService.CreateMember(member, editMember.Password);

                    if (!identityResult.Succeeded)
                    {
                        result.ErrorMessage = identityResult.Errors.FirstOrDefault();
                    }
                    else
                    {
                        _storageFileService.AssociateFile(member.Id.ToGuid(), MemberBaseModule.Key, MemberBaseModule.DisplayName, editMember.Avatar.ToGuid(), "Avatar");
                    }
                }
                else
                {
                    result.ErrorMessage = "此用户名的账号已经存在!";
                }
            }
            else
            {
                //编辑用户
                oldMember.Email       = editMember.Email;
                oldMember.PhoneNumber = editMember.PhoneNumber;

                oldMember.NickName = editMember.NickName;
                oldMember.Birthday = editMember.Birthday;
                oldMember.Sex      = editMember.Sex;
                oldMember.Province = editMember.Member_Province;
                oldMember.City     = editMember.Member_City;
                oldMember.District = editMember.Member_District;
                oldMember.Street   = editMember.Member_Street;
                oldMember.Address  = editMember.Address;

                var identityResult = _memberService.UpdateMember(oldMember, editMember.Password, editMember.Password2);
                if (!identityResult.Succeeded)
                {
                    result.ErrorMessage = identityResult.Errors.FirstOrDefault();
                }
                else
                {
                    _storageFileService.ReplaceFile(oldMember.Id.ToGuid(), MemberBaseModule.Key, MemberBaseModule.DisplayName, editMember.Avatar.ToGuid(), "Avatar");
                }
            }

            return(Json(result));
        }