Example #1
0
        public ActionResult EditMember(int id, MemberEditModel model)
        {
            Members.EditMember(id, model.Gmail, model.Date, model.Name, model.Surname,
                               Int32.Parse(model.RoleIdString), (int)Enum.Parse(typeof(Enumerations.MemberStatus), model.StatusIdString));

            return(RedirectToAction("Profile", new { id = id }));
        }
Example #2
0
        /// <summary>
        /// Modifies this member.
        /// </summary>
        /// <param name="action">Action to perform on this member.</param>
        /// <returns></returns>
        public async Task ModifyAsync(Action <MemberEditModel> action)
        {
            var mdl = new MemberEditModel();

            action(mdl);

            if (mdl.VoiceChannel.HasValue && mdl.VoiceChannel.Value.Type != ChannelType.Voice)
            {
                throw new ArgumentException("Given channel is not a voice channel.", nameof(mdl.VoiceChannel));
            }

            if (mdl.Nickname.HasValue && this.Discord.CurrentUser.Id == this.Id)
            {
                await this.Discord.ApiClient.ModifyCurrentMemberNicknameAsync(this.Guild.Id, mdl.Nickname.Value,
                                                                              mdl.AuditLogReason).ConfigureAwait(false);

                await this.Discord.ApiClient.ModifyGuildMemberAsync(this.Guild.Id, this.Id, Optional <string> .FromNoValue(),
                                                                    mdl.Roles.IfPresent(e => e.Select(xr => xr.Id)), mdl.Muted, mdl.Deafened,
                                                                    mdl.VoiceChannel.IfPresent(e => e.Id), mdl.AuditLogReason).ConfigureAwait(false);
            }
            else
            {
                await this.Discord.ApiClient.ModifyGuildMemberAsync(this.Guild.Id, this.Id, mdl.Nickname,
                                                                    mdl.Roles.IfPresent(e => e.Select(xr => xr.Id)), mdl.Muted, mdl.Deafened,
                                                                    mdl.VoiceChannel.IfPresent(e => e.Id), mdl.AuditLogReason).ConfigureAwait(false);
            }
        }
        public async Task <IActionResult> Edit()
        {
            AppUser user = await _userManager.FindByNameAsync(User.Identity.Name);

            MemberEditModel member = new MemberEditModel
            {
                FullName = user.FullName,
                UserName = user.UserName,
            };

            return(View(member));
        }
Example #4
0
        public async Task <IActionResult> Edit(int id, [Bind] MemberEditModel member)
        {
            if (id != member.Id)
            {
                return(this.NotFound());
            }

            if (this.ModelState.IsValid)
            {
                await this.service.Edit(member);

                return(this.RedirectToAction(nameof(this.Index)));
            }

            return(this.View(member));
        }
        public async Task <IActionResult> Edit(MemberEditModel member)
        {
            AppUser user = await _userManager.FindByNameAsync(User.Identity.Name);

            if (_userManager.Users.Any(x => x.UserName == member.UserName && x.Id != user.Id))
            {
                ModelState.AddModelError("UserName", "UserName already taken!");
                return(View());
            }

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

            user.UserName = member.UserName;
            user.FullName = member.FullName;


            if (!string.IsNullOrWhiteSpace(member.Password))
            {
                if (string.IsNullOrWhiteSpace(member.CurrentPassword))
                {
                    ModelState.AddModelError("CurrentPassword", "CurrentPassword can not be emtpy");
                    return(View());
                }

                var result = await _userManager.ChangePasswordAsync(user, member.CurrentPassword, member.Password);

                if (!result.Succeeded)
                {
                    foreach (var item in result.Errors)
                    {
                        ModelState.AddModelError("", item.Description);
                    }

                    return(View());
                }
            }
            await _userManager.UpdateAsync(user);

            await _signInManager.SignInAsync(user, true);

            return(RedirectToAction("index", "home"));
        }
Example #6
0
        public async Task <IActionResult> Edit(int?memberId)
        {
            if (memberId != null)
            {
                MemberEditModel model = new MemberEditModel()
                {
                    MemberLanguages = await _context.MemberLanguages
                                      .Where(ml => ml.MemberId == memberId)
                                      .Include(s => s.Member)
                                      .ToListAsync(),
                    Languages = await _context.Languages.ToListAsync()
                };

                return(View(model));
            }
            else
            {
                return(RedirectToAction(nameof(Index)));
            }
        }
Example #7
0
        public ActionResult EditMember(MemberEditModel member)
        {
            var helper = new HelperFunctions(HttpContext);

            if (!helper.CheckValidSession())
            {
                return(RedirectToAction("Unauthorized", "Home"));
            }

            if (!helper.IsAdmin())
            {
                return(RedirectToAction("Forbidden", "Home"));
            }

            try
            {
                var memToEdit = new Member
                {
                    ID             = member.ID,
                    UserName       = member.UserName,
                    RSIHandle      = member.RSIHandle,
                    OrganizationID = member.OrganizationID,
                    RankID         = member.RankID,
                    UserType       = member.UserType,
                    IsActive       = member.IsActive
                };

                var result = peopleRestClient.EditMember(HttpContext, memToEdit);

                this.AddToastMessage(result);

                return(RedirectToAction("EditMember", "Admin", new { memberID = member.ID }));
            }
            catch
            {
                return(View());
            }
        }
Example #8
0
        public ActionResult CreateMember(int?organizationID, MemberEditModel member)
        {
            var helper = new HelperFunctions(HttpContext);

            if (!helper.CheckValidSession())
            {
                return(RedirectToAction("Unauthorized", "Home"));
            }

            if (!helper.IsAdmin())
            {
                return(RedirectToAction("Forbidden", "Home"));
            }

            try
            {
                var memToCreate = new Member
                {
                    UserName       = member.UserName,
                    RSIHandle      = member.RSIHandle,
                    OrganizationID = organizationID ?? default(int),
                    RankID         = member.RankID,
                    UserType       = member.UserType,
                    IsActive       = member.IsActive
                };

                var result = peopleRestClient.CreateMember(HttpContext, memToCreate);

                this.AddToastMessage(result);

                return(RedirectToAction("OrgMembers", "Admin", new { id = organizationID }));
            }
            catch
            {
                return(View());
            }
        }
Example #9
0
        /// <summary>
        /// Modifies this member.
        /// </summary>
        /// <param name="action">Action to perform on this member.</param>
        /// <returns></returns>
        public async Task ModifyAsync(Action <MemberEditModel> action)
        {
            var mdl = new MemberEditModel();

            action(mdl);

            if (mdl.VoiceChannel != null && mdl.VoiceChannel.Type != ChannelType.Voice)
            {
                throw new ArgumentException("Given channel is not a voice channel.", nameof(mdl.VoiceChannel));
            }

            if (mdl.Nickname != null && this.Discord.CurrentUser.Id == this.Id)
            {
                await this.Discord.ApiClient.ModifyCurrentMemberNicknameAsync(this.Guild.Id, mdl.Nickname, mdl.AuditLogReason).ConfigureAwait(false);

                await this.Discord.ApiClient.ModifyGuildMemberAsync(this.Guild.Id, this.Id, null, mdl.Roles != null?mdl.Roles.Select(xr => xr.Id) : null,
                                                                    mdl.Muted, mdl.Deafened, mdl.VoiceChannel?.Id, mdl.AuditLogReason).ConfigureAwait(false);
            }
            else
            {
                await this.Discord.ApiClient.ModifyGuildMemberAsync(this.Guild.Id, this.Id, mdl.Nickname, mdl.Roles != null?mdl.Roles.Select(xr => xr.Id) : null,
                                                                    mdl.Muted, mdl.Deafened, mdl.VoiceChannel?.Id, mdl.AuditLogReason).ConfigureAwait(false);
            }
        }
Example #10
0
        public ActionResult CreateMember(int organizationID)
        {
            var helper = new HelperFunctions(HttpContext);

            if (!helper.CheckValidSession())
            {
                return(RedirectToAction("Unauthorized", "Home"));
            }

            if (!helper.IsAdmin())
            {
                return(RedirectToAction("Forbidden", "Home"));
            }

            //RANKS SELECT LIST
            var ranks = peopleRestClient.ListRanks(HttpContext);
            var model = new MemberEditModel
            {
                OrganizationID = organizationID,
                Ranks          = new List <SelectListItem>(),
                UserTypes      = new List <SelectListItem>()
            };

            //Populate Default for SelectList
            model.Ranks.Add(new SelectListItem
            {
                Value    = "",
                Text     = "-- Select a Rank --",
                Selected = true
            });

            foreach (var rank in ranks)
            {
                model.Ranks.Add(new SelectListItem
                {
                    Value = rank.RankID.ToString(),
                    Text  = "[" + rank.PayGradeDisplayName + "] " + rank.RankName
                });
            }

            //USERTYPE SELECT LIST
            model.UserTypes.Add(new SelectListItem
            {
                Value    = "",
                Text     = "-- Select a Type --",
                Selected = true
            });
            model.UserTypes.Add(new SelectListItem
            {
                Value = "Admin",
                Text  = "Admin"
            });
            model.UserTypes.Add(new SelectListItem
            {
                Value = "Officer",
                Text  = "Officer"
            });
            model.UserTypes.Add(new SelectListItem
            {
                Value = "Member",
                Text  = "Member"
            });

            return(View(model));
        }
Example #11
0
        public ActionResult EditMember(int memberID)
        {
            var helper = new HelperFunctions(HttpContext);

            if (!helper.CheckValidSession())
            {
                return(RedirectToAction("Unauthorized", "Home"));
            }

            if (!helper.IsAdmin())
            {
                return(RedirectToAction("Forbidden", "Home"));
            }

            var member = peopleRestClient.GetMemberByID(HttpContext, memberID);

            if (member == null)
            {
                throw new Exception("Unable to retrive Member for Edit");
            }

            var model = new MemberEditModel
            {
                ID             = member.ID,
                UserName       = member.UserName,
                RSIHandle      = member.RSIHandle,
                OrganizationID = member.OrganizationID,
                UserType       = member.UserType,
                IsActive       = member.IsActive,
                RankID         = member.RankID,
                Ranks          = new List <SelectListItem>(),
                UserTypes      = new List <SelectListItem>()
            };

            //RANKS SELECT LIST
            var ranks = peopleRestClient.ListRanks(HttpContext);

            //Populate Default for SelectList
            model.Ranks.Add(new SelectListItem
            {
                Value = "",
                Text  = "-- Select a Rank --"
            });

            foreach (var rank in ranks)
            {
                model.Ranks.Add(new SelectListItem
                {
                    Value = rank.RankID.ToString(),
                    Text  = "[" + rank.PayGradeDisplayName + "] " + rank.RankName
                });
            }

            //Set Current value for RankID as Selected
            model.Ranks.Where(a => a.Value == model.RankID.ToString()).FirstOrDefault().Selected = true;

            //USERTYPE SELECT LIST
            model.UserTypes.Add(new SelectListItem
            {
                Value = "",
                Text  = "-- Select a Type --"
            });
            model.UserTypes.Add(new SelectListItem
            {
                Value = "Admin",
                Text  = "Admin"
            });
            model.UserTypes.Add(new SelectListItem
            {
                Value = "Officer",
                Text  = "Officer"
            });
            model.UserTypes.Add(new SelectListItem
            {
                Value = "Member",
                Text  = "Member"
            });

            model.UserTypes.Where(a => a.Value == model.UserType).FirstOrDefault().Selected = true;

            return(View(model));
        }