public ActionResult JoinGuild(JoinGuildVM model) { if (ModelState.IsValid) { var result = _authUserCharacterGuildApplicationRepository.Create( new AuthUserCharacterGuildApplication() { GuildId = model.GuildId, Message = model.Message, AuthUserCharacterId = model.AuthUserCharacterId }); if (result.Success) { return(RedirectToAction("Index")); } ModelState.AddModelError("", result.Message); } model.Guilds = _guildRepository.GetGuilds(model.ShardId, true); return(View(model)); }
public ActionResult JoinGuild(int?id, int?sid) { string email = User.Identity.GetUserId(); #region Logout and redirect if the logged in user is invalid if (_authRepository.GetUserAccount(email) == null) { HttpContext.GetOwinContext().Authentication.SignOut(); return(RedirectToAction("Index", "Home")); } #endregion // Check if either ID are null if (id == null || sid == null) { return(RedirectToAction("Index")); } // Check if the shard ID is valid if (_shardRepository.Get((int)sid) == null) { return(RedirectToAction("Index")); } // Check if the logged in user can join a guild as this character (do they own it?) if (!_authUserCharRepository.CanJoinAGuild(email, (int)id)) { return(RedirectToAction("Index")); } var model = new JoinGuildVM((int)id, (int)sid) { Guilds = _guildRepository.GetGuilds((int)sid, true) }; return(View(model)); }