示例#1
0
        public async Task <int> AddFormation(FormationDto formationDto)
        {
            DBContext.Formations.Add(formationDto);
            await DBContext.SaveChangesAsync();

            return(formationDto.id);
        }
示例#2
0
        public async Task DeleteFormation(int id)
        {
            await DeleteAllPlayerPositions(id);

            FormationDto formationDto = await GetFormation(id);

            DBContext.Formations.Remove(formationDto);
            await DBContext.SaveChangesAsync();
        }
示例#3
0
 public static Formation ToEntity(this FormationDto formation)
 {
     return(formation == null ? null : Mapper.Map <Formation>(formation));
 }
示例#4
0
        public async Task CreateService()
        {
            var options = new DbContextOptionsBuilder <LineupDbContext>()
                          .UseInMemoryDatabase(databaseName: "LineupTestDb")
                          .EnableSensitiveDataLogging()
                          .UseQueryTrackingBehavior(QueryTrackingBehavior.NoTracking)
                          .Options;

            var dbContext = new LineupDbContext(options);

            if (await dbContext.Formations.CountAsync() <= 0)
            {
                //FORMATION 1
                FormationDto formation1 = new FormationDto()
                {
                    id     = 1,
                    Name   = "Test-1",
                    TeamId = 1
                };
                dbContext.Formations.Add(formation1);
                for (int i = 1; i < 11; i++)
                {
                    PlayerPositionDto pp = new PlayerPositionDto()
                    {
                        FormationId = formation1.id,
                        PlayerId    = i,
                        id          = i,
                        position    = (Position)i
                    };
                    dbContext.PlayerPositions.Add(pp);
                }

                //FORMATION 2
                FormationDto formation2 = new FormationDto()
                {
                    id     = 2,
                    Name   = "Test-2",
                    TeamId = 1
                };
                dbContext.Formations.Add(formation2);
                for (int i = 1; i < 11; i++)
                {
                    PlayerPositionDto pp = new PlayerPositionDto()
                    {
                        FormationId = formation2.id,
                        PlayerId    = i,
                        id          = i + 11,
                        position    = (Position)i
                    };
                    dbContext.PlayerPositions.Add(pp);
                }

                //FORMATION 3
                FormationDto formation3 = new FormationDto()
                {
                    id     = 3,
                    Name   = "Test-3",
                    TeamId = 1
                };
                dbContext.Formations.Add(formation3);
                for (int i = 1; i < 11; i++)
                {
                    PlayerPositionDto pp = new PlayerPositionDto()
                    {
                        FormationId = formation3.id,
                        PlayerId    = i,
                        id          = i + 22,
                        position    = (Position)i
                    };
                    dbContext.PlayerPositions.Add(pp);
                }

                await dbContext.SaveChangesAsync();
            }
            var formationRepository = new FormationRepository(dbContext);

            _formationService = new FormationService(formationRepository);
        }
示例#5
0
 public async Task EditFormation(FormationDto formationDto)
 {
     DBContext.Formations.Update(formationDto);
     await DBContext.SaveChangesAsync();
 }
示例#6
0
        public async Task <Formation> GetFormation(int id)
        {
            FormationDto formationDto = await _formationRepository.GetFormation(id);

            return(formationDto.ToEntity());
        }