Esempio n. 1
0
        public async Task <Helper> LoadAsync(string name)
        {
            try
            {
                DbGame game = await context.Games.Include(g => g.Fields).SingleAsync(g => g.Name == name);

                Helper helper = new Helper();
                helper.canAttack          = game.CanAttack;
                helper.curPlayer          = game.CurPlayer;
                helper.player1FigureCount = game.Player1FigureCount;
                helper.player2FigureCount = game.Player2FigureCount;
                helper.table = new Table();
                for (int i = 0; i < 7; i++)
                {
                    for (int j = 0; j < 7; j++)
                    {
                        foreach (DbField field in game.Fields)
                        {
                            if (field.Row == i && field.Col == j)
                            {
                                helper.table.table[i, j].value = field.Value;
                            }
                        }
                    }
                }
                return(helper);
            }
            catch
            {
                throw new AccesException();
            }
        }
Esempio n. 2
0
        public async Task SaveAsync(string name, Helper helper)
        {
            try
            {
                DbGame overwriteGame = await context.Games.Include(g => g.Fields).SingleOrDefaultAsync(g => g.Name == name);

                if (overwriteGame != null)
                {
                    context.Games.Remove(overwriteGame);
                }
                DbGame game = new DbGame
                {
                    Name               = name,
                    CurPlayer          = helper.curPlayer,
                    Player1FigureCount = helper.player1FigureCount,
                    Player2FigureCount = helper.player2FigureCount,
                    CanAttack          = helper.canAttack,
                    Time               = DateTime.Now
                };
                for (int i = 0; i < 7; i++)
                {
                    for (int j = 0; j < 7; j++)
                    {
                        DbField field = new DbField
                        {
                            Row   = i,
                            Col   = j,
                            Value = helper.table.table[i, j].value
                        };
                        game.Fields.Add(field);
                    }
                }
                context.Games.Add(game);
                await context.SaveChangesAsync();
            }
            catch
            {
                throw new AccesException();
            }
        }