void btnAdd_Click(object sender, RoutedEventArgs e)
        {
            try
            {
                if (balTransaction == null)
                {
                    return;
                }
                BmsTransaction transaction = FetchData();
                bool           state       = balTransaction.Add(transaction);

                if (state)
                {
                    // Change Inventory value
                    BmsBloodInventory oldValue = balInventory.GetAll().
                                                 FirstOrDefault(c => c.BloodInventoryID == transaction.BloodInventoryID);

                    // Make transaction
                    oldValue.NumberofBottles += transaction.NumberofBottles;
                    BmsBloodInventory newValue = oldValue;
                    state = balInventory.Modify(oldValue);
                }

                if (state)
                {
                    applicationStatus.Text        = "Blood Transaction Information Added Successfully.";
                    applicationStatusMessage.Text = "Blood Transaction Information Added Successfully.";
                }
                else
                {
                    applicationStatus.Text        = "Failed Adding Blood Transaction Information.";
                    applicationStatusMessage.Text = "Blood Transaction Information Added Successfully.";
                }
                clock.Start();
                EditableFields(false);
                btnAdd.Visibility   = System.Windows.Visibility.Hidden;
                btnReset.Visibility = System.Windows.Visibility.Hidden;
                //ClearFields();
                txtTransactionID.Text = "-1";
            }
            catch (ValidationException ex)
            {
                MessageHandler.ShowErrorMessage(ex.Message);
            }
            catch (ConnectedDalException ex)
            {
                MessageHandler.ShowErrorMessage(ex.Message);
            }
            catch (Exception ex)
            {
                MessageHandler.ShowErrorMessage(ex.Message);
            }
        }
 void PopulateFields(BmsTransaction value)
 {
     try
     {
         txtBloodInventoryID.Text = value.BloodInventoryID.ToString();
         txtCreationDate.Text     = value.CreationDate.ToShortDateString();
         txtHospitalID.Text       = value.HospitalID.ToString();
         txtNumberofBottles.Text  = value.NumberofBottles.ToString();
         txtTransactionID.Text    = value.TransactionID.ToString();
     }
     catch (Exception ex)
     {
         MessageHandler.ShowErrorMessage(ex.Message);
     }
 }
        private void btnControl_Click(object sender, RoutedEventArgs e)
        {
            object         selected = dataGridPrimary.SelectedItem;
            BmsTransaction value    = dataGridPrimary.SelectedItem as BmsTransaction;

            try
            {
                if (bal == null)
                {
                    return;
                }
                bool state = bal.Remove(value);
                if (state)
                {
                    applicationStatus.Text = "Blood Transaction Information Deleted Successfully.";
                    list.Remove(value);
                    dataGridPrimary.Items.Refresh();
                }
                else
                {
                    applicationStatus.Text = "Failed Deleting Blood Transaction Information.";
                }
                //clock.Start();
                applicationStatus.Text = "Ready";
            }
            catch (System.Data.SqlClient.SqlException ex)
            {
                MessageHandler.ShowErrorMessage(ex.Message);
            }

            catch (ValidationException ex)
            {
                MessageHandler.ShowErrorMessage(ex.Message);
            }
            catch (ConnectedDalException ex)
            {
                MessageHandler.ShowErrorMessage(ex.Message);
            }
            catch (Exception ex)
            {
                MessageHandler.ShowErrorMessage(ex.Message);
            }


            //dataGridPrimary.ItemsSource = (List<BmsTransaction>)bal.GetAll();

            //MessageBox.Show(value.BloodBankName);
        }
        BmsTransaction FetchData()
        {
            try
            {
                BmsTransaction value = new BmsTransaction();
                value.BloodInventoryID = int.Parse(txtBloodInventoryID.Text);
                value.HospitalID       = int.Parse(txtHospitalID.Text);
                value.TransactionID    = int.Parse(txtTransactionID.Text);

                value.CreationDate    = Convert.ToDateTime(txtCreationDate.Text);
                value.NumberofBottles = int.Parse(txtNumberofBottles.Text);

                return(value);
            }
            catch (Exception ex)
            {
                MessageHandler.ShowErrorMessage(ex.Message);
            }
            return(null);
        }