|
|
|
|
|
|
|
|
return dto; |
|
|
return dto; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
public async Task<List<TreeCategoryItem>> GetAllCategories() |
|
|
|
|
|
|
|
|
public async Task<List<TreeViewCategoryResponse>> GetAllCategories() |
|
|
{ |
|
|
{ |
|
|
var res = await _context.Categories.Include(k => k.ParentCategory).ToListAsync(); |
|
|
var res = await _context.Categories.Include(k => k.ParentCategory).ToListAsync(); |
|
|
return _mapper.Map<List<TreeCategoryItem>>(res); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
List<TreeViewCategoryResponse> response = new(); |
|
|
|
|
|
|
|
|
|
|
|
foreach (var item in res) |
|
|
|
|
|
{ |
|
|
|
|
|
TreeViewCategoryResponse treeViewCategory = new(); |
|
|
|
|
|
if(item.ParentCategory == null) |
|
|
|
|
|
{ |
|
|
|
|
|
treeViewCategory.Id = item.Id; |
|
|
|
|
|
treeViewCategory.Name = item.Name; |
|
|
|
|
|
treeViewCategory.TreeViewCategories = GetTreeCategoryItem(res, item.Id); |
|
|
|
|
|
response.Add(treeViewCategory); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
return response; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
private List<TreeViewCategoryResponse> GetTreeCategoryItem(List<Category> items, int id) |
|
|
|
|
|
{ |
|
|
|
|
|
List<TreeViewCategoryResponse> response = new(); |
|
|
|
|
|
|
|
|
|
|
|
foreach (var item in items) |
|
|
|
|
|
{ |
|
|
|
|
|
if(item.ParentCategory != null && item.ParentCategory.Id == id) |
|
|
|
|
|
{ |
|
|
|
|
|
TreeViewCategoryResponse treeViewCategory = new(); |
|
|
|
|
|
treeViewCategory.Id = item.Id; |
|
|
|
|
|
treeViewCategory.Name = item.Name; |
|
|
|
|
|
treeViewCategory.TreeViewCategories = GetTreeCategoryItem(items, item.Id); |
|
|
|
|
|
response.Add(treeViewCategory); |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
return response; |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
} |