예제 #1
0
 public JsonResult Put(V_HR_CourseSignRst _t)
 {
     IHRCourseAttendService service = WMFactory.HRCourseAttend;
     IEnumerable<HR_CourseAttend> attendList = service.FindByConditions(null, f => f.Lid == _t.Lid && f.Uid == _t.Uid);
     //不存在,则添加到考勤,应对“缺勤数据”
     if (attendList == null || attendList.Count() <= 0)
     {
         HR_CourseAttend atd = new HR_CourseAttend();
         atd.CreateUser = _t.SignRst;
         atd.Lid = _t.Lid;
         atd.Uid = _t.Uid;
         atd.ModifyUser = "******";
         if(service.Insert(atd))
             return Json(ResultMsg.Success("更新成功!"));
         else
             return Json(ResultMsg.Failure("更新失败,请您重试!"));
     }
     HR_CourseAttend attend = attendList.FirstOrDefault();
     attend.CreateUser = _t.SignRst;
     if (service.Update(attend))
         return Json(ResultMsg.Success("更新成功!"));
     else
         return Json(ResultMsg.Failure("更新失败,请您重试!"));
 }
예제 #2
0
        public ActionResult SignIn(Guid id)
        {
            ResultMsg rst = new ResultMsg();
            HR_CourseLesson lesson = WMFactory.HRCourseLesson.GetById(id.ToString());
            if (lesson == null)
            {
                rst = ResultMsg.Failure("找不到课时信息!签到失败!");
                return View(rst);
            }
            //是否报名
            Guid uid = Guid.Parse(CookieHelper.GetCookie("HRWXUid"));
            int lkcu = WMFactory.HRLKCourseUser.GetCount(f => f.Cid == lesson.Cid && f.Uid == uid);
            if (lkcu <= 0)
            {
                rst = ResultMsg.Failure("该课程您没有报名,无法签到!");
                return View(rst);
            }
            ViewBag.Lsn = lesson;
            //已签到人数
            ViewBag.LsnSigned = WMFactory.HRCourseAttend.GetCount(f => f.Lid == id);
            //已报名人数
            ViewBag.CrsAttended = WMFactory.HRLKCourseUser.GetCount(f => f.Cid == lesson.Cid);

            HR_Course course = WMFactory.HRCourse.GetById(lesson.Cid.ToString());
            ViewBag.Crs = course;

            IEnumerable<HR_CourseAttend> attList = WMFactory.HRCourseAttend.FindByConditions(null, f => f.Lid == id && f.Uid == uid);
            //if (attList != null && attList.Count() > 0 && attList.FirstOrDefault().ModifyTime != null)
            //{
            //    rst = ResultMsg.Failure("该课时您的上下课签到已完成!");
            //    return View(rst);
            //}
            if (attList != null && attList.Count() > 0)
            {
                rst = ResultMsg.Failure("该课时您已签过到了!");
                return View(rst);
            }
            //判断当前时间是否可以签到,提前15分钟,开课后10分钟算正常
            if (DateTime.Now <= lesson.StartTime.AddMinutes(-120))
            {
                rst = ResultMsg.Failure("开课前2小时内才能签到!");
                return View(rst);
            }
            if (DateTime.Now > lesson.EndTime)
            {
                rst = ResultMsg.Failure("该课时已结束,无法签到!");
                return View(rst);
            }
            //签到
            HR_CourseAttend attend = new HR_CourseAttend();
            attend.Lid = id;
            attend.Uid = uid;

            attend.CreateTime = DateTime.Now;
            if (attend.CreateTime <= lesson.StartTime)
                attend.CreateUser = "******";
            else if (attend.CreateTime <= lesson.StartTime.AddMinutes(30))
                attend.CreateUser = "******";
            else
                attend.CreateUser = "******";

            WMFactory.HRCourseAttend.Insert(attend);
            return View(ResultMsg.Success("签到成功!"));
        }