private int UpdateDbUser(string username) { try { using (SBEntities dc = new SBEntities()) { User u; u = dc.Users.Where(w => w.Username == TextBoxLogin.Text.Trim()).FirstOrDefault(); if (u == null) { u = new User(); u.Username = username; u.DateCreated = DateTime.UtcNow; dc.Users.Add(u); } u.LastLogin = DateTime.UtcNow; dc.SaveChanges(); return(u.UserKey); } } catch (Exception ex) { throw new Exception("There was a failure contacting the ShackBattles database.<br/><br/>" + ex.Message); } }
public ApiResult JoinBattle(JObject data) { dynamic json = data; int UserKey = (int)json.userKey; String battleGUID = json.battleGUID; bool joinBattle = (bool)json.joinBattle; try { using (SBEntities db = new SBEntities()) { int battleKey = db.Battles.Where(w => w.BattleGUID == battleGUID).FirstOrDefault().BattleKey; UserBattle ub = db.UserBattles.Where(w => w.BattleKey == battleKey && w.UsersKey == UserKey).FirstOrDefault(); if (joinBattle && ub == null) { ub = new UserBattle(); ub.BattleKey = battleKey; ub.UsersKey = UserKey; db.UserBattles.Add(ub); db.SaveChanges(); return(new ApiResult(true, string.Empty, "User added to battle " + battleGUID)); } else if (!joinBattle && ub != null) { db.UserBattles.Remove(ub); db.SaveChanges(); return(new ApiResult(true, string.Empty, "User removed from battle " + battleGUID)); } } } catch (Exception ex) { return(new ApiResult(false, string.Empty, ex.Message)); } return(new ApiResult(false, string.Empty, "No changes where made.")); }
public static void DeleteShackBattle(string battleGUID) { using (SBEntities db = new SBEntities()) { Battle b = db.Battles.Where(w => w.BattleGUID == battleGUID).FirstOrDefault(); if (b != null) { b.Deleted = true; db.SaveChanges(); User u = db.Users.Where(w => w.UserKey == b.CreatorKey).FirstOrDefault(); StringBuilder sb = new StringBuilder(); sb.AppendLine("Your ShackBattle titled " + b.Title + " was deleted succesfully."); ShackNewsHelper.SendShackMessage(u.Username, "Your ShackBattle was Deleted", sb.ToString()); } } }
protected void ButtonSubmit_Click(object sender, EventArgs e) { using (SBEntities db = new SBEntities()) { UserSession uc = Helper.GetUserSession(); User u = db.GetUser(uc.userKey); u.GamerTag = TextBoxGamerTag.Text.Trim(); u.PSNID = TextBoxPSN.Text.Trim(); u.NintendoAccount = TextBoxNintendo.Text.Trim(); u.BattleNet = TextBoxBattleNet.Text.Trim(); u.SteamAccount = TextBoxSteam.Text.Trim(); u.OriginAccount = TextBoxOrigin.Text.Trim(); u.Bio = TextBoxBio.Text.Trim(); db.SaveChanges(); } }
protected void AddGame_Command(object sender, CommandEventArgs e) { int gameID = int.Parse(e.CommandArgument.ToString()); using (SBEntities db = new SBEntities()) { Game g = db.Games.Where(w => w.GamesDbId == gameID).FirstOrDefault(); if (g != null) { // show error SetError("This game is already in the system."); return; } else { g = new Game(); } // if not call and get game details string search = "http://thegamesdb.net/api/GetGame.php?id=" + gameID.ToString(); MemoryStream stream = new MemoryStream(); XmlTextWriter writer = new XmlTextWriter(stream, Encoding.UTF8); XmlDocument doc = new XmlDocument(); doc.Load(search); List <GameDBGamesListResult> searchResults = new List <GameDBGamesListResult>(); XmlNode games = doc.SelectSingleNode("Data/Game"); g.GameSystemKey = int.Parse(DropDownListSystem.SelectedValue); g.GameName = games.SelectSingleNode("GameTitle").InnerText; string boxArtPath = ""; try { g.OverView = games.SelectSingleNode("Overview").InnerText; } catch { g.OverView = ""; } g.GamesDbId = int.Parse(games.SelectSingleNode("id").InnerText); try { g.ReleaseDate = DateTime.Parse(games.SelectSingleNode("ReleaseDate").InnerText); } catch { g.ReleaseDate = null; } try { XmlNode images = games.SelectSingleNode("Images/boxart[@side='front']"); g.CoverImage = Path.GetFileName(images.InnerText); boxArtPath = images.InnerText; } catch { g.CoverImage = "missing.jpg"; } db.Games.Add(g); db.SaveChanges(); try { // download and store cover if (!string.IsNullOrEmpty(g.CoverImage) && !string.IsNullOrEmpty(boxArtPath) && g.CoverImage != "missing.jpg") { using (WebClient wc = new WebClient()) { string imageUrl = "http://thegamesdb.net/banners/" + boxArtPath; wc.DownloadFile(imageUrl, Server.MapPath("~") + "images/boxart/" + Path.GetFileName(imageUrl)); try { Helper.ResizeImage(Server.MapPath("~") + "images/boxart/" + Path.GetFileName(imageUrl), Server.MapPath("~") + "images/boxart/" + Path.GetFileName(imageUrl), 300, 423, false); } catch { } } } } catch { // image grab failed g.CoverImage = "missing.jpg"; db.SaveChanges(); } // done PanelMain.Visible = false; PanelDone.Visible = true; } }
public Battle SaveBattle([FromBody] JObject data) { using (SBEntities db = new SBEntities()) { dynamic json = data; try { string battleGUID = (string)json["BattleGUID"]; // this should handle DST TimeZoneInfo est = TimeZoneInfo.FindSystemTimeZoneById("Eastern Standard Time"); DateTime battleDate = TimeZoneInfo.ConvertTimeToUtc(DateTime.Parse((string)json["BattleDate"]), est); Battle b; bool newBattle = false; if (!string.IsNullOrEmpty(battleGUID)) { b = db.Battles.Where(w => w.BattleGUID == battleGUID).FirstOrDefault(); } else { newBattle = true; b = new Battle(); b.BattleGUID = Guid.NewGuid().ToString(); b.DateCreated = DateTime.UtcNow; b.Deleted = false; db.Battles.Add(b); } b.GameKey = (int)json["GameKey"]; b.Title = (string)json["Title"]; b.BattleDate = battleDate; b.Details = (string)json["Details"]; b.CreatorKey = (int)json["CreatorKey"]; db.SaveChanges(); // The user is added to their own battle if (newBattle) { UserBattle ub = db.UserBattles.Where(w => w.UsersKey == b.CreatorKey && w.BattleKey == b.BattleKey).FirstOrDefault(); if (ub == null) { ub = new UserBattle(); ub.UsersKey = b.CreatorKey; ub.BattleKey = b.BattleKey; db.UserBattles.Add(ub); db.SaveChanges(); } try { User u = db.Users.Where(w => w.UserKey == b.CreatorKey).FirstOrDefault(); if (u != null) { ShackNewsHelper.SendBattleCreation(u.Username, b.BattleKey); } } catch { } } return(b); } catch (Exception) { // TODO: handle } return(null); } }