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

            using (var c = NestedContainer)
            {
                if (SelectedCommodityProducer.Status == EntityStatus.Active)
                {
                    var commodityProducer = Using<ICommodityProducerRepository>(c).GetById(SelectedCommodityProducer.Id);

                    if (Using<IMasterDataUsage>(c).CommodityProducerHasPurchases(commodityProducer))
                    {
                        MessageBox.Show(
                            "Commodity Producer " + SelectedCommodityProducer.Name +
                            " has Purchases in the system and thus cannot be deactivated.",
                            "Agrimanagr: Deactivate Commodity Producer", MessageBoxButton.OK, MessageBoxImage.Exclamation);
                    }
                }


                ResponseBool response = new ResponseBool() { Success = false };
                if (SelectedCommodityProducer == null) return;
                _proxy = Using<IDistributorServiceProxy>(c);
                response = await _proxy.CommodityProducerActivateOrDeactivateAsync(SelectedCommodityProducer.Id);

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