Добавление и удаление нескольких ChildID к ParentID в API - PullRequest
0 голосов
/ 08 июня 2019

Привет, ребята, я создан и API, который создает и удаляет дочернюю категорию по одному.Но мне нужно, чтобы он тоже мог добавлять и удалять несколько дочерних категорий.

Что-то вроде этого:

"CategoryParentID": "4",
"CategoryChildID": [
    {
      5,6,7,8
    }
  ],

Как я могу это сделать?

Это пример таблицы.

enter image description here

Я добавляю и удаляю по одному в БД, как это:

Добавление:

 public async Task<ServiceResultWithoutBaseEntity<CategoryRollup>> Add(CategoryRollupViewModel newItem)
    {
        var result = new ServiceResultWithoutBaseEntity<CategoryRollup>();
        result.Errors.AddRange(Validate(newItem));

        if (result.HasErrors)
            return result;

        var item = newItem.MapToEntity(new CategoryRollup());

        _context.CategoryRollups.Add(item);
        await _context.SaveChangesAsync();

        result.EntityResult = item;

        return result;
    }

Удаление:

        public async Task<ServiceResultWithoutBaseEntity<CategoryRollup>> Delete(int id)
    {
        var result = new ServiceResultWithoutBaseEntity<CategoryRollup>();

        var item = await _context.CategoryRollups
                .SingleOrDefaultAsync(a => a.CategoryParentID == id);

        if (item == null)
        {
            result.Errors.Add(new Error("E001", $"CategoryParent id does not exist"));
        }

        if (result.HasErrors)
            return result;

        _context.CategoryRollups.Remove(item);
        await _context.SaveChangesAsync();

        result.EntityResult = item;

        return result;
    }

Это моя модель и модель представления:

enter image description here

...