protected override void OnAddClick(object sender, RoutedEventArgs e)
        {
            List <Drugs.Drugs> drugsList = new List <Drugs.Drugs>();

            if (!drugsData.SelectAll(drugsList))
            {
                MessageBoxes.ShowError(MessageBoxes.LoadDataErrorMessage);
                return;
            }

            DrugsInfoDialog drugsInfoDialog = new DrugsInfoDialog(new DrugsInfo(), drugsList, DialogModes.Add, this);
            bool?           dialogResult    = drugsInfoDialog.ShowDialog();

            if (dialogResult == false)
            {
                return;
            }

            DrugsInfo drugsInfo = drugsInfoDialog.drugInfo;

            drugsInfo.DealerID = dealerID;

            ///////////
            if (!drugsInfoData.Insert(drugsInfo))
            {
                MessageBoxes.ShowError(MessageBoxes.AddErrorMessage);
                return;
            }
            DrugsItem drugItem = toDrugItem(drugsInfo, drugsList);

            itemsSource.Add(drugItem);
        }
        protected override void LoadData()
        {
            drugsInfoArray = new List <DrugsInfo>();
            if (!drugsInfoData.SelectAll(drugsInfoArray, " WHERE DEALER_ID = " + dealerID))
            {
                MessageBoxes.ShowError(MessageBoxes.LoadDataErrorMessage);
                return;
            }

            itemsSource.Clear();

            foreach (var drug in drugsInfoArray)
            {
                DrugsItem item = toDrugItem(drug, drugsList);
                itemsSource.Add(item);
            }
        }
        private DrugsItem toDrugItem(DrugsInfo drugsInfo, List <Drugs.Drugs> drugsList)
        {
            DrugsItem drugItem = new DrugsItem();

            drugItem.ID         = drugsInfo.ID;
            drugItem.Number     = drugsInfo.Number;
            drugItem.Price      = drugsInfo.Price;
            drugItem.ExpiryDate = drugsInfo.ExpiryDate;

            Drugs.Drugs drug = drugsList.Find(element => element.ID == drugsInfo.DrugID);
            if (drug != null)
            {
                drugItem.Name  = drug.Name;
                drugItem.image = drug.image;
            }

            return(drugItem);
        }
        private DrugsInfo toDrugsInfo(DrugsItem drugsItem)
        {
            if (!drugsData.SelectAll(drugsList))
            {
                MessageBoxes.ShowError(MessageBoxes.EditErrorMessage);
                return(new DrugsInfo());
            }

            Drugs.Drugs drug = drugsList.Find(element => element.Name == drugsItem.Name);

            DrugsInfo drugsInfo = new DrugsInfo();

            if (drug != null)
            {
                drugsInfo.ID         = drugsItem.ID;
                drugsInfo.Number     = drugsItem.Number;
                drugsInfo.Price      = drugsItem.Price;
                drugsInfo.ExpiryDate = drugsItem.ExpiryDate;
                drugsInfo.DrugID     = drug.ID;
                drugsInfo.DealerID   = dealerID;
            }

            return(drugsInfo);
        }