protected async override void DeleteSelected()
        {
            if (
               MessageBox.Show("Are you sure you want to delete this commodity Owner?",
                                    "Agrimanagr: Delete Commodity Owner", MessageBoxButton.YesNo) ==
                    MessageBoxResult.No) return;

            using (var c = NestedContainer)
            {
                if (SelectedCommodityOwner.Status == EntityStatus.Active)
                {

                    var commodityOwner = Using<ICommodityOwnerRepository>(c).GetById(SelectedCommodityOwner.Id);

                    if (Using<IMasterDataUsage>(c).CommodityOwnerHasProducers(commodityOwner))
                    {
                        MessageBox.Show(
                            "Commodity Owner " + SelectedCommodityOwner.FirstName +
                            " has purchases in the system and thus cannot be deleted.",
                            "Agrimanagr: Delete Commodity Owner", MessageBoxButton.OK, MessageBoxImage.Exclamation);
                    }
                }
                var response = new ResponseBool() { Success = false };
                if (SelectedCommodityOwner == null) return;
                _proxy = Using<IDistributorServiceProxy>(c);
                response = await _proxy.CommodityOwnerDeleteAsync(SelectedCommodityOwner.Id);
                if (response.Success)
                {
                    var commodityowner = Using<ICommodityOwnerRepository>(c).GetById(SelectedCommodityOwner.Id);
                    Using<ICommodityOwnerRepository>(c).SetAsDeleted(commodityowner);
                    MessageBox.Show(response.ErrorInfo, "Agrimangr:Manage Commodity Owner", MessageBoxButton.OK,
                                    MessageBoxImage.Information);
                    Load();
                }
                    
            }
        }