Exemplo n.º 1
0
        public IsUserAssignableToTaskViewModel IsUserAssignable(CanAssignToTaskDTO canAssignToTask)
        {
            var pendingRequest = Db.TaskRequests
                                 .FirstOrDefault(tr => tr.TaskId == canAssignToTask.TaskId &&
                                                 tr.UserId == canAssignToTask.UserId &&
                                                 tr.RequestStatus.Name == "Pending");

            var assignedUser = Db.Tasks
                               .Where(t => t.TaskId == canAssignToTask.TaskId)
                               .Any(t => t.AssignedUserId == canAssignToTask.UserId);

            var result = new IsUserAssignableToTaskViewModel();

            if (pendingRequest != null)
            {
                result.PendingRequestId = pendingRequest.TaskRequestId;
                result.IsUserAssignableToTaskMessage = "Cancel pending request";
            }
            else if (assignedUser)
            {
                result.IsUserAssignableToTaskMessage = "I can't do this task anymore";
            }
            else
            {
                result.IsUserAssignableToTaskMessage = "No requests";
            }

            return(result);
        }
Exemplo n.º 2
0
 public IHttpActionResult PostCanAssignToTask(CanAssignToTaskDTO canAssignToTask)
 {
     try
     {
         return(Ok(service.IsUserAssignable(canAssignToTask)));
     }
     catch (Exception e)
     {
         return(InternalServerError(e));
     }
 }
Exemplo n.º 3
0
 public IsUserAssignableToTaskViewModel IsUserAssignable(CanAssignToTaskDTO canAssignToTask)
 {
     return(TaskLogic.IsUserAssignable(canAssignToTask));
 }