Esempio n. 1
0
        private void btnSave_Click(object sender, EventArgs e)
        {
            PelengEntities pe  = new PelengEntities();
            var            det = (from m in pe.Детали
                                  where (m.НомерДетали == this.ParentForm.Text)
                                  select m);
            var mat = (from m in pe.Материалы
                       where (m.НаименованиеМатериала == tbMat.Text)
                       select m);

            if (det.Count() != 0)
            {
                det.First().ВыходДеталей = (int)numericUpDown1.Value;
                det.First().НормаРасхода = double.Parse(mtbRate.Text);
                det.First().МатериалID   = mat.First().МатериалID;
                if (maskedTextBox2.Visible)
                {
                    det.First().ДлинаЗаготовки  = double.Parse(maskedTextBox2.Text);
                    det.First().ШиринаЗаготовки = double.Parse(maskedTextBox1.Text);
                }
                else
                {
                    det.First().ДлинаЗаготовки  = double.Parse(maskedTextBox1.Text);
                    det.First().ШиринаЗаготовки = null;
                }
                pe.SaveChanges();
            }
            else
            {
                if (((specificationWork)ParentForm).WayID != 0 & ((specificationWork)ParentForm).ItemName != "")
                {
                    Детали d = new Детали();
                    d.Наименование = ((specificationWork)ParentForm).ItemName;
                    d.НомерДетали  = this.ParentForm.Text;
                    d.МаршрутID    = ((specificationWork)ParentForm).WayID;
                    d.МатериалID   = ((Материалы)tbMat.Tag).МатериалID;
                    d.ВыходДеталей = (int)numericUpDown1.Value;
                    d.НормаРасхода = double.Parse(mtbRate.Text);
                    if (maskedTextBox2.Visible)
                    {
                        d.ДлинаЗаготовки  = double.Parse(maskedTextBox2.Text);
                        d.ШиринаЗаготовки = double.Parse(maskedTextBox1.Text);
                    }
                    else
                    {
                        d.ДлинаЗаготовки  = double.Parse(maskedTextBox1.Text);
                        d.ШиринаЗаготовки = null;
                    }
                    pe.AddToДетали(d);
                    pe.SaveChanges();
                }
                else
                {
                    MessageBox.Show("Необходимо правильно заполнить все поля в разделе с основной информацией", "Внимание!",
                                    MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
                }
            }
        }
Esempio n. 2
0
        private void btnSave_Click(object sender, EventArgs e)
        {
            if (tbWay.Text.StartsWith("-"))
            {
                tbWay.Text = tbWay.Text.Remove(0, 1);
            }
            if (tbWay.Text.EndsWith("-"))
            {
                tbWay.Text = tbWay.Text.Remove(tbWay.TextLength - 1);
            }
            PelengEntities pe  = new PelengEntities();
            var            det = (from m in pe.Детали
                                  where (m.НомерДетали == number)
                                  select m);
            var sb = (from m in pe.Сборки
                      where (m.НомерСборки == number)
                      select m);
            Dictionary <int, string> waysDiction = new Dictionary <int, string>();
            var grouped = from p in pe.Маршруты
                          orderby p.МаршрутID
                          group p by p.МаршрутID into grp
                          select new { ID = grp.Key, objWay = grp };

            foreach (var w in grouped.ToList())
            {
                string s = "";
                foreach (var r in w.objWay)
                {
                    s += r.НомерПодразделения + "-";
                }
                s = s.Remove(s.Length - 1);
                waysDiction.Add(w.ID, s);
            }
            int numberWay = 0;

            foreach (int n in waysDiction.Keys)
            {
                if (tbWay.Text == waysDiction[n])
                {
                    numberWay = n;
                    break;
                }
            }
            string[] subWays = tbWay.Text.Split('-');
            if (numberWay == 0)
            {
                int z = 1;
                foreach (string s in subWays)
                {
                    pe.Маршруты.AddObject(new Маршруты {
                        МаршрутID = waysDiction.Count + 1, ПорядковыйНомер = z++, НомерПодразделения = s
                    });
                }
                pe.SaveChanges();
                waysDiction.Add(numberWay = waysDiction.Count + 1, tbWay.Text);
            }
            tbWay.AutoCompleteCustomSource.AddRange(waysDiction.Values.ToArray());
            if (det.Count() != 0)
            {
                det.First().Наименование = tbName.Text;
                det.First().МаршрутID    = numberWay;
                pe.SaveChanges();
            }
            else if (sb.Count() != 0)
            {
                sb.First().Наименование = tbName.Text;
                sb.First().МаршрутID    = numberWay;
                pe.SaveChanges();
            }
            else if (number.EndsWith("0"))
            {
                Сборки assembly = new Сборки();
                assembly.Наименование = tbName.Text;
                assembly.МаршрутID    = numberWay;
                assembly.НомерСборки  = number;
                pe.Сборки.AddObject(assembly);
                pe.SaveChanges();
            }
            else
            {
                tabSpecification.SelectedTab = tabMaterial;
            }
            currentName       = tbName.Text;
            currentWay        = tbWay.Text;
            this.DialogResult = DialogResult.OK;
        }