Пример #1
0
        public ActionResult MyTaskDetail(int taskId, string taskReciver)
        {
            MODEL.T_TaskInformation   info = new MODEL.T_TaskInformation();
            MODEL.T_MemberInformation user = new OperateContext().Usr;
            string stuNum = user.StuNum;



            if ((iBLLSession.ITaskInformationBLL.GetListBy(t => t.TaskSender == stuNum &&
                                                           t.TaskId == taskId).Count > 0) ||
                iBLLSession.ITaskParticipationBLL.GetListBy(t => t.TaskReceiver == stuNum &&
                                                            t.TaskId == taskId).Count > 0)//验证是否有查看此任务的权限
            {
                MODEL.ViewModel.Task.TaskDetail        taskDetail   = iBLLSession.ITaskInformationBLL.GetTaskDetailById(taskId);
                MODEL.ViewModel.Task.TaskEvaluateModel taskEvaluate = iBLLSession.ITaskInformationBLL.GetTaskEvaluateList(taskReciver, taskId)[0];
                MODEL.T_TaskParticipation taskParticipation         = iBLLSession.ITaskParticipationBLL.GetListBy(t => t.TaskId == taskId & t.TaskReceiver == taskReciver).ToList()[0];


                ViewData["taskDetail"]        = taskDetail;
                ViewData["taskEvaluate"]      = taskEvaluate;
                ViewData["taskParticipation"] = taskParticipation;

                return(View());
            }
            else
            {
                return(null);
            }
        }
Пример #2
0
        static void Main(string[] args)
        {
            {
                //写以下代码目的:使用设计模式+ 反射 实现一个可扩展性的简易计算器
                Console.WriteLine("请输入一个int类型数值:");

                int left = Convert.ToInt32(Console.ReadLine());

                Console.WriteLine("请输入+-*/中的一个符号");
                string flag = Console.ReadLine();

                Console.WriteLine("请输入一个int类型数值:");
                int right = Convert.ToInt32(Console.ReadLine());

                int result = 0;

                OperateContext context = new OperateContext(left, right, flag);
                result = context.Calculation();

                Console.WriteLine("计算结果:");
                Console.WriteLine($"{result}");

                Console.WriteLine("请敲空格键结束。");
            }
            {
                //思考:算法这块:是否可以计算如下情况:
                //公式一: (20000 / 365) *30
                //公式二: (12000/ 12) + (1000/10)
                //二叉树??
            }
            Console.ReadKey();
        }
Пример #3
0
        //获取所有拥有权限的任务类型
        public List <MODEL.T_TaskType> GetAccessRightTaskTypeList()
        {
            List <MODEL.T_TaskType> listTaskType = new List <MODEL.T_TaskType>();

            MODEL.T_MemberInformation user = new OperateContext().Usr;
            string stuNum = user.StuNum;

            if (iBLLSession.IProjectInformationBLL.GetListBy(proj => proj.ProjLeader == stuNum).Count > 0)
            {
                //添加项目任务
                listTaskType.Add(iBLLSession.ITaskTypeBLL.GetListBy(tp => tp.TaskTypeId == 10003)[0]);
            }

            List <MODEL.T_RoleAct> listRoleAct = iBLLSession.IRoleActBLL.GetListBy(ra => ra.RoleActor == stuNum);

            foreach (MODEL.T_RoleAct role in listRoleAct)
            {
                if (role.RoleId == 10001)                                                                  //总裁
                {
                    listTaskType.Add(iBLLSession.ITaskTypeBLL.GetListBy(tp => tp.TaskTypeId == 10004)[0]); //学生讲座
                }
                if (role.RoleId == 10002)                                                                  //部长
                {
                    listTaskType.Add(iBLLSession.ITaskTypeBLL.GetListBy(tp => tp.TaskTypeId == 10002)[0]); //开发任务
                }
                if (role.RoleId == 10003)                                                                  //团长
                {
                    listTaskType.Add(iBLLSession.ITaskTypeBLL.GetListBy(tp => tp.TaskTypeId == 10001)[0]); //学习任务
                }
            }

            return(listTaskType);
        }
Пример #4
0
        public string SaveTaskGrade(FormCollection form)
        {
            MODEL.T_MemberInformation user = new OperateContext().Usr;
            string stuNum = user.StuNum;

            if (form["StuNum"] != null && form["TaskId"] != null && form["TaskGrade"] != null)
            {
                string taskReceiver = form["StuNum"];
                string strTaskId    = form["TaskId"];
                string strGrade     = form["TaskGrade"];
                int    taskId;
                int    grade;
                //格式验证
                if (int.TryParse(strTaskId, out taskId) && int.TryParse(strGrade, out grade) && (grade.Equals("优") || grade.Equals("良") || grade.Equals("不合格")))
                {
                    //保存评价,评价权限验证放在BLL层惹
                    if (iBLLSession.ITaskInformationBLL.SaveTaskGrade(stuNum, taskReceiver, taskId, grade))
                    {
                        return("ok");
                    }
                }
            }

            return("nook");
        }
Пример #5
0
        /////
        #region 05.发布任务
        /// <summary>
        ///  发布任务
        /// </summary>
        /// <returns></returns>
        public ActionResult TaskRelease()
        {
            MODEL.T_MemberInformation user = new OperateContext().Usr;
            string stuNum = user.StuNum;

            //获取有权限发布的任务类型
            List <MODEL.T_TaskType> listTaskType = new TaskOperateHelper().GetAccessRightTaskTypeList();

            //获取项目阶段
            List <MODEL.T_ProjPhase> listProjPhase = iBLLSession.IProjPhaseBLL.GetListBy(p => true);

            //获取用户所管理的项目
            List <MODEL.T_ProjectInformation> listProjectInfo = iBLLSession.IProjectInformationBLL.GetListBy(p => p.ProjLeader == stuNum);

            //获取实验室成员信息
            List <MODEL.T_MemberInformation> listMemberInfo = iBLLSession.IMemberInformationBLL.GetListBy(m => true);



            ViewData["listTaskType"]    = listTaskType;
            ViewData["listProjPhase"]   = listProjPhase;
            ViewData["listProjectInfo"] = listProjectInfo;
            ViewData["listMemberInfo"]  = listMemberInfo;

            return(View());
        }
Пример #6
0
        public ActionResult ReleaseHistory()
        {
            int pageIndex = 1;
            int pageSize  = 10;

            MODEL.T_MemberInformation user = new OperateContext().Usr;
            string stuNum = user.StuNum;

            //获取我的任务列表
            List <MODEL.T_TaskInformation> taskList = iBLLSession.ITaskInformationBLL.TaskGetPagedList <int>(pageIndex, pageSize, task => task.TaskSender == stuNum, task => task.TaskId, true);

            //任务我发布的任务条数
            int taskCount = iBLLSession.ITaskInformationBLL.GetReleaseHistoryCount(stuNum);

            List <MODEL.T_TaskType> taskTypeList = iBLLSession.ITaskTypeBLL.GetListBy(t => true);

            //以"taskType"+id:name的形式传到视图,以便@ViewData["taskType"+TaskTypeId]直接获取任务类型名称
            foreach (MODEL.T_TaskType taskType in taskTypeList)
            {
                ViewData["taskType" + taskType.TaskTypeId] = taskType.TaskTypeName;
            }

            List <int> taskIds = taskList.Select(task => task.TaskId).ToList();

            ViewData["canBeModify"] = iBLLSession.ITaskInformationBLL.CanByModify(taskIds);//查看每一个任务是否能被修改

            ViewData["taskList"] = taskList;

            ViewData["taskCount"] = taskCount;

            //列表大小
            ViewData["listSize"] = 10;

            return(View());
        }
Пример #7
0
        /////
        #region 16.获取任务评价分页数据
        /// <summary>
        /// 获取任务评价分页数据,就是查询数据库,转Json格式数据没什么的,权限的验证
        /// </summary>
        /// <param name="pageIndex"></param>
        /// <param name="pageSize"></param>
        /// <returns></returns>
        public ActionResult GetPagedTaskEvaluateList(int pageIndex, int pageSize, int taskId)
        {
            MODEL.T_MemberInformation user = new OperateContext().Usr;
            string stuNum = user.StuNum;

            List <MODEL.ViewModel.Task.TaskEvaluateModel> listTaskEvaluate = iBLLSession.ITaskInformationBLL.GetPagedTaskEvaluateList(pageIndex, pageSize, stuNum, taskId);

            return(Json(listTaskEvaluate, JsonRequestBehavior.AllowGet));
        }
Пример #8
0
        /////
        #region 10.删除任务
        /// <summary>
        /// 删除任务
        /// </summary>
        /// <param name="taskId"></param>
        /// <returns></returns>
        public string DeleteTask(int taskId)
        {
            MODEL.T_MemberInformation user = new OperateContext().Usr;
            string stuNum = user.StuNum;

            //删除操作的验证在BLL层唷~~
            if (iBLLSession.ITaskInformationBLL.DeleteTask(taskId, stuNum))
            {
                return("ok");
            }
            return("nook");
        }
Пример #9
0
        /////
        #region 13.任务评价
        /// <summary>
        /// 任务评价
        /// </summary>
        /// <returns></returns>
        public ActionResult TaskEvaluate(int taskId)
        {
            MODEL.T_MemberInformation user = new OperateContext().Usr;
            string stuNum = user.StuNum;

            List <MODEL.ViewModel.Task.TaskEvaluateModel> listTaskEvaluate = iBLLSession.ITaskInformationBLL.GetPagedTaskEvaluateList(1, 10, stuNum, taskId);

            ViewData["taskEvaluateCount"] = iBLLSession.ITaskInformationBLL.GetTaskEvaluateCount(stuNum, taskId);

            ViewData["listTaskEvaluate"] = listTaskEvaluate;

            return(View());
        }
Пример #10
0
        /////
        #region 修改任务-文件上传 +  public string SaveModifyFile(FormCollection form)
        /// <summary>
        /// 修改任务-文件上传 +  public string SaveModifyFile(FormCollection form)
        /// </summary>
        /// <param name="form"></param>
        /// <returns></returns>
        public string SaveModifyFile(FormCollection form)
        {
            MODEL.T_MemberInformation user = new OperateContext().Usr;
            string stuNum = user.StuNum;
            int    taskId = int.Parse(form["strTaskId"]);

            MODEL.T_TaskInformation taskInformation = iBLLSession.ITaskInformationBLL.GetListBy(t => t.TaskId == taskId).FirstOrDefault();
            taskInformation.TaskAttachmentPath = form["filename"] + "," + taskInformation.TaskAttachmentPath;
            if (iBLLSession.ITaskInformationBLL.Modify(taskInformation, "TaskAttachmentPath") > 0)
            {
                return("ok");
            }
            else
            {
                return("nook");
            }
        }
Пример #11
0
        /////
        #region 11.修改任务
        /// <summary>
        /// 修改任务,主要是查询任务信息,让后传到视图上去
        /// 比较懒,修改和发布任务的视图差不多,所以在修改视图上就用了发布视图的JS和CSS并做了扩展
        /// </summary>
        /// <param name="taskId"></param>
        /// <returns></returns>
        public ActionResult ModifyTask(int taskId)
        {
            MODEL.T_MemberInformation user = new OperateContext().Usr;
            string stuNum = user.StuNum;

            //权限验证
            if (!iBLLSession.ITaskInformationBLL.CanByModify(taskId) ||
                iBLLSession.ITaskInformationBLL.GetListBy(t => t.TaskId == taskId &&
                                                          t.TaskSender == stuNum).Count <= 0)
            {
                return(null);
            }
            //任务信息
            MODEL.T_TaskInformation taskInfo = iBLLSession.ITaskInformationBLL.GetListBy(t => t.TaskId == taskId && t.TaskSender == stuNum)[0];
            //任务类型List
            List <MODEL.T_TaskType> listTaskType = iBLLSession.ITaskTypeBLL.GetListBy(t => true);
            //项目阶段List
            List <MODEL.T_ProjPhase> listProjPhase = iBLLSession.IProjPhaseBLL.GetListBy(p => true);
            //项目信息List
            List <MODEL.T_ProjectInformation> listProjectInfo = iBLLSession.IProjectInformationBLL.GetListBy(p => p.ProjLeader == stuNum);
            //成员信息List
            List <MODEL.T_MemberInformation> listMemberInfo = iBLLSession.IMemberInformationBLL.GetListBy(m => true);

            ViewData["taskInfo"] = taskInfo;
            //当前任务的参与人List
            List <MODEL.T_TaskParticipation> listTaskParticipation = iBLLSession.ITaskParticipationBLL.GetListBy(tp => tp.TaskId == taskId);

            string jsonMembers = "";

            jsonMembers += "[";
            foreach (MODEL.T_TaskParticipation taskParticipation in listTaskParticipation)
            {
                jsonMembers += "{";
                jsonMembers += "StuNum:" + taskParticipation.TaskReceiver.ToString();
                jsonMembers += "},";
            }
            jsonMembers = jsonMembers.Substring(0, jsonMembers.Length - 1) + "]";

            ViewData["listTaskType"]    = listTaskType;
            ViewData["listProjPhase"]   = listProjPhase;
            ViewData["listProjectInfo"] = listProjectInfo;
            ViewData["listMemberInfo"]  = listMemberInfo;
            ViewData["jsonMembers"]     = jsonMembers;
            return(View());
        }
Пример #12
0
        /// <summary>
        /// 确认任务已完成
        /// </summary>
        /// <param name="taskId"></param>
        /// <returns></returns>
        public string TaskCompleteConfirmation(int taskId)
        {
            MODEL.T_MemberInformation user = new OperateContext().Usr;
            string stuNum = user.StuNum;

            MODEL.T_TaskParticipation taskParticipation = new MODEL.T_TaskParticipation();
            taskParticipation.TaskId       = taskId;
            taskParticipation.TaskReceiver = stuNum;
            taskParticipation.IsComplete   = true;
            taskParticipation.IsRead       = true;

            if (iBLLSession.ITaskParticipationBLL.ModifyBy(taskParticipation, tp => tp.TaskId == taskParticipation.TaskId &&
                                                           tp.TaskReceiver == taskParticipation.TaskReceiver, "IsComplete", "IsRead") > 0)
            {
                return("ok");
            }
            return("nook");
        }
Пример #13
0
        /////
        #region 任务提交 + public ActionResult TaskSubmit(int taskId)
        /// <summary>
        /// 任务提交 + public ActionResult TaskSubmit(int taskId)
        /// </summary>
        /// <param name="taskId"></param>
        /// <returns></returns>
        public ActionResult TaskSubmit(int taskId)
        {
            MODEL.T_MemberInformation user = new OperateContext().Usr;
            string stuNum = user.StuNum;

            if ((iBLLSession.ITaskInformationBLL.GetListBy(t => t.TaskSender == stuNum &&
                                                           t.TaskId == taskId).Count > 0) ||
                iBLLSession.ITaskParticipationBLL.GetListBy(t => t.TaskReceiver == stuNum &&
                                                            t.TaskId == taskId).Count > 0)//验证是否有查看此任务的权限
            {
                MODEL.ViewModel.Task.TaskDetail taskDetail = iBLLSession.ITaskInformationBLL.GetTaskDetailById(taskId);

                ViewData["taskDetail"] = taskDetail;

                return(View());
            }
            else
            {
                return(null);
            }
        }
Пример #14
0
        public ActionResult GetReleaseHistoryJsonData(string strPageIndex, string strPageSize)
        {
            int pageIndex = 1;
            int pageSize  = 10;

            MODEL.T_MemberInformation user = new OperateContext().Usr;
            string stuNum = user.StuNum;

            List <MODEL.T_TaskInformation> taskList     = new List <MODEL.T_TaskInformation>();
            List <MODEL.T_TaskType>        taskTypeList = new List <MODEL.T_TaskType>();


            if (int.TryParse(strPageIndex, out pageIndex) &&
                int.TryParse(strPageSize, out pageSize))
            {
                taskList = iBLLSession.ITaskInformationBLL.TaskGetPagedList <int>(pageIndex, pageSize, task => task.TaskSender == stuNum, task => task.TaskId, true);

                taskTypeList = iBLLSession.ITaskTypeBLL.GetListBy(t => true);
                List <int> taskIds     = taskList.Select(task => task.TaskId).ToList();
                bool[]     canBeModify = iBLLSession.ITaskInformationBLL.CanByModify(taskIds);

                var list = from tl in taskList
                           join ttl in taskTypeList on tl.TaskTypeId equals ttl.TaskTypeId
                           select new
                {
                    TaskId       = tl.TaskId,
                    TaskName     = tl.TaskName,
                    TaskTypeId   = ttl.TaskTypeId,
                    TaskTypeName = ttl.TaskTypeName,
                    TaskBegTime  = tl.TaskBegTime.ToString("yyyy年MM月dd日"),
                    TaskEndTime  = tl.TaskEndTime.ToString("yyyy年MM月dd日"),
                };
                var jsonData = new { TaskList = list, CanBeModify = canBeModify };
                return(Json(jsonData, JsonRequestBehavior.AllowGet));
            }
            else
            {
                return(Json(null, JsonRequestBehavior.AllowGet));
            }
        }
Пример #15
0
        public string SaveTaskSubmit(FormCollection form)
        {
            MODEL.T_MemberInformation user = new OperateContext().Usr;
            string   stuNum         = user.StuNum;
            int      taskId         = int.Parse(form["taskId"]);
            string   taskSubmition  = form["TaskSubmition"];
            DateTime taskFinishTime = DateTime.Parse(form["taskFinishTime"]);

            MODEL.T_TaskParticipation taskParticipation = iBLLSession.ITaskParticipationBLL.GetListBy(t => t.TaskId == taskId && t.TaskReceiver == stuNum).FirstOrDefault();
            taskParticipation.TaskSubmition  = taskSubmition;
            taskParticipation.IsComplete     = true;
            taskParticipation.TaskFinishTime = taskFinishTime;
            taskParticipation.IsRead         = true;
            if (iBLLSession.ITaskParticipationBLL.Modify(taskParticipation, "TaskSubmition", "IsComplete", "TaskFinishTime", "IsRead") > 0)
            {
                return("ok");
            }
            else
            {
                return("nook");
            }
        }
Пример #16
0
        public string SaveTaskCorret(FormCollection form)
        {
            MODEL.T_MemberInformation user = new OperateContext().Usr;
            string stuNum = user.StuNum;

            if (form["TaskId"] != null && form["TaskReceiver"] != null && form["TaskScore"] != null && form["TaskRemark"] != null)
            {
                string taskStrId    = form["TaskId"];
                string taskReceiver = form["TaskReceiver"];
                int    taskScore    = Convert.ToInt32(form["TaskScore"]);
                string taskRemark   = form["TaskRemark"];
                int    taskId;
                if (int.TryParse(taskStrId, out taskId))
                {
                    if (iBLLSession.ITaskInformationBLL.SaveTaskCorrect(stuNum, taskReceiver, taskId, taskRemark, taskScore))
                    {
                        return("ok");
                    }
                }
            }

            return("nook");
        }
Пример #17
0
        public string SaveTaskResponse(FormCollection form)
        {
            MODEL.T_MemberInformation user = new OperateContext().Usr;
            string stuNum = user.StuNum;

            if (form["StuNum"] != null && form["TaskId"] != null && form["TaskResponse"] != null)
            {
                string taskReceiver = form["StuNum"];
                string strTaskId    = form["TaskId"];
                string taskResponse = form["TaskResponse"];
                int    taskId;
                if (int.TryParse(strTaskId, out taskId))
                {
                    //保存任务评价,权限的验证放在了BLL层中喔~~
                    if (iBLLSession.ITaskInformationBLL.SaveTaskResponse(stuNum, taskReceiver, taskId, taskResponse))
                    {
                        return("ok");
                    }
                }
            }

            return("nook");
        }
Пример #18
0
        public ActionResult GetMyTaskJsonData(string strPageIndex, string strPageSize, bool complete)
        {
            int pageIndex  = 1;
            int pageSize   = 4;
            int taskTypeId = 10001;//初始化

            MODEL.T_MemberInformation user = new OperateContext().Usr;
            string stuNum = user.StuNum;

            List <MyTask> myTaskList = new List <MyTask>();


            if (int.TryParse(strPageIndex, out pageIndex) &&
                int.TryParse(strPageSize, out pageSize))
            {
                myTaskList = iBLLSession.ITaskInformationBLL.GetPagedTaskList(pageIndex, pageSize, stuNum, complete);

                return(Json(myTaskList, JsonRequestBehavior.AllowGet));//允许Get请求
            }
            else
            {
                return(Json(null, JsonRequestBehavior.AllowGet));
            }
        }
Пример #19
0
        public string SaveTaskInfo(FormCollection form)
        {
            MODEL.T_TaskInformation taskInfo = new MODEL.T_TaskInformation();
            int taskTypeId = 0, projId = 10001, projPhasesId = 10001;

            System.DateTime taskBegTime, taskEndTime;

            MODEL.T_MemberInformation user = new OperateContext().Usr;
            string stuNum = user.StuNum;

            string[] members = null;
            //TaskName,TaskBegTime,TaskEndTime,TaskContent,TaskTypeId
            //ProjId,ProjPhasesId,Members
            if (form["TaskName"] != null && form["TaskContent"] != null && form["Members"] != null)
            {
                if (!(int.TryParse(form["TaskTypeId"], out taskTypeId) &&
                      System.DateTime.TryParse(form["TaskBegTime"], out taskBegTime) &&
                      System.DateTime.TryParse(form["TaskEndTime"], out taskEndTime)))
                {
                    return("nook");
                }
                else
                {
                    if (taskTypeId == 10003)
                    {
                        if (!int.TryParse(form["ProjId"], out projId) || !int.TryParse(form["ProjPhasesId"], out projPhasesId))
                        {
                            return("nook");
                        }
                    }
                    taskInfo.TaskSender         = stuNum;
                    taskInfo.TaskTypeId         = taskTypeId;
                    taskInfo.TaskName           = form["TaskName"];
                    taskInfo.TaskBegTime        = taskBegTime;
                    taskInfo.TaskEndTime        = taskEndTime;
                    taskInfo.TaskContent        = form["TaskContent"];
                    taskInfo.ProjId             = projId;
                    taskInfo.ProjPhaseId        = projPhasesId;
                    taskInfo.TaskAttachmentPath = form["TaskFile"] + taskInfo.TaskAttachmentPath;
                    members = form["Members"].Split(new char[] { ',' });

                    #region ##任务修改代码
                    int oldTaskId;

                    if (form["TaskId"] != null)//如果TaskId不为空则说明是修改任务,需要先删除久的任务
                    {
                        if (int.TryParse(form["TaskId"], out oldTaskId))
                        {
                            if (DeleteTask(oldTaskId) != "ok")
                            {
                                return("nook");
                            }
                        }
                    }
                    #endregion

                    if (iBLLSession.ITaskInformationBLL.SaveTask(taskInfo, members))
                    {
                        return("ok");
                    }
                    else
                    {
                        return("nook");
                    }
                }
            }
            return("nook");
        }