예제 #1
0
        public List <GameLossViewModel> GetAllLossGamesForCurrentMarketingYear()
        {
            IList <LossDto>     losses        = _lossDao.GetAll();
            IList <LossGameDto> lossGames     = _lossGameDao.GetAll();
            IList <GameDto>     games         = _gameDao.GetAll();
            IList <RegionDto>   regions       = _regionDao.GetAll();
            MarketingYearDto    marketingYear = _marketingYearDao.GetCurrent();

            List <GameLossViewModel> gameLossModels =
                (
                    from loss in losses
                    join lossGame in lossGames on loss.LossGameId equals lossGame.Id
                    join game in games on lossGame.GameId equals game.Id
                    join region in regions on loss.RegionId equals region.Id
                    where loss.Date >= marketingYear.Start && loss.Date <= marketingYear.End
                    select new GameLossViewModel
            {
                TypeName = game.Type == 1 ? "Gruba" : "Drobna",
                KindName = game.KindName,
                SubKindName = game.SubKindName,
                Circuit = region.City,
                District = region.District,
                Description = loss.Description,
                SanitaryLoss = loss.SanitaryLoss,
                Date = loss.Date
            }
                ).ToList();

            return(gameLossModels);
        }
예제 #2
0
        public int Create()
        {
            IList <MarketingYearDto> allMarketingYears = _marketingYearDao.GetAll();
            MarketingYearDto         lastMarketingYear = allMarketingYears.Last();

            int newMarketingYearEndDate = lastMarketingYear.End.Year + 1;
            var newMarketingYear        = new MarketingYearDto
            {
                Start = new DateTime(lastMarketingYear.End.Year, lastMarketingYear.Start.Month, lastMarketingYear.Start.Day),
                End   = new DateTime(newMarketingYearEndDate, lastMarketingYear.End.Month, lastMarketingYear.End.Day)
            };

            int newMarketingYearId = _marketingYearDao.Insert(newMarketingYear);

            var annualPlanStatusDto = new AnnualPlanStatusDto
            {
                MarketingYearId = newMarketingYearId,
                Status          = (int)Common.Enums.AnnualPlanStatus.ReadyToPlan,
                Description     = TypeName.GetAnnualPlanStatusName((int)Common.Enums.AnnualPlanStatus.ReadyToPlan),
                TimeStamp       = DateTime.Now
            };

            _annualPlanStatusService.Create(annualPlanStatusDto);

            return(newMarketingYearId);
        }
예제 #3
0
        public IList <HuntViewModel> GetByMarketingYearId(int marketingYearId)
        {
            MarketingYearDto     marketingYear  = _marketingYearDao.GetById(marketingYearId);
            List <HuntViewModel> huntViewModels =
                (
                    from hunt in Hunts
                    join huntsman in Huntsmans on hunt.HuntsmanId equals huntsman.Id
                    join huntedGame in HuntedGames on hunt.HuntedGameId equals huntedGame.Id
                    join game in Games on huntedGame.GameId equals game.Id
                    join region in Regions on hunt.RegionId equals region.Id
                    where hunt.Date >= marketingYear.Start && hunt.Date <= marketingYear.End
                    select new HuntViewModel
            {
                HuntsmanName = huntsman.Name,
                HuntsmanLastName = huntsman.LastName,
                HuntedGameId = huntedGame.Id,
                GameKindName = game.KindName,
                GameSubKindName = GetSubKindName(game.SubKindName),
                GameClass = GetGameClass(huntedGame.GameClass),
                GameWeight = GetGameWeight(huntedGame.GameWeight),
                City = region.City,
                Circuit = region.Circuit,
                District = region.District,
                Shots = hunt.Shots,
                Date = hunt.Date
            }
                ).ToList();

            return(huntViewModels);
        }
예제 #4
0
        public int GetMarketingYearByDate(DateTime date)
        {
            IList <MarketingYearDto> allMarketingYears = _marketingYearDao.GetAll();
            MarketingYearDto         marketingYearDto  = allMarketingYears.FirstOrDefault(x => x.Start <= date && x.End >= date);

            return(marketingYearDto.Id);
        }
예제 #5
0
파일: CatchService.cs 프로젝트: Mrotas/Hoof
        public IList <CatchViewModel> GetCurrentMarketingYearCatchesByUserId(int userId)
        {
            MarketingYearDto      marketingYear  = _marketingYearDao.GetCurrent();
            List <CatchViewModel> huntViewModels =
                (
                    from gameCatch in Catches
                    join huntsman in Huntsmans on gameCatch.HuntsmanId equals huntsman.Id
                    join user in Users on huntsman.Id equals user.HuntsmanId
                    join game in Games on gameCatch.GameId equals game.Id
                    join region in Regions on gameCatch.RegionId equals region.Id
                    where user.Id == userId &&
                    gameCatch.Date >= marketingYear.Start && gameCatch.Date <= marketingYear.End
                    select new CatchViewModel
            {
                HuntsmanName = huntsman.Name,
                HuntsmanLastName = huntsman.LastName,
                GameKindName = game.KindName,
                GameSubKindName = GetSubKindName(game.SubKindName),
                City = region.City,
                Circuit = region.Circuit,
                District = region.District,
                Count = gameCatch.Count,
                Date = gameCatch.Date
            }
                ).ToList();

            return(huntViewModels);
        }
예제 #6
0
        private IList <MarketingYearDto> ToDtos(IList <Entities.MarketingYear> entityList)
        {
            var dtos = new List <MarketingYearDto>();

            foreach (Entities.MarketingYear entity in entityList)
            {
                MarketingYearDto dto = ToDto(entity);
                dtos.Add(dto);
            }
            return(dtos);
        }
예제 #7
0
        private MarketingYearDto ToDto(Entities.MarketingYear entity)
        {
            var dto = new MarketingYearDto
            {
                Id    = entity.Id,
                Start = entity.Start,
                End   = entity.End
            };

            return(dto);
        }
예제 #8
0
        public MarketingYearDto GetById(int marketingYearId)
        {
            using (var db = new DbContext())
            {
                Entities.MarketingYear marketingYear = db.MarketingYear.Find(marketingYearId);

                MarketingYearDto dto = marketingYear == null ? null : ToDto(marketingYear);

                return(dto);
            }
        }
예제 #9
0
        public MarketingYearDto GetCurrent()
        {
            using (var db = new DbContext())
            {
                Entities.MarketingYear marketingYear = db.MarketingYear.FirstOrDefault(x => x.Start <= DateTime.Now && DateTime.Now <= x.End);

                MarketingYearDto dto = marketingYear == null ? null : ToDto(marketingYear);

                return(dto);
            }
        }
예제 #10
0
        public bool IsDateInMarketingYear(DateTime date, int marketingYearId)
        {
            MarketingYearDto marketingYear = _marketingYearDao.GetById(marketingYearId);

            if (marketingYear == null)
            {
                return(false);
            }

            return(marketingYear.Start <= date && marketingYear.End >= date);
        }
예제 #11
0
        public MarketingYearModel GetMarketingYearModel(int marketingYearId)
        {
            MarketingYearDto marketingYearDto = _marketingYearDao.GetById(marketingYearId);

            return(new MarketingYearModel
            {
                Id = marketingYearDto.Id,
                Start = marketingYearDto.Start,
                End = marketingYearDto.End
            });
        }
예제 #12
0
        public MarketingYearModel GetCurrentMarketingYearModel()
        {
            MarketingYearDto currentMarketingYearDto = _marketingYearDao.GetCurrent();

            return(new MarketingYearModel
            {
                Id = currentMarketingYearDto.Id,
                Start = currentMarketingYearDto.Start,
                End = currentMarketingYearDto.End
            });
        }
예제 #13
0
        public int Insert(MarketingYearDto dto)
        {
            var entity = new Entities.MarketingYear
            {
                Start = dto.Start,
                End   = dto.End
            };

            using (var db = new DbContext())
            {
                Entities.MarketingYear newMarketingYear = db.MarketingYear.Add(entity);
                db.SaveChanges();
                return(newMarketingYear.Id);
            }
        }