public async Task <IHttpActionResult> PostOrder(WorkItemReturnModel model) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } var developer = AppUserManager.Users.Single(e => e.Id == model.AssignedDeveloper.Id); var project = DB.Projects.Single(a => a.Id == model.ProjectId); var workItem = new WorkItem() { DueDate = model.DueDate, AssignedDeveloper = developer, Description = model.Description, EstimatedTime = model.EstimatedTime, Name = model.Name, Status = ProjectStatus.Initial, Project = project }; DB.WorkItems.Add(workItem); DB.Entry(project).State = EntityState.Modified; await DB.SaveChangesAsync(); return(Created("api/workItems/" + workItem.Id, TheModelFactory.Create(workItem))); }
public async Task <IHttpActionResult> UpdateTask(int id, WorkItemReturnModel model) { if (id != model.Id) { return(BadRequest()); } var workItem = await DB.WorkItems.SingleOrDefaultAsync(st => st.Id == id); if (workItem == null) { return(NotFound()); } workItem.Description = model.Description; workItem.DueDate = model.DueDate; workItem.EstimatedTime = model.EstimatedTime; workItem.Name = model.Name; workItem.Status = model.Status; DB.Entry(workItem).State = EntityState.Modified; await DB.SaveChangesAsync(); return(Ok(this.TheModelFactory.Create(workItem))); }