コード例 #1
0
        private void button1_Click(object sender, EventArgs e)
        {
            //Добавление элемента номенклатуры
            cNomenklatura Nomenklatura = new cNomenklatura();

            FormNomenklaturaEdit F = new FormNomenklaturaEdit(Nomenklatura);


            if (F.ShowDialog(this) == DialogResult.OK)
            {
                List <cNomenklatura> ListNomenklatura = (from p in DBase.Nomenklatura where p.ShtrihCode.Equals(Nomenklatura.ShtrihCode) select p).ToList();
                if (ListNomenklatura.Count == 0)
                {
                    try
                    {
                        DBase.Nomenklatura.Add(Nomenklatura);
                        DBase.SaveChanges();
                    }
                    catch { MessageBox.Show("Неверно заполнены поля попробуйте еще раз."); }
                }
                else
                {
                    MessageBox.Show("Товар с таким штрих-кодом уже есть!");
                }
            }

            F.Dispose();
        }
コード例 #2
0
 private void button5_Click(object sender, EventArgs e)
 {
     // Выбор товара из номенклатуры по кнопке
     if (dataGridView1.SelectedRows.Count > 0)
     {
         int index = dataGridView1.SelectedRows[0].Index;
         ReturnNomenklatura = (cNomenklatura)dataGridView1.Rows[index].DataBoundItem;
     }
 }
コード例 #3
0
        int TestOstatkov(cNomenklatura Nomenklatura)
        {
            // Определение количества товара на складе
            int ret           = 0;
            int CountPost     = (from n in Nomenklatura.ElementPost select n.Count).Sum();
            int CountSaleProd = (from n in Nomenklatura.ElementSale where n.Sale.TypeSale == 0 select n.Count * (1 - (2 * n.Sale.TypeSale))).Sum();

            //int CountSaleVozv = (from n in Nomenklatura.ElementSale where n.Sale.TypeSale == 1 select n.Count).Sum();
            ret = CountPost + CountSaleProd;
            return(ret);
        }
コード例 #4
0
        private void dataGridView1_DoubleClick(object sender, EventArgs e)
        {
            // Выбор товара из номенклатуры по двойному щелчку
            if (select)
            {
                if (dataGridView1.SelectedRows.Count > 0)
                {
                    int index = dataGridView1.SelectedRows[0].Index;
                    ReturnNomenklatura = (cNomenklatura)dataGridView1.Rows[index].DataBoundItem;

                    DialogResult = DialogResult.OK;
                    Close();
                }
            }
        }
コード例 #5
0
        private void button1_Click(object sender, EventArgs e)
        {
            // Штрих-код
            textBox1.Focus();

            // Ищем штрихкод в номенклатуре
            try
            {
                List <cNomenklatura> ListNomenklatura = (from p in DBase.Nomenklatura where p.ShtrihCode.Equals(textBox1.Text) select p).ToList();

                if (ListNomenklatura.Count > 0)
                {
                    cNomenklatura Nomenklatura = ListNomenklatura[0];

                    // Проверять нехватку товара будем перед расчетом

                    //Поиск штрихкода в текущем если есть то приплюсовать 1 к количеству

                    List <Element> le = (from n in ListElement where n.Nomenklatura.ShtrihCode.Equals(textBox1.Text) select n).ToList();
                    if (le.Count > 0)
                    {
                        Element eee = le[0];
                        eee.Count = eee.Count + 1;
                    }
                    else
                    {
                        Element eee = new Element(ListElement, new cElementSale());
                        eee.Nomenklatura = Nomenklatura;
                        eee.Price        = eee.Nomenklatura.Price;
                        eee.Count        = 1;
                        ListElement.Add(eee);
                    }

                    StatusCassa();
                }
                else
                {
                    MessageBox.Show("Штрих-код " + textBox1.Text + " не найден в номенклатуре.");
                }

                textBox1.Text = "";
            }
            catch
            {
                MessageBox.Show("Неверно введен штрих-код.");
            }
        }
コード例 #6
0
        private void button4_Click(object sender, EventArgs e)
        {
            // Информация о товаре
            if (dataGridView1.SelectedRows.Count > 0)
            {
                int           index        = dataGridView1.SelectedRows[0].Index;
                cNomenklatura Nomenklatura = (cNomenklatura)dataGridView1.Rows[index].DataBoundItem;

                //int c= TestOstatkov(Nomenklatura);
                //MessageBox.Show("Этого товара на складе - " + c.ToString() + " - едениц.");

                using (FormNomenklaturaInfo F = new FormNomenklaturaInfo(Nomenklatura))
                {
                    F.ShowDialog(this);
                }
            }
        }
コード例 #7
0
        private void button2_Click(object sender, EventArgs e)
        {
            // Редактирование элемента номенклатуры
            if (dataGridView1.SelectedRows.Count > 0)
            {
                int index = dataGridView1.SelectedRows[0].Index;

                cNomenklatura Nomenklatura = (cNomenklatura)dataGridView1.Rows[index].DataBoundItem;

                cNomenklatura Nomenklatura1 = (cNomenklatura)Nomenklatura.Clone();

                FormNomenklaturaEdit F = new FormNomenklaturaEdit(Nomenklatura1);
                F.Text = "Редактирование товара в номенклатуре";
                if (F.ShowDialog(this) == DialogResult.OK)
                {
                    List <cNomenklatura> ListNomenklatura = (from p in DBase.Nomenklatura where p.ShtrihCode.Equals(Nomenklatura1.ShtrihCode) select p).ToList();

                    if ((ListNomenklatura.Count == 0) ||
                        ((ListNomenklatura.Count > 0) && (ListNomenklatura[0].Id == Nomenklatura.Id)))
                    {
                        Nomenklatura.Name       = Nomenklatura1.Name;
                        Nomenklatura.ShtrihCode = Nomenklatura1.ShtrihCode;
                        Nomenklatura.Articl     = Nomenklatura1.Articl;
                        Nomenklatura.Price      = Nomenklatura1.Price;

                        DBase.Entry(Nomenklatura).State = EntityState.Modified;

                        DBase.SaveChanges();

                        dataGridView1.Refresh();
                    }
                    else
                    {
                        MessageBox.Show("Попытка изменить штрих-код на значение которое уже есть в базе!");
                    }
                }

                F.Dispose();
            }
        }
コード例 #8
0
        private void button3_Click(object sender, EventArgs e)
        {
            // Удаление

            if (dataGridView1.SelectedRows.Count > 0)
            {
                int           index        = dataGridView1.SelectedRows[0].Index;
                cNomenklatura Nomenklatura = (cNomenklatura)dataGridView1.Rows[index].DataBoundItem;

                int count = (from p in Nomenklatura.ElementPost select p).Count();
                // Проверить есть ли хоть одна подчиненная запись если есть удалять нельзя
                if (count == 0)
                {
                    DBase.Nomenklatura.Remove(Nomenklatura);

                    DBase.SaveChanges();
                    dataGridView1.Refresh();
                }
                else
                {
                    MessageBox.Show("Удаление не состаялось. У этого товара есть поступления.");
                }
            }
        }
コード例 #9
0
 public FormNomenklaturaInfo(cNomenklatura nomenklatura)
 {
     Nomenklatura = nomenklatura;
     InitializeComponent();
 }