Esempio n. 1
0
 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);
     }
 }
Esempio n. 2
0
        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);
            }
        }
Esempio n. 3
0
        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)
            {
            }
        }
Esempio n. 4
0
        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());
            }
        }