Exemplo n.º 1
0
        public void ChangeCustomTaskEnabled()
        {
            Boolean changed;
            List <ExaminationTask> ets;

            try
            {
                changed = false;

                ets =
                    olsEni
                    .ExaminationTasks
                    .Where(m =>
                           (m.ET_Type == (Byte)ExaminationTaskType.Exercise ||
                            (m.ET_Type == (Byte)ExaminationTaskType.Examination &&
                             m.ET_AutoType == (Byte)AutoType.Custom)) &&
                           m.ET_Enabled != (Byte)ExaminationTaskStatus.Disabled &&
                           m.ET_Status == (Byte)Status.Available)
                    .ToList();

                foreach (var et in ets)
                {
                    if (et.ET_Enabled == (Byte)ExaminationTaskStatus.Unset &&
                        et.ET_StartTime < now &&
                        et.ET_EndTime > now)
                    {
                        et.ET_Enabled = (Byte)ExaminationTaskStatus.Enabled;
                        changed       = true;
                    }
                    else if (et.ET_Enabled == (Byte)ExaminationTaskStatus.Enabled &&
                             et.ET_EndTime < now)
                    {
                        et.ET_Enabled = (Byte)ExaminationTaskStatus.Disabled;
                        changed       = true;
                    }
                }

                if (changed)
                {
                    olsEni.SaveChanges();
                }
            }
            catch (Exception ex)
            {
                StaticHelper.RecordSystemLog(ex);
            }
        }
Exemplo n.º 2
0
        public Boolean Create(VMUser vmModel)
        {
            try
            {
                Int32 uId;
                User  model;

                // 不允许将密码设置为“**********”
                if (vmModel.U_Password == "**********")
                {
                    return(false);
                }

                uId = GetUId();

                model = new User
                {
                    U_Id           = uId,
                    Du_Id          = vmModel.Du_Id,
                    U_IdCardNumber = vmModel.U_IdCardNumber,
                    U_Name         = vmModel.U_Name,
                    U_LoginName    = "LoginName" + uId, //[TOKEN_20160815_1559]
                    //U_LoginName = vmModel.Du_Name, //[TOKEN_20160815_1559]
                    U_Password    = EncryptPassword(vmModel.U_Password),
                    U_Departments = vmModel.U_Departments,
                    U_Roles       = vmModel.U_Roles,
                    U_Remark      = vmModel.U_Remark,
                    U_AddTime     = vmModel.U_AddTime,
                    U_Status      = vmModel.U_Status,
                    U_Sort        = uId
                };

                olsEni.Users.Add(model);
                olsEni.SaveChanges();

                UpdateUserDepartment(model);
                UpdateUserRole(model);

                return(true);
            }
            catch (Exception ex)
            {
                StaticHelper.RecordSystemLog(ex);
                return(false);
            }
        }
Exemplo n.º 3
0
        public Boolean Edit(Role model)
        {
            try
            {
                olsEni.Entry(model).State = EntityState.Modified;
                olsEni.SaveChanges();

                UpdateRolePermission(model);

                return(true);
            }
            catch (Exception ex)
            {
                StaticHelper.RecordSystemLog(ex);
                return(false);
            }
        }
        public ResponseJson EnterExercise(Int32 etId, Int32 uId)
        {
            ExaminationTask         et;
            ExaminationTaskAttendee eta;
            GeneratePaperTemplate   generator;
            List <Question>         readyQs;
            Int32 eptId;
            ExaminationPaperTemplate ept;

            try
            {
                et = olsEni.ExaminationTasks.SingleOrDefault(m => m.ET_Id == etId);

                if (null == et)
                {
                    return(new ResponseJson(ResponseStatus.Error, "任务不存在。"));
                }

                if (et.ET_Enabled != (Byte)ExaminationTaskStatus.Enabled)
                {
                    return(new ResponseJson(ResponseStatus.Error, "任务已关闭。"));
                }

                eta = olsEni.ExaminationTaskAttendees.SingleOrDefault(m => m.ET_Id == et.ET_Id && m.U_Id == uId);

                if (null == eta)
                {
                    return(new ResponseJson(ResponseStatus.Error, "您不在此练习的参与人员列表中。"));
                }

                generator = new GeneratePaperTemplate(uId);
                readyQs   = generator.GenerateWithNumber(et);
                eptId     = generator.CreatePaperTemplateOfExercise(et, readyQs);
                ept       = Get(eptId);
                ept.EPT_PaperTemplateStatus = (Byte)PaperTemplateStatus.Done;
                SaveChanges();

                return(addExaminationPaper(ept, uId));
            }
            catch (Exception ex)
            {
                StaticHelper.RecordSystemLog(ex);
                return(new ResponseJson(ResponseStatus.Error, ex.Message));
            }
        }
Exemplo n.º 5
0
        public Boolean Create(Question model)
        {
            try
            {
                Int32 id;

                id = GetQId();

                model.Q_Id = id;
                olsEni.Questions.Add(model);
                olsEni.SaveChanges();

                return(true);
            }
            catch (Exception ex)
            {
                StaticHelper.RecordSystemLog(ex);
                return(false);
            }
        }
Exemplo n.º 6
0
        public Boolean Create(ExaminationTaskTemplate model)
        {
            try
            {
                Int32 id;

                id = GetETTId();

                model.ETT_Id = id;
                olsEni.ExaminationTaskTemplates.Add(model);
                olsEni.SaveChanges();

                return(true);
            }
            catch (Exception ex)
            {
                StaticHelper.RecordSystemLog(ex);
                return(false);
            }
        }
        public Boolean Create(QuestionClassify model)
        {
            try
            {
                Int32 id;

                id = GetQCId();

                model.QC_Id    = id;
                model.QC_Level = String.Format("{0:D4}", id);
                olsEni.QuestionClassifies.Add(model);
                olsEni.SaveChanges();

                return(true);
            }
            catch (Exception ex)
            {
                StaticHelper.RecordSystemLog(ex);
                return(false);
            }
        }
Exemplo n.º 8
0
        public Boolean DuplicateName(Int32 etId, String name)
        {
            try
            {
                Int32 count;

                count = olsEni.ExaminationTasks.Where(m => m.ET_Id != etId && m.ET_Name == name).Count();

                if (count > 0)
                {
                    return(true);
                }

                return(false);
            }
            catch (Exception ex)
            {
                StaticHelper.RecordSystemLog(ex);
                return(false);
            }
        }
        public Boolean Create(LearningData model)
        {
            try
            {
                Int32 id;

                id = GetLDId();

                model.LD_Id   = id;
                model.LD_Sort = id;
                olsEni.LearningDatas.Add(model);
                olsEni.SaveChanges();

                return(true);
            }
            catch (Exception ex)
            {
                StaticHelper.RecordSystemLog(ex);
                return(false);
            }
        }
Exemplo n.º 10
0
        public Boolean DuplicateName(Int32 id, String name)
        {
            try
            {
                Int32 count;

                count = olsEni.Departments.Where(m => m.D_Id != id && m.D_Name == name).Count();

                if (count > 0)
                {
                    return(true);
                }

                return(false);
            }
            catch (Exception ex)
            {
                StaticHelper.RecordSystemLog(ex);
                return(false);
            }
        }
Exemplo n.º 11
0
        public Boolean Edit(VMUser vmModel)
        {
            try
            {
                User model;

                model = olsEni.Users.Single(m =>
                                            m.U_Id == vmModel.U_Id &&
                                            m.U_Status == (Byte)Status.Available);

                model.U_Id           = vmModel.U_Id;
                model.Du_Id          = vmModel.Du_Id;
                model.U_IdCardNumber = vmModel.U_IdCardNumber;
                model.U_Name         = vmModel.U_Name;
                model.U_LoginName    = vmModel.U_LoginName;
                model.U_Departments  = vmModel.U_Departments;
                model.U_Roles        = vmModel.U_Roles;
                model.U_Remark       = vmModel.U_Remark;
                model.U_Status       = vmModel.U_Status;
                model.U_Sort         = vmModel.U_Sort;

                if ("**********" != vmModel.U_Password)
                {
                    model.U_Password = EncryptPassword(vmModel.U_Password);
                }

                olsEni.Entry(model).State = EntityState.Modified;
                olsEni.SaveChanges();

                UpdateUserDepartment(model);
                UpdateUserRole(model);

                return(true);
            }
            catch (Exception ex)
            {
                StaticHelper.RecordSystemLog(ex);
                return(false);
            }
        }
Exemplo n.º 12
0
        public Boolean Create(Role model)
        {
            try
            {
                Int32 id;

                id = GetRId();

                model.R_Id = id;
                olsEni.Roles.Add(model);
                olsEni.SaveChanges();

                UpdateRolePermission(model);

                return(true);
            }
            catch (Exception ex)
            {
                StaticHelper.RecordSystemLog(ex);
                return(false);
            }
        }
Exemplo n.º 13
0
        internal void ClearUserOnline()
        {
            try
            {
                List <UserOnline> uos;

                uos = olsEni.UserOnlines.ToList();
                foreach (var uo in uos)
                {
                    if (uo.UO_RefreshTime.AddSeconds(20) < now)
                    {
                        olsEni.Entry(uo).State = EntityState.Deleted;
                    }
                }

                olsEni.SaveChanges();
            }
            catch (Exception ex)
            {
                StaticHelper.RecordSystemLog(ex);
            }
        }
Exemplo n.º 14
0
        public Boolean Edit(Department model)
        {
            try
            {
                if (null == model.D_Level)
                {
                    model.D_Level = String.Format("{0:D4}", model.D_Id);
                }

                olsEni.Entry(model).State = EntityState.Modified;
                olsEni.SaveChanges();

                UpdateDepartmentRole(model);

                return(true);
            }
            catch (Exception ex)
            {
                StaticHelper.RecordSystemLog(ex);
                return(false);
            }
        }
Exemplo n.º 15
0
        public Boolean DuplicateLoginName(Int32 uId, String loginName)
        {
            try
            {
                Int32 count;

                count = olsEni.Users.Where(m =>
                                           m.U_Id != uId &&
                                           m.U_LoginName == loginName).Count();

                if (count > 0)
                {
                    return(true);
                }

                return(false);
            }
            catch (Exception ex)
            {
                StaticHelper.RecordSystemLog(ex);
                return(false);
            }
        }
Exemplo n.º 16
0
        public Boolean DuplicateIdCardNumber(Int32 uId, String idCardNumber)
        {
            try
            {
                Int32 count;

                count = olsEni.Users.Where(m =>
                                           m.U_Id != uId &&
                                           m.U_IdCardNumber == idCardNumber).Count();

                if (count > 0)
                {
                    return(true);
                }

                return(false);
            }
            catch (Exception ex)
            {
                StaticHelper.RecordSystemLog(ex);
                return(false);
            }
        }
        public Boolean Create(ExaminationPaperTemplate model)
        {
            throw new NotImplementedException();

            try
            {
                Int32 id;

                id = GetEPTId();

                model.EPT_Id = id;
                olsEni.ExaminationPaperTemplates.Add(model);
                olsEni.SaveChanges();

                AddQuestionTemplate(model);

                return(true);
            }
            catch (Exception ex)
            {
                StaticHelper.RecordSystemLog(ex);
                return(false);
            }
        }
Exemplo n.º 18
0
        public ResponseJson Generate()
        {
            ResponseJson resJson;

            resJson = new ResponseJson(ResponseStatus.Success, now);

            try
            {
                Int32  success;
                String tmpMessage;
                List <ExaminationTask> ets;
                List <Question>        readyQs;
                UExaminationTask       uet;

                success = 0;

                ets =
                    olsEni
                    .ExaminationTasks
                    .Where(m =>
                           m.ET_Mode == (Byte)ExaminationTaskMode.Auto &&
                           m.ET_Enabled == (Byte)ExaminationTaskStatus.Enabled &&
                           m.ET_Status == (Byte)Status.Available)
                    .ToList();

                foreach (var et in ets)
                {
                    if (!WhetherGenerate(et))
                    {
                        resJson.message += et.ET_Name + ":未执行。\r\n";
                        continue;
                    }

                    try
                    {
                        readyQs = Generate(et);
                        if (CreatePaperTemplate(et, readyQs))
                        {
                            success += 1;
                        }
                    }
                    catch (Exception ex)
                    {
                        // 生成试卷模板的过程中发生异常,将考试任务状态设为“关闭”
                        et.ET_Enabled = (Byte)ExaminationTaskStatus.Disabled;

                        resJson.status = ResponseStatus.Error;
                        tmpMessage     = et.ET_Name + ":" + ex.Message + "\\r\\n";

                        if (ex.Data != null && ex.Data["Info"] != null)
                        {
                            tmpMessage += "\\r\\n" + ex.Data["Info"];
                        }

                        et.ET_ErrorMessage  = ex.Message;
                        et.ET_ErrorMessage += "<br />已有试卷模板 " + GetEPTCount(et.ET_Id).ToString() + " 份。";
                        if (et.ET_ErrorMessage.Length > 1000)
                        {
                            et.ET_ErrorMessage = et.ET_ErrorMessage.Substring(0, 1000);
                        }

                        if (0 == olsEni.SaveChanges())
                        {
                            tmpMessage += ResponseMessage.SaveChangesError + "\\r\\n";
                        }

                        resJson.message += tmpMessage;

                        StaticHelper.RecordSystemLog(SystemLogType.Exception, ex.Message, tmpMessage);
                    }
                }

                resJson.addition = "成功处理 " + success + "个考试任务。";
                return(resJson);
            }
            catch (Exception ex)
            {
                resJson.status  = ResponseStatus.Error;
                resJson.message = ex.Message;
                resJson.detail  = StaticHelper.GetExceptionMessageAndRecord(ex);
                return(resJson);
            }
        }
Exemplo n.º 19
0
        internal ResponseJson GetDoingUserNumber(Int32 id)
        {
            ResponseJson resJson;

            resJson = new ResponseJson(ResponseStatus.Error, now);

            try
            {
                ExaminationTask et;
                List <ExaminationPaperTemplate> epts;
                List <ExaminationPaper>         eps, tmpEps;

                et = olsEni.ExaminationTasks.SingleOrDefault(m => m.ET_Id == id);

                if (et == null)
                {
                    resJson.message = "任务不存在。";
                    return(resJson);
                }

                if (et.ET_Enabled != (Byte)ExaminationTaskStatus.Enabled)
                {
                    resJson.message = "任务未启动。";
                    return(resJson);
                }

                epts = olsEni.ExaminationPaperTemplates
                       .Where(m =>
                              m.ET_Id == id &&
                              m.EPT_PaperTemplateStatus == (Byte)PaperTemplateStatus.Doing &&
                              m.EPT_Status == (Byte)Status.Available)
                       .ToList();

                eps = new List <ExaminationPaper>();
                foreach (var ept in epts)
                {
                    tmpEps = olsEni.ExaminationPapers
                             .Where(m =>
                                    m.EPT_Id == ept.EPT_Id &&
                                    m.EP_PaperStatus == (Byte)PaperStatus.Doing &&
                                    m.EP_Status == (Byte)Status.Available)
                             .ToList();

                    if (tmpEps.Count() > 0)
                    {
                        eps.AddRange(tmpEps);
                    }
                }

                resJson.status = ResponseStatus.Success;
                resJson.data   = eps.Count();

                return(resJson);
            }
            catch (Exception ex)
            {
                resJson.message = ex.Message;
                StaticHelper.RecordSystemLog(ex);
                return(resJson);
            }
        }