public async Task <ProjectTaskModel> Update(ProjectModel project, ProjectTaskModel projectTask) { var storedProject = await projectDataService.GetById(project.Id); foreach (var storedTask in GetProjectTasks(storedProject)) { if (storedTask.Id == projectTask.Id) { // map project task model to project task projectTask.MapBack(storedTask); break; } } await projectDataService.UpdateById(storedProject.Id, storedProject); return(projectTask); }
public async Task <ProjectTaskModel> Add(ProjectModel project, ProjectTaskModel projectTask) { var storedProject = await projectDataService.GetById(project.Id); // create new project task with unique id var mappedTask = new ProjectTask { Id = ObjectId.GenerateNewId().ToString() }; // map project task model to project task and add it to the list projectTask.MapBack(mappedTask); GetProjectTasks(storedProject).Add(mappedTask); await projectDataService.UpdateById(storedProject.Id, storedProject); // map project task to project task model to get current id projectTask.Map(mappedTask); project.Tasks.Add(projectTask); return(projectTask); }