Exemplo n.º 1
0
        private void DelItemThread(ItemToDelete _itemToDelete, int _itemID, int _productType)
        {
            Dictionary <ItemToDelete, string[]> valuesDictionaryByDeleteItemType = new Dictionary <ItemToDelete, string[]>();

            valuesDictionaryByDeleteItemType.Add(ItemToDelete.Investigation, new string[2] {
                "Investigation deleted successfully", "Failed to delete investigation\nor its products"
            });
            valuesDictionaryByDeleteItemType.Add(ItemToDelete.Product, new string[2] {
                "Product deleted successfully", "Failed to delete product"
            });

            SQLRequests SQLReq           = new SQLRequests();
            bool        isActionFinished = false;

            switch (_itemToDelete)
            {
            case ItemToDelete.Investigation:
                if (SQLReq.DeleteInvestigation(_itemID))
                {
                    isActionFinished = true;
                }
                break;

            case ItemToDelete.Product:
                if (SQLReq.DeleteProduct(_itemID, _productType))
                {
                    isActionFinished = true;
                }
                break;
            }

            if (isActionFinished)
            {
                MessageBox.Show(valuesDictionaryByDeleteItemType[_itemToDelete][0]);
                BeginInvoke((Action) delegate //Invoke at UI thread
                {
                    LoadOrRefresh();
                });
            }
            else
            {
                MessageBox.Show(valuesDictionaryByDeleteItemType[_itemToDelete][1]);
            }
        }
 private bool ConfirmCommandCanExecute() => ItemToDelete.Equals(notification?.Item);