/// <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); }
/// <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); }
public void UpdateEntry(TwoYearAnniversaryInstantPrizeSetting entity) { service.UpdateTwoYearAnniversaryPrize(entity); }