|
|
|
@@ -9,8 +9,9 @@ |
|
|
|
private readonly DatabaseContext _databaseContext; |
|
|
|
private readonly IEmailer _emailer; |
|
|
|
private readonly ILogger<UserService> _logger; |
|
|
|
private readonly ICategoryService _categoryService; |
|
|
|
|
|
|
|
public UserService(IOptions<FrontEndSettings> frontEndSettings, UserManager<User> userManager, IMapper mapper, DatabaseContext databaseContext, IEmailer emailer, ILogger<UserService> logger) |
|
|
|
public UserService(IOptions<FrontEndSettings> frontEndSettings, UserManager<User> userManager, IMapper mapper, DatabaseContext databaseContext, IEmailer emailer, ILogger<UserService> logger, ICategoryService categoryService) |
|
|
|
{ |
|
|
|
_frontEndSettings = frontEndSettings.Value; |
|
|
|
_userManager = userManager; |
|
|
|
@@ -18,6 +19,7 @@ |
|
|
|
_databaseContext = databaseContext; |
|
|
|
_emailer = emailer; |
|
|
|
_logger = logger; |
|
|
|
_categoryService = categoryService; |
|
|
|
} |
|
|
|
|
|
|
|
public async Task<IEnumerable<User?>> GetAll() |
|
|
|
@@ -130,9 +132,23 @@ |
|
|
|
|
|
|
|
public async Task GrantCategoryToUserAsync(GrantUserCategoryRequestDto request) |
|
|
|
{ |
|
|
|
for (int i = 0; i < request.CategoriesId.Count; i++) |
|
|
|
//for (int i = 0; i < request.CategoriesId.Count; i++) |
|
|
|
//{ |
|
|
|
// await _databaseContext.UserCategories.AddAsync(new UserCategories { UserId = request.UserId, CategoryId = request.CategoriesId[i] }); |
|
|
|
//} |
|
|
|
|
|
|
|
//await _databaseContext.SaveChangesAsync(); |
|
|
|
for (int i = 0; i < request.Categories.Count; i++) |
|
|
|
{ |
|
|
|
await _databaseContext.UserCategories.AddAsync(new UserCategories { UserId = request.UserId, CategoryId = request.CategoriesId[i] }); |
|
|
|
if (request.Categories[i].IsChecked == false) |
|
|
|
{ |
|
|
|
var category = await _databaseContext.UserCategories.Where(x => x.UserId == request.UserId && x.CategoryId == request.Categories[i].Id).FirstOrDefaultAsync(); |
|
|
|
_databaseContext.UserCategories.Remove(category); |
|
|
|
} |
|
|
|
else |
|
|
|
{ |
|
|
|
await _databaseContext.UserCategories.AddAsync(new UserCategories { UserId = request.UserId, CategoryId = request.Categories[i].Id }); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
await _databaseContext.SaveChangesAsync(); |