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);
            }
        }