/// <summary>
        /// 添加学生现金券
        /// </summary>
        /// <param name="studentId"></param>
        /// <param name="cashVoucherId"></param>
        /// <param name="gotType"></param>
        /// <param name="gotReferId"></param>
        /// <returns></returns>
        private int AddStudentCashVoucher(int studentId, int cashVoucherId, VoucherGotTypeEnum gotType, int gotReferId)
        {
            var cashVoucher = CashVoucherRepository.Get(cashVoucherId);
            Yw_StudentCashVoucher studentCashVoucher = new Yw_StudentCashVoucher();

            studentCashVoucher.Ysv_CashVoucherId = cashVoucher.Ycv_Id;
            studentCashVoucher.Ysv_StudentId     = studentId;
            studentCashVoucher.Ysv_VoucherNo     = GetVoucherNo(cashVoucher.Ycv_Id, studentId, cashVoucher.Ycv_VoucherType);
            studentCashVoucher.Ysv_VoucherType   = cashVoucher.Ycv_VoucherType;
            if (cashVoucher.Ycv_ExpireType == (int)ExpireTypeEnum.截止日期)
            {
                studentCashVoucher.Ysv_ExpireDate = cashVoucher.Ycv_ExpireDate;
            }
            else if (cashVoucher.Ycv_ExpireType == (int)ExpireTypeEnum.固定天数)
            {
                studentCashVoucher.Ysv_ExpireDate = DateTime.Now.AddDays(cashVoucher.Ycv_ExpireDayCount);
            }
            else if (cashVoucher.Ycv_ExpireType == (int)ExpireTypeEnum.长期有效)
            {
                studentCashVoucher.Ysv_ExpireDate = "3000-01-01"._ToDateTime();
            }

            studentCashVoucher.Ysv_GotType     = (int)gotType;
            studentCashVoucher.Ysv_GotReferId  = gotReferId;
            studentCashVoucher.Ysv_UsedType    = 0;
            studentCashVoucher.Ysv_UsedReferId = 0;
            studentCashVoucher.Ysv_UsedReferNo = "";
            studentCashVoucher.Ysv_TakenTime   = DateTime.Now;
            studentCashVoucher.Ysv_Status      = (int)StudentCashVoucherStatusEnum.未使用;
            studentCashVoucher.Ysv_UsedTime    = "1900-01-01"._ToDateTime();
            studentCashVoucher.Ysv_UpdateTime  = DateTime.Now;
            return(StudentCashVoucherRepository.Add(studentCashVoucher));
        }
        public bool Update(DtoCashVoucherRequest request)
        {
            var cashVoucher = CashVoucherRepository.Get(request.Id);

            if (cashVoucher != null)
            {
                cashVoucher.EnableAudit();
                cashVoucher.Ycv_Name               = request.Name;
                cashVoucher.Ycv_SchoolId           = request.SchoolId;
                cashVoucher.Ycv_PublishCount       = request.PublishCount;
                cashVoucher.Ycv_Amount             = request.Amount;
                cashVoucher.Ycv_LimitByPerson      = request.LimitByPerson;
                cashVoucher.Ycv_OrderAmountLimit   = request.OrderAmountLimit;
                cashVoucher.Ycv_ExpireType         = request.ExpireType;
                cashVoucher.Ycv_ExpireDate         = request.ExpireDate;
                cashVoucher.Ycv_ExpireDayCount     = request.ExpireDay;
                cashVoucher.Ycv_ApplyScopeType     = request.ApplyScopeType;
                cashVoucher.Ycv_ApplyGrade         = request.Grade;
                cashVoucher.Ycv_CourseType         = request.CourseType;
                cashVoucher.Ycv_CourseId           = request.CourseId;
                cashVoucher.Ycv_RelatedCourseId    = request.RelatedCourseId;
                cashVoucher.Ycv_UseWithVoucherType = request.UseWithVoucherType;
                cashVoucher.Ycv_Remark             = request.Remark;
                cashVoucher.Ycv_UpdateTime         = DateTime.Now;
                cashVoucher.Ycv_Editor             = request.Editor;
                return(CashVoucherRepository.Update(cashVoucher));
            }
            return(false);
        }
        public bool UpdateStatus(int id, int status)
        {
            var cashVoucher = CashVoucherRepository.Get(id);

            if (cashVoucher != null)
            {
                cashVoucher.EnableAudit();
                cashVoucher.Ycv_Status = status;
                return(CashVoucherRepository.Update(cashVoucher));
            }
            return(false);
        }