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); }
public IHttpActionResult PostCanAssignToTask(CanAssignToTaskDTO canAssignToTask) { try { return(Ok(service.IsUserAssignable(canAssignToTask))); } catch (Exception e) { return(InternalServerError(e)); } }
public IsUserAssignableToTaskViewModel IsUserAssignable(CanAssignToTaskDTO canAssignToTask) { return(TaskLogic.IsUserAssignable(canAssignToTask)); }