예제 #1
0
        public void AddGameHuntPlan(GameHuntPlanViewModel model, int marketingYearId)
        {
            IList <GameDto> games = _gameDao.GetByKindName(model.GameKindName);

            if (!String.IsNullOrWhiteSpace(model.GameSubKindName))
            {
                games = games.Where(x => x.SubKindName == model.GameSubKindName).ToList();
            }

            int gameId = games.Select(x => x.Id).FirstOrDefault();
            IList <GameHuntPlanDto> existingHuntPlanDto = _gameHuntPlanDao.GetByMarketingYear(marketingYearId);

            if (existingHuntPlanDto.Any(x => x.GameId == gameId && x.Class == model.Class))
            {
                throw new Exception($"Plan pozyskania zwierzyny {model.GameKindName} - {model.GameSubKindName} - {model.ClassName} już istnieje! Proszę użyć opcji edycji istniejącego już planu.");
            }

            var dto = new GameHuntPlanDto
            {
                GameId          = gameId,
                Class           = model.Class,
                Cull            = model.Cull,
                Catch           = model.Catch,
                MarketingYearId = marketingYearId
            };

            _gameHuntPlanDao.Insert(dto);
        }
예제 #2
0
        private MonthlyReportClassGameModel GetClassMonthlyReportModel(GameHuntPlanDto classHuntPlanDto)
        {
            var monthlyReportClassGameModel = new MonthlyReportClassGameModel
            {
                Class     = classHuntPlanDto.Class,
                ClassName = GameClassXRefs.FirstOrDefault(x => x.Id == classHuntPlanDto.Class).ClassName
            };

            monthlyReportClassGameModel = SetPlans(monthlyReportClassGameModel, new List <int> {
                classHuntPlanDto.GameId
            }, classHuntPlanDto.Class);

            return(monthlyReportClassGameModel);
        }
예제 #3
0
        public void UpdateGameHuntPlan(GameHuntPlanViewModel model, int marketingYearId)
        {
            var dto = new GameHuntPlanDto
            {
                Id              = model.Id,
                GameId          = model.GameId,
                Class           = model.Class,
                Cull            = model.Cull,
                Catch           = model.Catch,
                MarketingYearId = marketingYearId
            };

            _gameHuntPlanDao.Update(dto);
        }
예제 #4
0
        private AnnualPlanClassGameModel GetClassAnnualPlanModel(GameHuntPlanDto classHuntPlanDto)
        {
            var annualPlanClassGameModel = new AnnualPlanClassGameModel
            {
                Class     = classHuntPlanDto.Class,
                ClassName = GameClassXRefs.FirstOrDefault(x => x.Id == classHuntPlanDto.Class).ClassName
            };

            annualPlanClassGameModel = SetPlans(annualPlanClassGameModel, new List <int> {
                classHuntPlanDto.GameId
            }, classHuntPlanDto.Class);

            return(annualPlanClassGameModel);
        }
예제 #5
0
        public void Insert(GameHuntPlanDto dto)
        {
            var entity = new Entities.GameHuntPlan
            {
                GameId          = dto.GameId,
                Class           = dto.Class,
                Cull            = dto.Cull,
                Catch           = dto.Catch,
                MarketingYearId = dto.MarketingYearId
            };

            using (var db = new DbContext())
            {
                db.GameHuntPlan.Add(entity);
                db.SaveChanges();
            }
        }
예제 #6
0
        private IList <GameHuntPlanDto> ToDtos(IList <Entities.GameHuntPlan> entityList)
        {
            var dtos = new List <GameHuntPlanDto>();

            foreach (Entities.GameHuntPlan entity in entityList)
            {
                var dto = new GameHuntPlanDto
                {
                    Id              = entity.Id,
                    GameId          = entity.GameId,
                    Class           = entity.Class,
                    Catch           = entity.Catch,
                    Cull            = entity.Cull,
                    MarketingYearId = entity.MarketingYearId
                };
                dtos.Add(dto);
            }
            return(dtos);
        }
예제 #7
0
        public void Update(GameHuntPlanDto dto)
        {
            using (var db = new DbContext())
            {
                Entities.GameHuntPlan gameHuntPlan;
                if (dto.Id > 0)
                {
                    gameHuntPlan = db.GameHuntPlan.Single(x => x.Id == dto.Id);
                }
                else if (dto.GameId > 0 && dto.MarketingYearId > 0)
                {
                    gameHuntPlan = db.GameHuntPlan.Single(x => x.GameId == dto.GameId && x.MarketingYearId == dto.MarketingYearId);
                }
                else
                {
                    throw new Exception($"Nie można edytować planu pozyskania zwierzyny");
                }

                gameHuntPlan.Cull  = dto.Cull;
                gameHuntPlan.Catch = dto.Catch;

                db.SaveChanges();
            }
        }