Beispiel #1
0
 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
     });
 }
Beispiel #2
0
        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);
            }
        }