Exemple #1
0
        /// <summary>
        /// 룰렛 경품 수정하기
        /// </summary>
        /// <param name="entry">TwoYearAnniversarInstantPrizeSetting 전체 데이터 </param>
        /// <returns></returns>
        public TwoYearAnniversaryInstantPrizeSetting UpdateTwoYearAnniversaryPrize(TwoYearAnniversaryInstantPrizeSetting entry)
        {
            // 날짜, 경품이 같은 데이터가 있는지 확인
            var updateEntry = prizeRepository.SingleOrDefault(x => x.Date == entry.Date && x.PrizeType == entry.PrizeType);

            if (updateEntry == null)
            {
                throw new TwoYearAnniversaryServiceException("400", "수정할 데이터가 없습니다.", null);
            }
            if (updateEntry.WinnerCount > entry.TotalCount)
            {
                throw new TwoYearAnniversaryServiceException("400", "경품수량은 당첨수량보다 적게 세팅할 수 없습니다.", updateEntry.WinnerCount);
            }
            if (entry.TotalCount <= 0)
            {
                throw new TwoYearAnniversaryServiceException("400", "경품수량은 0이하로 세팅할 수 없습니다.", entry.TotalCount);
            }
            if (entry.StartTime < 0 || entry.StartTime >= 24)
            {
                throw new TwoYearAnniversaryServiceException("400", "당첨 시작시간은 0~23 까지 가능합니다.", entry.StartTime);
            }
            if (entry.Rate <= 0)
            {
                throw new TwoYearAnniversaryServiceException("400", "당첨확률은 0이하로 세팅할 수 없습니다.", entry.Rate);
            }
            updateEntry.TotalCount = entry.TotalCount;
            updateEntry.StartTime  = entry.StartTime;
            updateEntry.Rate       = entry.Rate;

            var result = prizeRepository.Update(updateEntry);

            prizeRepository.Save();

            return(result);
        }
Exemple #2
0
        /// <summary>
        /// 룰렛경품저장
        /// </summary>
        /// <param name="entry"></param>
        /// <returns></returns>
        public TwoYearAnniversaryInstantPrizeSetting CreateTwoYearAnniversaryPrize(TwoYearAnniversaryInstantPrizeSetting entry)
        {
            // 날짜, 경품이 같은 데이터가 있는지 확인
            var updateEntry = prizeRepository.SingleOrDefault(x => x.Date == entry.Date && x.PrizeType == entry.PrizeType);

            if (updateEntry != null)
            {
                throw new TwoYearAnniversaryServiceException("400", "같은날, 같은 경품번호가 이미 등록되어 있습니다.", null);
            }
            if (TwoYearAnniversarInstantPrizeType.Loser == entry.PrizeType)
            {
                throw new TwoYearAnniversaryServiceException("400", "1만원 쿠폰은 입력할 수 없습니다.", null);
            }
            prizeRepository.Add(entry);
            prizeRepository.Save();
            return(entry);
        }
Exemple #3
0
 public void UpdateEntry(TwoYearAnniversaryInstantPrizeSetting entity)
 {
     service.UpdateTwoYearAnniversaryPrize(entity);
 }