public static Coupons BundleCouponDto2CouponEntity(this BundleCouponDTO dto) { return(new Coupons { BundleId = dto.BundleId , CouponName = dto.CouponName , CouponTypeId = (byte)dto.Type , CouponTypeAmount = (double?)(dto.Amount ?? 0) , ExpirationDate = dto.ExpirationDate , AutoGenerate = dto.AutoGeneration , SubscriptionMonths = dto.SubscriptionMonths , AddOn = DateTime.Now , CreatedBy = DtoExtensions.CurrentUserId }); }
public bool SaveBundleCoupon(ref BundleCouponDTO dto, out string error) { if (dto.BundleId == null) { error = "bundleId missing"; return(false); } if (!IsBundleCouponNameValid(dto.CouponId, (int)dto.BundleId, dto.CouponName, out error)) { error = String.IsNullOrEmpty(error) ? "Coupon Name already exists" : error; return(false); } if (!IsCouponCodeValid(dto.CouponCode, dto.CouponId, out error)) { error = String.IsNullOrEmpty(error) ? "Coupon code already exists" : error; return(false); } try { if (dto.CouponId < 0) //new course { var entity = dto.BundleCouponDto2CouponEntity(); CouponRepository.Add(entity); if (!CouponRepository.UnitOfWork.CommitAndRefreshChanges(out error)) { return(false); } dto.CouponId = entity.Id; } else { var entity = CouponRepository.GetById(dto.CouponId); if (entity == null) { error = "Course entity not found"; return(false); } entity.UpdateCouponEntity(dto); if (!CouponRepository.UnitOfWork.CommitAndRefreshChanges(out error)) { return(false); } } //var name = dto.CouponName; //var courseId = dto.CourseId; //dto.CouponId = CouponRepository.Get(x => x.CourseId == courseId && x.CouponName == name).Id; return(SaveCouponInstance(dto, out error)); } catch (Exception ex) { error = Utils.FormatError(ex); Logger.Error("save bundle coupon dto", dto.BundleId ?? -1, ex, CommonEnums.LoggerObjectTypes.Coupon); return(false); } }