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