protected override async void DeleteSelected()
        {
            if (
                MessageBox.Show("Are you sure you want to delete this vehicle?",
                                "Agrimanagr: Delete Vehicle", MessageBoxButton.OKCancel) ==
                MessageBoxResult.Cancel) return;
            using (var c = NestedContainer)
            {
                if (Using<IMasterDataUsage>(c).CheckVehicleIsUsed(SelectedVehicle.Vehicle, EntityStatus.Deleted))
                {
                    MessageBox.Show(
                        "Vehicle " + SelectedVehicle.Vehicle.Name +
                        " has been used in a transaction. Delete dependencies to continue.",
                        "Agrimanagr: Delete Vehicle", MessageBoxButton.OK, MessageBoxImage.Exclamation);
                    return;
                }

                ResponseBool response = new ResponseBool() {Success = false};
                if (SelectedVehicle == null) return;
                _proxy = Using<IDistributorServiceProxy>(c);
                response = await _proxy.VehicleDeleteAsync(SelectedVehicle.Vehicle.Id);
                if (response.Success)
                    Using<IVehicleRepository>(c).SetAsDeleted(SelectedVehicle.Vehicle);
                MessageBox.Show(response.ErrorInfo, "Agrimangr: Manage Vehicles", MessageBoxButton.OK,
                                MessageBoxImage.Information);
            }
        }