Exemple #1
0
        public IHttpActionResult PostTask(TaskDetailDTO taskDTO)
        {
            Authorize auth           = new Authorize();
            User      authorizedUser = auth.GetAuthorizedUser(Request.Headers.GetCookies("user").FirstOrDefault());

            if (authorizedUser == null || authorizedUser.GetTeacher() == null)
            {
                return(Unauthorized());
            }
            Assignment assignment = db.Assignments.Find(taskDTO.NewAssignmentId);

            if (!ModelState.IsValid || assignment == null || assignment.Course == null ||
                !taskDTO.Validate(null, assignment))
            {
                return(BadRequest());
            }
            if (!"Teacher".Equals(auth.GetAccessRole(authorizedUser, assignment.Course)))
            {
                return(Unauthorized());
            }
            Task   task  = taskDTO.Create();
            string error = db.Update(task, Added);

            if (error != null)
            {
                return(BadRequest(error));
            }
            return(Redirect("https://" + Request.RequestUri.Host + ":" + Request.RequestUri.Port + "/Assignments/" + assignment.Id));
        }
Exemple #2
0
        public IHttpActionResult PutTask(int id, TaskDetailDTO taskDTO)
        {
            Authorize auth           = new Authorize();
            User      authorizedUser = auth.GetAuthorizedUser(Request.Headers.GetCookies("user").FirstOrDefault());

            if (authorizedUser == null || authorizedUser.GetTeacher() == null)
            {
                return(Unauthorized());
            }
            Task task = db.Tasks.Find(id);

            if (taskDTO == null || task == null || task.Assignment == null || task.Assignment.Course == null ||
                !ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }
            Course course = task.Assignment.Course;

            if (!"Teacher".Equals(auth.GetAccessRole(authorizedUser, course)))
            {
                return(Unauthorized());
            }
            if (!taskDTO.Validate(task, task.Assignment))
            {
                return(BadRequest());
            }
            taskDTO.Update(task);
            string error = db.Update(task, Modified);

            if (error != null)
            {
                return(BadRequest(error));
            }
            return(Redirect("https://" + Request.RequestUri.Host + ":" + Request.RequestUri.Port + "/Assignments/" + task.Assignment.Id));
        }
        public static List <TaskDetailDTO> getTasks()
        {
            List <TaskDetailDTO> taskList = new List <TaskDetailDTO>();

            var list = (from t in db.TASK
                        join s in db.TASKSTATE on t.TaskState equals s.ID
                        join e in db.EMPLOYEE on t.EmpolyeeID equals e.ID
                        join d in db.DEPARTMENT on e.DepartmentID equals d.ID
                        join p in db.POSITION on e.PositionID equals p.ID
                        select new
            {
                taskID = t.ID,
                title = t.TaskTitle,
                content = t.TaskContent,
                startDate = t.TaskStartDate,
                deliveryDate = t.TaskDeliveryDate,
                taskStateName = s.StateName,
                taskStateID = t.TaskState,
                UserNo = e.UserNo,
                Name = e.Name,
                EmployeeID = e.ID,
                Surname = e.Surname,
                PositionName = p.Position1,
                DepartmentName = d.DepartamentName,
                PositionID = e.PositionID,
                DepartmentID = e.DepartmentID
            }).OrderBy(x => x.startDate).ToList();

            foreach (var item in list)
            {
                TaskDetailDTO dto = new TaskDetailDTO();

                dto.TaskID         = item.taskID;
                dto.TaskTitle      = item.title;
                dto.Content        = item.content;
                dto.TaskStartDate  = item.startDate;
                dto.TaskEndDate    = item.deliveryDate;
                dto.TaskStateName  = item.taskStateName;
                dto.TaskStateID    = item.taskStateID;
                dto.UserNo         = item.UserNo;
                dto.Name           = item.Name;
                dto.EmployeeID     = item.EmployeeID;
                dto.Surname        = item.Surname;
                dto.PositionName   = item.PositionName;
                dto.DepartmentName = item.DepartmentName;
                dto.PositionID     = item.PositionID;
                dto.DepartmentID   = item.DepartmentID;

                taskList.Add(dto);
            }
            return(taskList);
        }
        public static List <TaskDetailDTO> getTasks()
        {
            List <TaskDetailDTO> tasklist = new List <TaskDetailDTO>();
            var list = (from ta in db.Task
                        join s in db.TaskState on ta.TaskState equals s.ID
                        join e in db.Employee on ta.EmployeeID equals e.ID
                        join d in db.Department on e.DepartmentID equals d.ID
                        join p in db.Position on e.PositionID equals p.ID
                        select new {
                taskID = ta.ID,
                title = ta.TaskTitle,
                content = ta.TaskContent,
                stardate = ta.TaskStartDate,
                deleverydate = ta.TaskDeliveryDate,
                taskstatename = s.StateName,
                taskstateID = ta.TaskState,
                userno = e.UserNo,
                name = e.Name,
                employeeID = ta.EmployeeID,
                surname = e.Surname,
                position = p.PositionName,
                departmentname = d.DepartmentName,
                positionID = e.PositionID,
                departmentID = e.DepartmentID
            }).OrderBy(x => x.stardate).ToList();


            foreach (var item in list)
            {
                TaskDetailDTO dto = new TaskDetailDTO();
                dto.TaskID           = item.taskID;
                dto.Title            = item.title;
                dto.Content          = item.content;
                dto.TaskStartDate    = item.stardate;
                dto.TaskDeliveryDate = item.deleverydate;
                dto.TaskStateName    = item.taskstatename;
                dto.taskStateID      = item.taskstateID;
                dto.UserNo           = item.userno;
                dto.Name             = item.name;
                dto.Surname          = item.surname;
                dto.DepartmentName   = item.departmentname;
                dto.PositionID       = item.positionID;
                dto.PositionName     = item.position;
                dto.EmployeeID       = item.employeeID;
                tasklist.Add(dto);
            }
            return(tasklist);
        }