示例#1
0
 public static Coupons CourseCouponDto2CouponEntity(this CourseCouponDTO dto)
 {
     return(new Coupons
     {
         CourseId = dto.CourseId
         , 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
     });
 }
示例#2
0
        /// <summary>
        /// save course coupon
        /// </summary>
        /// <param name="dto"></param>
        /// <param name="error"></param>
        /// <returns></returns>
        public bool SaveCourseCoupon(ref CourseCouponDTO dto, out string error)
        {
            if (dto.CourseId == null)
            {
                error = "courseId missing";
                return(false);
            }

            if (!IsCourseCouponNameValid(dto.CouponId, (int)dto.CourseId, 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.CourseCouponDto2CouponEntity();
                    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);
                    }
                }

                return(SaveCouponInstance(dto, out error));
            }
            catch (Exception ex)
            {
                error = Utils.FormatError(ex);
                Logger.Error("save course coupon dto", dto.CourseId ?? -1, ex, CommonEnums.LoggerObjectTypes.Coupon);
                return(false);
            }
        }