public void AddOrUpdate(TaskStepDto taskStepDto) { TaskStep entity = null; if (taskStepDto.Id > 0) { entity = _context.TaskSteps.Include(x => x.Task).ThenInclude(x => x.Creator).Include(x => x.Task.Parent).FirstOrDefault(x => x.Id == taskStepDto.Id); } var linkedTask = _context.TasksAndTargets.Include(x => x.Parent).Include(x => x.Creator).FirstOrDefault(x => x.Id == taskStepDto.ParentTaskId); if (entity == null) { entity = new TaskStep(); entity.AddDateTime = DateTime.Now.ToUniversalTime(); entity.Author = _userService.GetCurrentUser(); } entity.Description = taskStepDto.Description; entity.Task = linkedTask ?? throw new Exception($"Associated task with {taskStepDto.Task.Id} not found"); _userService.SetPasswordHashAndSaltUnModified(entity.Task.Creator); _context.Entry(entity.Task).State = EntityState.Unchanged; _context.Entry(entity.Task.Creator).State = EntityState.Unchanged; _context.TaskSteps.Add(entity); _activityService.LogUserActivity(entity, DAL.enums.ActionTypeEnum.MakeStepToAchieve); _context.SaveChanges(); }
public void AddOrUpdateTaskStep([FromBody] TaskStepDto taskStepDto) { _taskStepService.AddOrUpdate(taskStepDto); //ReadTestData(); //TaskStep noteObj = null; //if (noteForEdit.parentTaskId == 0) throw new Exception("Parent task must be assigned!"); //if (noteForEdit.Id > 0) //{ // noteObj = testData.First(x => x.Id == noteForEdit.Id); //} //else //{ // noteObj = noteForEdit; //} //if (noteForEdit.Id > 0) //{ // DoUpdatenote(noteForEdit, noteObj); //} //else //{ // noteObj.Id = fakeId++; // testData.Add(noteObj); //} //SaveTestData(); }