/// <summary> /// 检查听评对象用记是否存在,不存在则创建 /// </summary> private bool CreatePConfirmlectureUserID(ResearchInfo infoResearch) { UserInfo infoUser = null; if (infoResearch.lectureUserID > 0) { infoUser = UserBLL.GetList(a => a.ID == infoResearch.lectureUserID && a.DepartmentID == infoResearch.ResearchPlanInfo.DepartmentID).FirstOrDefault(); if (null != infoUser) { return(true); } } infoUser = new UserInfo(); infoUser.DepartmentID = infoResearch.ResearchPlanInfo.DepartmentID; infoUser.Name = Function.GetRequestString("TxtLectureUserID"); infoUser.Code = infoUser.Name; infoUser.PassWord = Guid.NewGuid().ToString().Replace("-", ""); infoUser.Email = infoUser.Tel = string.Empty; infoUser.CreateDate = infoUser.LastDate = DateTime.Now; infoUser.Enable = false; infoUser.LocationX = infoUser.LocationY = 0; infoUser.WechatOpenID = infoUser.WechatNameNick = infoUser.WechatHeadImg = infoUser.Sex = string.Empty; infoUser.IDCard = string.Empty; infoUser.TypeID = -1; infoUser.DefaultSubjectID = infoResearch.SubjectID; if (string.IsNullOrEmpty(infoUser.Name)) { return(false); } //再根据名称找一,如果就不要加啦 var ExistItem = UserBLL.GetList(a => a.Name.StartsWith(infoUser.Name + "|外区")).FirstOrDefault(); if (null != ExistItem) { infoResearch.lectureUserID = ExistItem.ID; return(true); } //做insert前最后修正 infoUser.Name = infoUser.Code = infoUser.Name + "|" + SysEnum.GetName(typeof(SysEnum.ResearchArea), infoResearch.ResearchPlanInfo.AreaID) + Guid.NewGuid().ToString().Replace("-", ""); infoUser.SubjectInfo.Add(infoResearch.SubjectInfo); return(UserBLL.Create(infoUser).ID > 0); }
public ActionResult Create(ResearchPlanInfo info) { #region 计划对象ResearchPlanInfo info.Name = string.Format("{0}听评{1}", CurrentUser.Name, SysEnum.GetName(typeof(SysEnum.ResearchArea), info.AreaID)); if (string.IsNullOrEmpty(info.Memo)) { info.Memo = string.Empty; } if (info.DateBegin.Date < DateTime.Now.Date) { return(Json(new APIJson("日期有误"))); } if (info.TemplateID <= 0) { return(Json(new APIJson("请选择评价模板"))); } info.CategoryID = PlanCategoryPersonalID; info.Address = string.Empty; info.DateEnd = info.DateBegin; info.TypeEnum = (int)SysEnum.ResearchPlanType.个人听课; info.CreateUserID = CurrentUser.ID; info.CreateDate = DateTime.Now; info.Status = (int)SysEnum.ResearchPlanStatus.进行中; info.SummaryDetail = string.Empty; info.SummaryUserName = string.Empty; #endregion #region 听评课对象ResearchInfo var infoResearch = new ResearchInfo(); infoResearch.UserID = CurrentUser.ID; infoResearch.SubjectID = Function.GetRequestInt("SubjectID"); infoResearch.lectureUserID = Function.GetRequestInt("lectureUserID", 0); infoResearch.Topic = Function.GetRequestString("Topic"); infoResearch.LessionNumber = Function.GetRequestInt("LessionNumber"); infoResearch.ClassName = Function.GetRequestString("ClassName"); infoResearch.GradeName = Function.GetRequestString("GradeName"); infoResearch.SubjectiveOpinion = string.Empty; infoResearch.NoteMemo = string.Empty; infoResearch.Status = (int)SysEnum.ResearchStatus.未评; infoResearch.ScoreTotal = 0; infoResearch.ScoreLever = (int)SysEnum.ResearchScoreLever.合格; infoResearch.CreateDate = DateTime.Now; var infoExist = ResearchBLL.GetList(a => DbFunctions.DiffDays(a.CreateDate, infoResearch.CreateDate) == 0 && a.ResearchPlanID == infoResearch.ResearchPlanID && a.UserID == CurrentUser.ID && a.ClassName == infoResearch.ClassName && a.GradeName == infoResearch.GradeName && a.LessionNumber == infoResearch.LessionNumber ).FirstOrDefault(); if (null != infoExist) { return(Json(new APIJson(2, "您还在听评当前课程,将直接进入", new { PlanID = infoExist.ResearchPlanID, ResearchID = infoExist.ID }))); } //infoResearch.ResearchPlanID //infoResearch.SubjectID if (string.IsNullOrEmpty(infoResearch.Topic)) { return(Json(new APIJson(-1, "请填写课题"))); } if (string.IsNullOrEmpty(infoResearch.ClassName)) { return(Json(new APIJson(-1, "请填写年级"))); } if (string.IsNullOrEmpty(infoResearch.GradeName)) { return(Json(new APIJson(-1, "请填写班级"))); } if (infoResearch.SubjectID <= 0) { return(Json(new APIJson(-1, "请选择学科"))); } SubjectInfo infoSubject = SubjectBLL.GetList(a => a.ID == infoResearch.SubjectID).FirstOrDefault(); if (null == infoSubject) { return(Json(new APIJson(-1, "请选择学科"))); } infoResearch.SubjectInfo = infoSubject; infoResearch.SubjectiveOpinion = string.Empty; infoResearch.NoteMemo = string.Empty; infoResearch.Status = (int)SysEnum.ResearchStatus.未评; infoResearch.ScoreTotal = 0; infoResearch.ScoreLever = (int)SysEnum.ResearchScoreLever.合格; infoResearch.ResearchPlanInfo = info; info.ResearchInfo.Add(infoResearch); #endregion if (!CreatePConfirmDepartmentID(info)) { return(Json(new APIJson(-1, "请认真输放学校信息,对于系统未录入的学校,请务必认真输入全名"))); } if (!CreatePConfirmlectureUserID(infoResearch)) { return(Json(new APIJson(-1, "请认真输放听课对象,对于系统未录入的老师,请务必认真填写其姓名"))); } if (ResearchPlanBLL.Create(info).ID > 0) { return(Json(new APIJson(0, "提交成功", new { PlanID = info.ID, ResearchID = infoResearch.ID }))); } return(Json(new APIJson(-1, "提交失败,请重试"))); }