public ActionResult CheckIn(int CourseId)
        {
            int    uId      = int.Parse(CookieHelper.GetCookieValue("UserId").ToString());
            string UserName = CookieHelper.GetCookieValue("DisplayName").ToString();
            var    dto      = courseBoundService.GetCourseBoundUserByCourseId(CourseId).FirstOrDefault(t => t.AccountSysNo == uId).MapTo <CourseBoundPersonnelEditDto>();

            ViewBag.Stauts = 0;
            if (dto != null)
            {
                if (dto.CheckIN == true)
                {
                    ViewBag.Stauts = 1;
                }
                else
                {
                    dto.CheckIN = true;
                    courseBoundService.UpdateCourseBoundPersonnel(dto);
                    //更新课程表签到人数
                    var cdto = courseService.GetCourseInfoEditById(new EntityDto <long> {
                        Id = dto.CourseId
                    });
                    cdto.CheckinNum++;
                    courseService.UpdateCourseInfo(cdto);
                    ViewBag.Stauts = 2;
                }
            }
            else//不是已绑定到课程的人员
            {
                courseBoundService.CreateCourseBoundPersonnel(new CourseBoundPersonnelEditDto {
                    CourseId = CourseId, AccountSysNo = uId, CheckIN = true, IsBound = false, AccountUserName = UserName
                });
                ViewBag.Stauts = 2;
            }
            //查到线下培训课程所对就的班级
            var configu = _courseBoundConfigureTypeAppService.GetCTypeByCIdOrByType(CourseId, (int)ConfigureType.Class);

            if (configu != null)
            {
                //班级人员关联关系数据添加
                var classUser = new ClassUserEditDto();
                classUser.ClassId = configu.BusinessId;
                classUser.UserId  = uId;
                classuserService.CreateClassUser(classUser);
                //把人员添加到班级中
                var classInfo = _classesInfoAppService.GetClassesInfoForEdit(new NullableIdDto <long>()
                {
                    Id = configu.BusinessId
                });
                classInfo.ClassesInfo.MemberCount++;
                _classesInfoAppService.UpdateClassesInfoAsync(classInfo.ClassesInfo);
            }
            return(View());
        }
Exemple #2
0
        /// <summary>
        /// 设置部门
        /// </summary>
        /// <param name="edit"></param>
        /// <param name="create"></param>
        /// <param name="bId"></param>
        /// <param name="cId"></param>
        protected void SetForDepart(ClassesInfoEditDto edit, ClassDepJobEditDto create, int bId, int cId)
        {
            IsParent(cId, bId);
            //不重复人数
            var cuserids   = new List <int>();//班级当前人数
            var department = departmentService.GetAllDepartmentInfos().FirstOrDefault(t => t.DepartmentId == bId);

            if (department != null)
            {
                create.BusinessId   = bId;
                create.BusinessName = department.DisplayName;
                //获取当前子部门及自己的部门id
                var dids = departmentService.GetAllDepartmentInfos().Where(t => t.Path.Contains(department.Path)).Select(t => t.DepartmentId);

                //获取人员表当前选中部门ids的总人数
                var userids = userService.GetAll().Where(t => dids.Contains(t.DepartmentID)).Select(t => t.SysNO).ToList();

                foreach (var item in userids)
                {
                    //班级中已绑定的人员id
                    cuserids = classUserService.GetAll().Where(t => t.ClassId == cId).Select(t => t.UserId).ToList();
                    if (!cuserids.Contains(item))
                    {
                        classUserService.CreateClassUser(new ClassUserEditDto {
                            ClassId = cId, UserId = item
                        });
                    }
                    //判断课程班级表有当前班级没用如果有要更新课程人员表保持一致和手机签到一样
                    var dto = cbtservic.GetAll().FirstOrDefault(t => t.BusinessId == cId && t.type == 2);
                    if (dto != null && dto.type != 4)
                    {
                        cpservic.CreateCourseBoundPersonnel(new CourseBoundPersonnelEditDto {
                            CourseId = dto.CourseId, AccountSysNo = item, CheckIN = false, IsBound = true
                        });
                    }
                }
                cdjService.CreateClassDepJob(create);
            }
        }
Exemple #3
0
        public ActionResult SetUser(int cid, string uids)
        {
            var idlist = uids.Split(',');

            for (int i = 0; i < idlist.Count() - 1; i++)
            {
                var input = new ClassUserEditDto {
                    ClassId = cid, UserId = int.Parse(idlist[i])
                };
                classuserService.CreateClassUser(input);
                //判断课程班级表有当前班级没用如果有要更新课程人员表保持一致和手机签到一样
                var dto = cbtservic.GetAll().FirstOrDefault(t => t.BusinessId == cid && t.type == 2);
                if (dto != null && dto.type != 4)
                {
                    cpservic.CreateCourseBoundPersonnel(new CourseBoundPersonnelEditDto {
                        CourseId = dto.CourseId, AccountSysNo = int.Parse(idlist[i]), CheckIN = false, IsBound = true
                    });
                }
            }
            return(Success());
        }
        public JsonResult SingleUpCourse(int courseId)
        {
            //课程对像
            var courseDate = _courseInfoAppService.GetCourseInfoById(new EntityDto <long>()
            {
                Id = courseId
            });                                                                                               //课程数据

            if (courseDate != null)
            {
                int userId    = int.Parse(CookieHelper.GetCookieValue("UserId").ToString());
                var user      = _userAccountService.GetUserAccountBySysNo(userId);                                                            //查询用户数据
                var boundData = _courseBoundPersonnelAppService.GetCourseBoundByUserIdOrCourseId(user.SysNO, Convert.ToInt32(courseDate.Id)); //绑定数据
                if (boundData == null)
                {
                    //增加人员
                    var create = new CourseBoundPersonnelEditDto();
                    create.AccountSysNo    = user.SysNO;
                    create.AccountUserName = user.DisplayName;
                    create.CourseId        = Convert.ToInt32(courseDate.Id);
                    create.CourseName      = courseDate.CourseName;
                    _courseBoundPersonnelAppService.CreateCourseBoundPersonnel(create);
                }


                var configu = _courseBoundConfigureTypeAppService.GetCTypeByCIdOrType((int)courseDate.Id, (int)ConfigureType.Personal, user.SysNO);
                //增加关系
                if (configu == null)
                {
                    var createConfigure = new CourseBoundConfigureTypeEditDto();
                    createConfigure.CourseId     = (int)courseDate.Id;
                    createConfigure.CourseName   = courseDate.CourseName;
                    createConfigure.type         = (int)ConfigureType.Personal;
                    createConfigure.BusinessId   = user.SysNO;
                    createConfigure.BusinessName = user.DisplayName;
                    _courseBoundConfigureTypeAppService.CreateCourseBoundConfigureType(createConfigure);
                }
                //如果是线个考试则把人员配置到班级中
                if (courseDate.Type == 4)
                {
                    //查到线下培训课程所对就的班级
                    configu = _courseBoundConfigureTypeAppService.GetCTypeByCIdOrByType((int)courseDate.Id, (int)ConfigureType.Class);
                    if (configu != null)
                    {
                        //班级人员关联关系数据添加
                        var classUser = new ClassUserEditDto();
                        classUser.ClassId = configu.BusinessId;
                        classUser.UserId  = userId;
                        _classUserAppService.CreateClassUser(classUser);
                        //把人员添加到班级中
                        var classInfo = _classesInfoAppService.GetClassesInfoForEdit(new NullableIdDto <long>()
                        {
                            Id = configu.BusinessId
                        });
                        classInfo.ClassesInfo.MemberCount++;
                        _classesInfoAppService.UpdateClassesInfoAsync(classInfo.ClassesInfo);
                    }
                }
            }
            return(Json(courseDate, JsonRequestBehavior.AllowGet));
        }