protected async override void ActivateSelected()
        {
            string action = SelectedCommoditySupplier.Status == EntityStatus.Active
                               ? "deactivate"
                               : "activate";
            if (
                    MessageBox.Show("Are you sure you want to " + action + " this commodity Supplier?",
                                    "Agrimanagr: Activate Commodity Supplier", MessageBoxButton.YesNo) ==
                    MessageBoxResult.No) return;

            using (var c = NestedContainer)
            {
                if (SelectedCommoditySupplier.Status == EntityStatus.Active)
                {
                    var commoditySupplier =Using<ICommoditySupplierRepository>(c).GetById(SelectedCommoditySupplier.SupplierId) as CommoditySupplier;

                    if (Using<IMasterDataUsage>(c).CommoditySupplierHasOwnersOrProducers(commoditySupplier))
                    {
                        MessageBox.Show(
                            "Commodity Supplier " + SelectedCommoditySupplier.Name +
                            " has Owners and Producers in the system and thus cannot be deactivated.",
                            "Agrimanagr: Deactivate Commodity Supplier", MessageBoxButton.OK, MessageBoxImage.Exclamation);
                    }
                }


                ResponseBool response = new ResponseBool() { Success = false };
                if (SelectedCommoditySupplier == null) return;
                _proxy = Using<IDistributorServiceProxy>(c);
                response = await _proxy.CommoditySupplierActivateOrDeactivateAsync(SelectedCommoditySupplier.SupplierId);

                MessageBox.Show(response.ErrorInfo, "Agrimangr: Manage Commodity Owner", MessageBoxButton.OK,
                                MessageBoxImage.Information);
            }
        }