Andrei SunnyPh, У меня есть примерно рабочий вариант, но проблема в задвоении полученной задачи, сохраняет и в общую коллекцию объектов Do и в Subtasks
[HttpPost]
public IActionResult AddSubTask(
[Bind("Id,Title,Description,Executors,Plan")] DoCreateSubTaskViewModel model
)
{
if (ModelState.IsValid)
{
var terminalDo = _modelService.GetById(model.Id).Result;
if(terminalDo == null)
{
throw new NullReferenceException(message: "wrong AddSubTask");
}
var newSubTask = new DoDTO
{
Title = model.Title,
Description = model.Description,
Executors = model.Executors,
Plan = model.Plan
};
var doDTOSubtasksToAdd = _mapper.Map<Do>(newSubTask);
//TODO: Проверить поэтапно
var x = _modelService.CreateSubTask(doDTOSubtasksToAdd).Result;
doDTOSubtasksToAdd = _modelService.GetById(x).Result;
terminalDo.SubTasks.Add(doDTOSubtasksToAdd);
_modelService.Update(terminalDo);
}
return RedirectToAction("TestView");
}
Файл добавления (думаю задвоение происходит тут)
public async Task<int> CreateSubTask(Do entity)
{
try
{
var newDo = new Do
{
Title = entity.Title,
Description = entity.Description,
Executors = entity.Executors,
Status = entity.Status,
Plan = entity.Plan
};
await _database.Does.Create(newDo);
_database.Save();
return newDo.Id;
}
catch(Exception ex)
{
throw new NullReferenceException($"{ex.Message}");
}
}
Andrei SunnyPh, как правильно управлять элементами из SubTasks (добавлять удалять). Есть коллекция типа Do в каждой из которых своя коллекция Subtasks и нужно добавлять и удалять оттуда элементы. Проблема еще в том, что нужно это обновлять, чтобы при добавлении Subtasks обновлялось количество в родителе то есть Do элементе
Файл добавления (думаю задвоение происходит тут)
Только не понимаю пока как поправить