/// <summary> /// 检查是否讲师或是否已经有授权 /// </summary> /// <returns></returns> internal static int CheckByWorkID(string sWorkID, string courseid, out TPersonInfo lecInfo, out string serr) { lecInfo = null; serr = string.Empty; var custom = WorkIDInfo.GetEmployeeECardInfo(sWorkID); if (null == custom) { serr = "没有找到员工信息"; return(-1); } var workid = custom.OutID; if (null == GetByWorkID(workid)) { serr = "不是讲师"; return(-1); } Guid gid = Guid.Empty; if (!Guid.TryParse(courseid, out gid)) { serr = "无效课程ID"; return(-1); } //check for course privilege using (var context = new TrainingSign_Entities()) { var people = from p in context.tbl_lector from q in context.tbl_lector_course_link from c in context.tbl_course where string.Compare(p.lector_workid, workid, StringComparison.InvariantCultureIgnoreCase) == 0 && c.id == gid && q.ref_lector_id == p.id && q.ref_course_id == c.id select new TPersonInfo { id = p.id, workid = p.lector_workid, cn_name = p.lector_cn_name, en_name = p.lector_en_name }; if (people.Any()) { lecInfo = people.First(); return(1); } else { serr = "讲师没有此课程的授权"; return(0); } } }
/// <summary> /// /// </summary> /// <param name="snr"></param> /// <param name="gTrainingID"></param> /// <param name="empInfo"></param> /// <param name="serr"></param> /// <returns> /// 0 -- 失败 /// 1 -- 签到成功 /// -1 -- 已经签到过 /// </returns> internal static int Add(string snr, Guid gTrainingID, out TPersonInfo empInfo, out string serr) { empInfo = null; serr = string.Empty; var info = WorkIDInfo.GetEmployeeInfo(snr); if (null == info) { serr = "没有找到此员工信息"; return(0); } //insert int nRet = -1; using (var context = new TrainingSign_Entities()) { //由于部门解释还是有问题,用来避免由于部门名称过长而插入失败, //这里的限制与 tbl_trainee的department列一致 var sDept = StringUtility.LimitStr(info.shortDepartment, 80); //insert var entity = new tbl_trainee() { ref_training_id = gTrainingID , workid = info.empID , name = info.cnName , department = sDept , signinTime = DateTime.Now //,organizer //,memo }; if (!context.tbl_trainee.Any(x => x.ref_training_id == entity.ref_training_id && 0 == string.Compare(x.workid, entity.workid, StringComparison.InvariantCultureIgnoreCase))) { try { context.tbl_trainee.Add(entity); context.SaveChanges(); nRet = 1; empInfo = new TPersonInfo { extra = entity.id, //!注意 workid = entity.workid, cn_name = entity.name, org_name = entity.department, oper_time_str = LocalFormatStr.GetLocalTimeStr(entity.signinTime.Value) }; } catch (Exception ex) { //serr = ex.Message; serr = "添加员工签到失败"; } } else { //已经签到过 empInfo = new TPersonInfo { workid = entity.workid, cn_name = entity.name, org_name = entity.department, oper_time_str = "" }; } } return(nRet); }