private string RemoveTreeNode(ConvertServiceRequest request) { try { if (!_viewModel.CanDelete) throw new BusinessException("You are not authorized to delete locations"); var deleteRequest = new DeleteOrgUnitRequest { Id = Convert.ToInt32(request.Parameters["NodeId"]), AutoDeleteChildren = true }; ProcessRequest<DeleteOrgUnitResponse>(deleteRequest); } catch (Exception ex) { _viewModel.SetErrorMessage(ex.Message); } return CommonUtils.JsonSerialize(_viewModel); }
private void DeleteRecords() { try { if (!_viewModel.CanDelete) throw new BusinessException("You are not authorized to delete locations"); var selectedCount = _viewModel.SelectedIds.Count(); var itemInUse = false; foreach (var id in _viewModel.SelectedIds) { var locationId = int.Parse(id.ToString(), CultureInfo.InvariantCulture); var request = new DeleteOrgUnitRequest() { Id = locationId }; var response = ProcessRequest<DeleteOrgUnitResponse>(request); //Delete from SearchG2 Index ProcessOneWayRequest(new DeleteLocationG2RecordRequest() { LocationId = locationId }); if (!response.Status) itemInUse = true; } _viewModel.SelectedIds = new List<object>(); if (itemInUse) { var errorMessage = selectedCount > 1 ? "Some or all of the Locations are currently in use." : "Location is currently in use."; _viewModel.SetErrorMessage(errorMessage); } else { var successMessage = selectedCount > 1 ? "Locations successfully deleted." : "Location successfully deleted."; _viewModel.SetSuccessMessage(successMessage); } } catch (Exception ex) { _viewModel.SetErrorMessage(ex.Message); } }