コード例 #1
0
        public List <EvalStudent> GetStudentsByBatchs(string batch, string direction, string projectName)
        {
            string sql = @"select * from (
                           select s.StudentNo,m.Name as mName,year(b.CheckInTime) as bYear,
                           s.Name,s.Mobile,s.[Address],s.EducationBackground as GraduateSchool ,p.Name as pName,isnull(p.periodType,1) as periodType,
                           (select RealName from Member me where me.Id = p.PeopleManagerId) as PEM,
                           (select RealName from Member me where me.Id = p.ProjectManagerId) as PRM,
                           p.Classroom,b.Name as bName from Student s 
                           left join ProjectDepartment p on s.ProjectDepartmentId = p.Id 
                           left join Batch b on p.BatchId = b.Id
                           left join Major m on p.MajorId = m.Id 
                           ) t where t.bName = @bName";

            if (!string.IsNullOrEmpty(direction))
            {
                sql += " and t.mName = @mName";
            }
            if (!string.IsNullOrEmpty(projectName))
            {
                sql += " and t.pName = @pName";
            }
            EvalStudent stu = new EvalStudent();

            stu.bName = batch;
            stu.mName = direction;
            stu.pName = projectName;
            List <EvalStudent> result = DapperDBHelper.Instance.ExcuteQuery <EvalStudent>(sql, stu).OrderBy(r => r.Name).ToList();

            return(result);
        }
コード例 #2
0
        public DeluxeJsonResult AddEvalPoint(StudentTagsModel model)
        {
            HPITMemberInfo currentUser = DeluxeUser.CurrentMember;
            string         stuNo       = "";

            if (currentUser.FullName != "学生" && currentUser.FullName != "项目组组长" && currentUser.FullName != "技术主管" && currentUser.FullName != "项目主管" && currentUser.FullName != "人事主管")
            {
                return(new DeluxeJsonResult(new { data = "只能学生进行技术评估", status = 403 }));
            }
            List <EvalStudent> matchList   = EvaluteDal.Instance.GetMatchStudent(currentUser.RealName, "");
            StudentEval        studentEval = new StudentEval();

            if (matchList.Count == 1)
            {
                EvalStudent match = matchList.FirstOrDefault();
                stuNo           = match.StudentNo;
                studentEval.PEM = match.PEM;
                studentEval.PRM = match.PRM;
            }
            foreach (var stag in model.tags)
            {
                stag.StudentName = currentUser.RealName;
                stag.StudentNo   = stuNo;
            }
            studentEval.StudentName = currentUser.RealName;
            studentEval.StudentNo   = stuNo;
            studentEval.Direction   = model.positionName;
            studentEval.CreateTime  = DateTime.Now;
            studentEval.Score       = model.tags.Sum(r => r.SelfPoint);
            var result = StudentDal.Instance.AddStudentTags(stuNo, model.tags, studentEval);

            return(new DeluxeJsonResult(new { data = result, status = 200 }));
        }
コード例 #3
0
        public DeluxeJsonResult StartStudentNewSurvey(string stuNo)
        {
            AbstractFormModel <SurveyModel> result = SurveyDal.Instance.StartNewSurvey();

            result.Form.Type = (int)SurveyType.Student;
            HPITMemberInfo currentUser = DeluxeUser.CurrentMember;

            result.CurrentRole = DeluxeUser.CurrentMember;
            if (currentUser.FullName == "项目组组长" || currentUser.FullName == "技术主管" || currentUser.FullName == "项目主管" || currentUser.FullName == "人事主管")
            {
                result.CurrentRole.FullName = "学生";
            }
            //根据学生编号创建新的
            List <EvalStudent> matchList = EvaluteDal.Instance.GetMatchStudent(currentUser.RealName, "");

            if (matchList.Count == 1)
            {
                EvalStudent match = matchList.FirstOrDefault();
                result.Form.ProjectName = match.pName;
                result.Form.StudentNo   = match.StudentNo;
                result.Form.StuName     = match.Name;
                result.Form.Phone       = match.Mobile;
                result.Form.Direction   = match.mName;
                result.Form.Year        = match.bYear;
                result.Form.School      = match.GraduateSchool;
                result.Form.Batch       = match.bName;
                result.Form.PRM         = match.PRM;
                result.Form.PEM         = match.PEM;
            }
            return(new DeluxeJsonResult(result));
        }
コード例 #4
0
        public void OnAuthentication(AuthenticationContext filterContext)
        {
            //如果action 和 controller的添加的特性里面包含匿名的,则直接过滤掉。
            if (filterContext.ActionDescriptor.IsDefined(typeof(AllowAnonymousAttribute), inherit: true) ||
                filterContext.ActionDescriptor.ControllerDescriptor.IsDefined(typeof(AllowAnonymousAttribute), inherit: true))
            {
                return;
            }
            //获取请求上下问的context
            var Url = new UrlHelper(filterContext.RequestContext);
            //获取登录的url
            var urlstr = Url.Action("Index", "Login");
            //filterContext.Result = new RedirectResult(urlstr); //指定返回重定向登录界面
            //HttpCookie cokie = filterContext.HttpContext.Request.Cookies.Get("Login");
            //获取cookie 的名字
            string cookieName = FormsAuthentication.FormsCookieName;
            //当前context 里面取cookie
            HttpCookie authCookie = filterContext.HttpContext.Request.Cookies[cookieName];

            //cookie为空 返回登录页面
            if (authCookie == null)
            {
                filterContext.Result = new RedirectToRouteResult(new RouteValueDictionary
                {
                    { "controller", "Login" },
                    { "action", "Index" },
                    { "returnUrl", filterContext.HttpContext.Request.RawUrl }
                });
            }
            else
            {
                //定义票据
                FormsAuthenticationTicket authTicket = null;
                try
                {
                    //解密cookie的票据信息
                    authTicket = FormsAuthentication.Decrypt(authCookie.Value);
                }
                catch (Exception ex)
                {
                    LogHelper.Default.WriteError(ex.Message);
                }

                if (authTicket != null)
                {
                    //反序列化json 放到当前用户信息
                    DeluxeUser.CurrentMember = JsonConvert.DeserializeObject <HPITMemberInfo>(authTicket.UserData);
                    EvalStudent match = EvaluteDal.Instance.GetMatchStudent(DeluxeUser.CurrentMember.RealName);
                    //查询当前用户 如果是学生的话 培训周期period(1,2,3,4) , 学号
                    if (match != null)
                    {
                        DeluxeUser.CurrentMember.Period      = match.periodType;
                        DeluxeUser.CurrentMember.StuNo       = match.StudentNo;
                        DeluxeUser.CurrentMember.ProjectName = match.pName;
                    }
                    LogHelper.Default.WriteInfo(DeluxeUser.CurrentMember.RealName + "登录了系统" + filterContext.ActionDescriptor.ActionName + "--" + filterContext.ActionDescriptor.ControllerDescriptor.ControllerName);
                }
            }
        }
コード例 #5
0
        public DeluxeJsonResult Save(SurveyModel model)
        {
            List <EvalStudent> matchList = EvaluteDal.Instance.GetMatchStudent(model.StuName, "");

            if (matchList.Count == 1)
            {
                EvalStudent match = matchList.FirstOrDefault();
                model.PRM = !string.IsNullOrEmpty(model.PRM) ? model.PRM: match.PRM;
                model.PEM = !string.IsNullOrEmpty(model.PEM) ? model.PEM : match.PEM;
            }
            var result = SurveyDal.Instance.Create(model);

            return(new DeluxeJsonResult(result));
        }
コード例 #6
0
        public List <string> GetProjectNames()
        {
            string             sql    = @"select * from (
                           select s.StudentNo,m.Name as mName,year(b.CheckInTime) as bYear,
                           s.Name,s.Mobile,s.[Address],s.EducationBackground as GraduateSchool ,p.Name as pName,
                           (select RealName from Member me where me.Id = p.PeopleManagerId) as PEM,
                           (select RealName from Member me where me.Id = p.ProjectManagerId) as PRM,
                           p.Classroom,b.Name as bName from Student s 
                           left join ProjectDepartment p on s.ProjectDepartmentId = p.Id 
                           left join Batch b on p.BatchId = b.Id
                           left join Major m on p.MajorId = m.Id 
                           ) t";
            EvalStudent        stu    = new EvalStudent();
            List <EvalStudent> result = DapperDBHelper.Instance.ExcuteQuery <EvalStudent>(sql, stu).ToList();
            List <string>      data   = result.Where(r => !string.IsNullOrEmpty(r.pName)).Select(r => r.pName).Distinct().ToList();

            return(data);
        }
コード例 #7
0
        public List <EvalStudent> GetMatchStudentByNo(string StudentNo)
        {
            string      sql = @"select * from (
                          select s.StudentNo,m.Name as mName,year(b.CheckInTime) as bYear,
                          s.Name,s.Mobile,s.[Address],s.GraduateSchool,p.Name as pName,
                          (select RealName from Member me where me.Id = p.PeopleManagerId) as PEM,
                          (select RealName from Member me where me.Id = p.ProjectManagerId) as PRM,
                          p.Classroom,b.Name as bName from Student s 
                          left join ProjectDepartment p on s.ProjectDepartmentId = p.Id 
                          left join Batch b on p.BatchId = b.Id
                          left join Major m on p.MajorId = m.Id ) t where StudentNo=@StudentNo";
            EvalStudent stu = new EvalStudent();

            stu.StudentNo = StudentNo;
            List <EvalStudent> result = DapperDBHelper.Instance.ExcuteQuery <EvalStudent>(sql, stu).ToList();

            return(result);
        }
コード例 #8
0
        public EvalStudent GetMatchStudent(string name, string classNo = "")
        {
            string      sql = @"select * from (
                           select s.StudentNo,m.Name as mName,year(b.CheckInTime) as bYear,
                           s.Name,s.Mobile,s.[Address],s.EducationBackground as GraduateSchool ,p.Name as pName,isnull(p.periodType,1) as periodType,
                           (select RealName from Member me where me.Id = p.PeopleManagerId) as PEM,
                           (select RealName from Member me where me.Id = p.ProjectManagerId) as PRM,
                           p.Classroom,b.Name as bName from Student s 
                           left join ProjectDepartment p on s.ProjectDepartmentId = p.Id 
                           left join Batch b on p.BatchId = b.Id
                           left join Major m on p.MajorId = m.Id 
                           ) t where Name=@Name or pName=@ClassName";
            EvalStudent stu = new EvalStudent();

            stu.Name      = name;
            stu.ClassName = classNo;
            EvalStudent result = DapperDBHelper.Instance.ExcuteQuery <EvalStudent>(sql, stu).ToList().FirstOrDefault();

            return(result);
        }