public ActionResult put(int taskid, int id, [FromBody] SubTaskDetail task) { try { var Atask = _taskcontext.Tasks.Include(m => m.ServiceSubtask) .FirstOrDefault(s => s.TaskId == taskid); if (Atask == null) { return(NotFound()); } var update = Atask.ServiceSubtask.FirstOrDefault(l => l.SubTaskId == id); if (update == null) { return(NotFound()); } update.Name = task.Name; update.Description = task.Description; update.StartDate = task.StartDate; update.FinishDate = task.FinishDate; update.State = task.State; var k = _taskcontext.Tasks.Include(m => m.ServiceSubtask).FirstOrDefault(m => m.TaskId.Equals(taskid)); var list = k.ServiceSubtask.ToList(); foreach (var i in list.Select(e => e.State).ToList()) { if (i == "Completed" || i == "completed") { Atask.State = "Completed"; } else if (i == "inProgress" || i == "InProgress" || i == "inprogress" || i == "Inprogress") { Atask.State = "inProgress"; } else { Atask.State = "Planned"; } } _taskcontext.SaveChanges(); return(Ok("Updated Successfully")); } catch (Exception ex) { return(StatusCode(500, "Internal server error")); } }
public ActionResult <SubTaskDetail> Get(int taskid, int subtaskid) { try { var Atask = _taskcontext.Tasks.Include(m => m.ServiceSubtask). FirstOrDefault(m => m.TaskId == taskid); if (Atask == null) { return(NotFound()); } var Stask = Atask.ServiceSubtask.FirstOrDefault(l => l.SubTaskId == subtaskid); if (Stask == null) { return(NotFound()); } var sTask = new SubTaskDetail(); sTask.SubTaskId = Stask.SubTaskId; sTask.Name = Stask.Name; sTask.Description = Stask.Description; sTask.StartDate = Stask.StartDate; sTask.FinishDate = Stask.FinishDate; sTask.State = Stask.State; var update = _taskcontext.Tasks.Include(m => m.ServiceSubtask).FirstOrDefault(m => m.TaskId == taskid); var list = update.ServiceSubtask.ToList(); foreach (var i in list.Select(e => e.State).ToList()) { if (i == "Completed" || i == "completed") { update.State = "Completed"; } else if (i == "inProgress" || i == "InProgress" || i == "inprogress" || i == "Inprogress") { update.State = "inProgress"; } else { update.State = "Planned"; } } return(Ok(sTask)); } catch (Exception ex) { return(StatusCode(500, "Internal server error")); } }
public ActionResult Post(int taskid, [FromBody] SubTaskDetail model) { try { if (!ModelState.IsValid) { return(BadRequest(model)); } var Atask = _taskcontext.Tasks.Include(m => m.ServiceSubtask). FirstOrDefault(m => m.TaskId == taskid); if (Atask == null) { return(NotFound()); } var TaskDt = _mapper.Map <ServiceSubtask>(model); Atask.ServiceSubtask.Add(TaskDt); var k = _taskcontext.Tasks.FirstOrDefault(m => m.TaskId == taskid); var list = k.ServiceSubtask.ToList(); foreach (var i in list.Select(e => e.State).ToList()) { if (i == "Completed" || i == "completed") { Atask.State = "Completed"; } else if (i == "inProgress" || i == "InProgress" || i == "inprogress" || i == "Inprogress") { Atask.State = "inProgress"; } else { Atask.State = "Planned"; } } _taskcontext.SaveChanges(); return(Ok("Created Successfully")); } catch (Exception ex) { return(StatusCode(500, "Internal server error")); } }