public virtual ActionResult SetFriendNickname(int id) { var me = PlayerProcedures.GetPlayerFromMembership(User.Identity.GetUserId()); var friend = FriendProcedures.GetFriend(id); if (friend.OwnerMembershipId != me.MembershipId && friend.FriendMembershipId != me.MembershipId) { TempData["Error"] = "This player is not a friend with you."; return(RedirectToAction(MVC.PvP.MyFriends())); } var output = new SetFriendNicknameViewModel { Nickname = friend.OwnerMembershipId == me.MembershipId ? friend.OwnerNicknameForFriend : friend.FriendNicknameForOwner, FriendshipId = friend.Id }; return(View(MVC.Settings.Views.SetFriendNickname, output)); }
public virtual ActionResult SetFriendNicknameSend(SetFriendNicknameViewModel input) { var myMembershipId = User.Identity.GetUserId(); if (input.Nickname == null) { input.Nickname = ""; } input.Nickname = input.Nickname.Trim(); // asset the nickname falls within an appropriate range if (input.Nickname.Length == 0) { input.Nickname = "[UNASSIGNED]"; } else if (input.Nickname.Length > PvPStatics.FriendNicknameMaxLength) { TempData["Error"] = $"Friend nicknames must be {PvPStatics.FriendNicknameMaxLength} characters or less."; return(RedirectToAction(MVC.PvP.MyFriends())); } var me = PlayerProcedures.GetPlayerFromMembership(myMembershipId); var friend = FriendProcedures.GetFriend(input.FriendshipId); if (friend.OwnerMembershipId != me.MembershipId && friend.FriendMembershipId != me.MembershipId) { TempData["Error"] = "This player is not a friend with you."; return(RedirectToAction(MVC.PvP.Play())); } // set the nickname based on whether the current player is the owner or the friend if (friend.OwnerMembershipId == me.MembershipId) { TempData["Result"] = FriendProcedures.OwnerSetNicknameOfFriend(friend.Id, input.Nickname); } else if (friend.FriendMembershipId == me.MembershipId) { TempData["Result"] = FriendProcedures.FriendSetNicknameOfOwner(friend.Id, input.Nickname); } return(RedirectToAction(MVC.PvP.MyFriends())); }