Exemplo n.º 1
0
        /// <summary>
        /// 课程管理详情
        /// </summary>
        /// <param name="courseId"></param>
        /// <returns></returns>
        public DtoCourseDetails GetDetails(int courseId)
        {
            Yw_Course entity = GetCourse(courseId);

            DtoCourseDetails details = entity.ConvertTo <DtoCourseDetails>(
                PropertyNamePrefixAction.Remove);

            details.ResourceGroupName = new ResourceBll().GetResourceGroupName(
                entity.Ycs_ResourceGroupId);

            List <int> employeeIds = new List <int>();

            employeeIds.Add(entity.Ycs_Owner);//负责人
            var teacherIds = entity.Ycs_Employees.Split(',').Select(e => e._ToInt32());

            employeeIds.AddRange(teacherIds);
            IList <Bas_Employee> teachers = new EmployeeBll().GetEmployees(employeeIds);
            string ownerName = teachers.FirstOrDefault(
                t => t.Bem_Id == entity.Ycs_Owner)?.Bem_Name;

            details.OwnerName = ownerName;
            var teacherNames = teachers.Where(t => t.Bem_Id != entity.Ycs_Owner)
                               .Select(t => t.Bem_Name);

            details.Teachers = string.Join(",", teacherNames);

            return(details);
        }
        public void CourseRepository_InsertCourse_ShouldSuccess()
        {
            CourseRepository r = new CourseRepository();
            var entity         = new Yw_Course
            {
                Ycs_Creator         = 10000,
                Ycs_Description     = "desc",
                Ycs_CourseType      = 0,
                Ycs_CreateTime      = Clock.Now,
                Ycs_Id              = 0,
                Ycs_CoverImage      = "",
                Ycs_Editor          = 10000,
                Ycs_Employees       = "",
                Ycs_Grade           = 3,
                Ycs_LessonCount     = 3,
                Ycs_Name            = "55",
                Ycs_Owner           = 10000,
                Ycs_PublishTime     = Clock.MinValue,
                Ycs_ResourceGroupId = 5,
                Ycs_SellCount       = 7,
                Ycs_Status          = 7,
                Ycs_UpdateTime      = Clock.Now
            };

            r.InsertCourse(entity);
            Assert.IsTrue(entity.Ycs_Id > 0);
        }
Exemplo n.º 3
0
        /// <summary>
        /// 学员下订单
        /// </summary>
        public int MakeOrder(int studentId, int courseId)
        {
            CourseBll courseBll = new CourseBll();
            SchoolBll schoolBll = new SchoolBll();

            Yw_Course course = courseBll.GetCourse(courseId);
            if (course == null || course.Ycs_Status != (int)CourseStatusEnum.已上架)
            {
                throw new AbhsException(ErrorCodeEnum.CourseCanNotBuy, AbhsErrorMsg.ConstCourseCanNotBuy);
            }

            Bas_School school = schoolBll.GetSchoolByStudent(studentId);
            if (school == null)
            {
                throw new AbhsException(ErrorCodeEnum.StudentNotBindSchool, AbhsErrorMsg.ConstStudentNotBindSchool);
            }

            Yw_CoursePrice price = courseBll.GetCoursePrice(courseId, school.Bsl_Level);
            Yw_StudentOrder order = new Yw_StudentOrder();
            order.Yod_CourseId = courseId;
            order.Yod_OrderNo = GenerateOrderNo(courseId, studentId);
            order.Yod_OrderTime = DateTime.Now;
            order.Yod_OrderType = (int)OrderTypeEnum.订单;
            order.Yod_PayBatchId = 0;
            order.Yod_ReferOrderId = 0;
            order.Yod_PayTime = new DateTime(1900, 1, 1);
            order.Yod_Status = (int)StudentOrderStatus.待支付;
            order.Yod_StudentId = studentId;
            order.Yod_UpdateTime = DateTime.Now;
            order.Yod_Amount = price.Yce_Price;
            OrderService.Add(order);
            return order.Yod_Id;
        }
Exemplo n.º 4
0
        public DtoSelectCenterOrderResult GetOrderInfoForDetail(int studentId, int orderId)
        {
            Yw_StudentOrder order = GetStudentOrder(orderId);

            if (order.Yod_StudentId.Equals(studentId))
            {
                CourseBll courseBll = new CourseBll();
                Yw_Course course = courseBll.GetCourse(order.Yod_CourseId);

                DtoSelectCenterOrderResult result = new DtoSelectCenterOrderResult();
                result.StudentId = order.Yod_StudentId;
                result.CourseId = course.Ycs_Id;
                result.CourseName = course.Ycs_Name;
                result.CourseImage = course.Ycs_CoverImage.ToOssPath();
                result.Grade = course.Ycs_Grade;
                result.CourseType = course.Ycs_CourseType;
                result.LessonCount = course.Ycs_LessonCount;
                result.Description = course.Ycs_Description;
                result.OrderId = order.Yod_Id;
                result.OrderAmount = order.Yod_Amount;
                result.PayAmount = order.Yod_PayAmount;
                result.OrderStatus = order.Yod_Status;
                result.OrderTime = order.Yod_OrderTime;
                result.OrderNo = order.Yod_OrderNo;

                List<DtoStudentOrderPay> orderPayList = Service.GetStudentOrderPay(order.Yod_Id, order.Yod_PayBatchId);
                result.OrderCashPay = orderPayList.FirstOrDefault(p => p.PayType < 200);
                result.OrderVoucherPayList = orderPayList.Where(p => p.PayType > 200).ToList();

                if (result.OrderCashPay != null)
                {
                    result.PayType = result.OrderCashPay.PayType - 100;
                    result.PayTime = result.OrderCashPay.PayTime;
                }

                return result;
            }
            else
            {
                throw new AbhsException(ErrorCodeEnum.NoAuthorize, AbhsErrorMsg.ConstNoAuthorizeViewOrder);
            }
        }
Exemplo n.º 5
0
        /// <summary>
        /// 选课中心订单详情页-支付页
        /// </summary>
        /// <param name="studentId">学生Id</param>
        /// <param name="orderId">订单Id</param>
        /// <returns></returns>
        public DtoSelectCenterOrderResult GetOrderInfoForPayment(int studentId, int orderId)
        {
            //获取订单信息
            //验证订单是否属于当前登录用户

            //根据订单Id查询课程信息(名称、图片、年级、课程类型、课时、描述、教材版本)
            //课程价格显示订单原始金额

            Yw_StudentOrder order = GetStudentOrder(orderId);

            if (order.Yod_StudentId.Equals(studentId))
            {
                CourseBll courseBll = new CourseBll();
                Yw_Course course = courseBll.GetCourse(order.Yod_CourseId);

                DtoSelectCenterOrderResult result = new DtoSelectCenterOrderResult();
                result.StudentId = order.Yod_StudentId;
                result.CourseId = course.Ycs_Id;
                result.CourseName = course.Ycs_Name;
                result.CourseImage = course.Ycs_CoverImage.ToOssPath();
                result.Grade = course.Ycs_Grade;
                result.CourseType = course.Ycs_CourseType;
                result.LessonCount = course.Ycs_LessonCount;
                result.Description = course.Ycs_Description;
                result.OrderId = order.Yod_Id;
                result.OrderAmount = order.Yod_Amount;
                result.OrderStatus = order.Yod_Status;
                result.OrderTime = order.Yod_OrderTime;
                result.OrderNo = order.Yod_OrderNo;
                return result;
            }
            else
            {
                throw new AbhsException(ErrorCodeEnum.NoAuthorize, AbhsErrorMsg.ConstNoAuthorizeViewOrder);
            }

        }
Exemplo n.º 6
0
        /// <summary>
        /// 课程上下架详情
        /// </summary>
        /// <param name="courseId"></param>
        /// <returns></returns>
        public DtoCourseDetails GetDetailOfManagements(int courseId)
        {
            Yw_Course entity = GetCourse(courseId);

            DtoCourseDetails details = entity.ConvertTo <DtoCourseDetails>(
                PropertyNamePrefixAction.Remove);

            details.OwnerName = new EmployeeBll().GetEmployeeEntity(entity.Ycs_Owner)?.Bem_Name;

            var introduction =
                CourseIntroductionRespository.GetCourseIntroduction(courseId);

            details.Introduction = introduction?.Yci_Introduction;
            details.Arrange      = introduction?.Yci_Arrange;

            var prices = CoursePriceRepository.GetEntities(new List <int> {
                courseId
            });

            foreach (var item in prices)
            {
                details.Pricings.Add(new DtoPricing
                {
                    Price         = item.Yce_Price,
                    SchoolLevelId = item.Yce_SchoolLevelId
                });
            }

            var lessons        = new LessonBll().GetLessons(courseId);
            int approvedStatus = (int)LessonStatusEnum.合格;
            var indexes        = lessons.Where(l => l.Status == approvedStatus).Select(l => l.Index);

            details.ApprovedLessons = indexes.ToList();

            return(details);
        }
Exemplo n.º 7
0
        public Domain.Dto.Response.DtoCourse GetCourseInfo(int courseId)
        {
            Yw_Course c = CourseRepository.GetCourse(courseId);

            if (c != null)
            {
                //获取人员id
                List <int> ids = new List <int>();

                #region 计算课程中所有的人员id

                if (c.Ycs_Owner != 0)
                {
                    ids.Add(c.Ycs_Owner);
                }
                if (c.Ycs_Creator != 0)
                {
                    ids.Add(c.Ycs_Creator);
                }
                if (c.Ycs_Editor != 0)
                {
                    ids.Add(c.Ycs_Editor);
                }
                foreach (string id in c.Ycs_Employees.Split(','))
                {
                    int i = 0;
                    if (int.TryParse(id, out i))
                    {
                        ids.Add(i);
                    }
                }

                #endregion 计算课程中所有的人员id

                Dictionary <int, string> names = EmployeeRepository.GetEmployeeNameByIds(ids);

                #region 计算姓名

                string ownerName     = names.ContainsKey(c.Ycs_Owner) ? names[c.Ycs_Owner] : "";
                string employeesName = string.Join(",", names.Where(s => c.Ycs_Employees.Split(',').Contains(s.Key.ToString())).Select(s => s.Value).ToArray());
                string creatorName   = names.ContainsKey(c.Ycs_Creator) ? names[c.Ycs_Creator] : "";
                string editorName    = names.ContainsKey(c.Ycs_Editor) ? names[c.Ycs_Editor] : "";

                #endregion 计算姓名

                return(new Domain.Dto.Response.DtoCourse
                {
                    Id = c.Ycs_Id,
                    Name = c.Ycs_Name,
                    CourseType = c.Ycs_CourseType,
                    Grade = c.Ycs_Grade,
                    CoverImage = c.Ycs_CoverImage,
                    LessonCount = c.Ycs_LessonCount,
                    Owner = c.Ycs_Owner,
                    OwnerName = ownerName,
                    Employees = c.Ycs_Employees,
                    EmployeesName = employeesName,
                    ResourceGroupId = c.Ycs_ResourceGroupId,
                    ResourceGroupName = "",//待实现
                    Description = c.Ycs_Description,
                    SellCount = c.Ycs_SellCount,
                    Status = c.Ycs_Status,
                    PublishTime = c.Ycs_PublishTime,
                    CreateTime = c.Ycs_CreateTime,
                    Creator = c.Ycs_Creator,
                    CreatorName = creatorName,
                    Editor = c.Ycs_Editor,
                    EditorName = editorName
                });
            }
            else
            {
                return(null);
            }
        }