private void AddGame(ACSSAuth.Server.Data.GameDataset gameData, int gameID) { ACSSAuth.Server.Data.GameDataset.GameRow gameRow = gameData.Game.NewGameRow(); gameRow.AllowDefections = true; gameRow.AllowDevelopments = true; gameRow.AllowShipyards = true; gameRow.Conquest = true; gameRow.CoreFile = "CC 1.0.8 - Test"; gameRow.DeathMatch = false; gameRow.DeathmatchGoal = 0; gameRow.EndTime = DateTime.Now; gameRow.FriendlyFire = false; gameRow.GameID = gameID; gameRow.GameName = "Test Game Name"; gameRow.InvulnerableStations = false; gameRow.MapName = "HiHigher"; gameRow.MaxImbalance = 0; gameRow.Resources = 2; gameRow.RevealMap = false; gameRow.SquadGame = false; gameRow.StartingMoney = 1.25F; gameRow.StartTime = DateTime.Now.AddHours(-1); gameRow.StatsCount = true; gameRow.TotalMoney = 1.0F; gameData.Game.AddGameRow(gameRow); }
private void SaveGameEvents(ACSSAuth.DataAccess.CSSDataContext db, DataAccess.CSSStatsDataContext statsDB, ACSSAuth.Server.Data.GameDataset.GameRow gameRow, int gameIdentID) { foreach (Data.GameDataset.GameEventRow gameEventRow in gameRow.GetGameEventRows()) { int performerLoginID = 0; int targetLoginID = 0; try { var performerAlias = DataAccess.Alias.GetAliasByCallsign(db, gameEventRow.PerformerName); if (performerAlias != null) { performerLoginID = performerAlias.Login.Id; } var targetAlias = DataAccess.Alias.GetAliasByCallsign(db, gameEventRow.TargetName); if (targetAlias != null) { targetLoginID = targetAlias.Login.Id; } DataAccess.GameEvent gameEvent = new DataAccess.GameEvent() { GameEventTime = gameEventRow.EventTime, GameID = gameIdentID, GameEventIndirectID = gameEventRow.IndirectID, GameEventIndirectName = TrimString(DataAccess.Alias.GetCallsignFromStringWithTokensAndTags(db, gameEventRow.IndirectName), 254), GameEventPerformerID = gameEventRow.PerformerID, GameEventPerformerName = TrimString(DataAccess.Alias.GetCallsignFromStringWithTokensAndTags(db, gameEventRow.PerformerName), 254), GameEventPerformerLoginID = performerLoginID, GameEventTargetID = gameEventRow.TargetID, GameEventTargetName = TrimString(DataAccess.Alias.GetCallsignFromStringWithTokensAndTags(db, gameEventRow.TargetName), 254), GameEventTargetLoginID = targetLoginID, EventID = gameEventRow.EventID }; statsDB.GameEvents.InsertOnSubmit(gameEvent); statsDB.SubmitChanges(); } catch (Exception ex) { string errorDetails = String.Format(@"SaveGameEvents(): Insert error! gameIdentID = {0}, gameEventRow.EventID = {1}, gameEventRow.EventTime = {2}, gameEventRow.GameID = {3}, gameEventRow.IndirectID = {4}, gameEventRow.IndirectName = {5}, gameEventRow.PerformerID = {6}, gameEventRow.PerformerName = {7}, gameEventRow.TargetID = {8}, gameEventRow.TargetName = {9}, performerLoginID = {10}, targetLoginID = {11}, DataAccess.Alias.GetCallsignFromStringWithTokensAndTags(db, gameEventRow.IndirectName) = {12}, DataAccess.Alias.GetCallsignFromStringWithTokensAndTags(db, gameEventRow.PerformerName) = {13}, DataAccess.Alias.GetCallsignFromStringWithTokensAndTags(db, gameEventRow.TargetName) = {14} =================================================== {15} ", gameIdentID, gameEventRow.EventID, gameEventRow.EventTime, gameEventRow.GameID, gameEventRow.IndirectID, gameEventRow.IndirectName, gameEventRow.PerformerID, gameEventRow.PerformerName, gameEventRow.TargetID, gameEventRow.TargetName, performerLoginID, targetLoginID, DataAccess.Alias.GetCallsignFromStringWithTokensAndTags(db, gameEventRow.IndirectName), DataAccess.Alias.GetCallsignFromStringWithTokensAndTags(db, gameEventRow.PerformerName), DataAccess.Alias.GetCallsignFromStringWithTokensAndTags(db, gameEventRow.TargetName), ex.ToString()); if (String.IsNullOrEmpty(Settings.Default.TagExceptionLogFileName) == false) { File.AppendAllText(Settings.Default.TagExceptionLogFileName, DateTime.Now.ToString() + ": " + errorDetails + "\n\n\n"); } } } }
private void SaveTeams(ACSSAuth.DataAccess.CSSDataContext db, DataAccess.CSSStatsDataContext statsDB, ACSSAuth.Server.Data.GameDataset.GameRow gameRow, int gameIdentID) { foreach (Data.GameDataset.TeamRow teamRow in gameRow.GetTeamRows()) { var commanderAlias = DataAccess.Alias.GetAliasByCallsign(db, teamRow.Commander); int commanderLoginID = 0; if (commanderAlias != null) { commanderLoginID = commanderAlias.Login.Id; } DataAccess.GameTeam team = new ACSSAuth.DataAccess.GameTeam() { GameID = gameIdentID, GameTeamCommander = TrimString(teamRow.Commander, 49), GameTeamCommanderLoginID = commanderLoginID, GameTeamExpansion = teamRow.ResearchedExpansion, GameTeamFaction = teamRow.Faction, GameTeamID = teamRow.TeamID, GameTeamName = TrimString(teamRow.TeamName, 49), GameTeamNumber = teamRow.TeamNumber, GameTeamShipyard = teamRow.ResearchedShipyard, GameTeamStarbase = teamRow.ResearchedStarbase, GameTeamSupremacy = teamRow.ResearchedSupremacy, GameTeamTactical = teamRow.ResearchedTactical, GameTeamWinner = teamRow.Won }; statsDB.GameTeams.InsertOnSubmit(team); statsDB.SubmitChanges(); foreach (Data.GameDataset.TeamMemberRow teamMemberRow in teamRow.GetTeamMemberRows()) { var teamMemberAlias = DataAccess.Alias.GetAliasByCallsign(db, teamMemberRow.Callsign); int loginID = 0; if (teamMemberAlias != null) { loginID = teamMemberAlias.Login.Id; } DataAccess.GameTeamMember teamMember = new ACSSAuth.DataAccess.GameTeamMember() { GameTeamID = team.GameTeamIdentID, GameTeamMemberCallsign = TrimString(DataAccess.Alias.GetCallsignFromStringWithTokensAndTags(db, teamMemberRow.Callsign), 49), GameTeamMemberDuration = teamMemberRow.Duration, GameTeamMemberLoginID = loginID }; statsDB.GameTeamMembers.InsertOnSubmit(teamMember); } statsDB.SubmitChanges(); } }
private void SaveChatLog(ACSSAuth.DataAccess.CSSDataContext db, DataAccess.CSSStatsDataContext statsDB, ACSSAuth.Server.Data.GameDataset.GameRow gameRow, int gameIdentID) { foreach (Data.GameDataset.ChatLogRow chatLogRow in gameRow.GetChatLogRows()) { DataAccess.GameChatLog chatLog = new ACSSAuth.DataAccess.GameChatLog() { GameChatSpeakerName = TrimString(DataAccess.Alias.GetCallsignFromStringWithTokensAndTags(db, chatLogRow.SpeakerName), 49), GameChatTargetName = TrimString(DataAccess.Alias.GetCallsignFromStringWithTokensAndTags(db, chatLogRow.TargetName), 49), GameChatText = TrimString(chatLogRow.Text, 2063), GameChatTime = chatLogRow.ChatTime, GameID = gameIdentID }; statsDB.GameChatLogs.InsertOnSubmit(chatLog); } }