public void TestSaveNotNew()
        {
            // подготовка
            var repository = new MedicinesRepository();
            var med        = NewTestMedicine();

            repository.Save(med);

            try
            {
                // выполнение

                var med1 = repository.GetAll().SingleOrDefault(m => m.Id == med.Id);
                med1.Name = "лекарство";
                repository.Save(med1);
                // проверка
                var m_db = repository.GetAll().SingleOrDefault(m => m.Id == med.Id);
                Assert.IsTrue(m_db != null);
                EqualMedicine(med1, m_db);
            }
            finally
            {
                if (med.Id != 0)
                {
                    repository.Delete(med);
                }
            }
        }
Exemple #2
0
        private void Enter_Load(object sender, EventArgs e)
        {
            IRepository <Medicine> rep = new MedicinesRepository();

            dataGridView1.AutoGenerateColumns = false;
            dataGridView1.DataSource          = rep.GetAll();

            DataGridViewColumn column = new DataGridViewTextBoxColumn();

            column.DataPropertyName = "Name";
            column.Name             = "Наименование";
            dataGridView1.Columns.Add(column);

            // Initialize and add a check box column.
            column = new DataGridViewCheckBoxColumn();
            column.DataPropertyName = "Available";
            column.Name             = "В наличии";
            dataGridView1.Columns.Add(column);

            //dataGridView1.Columns[0].Name = "Имя";//.DataPropertyName = "Name";
            //dataGridView1.Columns[1].DataPropertyName = "PrducrForm";
            //dataGridView1.Columns[2].DataPropertyName = "Manufacturer";
            //dataGridView1.Columns[3].DataPropertyName = "Recipe";
            //dataGridView1.Columns[4].DataPropertyName = "Price";
            //dataGridView1.Columns[5].DataPropertyName = "Available";
        }
Exemple #3
0
        private void DeleteMedButton_Click(object sender, EventArgs e)
        {
            Medicine cell = MedicineList.SelectedRows[0].DataBoundItem as Medicine;

            if (MessageBox.Show("Вы действительно хотите удалить данное лекарственное средство «"
                                + cell.Name + "»?", "Удаление элемента", MessageBoxButtons.OKCancel) == DialogResult.OK)
            {
                MedicinesRepository rep = new MedicinesRepository();
                rep.Delete(cell);
                MessageBox.Show("Лекарственное средство " + cell.Name + " удалено!", "Удаление элемента",
                                MessageBoxButtons.OK);
                MedicineList.DataSource = rep.GetAll();
            }
        }
Exemple #4
0
        public void TestAddMedToOrder()
        {
            var MedRep = new MedicinesRepository();
            var med    = new Medicine()
            {
                Name         = "11111",
                ProductForm  = "123",
                Manufacturer = "Белфарма",
                Available    = true,
                Price        = 12000,
                Recipe       = true
            };
            var order = NewTestOrder();

            MedRep.Save(med);
            repository.Save(order);

            try
            {
                var med1   = MedRep.GetAll().FirstOrDefault(m => m.Name == "11111");
                var order1 = repository.GetAll().FirstOrDefault(o => o.Name == "test");
                order1.OrderedMedicines.Add(med1);
                repository.Save(order1);

                var order2 = repository.GetAll().FirstOrDefault(o => o.Id == order.Id);
                Assert.True(order2.OrderedMedicines.Exists(m => m.Id == med.Id));
            }
            finally
            {
                if (order.Id != 0)
                {
                    repository.Delete(order);
                }
                if (med.Id != 0)
                {
                    MedRep.Delete(med);
                }
            }
        }
        public void TestSelectWithProductFormLike()
        {
            // подготовка
            var repository = new MedicinesRepository();
            // выполнение
            var med = NewTestMedicine();

            repository.Save(med);

            try
            {
                // проверка
                var m_db = repository.GetAll().WithProductFormLike("test").FirstOrDefault();
                Assert.AreEqual(m_db.ProductForm, med.ProductForm);
            }
            finally
            {
                if (med.Id != 0)
                {
                    repository.Delete(med);
                }
            }
        }
        public void TestSelectWithId()
        {
            // подготовка
            var repository = new MedicinesRepository();
            // выполнение
            var med = NewTestMedicine();

            repository.Save(med);

            try
            {
                // проверка
                var m_db = repository.GetAll().WithId(med.Id).SingleOrDefault();
                Assert.AreEqual(m_db.Id, med.Id);
            }
            finally
            {
                if (med.Id != 0)
                {
                    repository.Delete(med);
                }
            }
        }
        public void TestDeleteForId()
        {
            // подготовка
            var repository = new MedicinesRepository();
            var med        = NewTestMedicine();

            repository.Save(med);

            // выполнение
            try
            {
                repository.Delete(med.Id);
                // проверка
                Assert.Throws(typeof(InvalidOperationException),
                              delegate { repository.GetAll().Single(m => m.Id == med.Id); });
            }
            finally
            {
                if (med.Id != 0)
                {
                    repository.Delete(med);
                }
            }
        }
        private void SaveOrderButton_Click(object sender, EventArgs e)
        {
            if (NameBox.Text == "" || SurnameBox.Text == "" || PatronymicBox.Text == "" ||
                EmailBox.Text == "" || PhoneNumberBox.Text == "")
            {
                MessageBox.Show("Все поля должны быть заполнены!", "Ошибка!", MessageBoxButtons.OK,
                                MessageBoxIcon.Warning);
                return;
            }

            if ((NameBox.Text.Length < 2 || NameBox.Text.Length > 255) ||
                (SurnameBox.Text.Length < 2 || SurnameBox.Text.Length > 255) ||
                (PatronymicBox.Text.Length < 2 || PatronymicBox.Text.Length > 255) ||
                (EmailBox.Text.Length < 2 || EmailBox.Text.Length > 255))
            {
                MessageBox.Show("Поле должно содержать от 2 до 255 символов!", "Ошибка!", MessageBoxButtons.OK,
                                MessageBoxIcon.Error);
                return;
            }

            if (!new Regex(
                    @"^[A-Za-z0-9](([_\.\-]?[a-zA-Z0-9]+)*)@([A-Za-z0-9]+)(([\.\-]?[a-zA-Z0-9]+)*)\.([A-Za-z]{2,})$",
                    RegexOptions.IgnorePatternWhitespace).IsMatch(EmailBox.Text))
            {
                MessageBox.Show("Поле Электронная почта записано не правильно!", "Ошибка!", MessageBoxButtons.OK,
                                MessageBoxIcon.Error);
                return;
            }

            if (PhoneNumberBox.Text.Length < 7 || PhoneNumberBox.Text.Length > 15 || new Regex(
                    @"/^(\+?\d+)?\s*(\(\d+\))?[\s-]*([\d-]*)$/",
                    RegexOptions.IgnorePatternWhitespace).IsMatch(EmailBox.Text))
            {
                MessageBox.Show("Поле Номер телефона должно содержать только цифры и знак + !", "Ошибка!",
                                MessageBoxButtons.OK, MessageBoxIcon.Error);
                return;
            }

            var   OrdRepository = new OrdersRepository();
            Order order         = null;

            try
            {
                order = new Order()
                {
                    Surname          = SurnameBox.Text,
                    Name             = NameBox.Text,
                    Patronymic       = PatronymicBox.Text,
                    E_mail           = EmailBox.Text,
                    PhoneNumber      = PhoneNumberBox.Text,
                    State            = "не обработан",
                    OrderedMedicines = UserForm.ordMedList.ToList()
                };
                OrdRepository.Save(order);
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.InnerException.Message, "Ошибка!", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }


            MessageBox.Show(String.Format("Ваш заказ успешно отправлен. Номер вашего заказа: {0}", order.Id),
                            "Добавление лек.средства",
                            MessageBoxButtons.OK);

            UserForm.ordMedList.Clear();
            UserForm.medicineControl.MedicineList.DataSource = MedRepository.GetAll();
            UserForm.medicineControl.BringToFront();

            foreach (Control control in Controls)
            {
                if (control is TextBox)
                {
                    control.Text = "";
                }
            }
        }
Exemple #9
0
        private void SafeMedButton_Click(object sender, EventArgs e)
        {
            var      rep = new MedicinesRepository();
            Medicine med;

            try
            {
                med = new Medicine()
                {
                    Name         = NameBox.Text,
                    Available    = AvailableCheckBox.Checked,
                    Manufacturer = ManufacturerBox.Text,
                    ProductForm  = ProductFormBox.Text,
                    Price        = Convert.ToDecimal(PriceBox.Text),
                    Recipe       = RecipeСheckBox.Checked
                };



                ValidationClass.ValidateMedicine(med);

                //if (NameBox.Text == "" || ProductFormBox.Text == ""
                //    || ManufacturerBox.Text == "" || PriceBox.Text == "")
                //{
                //    MessageBox.Show("Все поля должны быть заполнены!", "Ошибка!", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                //    return;
                //}

                //if (NameBox.Text.Length < 2 || NameBox.Text.Length > 255)
                //{
                //    MessageBox.Show("Поле Наименование должно содержать от 2 до 255 символов!", "Ошибка!", MessageBoxButtons.OK, MessageBoxIcon.Error);
                //    return;
                //}

                //if (ProductFormBox.Text.Length < 2 || ProductFormBox.Text.Length > 255)
                //{
                //    MessageBox.Show("Поле Форма выпуска должно содержать от 2 до 255 символов!", "Ошибка!", MessageBoxButtons.OK, MessageBoxIcon.Error);
                //    return;
                //}
                //if (ManufacturerBox.Text.Length < 2 || ManufacturerBox.Text.Length > 255)
                //{
                //    MessageBox.Show("Поле Производитель должно содержать от 2 до 255 символов!", "Ошибка!", MessageBoxButtons.OK, MessageBoxIcon.Error);
                //    return;
                //}
                //try
                //{
                //    if (Convert.ToInt32(PriceBox.Text) < 100 || Convert.ToInt32(PriceBox.Text) > 100000000)
                //    {
                //        MessageBox.Show("Поле Цена должно содержать значения от 100 до 100000000!", "Ошибка!",
                //            MessageBoxButtons.OK, MessageBoxIcon.Error);
                //        return;
                //    }
                //}
                //catch (FormatException exception)
                //{
                //    MessageBox.Show("Поле Цена должно содержать цифровые значения!", "Ошибка!",
                //            MessageBoxButtons.OK, MessageBoxIcon.Error);
                //    return;

                //}


                ValidationClass.IsMedicineAlreadyExist(med, rep);
                //if (rep.GetAll().IsMedicineExist(NameBox.Text, ProductFormBox.Text, ManufacturerBox.Text))
                //{
                //    MessageBox.Show("Такое лек.средство уже существует в системе!", "Ошибка!", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                //    return;
                //}
            }
            catch (FormatException exception)
            {
                MessageBox.Show("Поле Цена должно содержать цифровые значения!", "Ошибка!",
                                MessageBoxButtons.OK, MessageBoxIcon.Error);
                return;
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message, "Ошибка!", MessageBoxButtons.OK, MessageBoxIcon.Error);
                return;
            }

            if ((sender as Button).Text == "Добавить")
            {
                rep.Save(med);

                MessageBox.Show(String.Format("Лекарственное средство {0} добавленно", NameBox.Text),
                                "Добавление лек.средства",
                                MessageBoxButtons.OK);
            }
            else
            {
                Medicine dbmed = AdminForm.medicinesControl.MedicineList.SelectedRows[0].DataBoundItem as Medicine;
                med.Id = dbmed.Id;

                rep.Save(med);
                MessageBox.Show("Изменения лек.средства " + med.Name + " сохранены!", "Изменение лек.средства", MessageBoxButtons.OK);
            }

            AdminForm.medicinesControl.MedicineList.DataSource = rep.GetAll();
            AdminForm.medicinesControl.BringToFront();
        }