Example #1
0
        public Form1()
        {
            LoadingProgramForm lf = new LoadingProgramForm();

            lf.ShowDialog();

            // Окно загрузки программы (проверяеться соединение с Интернетом и БД)
            string loadingError = lf.ErrorMessage;

            if (!string.IsNullOrWhiteSpace(loadingError))
            {
                NotificationHelper.ShowError(loadingError);
                Environment.Exit(0);
            }

            InitializeComponent();
            lastUpdateLabel.Text = string.Empty;

            existingMedicamentsInTable = new List <int>();

            remainsTable.AutoGenerateColumns = false;
            medRemainsList          = new BindingList <MedicamentRemain>();
            remainsTable.DataSource = medRemainsList;

            checkInternetTimer.Start();

            dbUpdatesQueue = new Queue <DbRecordChangesTask>();
            checkDbTasksTimer.Start();

            InitializeDepartmentCBList();
            LoadTableData(0);

            programIsRunned = true;
        }
        private void actionButton_Click(object sender, EventArgs e)
        {
            if (string.IsNullOrWhiteSpace(medicamentNameTextBox.Text))
            {
                NotificationHelper.ShowError("Ви не ввели назву");
                return;
            }

            try
            {
                using (MedicamentRemainsContext mc = new MedicamentRemainsContext())
                {
                    if (loadedMedicament == null)
                    {
                        currentMedicament = new Medicament();
                    }
                    else
                    {
                        currentMedicament = loadedMedicament;
                    }

                    currentMedicament.Name              = medicamentNameTextBox.Text.Trim();
                    currentMedicament.Meter             = meterCBList.SelectedItem as Meter;
                    currentMedicament.MeterId           = Convert.ToInt32(meterCBList.SelectedValue);
                    currentMedicament.Group             = null;
                    currentMedicament.MedicamentGroupId = Convert.ToInt32(medGroupsCBList.SelectedValue);

                    mc.Meters.Attach(currentMedicament.Meter);

                    if (currentMedicament.Id > 0)
                    {
                        mc.Medicaments.Attach(currentMedicament);
                        mc.Entry <Medicament>(currentMedicament).State = System.Data.Entity.EntityState.Modified;
                    }
                    else
                    {
                        mc.Medicaments.Add(currentMedicament);
                    }

                    mc.SaveChanges();
                    NotificationHelper.ShowInfo("Данні успішно збережено!");
                }
            }
            catch (Exception ex)
            {
                NotificationHelper.ShowError("Помилка при збережені данних до БД.\n Подробиці: \n" + ex.Message);
            }

            Close();
        }