Esempio n. 1
0
        protected async void FormSubmit(EditContext editContext)
        {
            if (!editContext.Validate())
            {
                return;
            }
            await ScenarioRepository.Delete(Id);

            NavigationManager.NavigateTo("scenario");
        }
        public async Task DeleteScenario(long id)
        {
            if (User.Claims.FirstOrDefault(x => x.Type == ClaimsIdentity.DefaultRoleClaimType).Value ==
                Constants.RoleNames.SimpleUser)
            {
                throw new Exception("Не доступно простому пользователю");
            }
            var currentScenario = _scenarioRepository.Scenarios.FirstOrDefault(x => x.Id == id);

            if (currentScenario == null)
            {
                throw new Exception("Такого сценария не существует");
            }
            if (User.Claims.FirstOrDefault(x => x.Type == ClaimsIdentity.DefaultRoleClaimType).Value ==
                Constants.RoleNames.Admin)
            {
                _scenarioRepository.Delete(id);
                ;
                foreach (var controller in _connections.All.Include(x => x.Controller)
                         .Where(x => x.ScenarioId == id).Select(x => x.Controller))
                {
                    await ControllerInfoSender.DeleteAsync(controller.Adress, id);
                }
                _scenarioRepository.SaveChanges();
            }
            var children = _userGroupRepository.GetChildrenGroups(GetUserGroupId());

            if (children.Contains(currentScenario.UserGroupId))
            {
                _scenarioRepository.Delete(id);;
                foreach (var controller in _connections.All.Include(x => x.Controller)
                         .Where(x => x.ScenarioId == id).Select(x => x.Controller))
                {
                    await ControllerInfoSender.DeleteAsync(controller.Adress, id);
                }
                _scenarioRepository.SaveChanges();
            }
            else
            {
                throw new Exception("Этот сценарий вам не доступен");
            }
        }
Esempio n. 3
0
        public void DeleteScenario(long id)
        {
            var currentScenario = _scenarioRepository.Scenarios.Where(x => x.Id == id).FirstOrDefault();

            if (currentScenario == null)
            {
                throw new Exception("Такого сценария не существует");
            }
            var children = _userGroupRepository.GetChildrenGroups(GetUserGroupId());

            if (children.Contains(currentScenario.UserGroupId))
            {
                _scenarioRepository.Delete(id);
                _scenarioRepository.SaveChanges();
            }
            else
            {
                throw new Exception("Этот сценарий вам не доступен");
            }
        }