public async Task <ActionResult <UserTask> > Post(IncomingUserTask task) { try { if (ModelState.IsValid) { var id = Convert.ToInt32(User.Claims.SingleOrDefault(claim => claim.Type == "UserId").Value); var userTask = new UserTask() { TaskDate = DateTime.ParseExact(task.TaskNumber.Substring(0, 8), "yyyyMMdd", null, DateTimeStyles.None), Number = Convert.ToInt32(task.TaskNumber.Substring(9, 4)), Date = task.Date, Status = task.Status, Comment = task.Comment, UserId = id }; repository.Add(userTask); await repository.SaveChangesAsync(); return(Ok(userTask)); } else { return(BadRequest()); } } catch (Exception) { return(BadRequest()); } }
public async Task <ActionResult <IncomingUserTask> > Post(IncomingUserTask task) { if (ModelState.IsValid) { var taskNumber = new TaskNumber(task.TaskNumber); if (taskNumber.IsValid) { var userTask = new UserTask() { TaskDate = taskNumber.Date, Number = taskNumber.Number, Date = task.Date, Status = task.Status, Comment = task.Comment, UserId = GetUsedId() }; try { taskrepository.Add(userTask); await taskrepository.SaveChangesAsync(); return(Ok(task)); } catch (Exception) { return(StatusCode(StatusCodes.Status500InternalServerError, "Repository failure")); } } else { return(BadRequest()); } } else { return(BadRequest()); } }