public TaskCreateResponse CreateTaskCreateResponse(Task task) { var response = new TaskCreateResponse { Data = CreateDto(task) }; return(response); }
public TaskCreate(TaskCreateRequest request) { if (request != null) { if (string.IsNullOrWhiteSpace(request.Name)) { Response = new TaskCreateResponse { Type = TaskCreateResponseType.NameEmpty }; return; } using (var dbContext = new ApplicationDbContext()) { var project = dbContext.Projects.SingleOrDefault(aProject => aProject.Identifier == request.ProjectIdentifier); if (project == null) { Response = new TaskCreateResponse { Type = TaskCreateResponseType.ProjectDoesNotExist }; return; } if (project.Tasks.Any(aTask => aTask.Name.Trim().ToLower() == request.Name.Trim().ToLower())) { Response = new TaskCreateResponse { Type = TaskCreateResponseType.NameExists }; return; } project.Set(request); dbContext.SaveChanges(); var task = new Task(); task.Set(request, $"{project.Key}-{project.TasksCreatedTotal}"); dbContext.Tasks.Add(task); dbContext.SaveChanges(); Response = new TaskCreateResponse { Identifier = task.Identifier, Type = TaskCreateResponseType.Success }; } } }
public IHttpActionResult Post([FromUri] long projectId, [FromBody] TaskCreateRequest taskObj) { TaskCreateResponse result = new TaskCreateResponse(); using (var context = new KanbanDBModel()) { var cmd = context.Database.Connection.CreateCommand(); cmd.CommandText = "[dbo].[InsertTask]"; cmd.CommandType = System.Data.CommandType.StoredProcedure; cmd.Parameters.Add(new SqlParameter("ProjectId", projectId)); cmd.Parameters.Add(new SqlParameter("TaskName", taskObj.TaskName)); cmd.Parameters.Add(new SqlParameter("TaskDescription", taskObj.TaskDescription)); cmd.Parameters.Add(new SqlParameter("TaskStatus", taskObj.TaskStatus)); try { context.Database.Connection.Open(); var reader = cmd.ExecuteReader(); var operationStatusQuery = ((IObjectContextAdapter)context) .ObjectContext .Translate <OperationStatusInfo>(reader); result.Result = operationStatusQuery.FirstOrDefault(); reader.NextResult(); var taskQuery = ((IObjectContextAdapter)context) .ObjectContext .Translate <TaskInfo>(reader); result.Task = taskQuery.FirstOrDefault(); return(Ok(result)); } catch (Exception ex) { return(InternalServerError(ex)); } finally { context.Database.Connection.Close(); } } }
public async Task <TaskCreateResponse> TaskCreate(TaskCreateRequest request) { TaskCreateResponse response; var board = await _boardRepository.GetAsync(request.BoardId); if (board == null) { response = new TaskCreateResponse { Data = null }; response.Failed(_errorService.GetError(ErrorType.ItemNotFound)); return(response); } if (board.CreatedById != request.UserId) { response = new TaskCreateResponse { Data = null }; response.Failed(_errorService.GetError(ErrorType.AccessDenied)); return(response); } if (board.Tasks == null) { board.Tasks = new List <Task>(); } var task = _taskCreator.CreateTask(request); await _boardRepository.InsertTaskAsync(request.BoardId, task); response = _taskCreator.CreateTaskCreateResponse(task); response.Succeeded(); return(response); }