public async Task <ResponseDTO> AddModerator(Admin admin, ModeratorDTO addModeratorDTO) { string password = BCrypt.Net.BCrypt.HashPassword(addModeratorDTO.Password); Moderator moderator = new Moderator() { Login = addModeratorDTO.Login, Password = password, LastName = addModeratorDTO.LastName, FirstName = addModeratorDTO.FirstName, Role = Role.Moderator }; context.Moderators.Add(moderator); int savedCount = await context.SaveChangesAsync(); if (savedCount > 0) { Admin newAdmin = admin; newAdmin.AddedModerators += 1; context.Entry(admin).CurrentValues.SetValues(newAdmin); await context.SaveChangesAsync(); } return(new ResponseDTO() { Message = $"Вы успешно добавили {moderator.LastName} {moderator.FirstName} в роли модератора", Status = true, ResponseData = moderator }); }
public async Task <ResponseDTO> EditModerationPin(ProblemPin foundedPin, ProblemPinDTO newModerateProblemPin) { moderatePinContext.Entry(foundedPin).CurrentValues.SetValues(newModerateProblemPin); int count = await moderatePinContext.SaveChangesAsync(); if (count > 0) { cache.Set(foundedPin.Id, foundedPin, new MemoryCacheEntryOptions().SetAbsoluteExpiration(TimeSpan.FromMinutes(5))); } return(new ResponseDTO() { Message = "Пин изменён успешно", Status = true }); }
public async Task <ResponseDTO> EditAdmin(Admin existingAdmin, EditAdministrationDTO editAdminDTO) { if (editAdminDTO.Password != null) { string password = BCrypt.Net.BCrypt.HashPassword(editAdminDTO.Password); editAdminDTO.Password = password; } context.Entry(existingAdmin).CurrentValues.SetValues(editAdminDTO); int count = await context.SaveChangesAsync(); if (count > 0) { cache.Set(existingAdmin.Id, existingAdmin, new MemoryCacheEntryOptions().SetAbsoluteExpiration(TimeSpan.FromMinutes(5))); } return(new ResponseDTO() { Message = "Информация пользователя изменена успешно", Status = true }); }