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("Этот сценарий вам не доступен"); } }
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("Этот сценарий вам не доступен"); } }