private void ChangeGameWhenLinkAccounts(string user, string linkUser) { try { using (Agot2p6Entities dbContext = new Agot2p6Entities()) { dbContext.Game.Where(p => p.CreatorLogin == linkUser).ToList().ForEach(p => p.CreatorLogin = user); dbContext.GameUser.Where(p => p.Login == linkUser).ToList().ForEach(p => p.Login = user); dbContext.SaveChanges(); } } catch (Exception exp) { GameException.NewGameException(null, $"func=ChangeGameWhenLinkAccounts, user={user}, linkUser={linkUser}.", exp, false); } }
public void UpdateGamePoint(string clientVersion, string login, WCFGamePoint newPoint) { try { if (string.IsNullOrWhiteSpace(login) || newPoint == null) { throw new Exception("Некоректные данные"); } #if !DEBUG //проверка версии клиента if (!string.IsNullOrEmpty(_UpdaterService.ClientVersion) && clientVersion != _UpdaterService.ClientVersion) { throw new Exception($"Неверная версия клиента: login={login}."); } #endif using (GamePortalEntities gamePortal = new GamePortalEntities()) { User gpUser = gamePortal.Users.FirstOrDefault(p => p.Login == login); if (gpUser == null || !gpUser.Titles.Any(p => p.Name == "dynamic_title1*titleType_Создатель")) { throw new Exception("Доступ запрещён id" + gpUser?.Login); } } using (Agot2p6Entities dbContext = new Agot2p6Entities()) { GamePoint curPoint = dbContext.GamePoint.FirstOrDefault(p => p.Id == newPoint.Id); if (curPoint == null) { throw new Exception("Неизвестная точка"); } curPoint.X = newPoint.X; curPoint.Y = newPoint.Y; dbContext.SaveChanges(); } } catch (Exception exp) { GameException.NewGameException(null, "Не удалось изменить точку:", exp, false); } }
public void SendException(WCFGameException wcfGameException) { try { if (wcfGameException == null) { return; } using (Agot2p6Entities dbContext = new Agot2p6Entities()) { dbContext.GameException.Add(wcfGameException.ToGameException()); dbContext.SaveChanges(); } } catch (Exception exp) { } }
private WCFGame CreateGame(WCFGameSettings gameSettings, string gamePassword) { using (Agot2p6Entities dbContext = new Agot2p6Entities()) { //игра образец GameTypeItem gametype = GameHost.GameTypes.Single(p => p.Id == gameSettings.GameType); Game ownerGame = dbContext.Game.Single(p => p.Id == gametype.GameId); ownerGame.DbContext = dbContext; //копируем Game game = ownerGame.CopyGame(); game.Type = ownerGame.Type; game.CreatorLogin = gameSettings.CreatorLogin; game.Name = gameSettings.Name; game.Password = gamePassword; //настраиваем game.MindRate = gameSettings.RateSettings.MindRate; game.HonorRate = gameSettings.RateSettings.HonorRate; game.LikeRate = gameSettings.RateSettings.LikeRate; game.DurationRate = gameSettings.RateSettings.DurationRate; game.RandomIndex = gameSettings.RandomIndex; game.IsRandomSkull = gameSettings.IsRandomSkull; game.MaxTime = gameSettings.MaxTime; game.AddTime = gameSettings.AddTime; game.Lang = gameSettings.Lang; game.WithoutChange = gameSettings.WithoutChange; game.IsGarrisonUp = gameSettings.IsGarrisonUp; game.NoTimer = gameSettings.NoTimer; //добавляем dbContext.Game.Add(game); dbContext.SaveChanges(); return(game.ToWCFGame()); } }