/// <summary>
        /// 描述:写入退费订单主表
        /// <para>作    者:瞿  琦</para>
        /// <para>创建时间:2018-12-20</para>
        /// </summary>
        /// <param name="request">要写入的休学数据</param>
        /// <param name="courseLessonList">休学课程明细</param>
        /// <param name="unitOfWork">工作单元事务</param>
        /// <returns>休学订单详情</returns>
        private TblOdrRefundOrder AddOdrRefundOrder(LeaveSchoolOrderAddRequest request, List <RefundOrderTransactDetailListResponse> courseLessonList, UnitOfWork unitOfWork)
        {
            var refundOrderId = IdGenerator.NextId();
            var refundOrder   = new TblOdrRefundOrder  //1.退费订单表
            {
                RefundOrderId     = refundOrderId,
                SchoolId          = this._schoolId,
                StudentId         = this._studentId,
                OrderNo           = base.CreateOrderNo(refundOrderId),
                OrderType         = (int)OrderTradeType.LeaveSchoolOrder,
                TotalDeductAmount = courseLessonList.Sum(x => x.DeductAmount),
                Amount            = courseLessonList.Sum(x => x.RefundAmount),
                OrderStatus       = (int)OrderStatus.Paid,
                CancelUserId      = string.Empty,
                CancelDate        = null,
                CancelRemark      = string.Empty,
                CreatorId         = request.CreatorId,
                CreatorName       = request.CreatorName,
                CreateTime        = DateTime.Now
            };
            var tblOdrRefundOrderRepository = unitOfWork.GetCustomRepository <TblOdrRefundOrderRepository, TblOdrRefundOrder>();

            tblOdrRefundOrderRepository.Add(refundOrder);
            return(refundOrder);
        }
        public void Post(long studentId, [FromBody] LeaveSchoolOrderAddRequest request)
        {
            request.CreatorId   = base.CurrentUser.UserId;
            request.CreatorName = base.CurrentUser.UserName;
            var service = new LeaveSchoolOrderService(base.SchoolId, studentId);

            service.Transact(request, base.CurrentUser.CompanyId);
        }
        /// <summary>
        /// 描述:添加附件
        /// <para>作    者:瞿  琦</para>
        /// <para>创建时间:2018-12-20</para>
        /// </summary>
        /// <param name="request">要写入的休学数据</param>
        /// <param name="leaveSchoolOrder">休学订单详情</param>
        /// <param name="unitOfWork">工作单元事务</param>
        /// <returns>无</returns>

        private void AddAttachment(LeaveSchoolOrderAddRequest request, TblOdrLeaveSchoolOrder leaveSchoolOrder, UnitOfWork unitOfWork)
        {
            //添加上传申请表附件到数据库
            foreach (var item in request.AttachmentUrlList)
            {
                item.AttchmentType = AttchmentType.LEAVE_SCHOOL_APPLY;
                item.BusinessId    = leaveSchoolOrder.RefundOrderId;
            }
            var attchmentService = new AttchmentService(base._schoolId, unitOfWork);

            attchmentService.Add(request.AttachmentUrlList);  //添加附件
        }
        /// <summary>
        /// 描述:写入休学表详细信息表
        /// <para>作    者:瞿  琦</para>
        /// <para>创建时间:2018-12-20</para>
        /// </summary>
        /// <param name="request">要写入的休学数据</param>
        /// <param name="courseLessonList">休学课程明细</param>
        /// <param name="refundOrder">退费订单信息</param>
        /// <param name="unitOfWork">工作单元事务</param>
        /// <returns>休学订单详情</returns>

        private TblOdrLeaveSchoolOrder AddOdrLeaveSchoolOrder(LeaveSchoolOrderAddRequest request, List <RefundOrderTransactDetailListResponse> courseLessonList, TblOdrRefundOrder refundOrder, UnitOfWork unitOfWork)
        {
            var leaveSchoolOrder = new TblOdrLeaveSchoolOrder
            {
                RefundOrderId          = refundOrder.RefundOrderId, // refundOrderId,
                SchoolId               = this._schoolId,
                LeaveTime              = request.LeaveTime,
                ResumeTime             = request.ResumeTime,
                TotalRefundLessonCount = courseLessonList.Sum(x => x.LeaveSchoolLessons),
                TotalUseLessonCount    = courseLessonList.Sum(x => x.HaveClassLesson),
                Remark = request.Remark,
                Reason = request.Reason
            };
            var tblOdrLeaveSchoolOrderRepository = unitOfWork.GetCustomRepository <TblOdrLeaveSchoolOrderRepository, TblOdrLeaveSchoolOrder>();

            tblOdrLeaveSchoolOrderRepository.Add(leaveSchoolOrder);
            return(leaveSchoolOrder);
        }