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
            });
        }
Пример #2
0
        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
            });
        }
Пример #3
0
        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
            });
        }