using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.IO;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace StekloMaster
{
    public partial class Form8 : Form
    {

        public Form8()
        {
            InitializeComponent();
        }
        string putin = "";

        public string edit = "";

        private void Form8_Shown(object sender, EventArgs e)
        {
            Form1 g = this.Owner as Form1;
            putin = g.putin;

            //грузим материалы
            int c = 0;
            string str33 = "";
            try
            {
                using (StreamReader sr = new StreamReader(putin + "\\data\\skinali\\material.akv"))
                {
                    comboBox1.BeginUpdate();
                    comboBox1.Items.Clear();
                    while ((str33 = sr.ReadLine()) != null)
                    {
                        if (str33 != "" && str33 != null)
                        {
                            c++;
                            string[] tmp = str33.Replace("\r", "").Split('|');
                            comboBox1.Items.AddRange(new object[] { tmp[0] });
                        }

                    }
                    if (comboBox1.Items.Count != 0)
                        comboBox1.SelectedIndex = 0;
                    comboBox1.EndUpdate();
                }
            }
            catch { comboBox1.EndUpdate(); }
            //грузим прямоугольные обработки
                c = 0;
                str33 = "";
                try
                {
                    using (StreamReader sr = new StreamReader(putin + "\\data\\skinali\\obrabotka.akv"))
                    {
                        comboBox3.BeginUpdate();
                        comboBox3.Items.Clear();
                        while ((str33 = sr.ReadLine()) != null)
                        {
                            if (str33 != "" && str33 != null)
                            {
                                c++;
                                string[] tmp = str33.Replace("\r", "").Split('|');
                                comboBox3.Items.AddRange(new object[] { tmp[0] });
                            }

                        }
                        if (comboBox3.Items.Count != 0)
                            comboBox3.SelectedIndex = 0;
                        comboBox3.EndUpdate();
                    }
                }
                catch { comboBox3.EndUpdate(); }
            //грузим прямоугольные варианты обработки
            c = 0;
            str33 = "";
            try
            {
                using (StreamReader sr = new StreamReader(putin + "\\data\\skinali\\variant.akv"))
                {
                    comboBox5.BeginUpdate();
                    comboBox5.Items.Clear();
                    while ((str33 = sr.ReadLine()) != null)
                    {
                        if (str33 != "" && str33 != null)
                        {
                            c++;
                            comboBox5.Items.AddRange(new object[] { str33.Replace("\r", "") });
                        }

                    }
                    if (comboBox5.Items.Count != 0)
                        comboBox5.SelectedIndex = 0;
                    comboBox5.EndUpdate();
                }
            }
            catch
            {
                comboBox5.EndUpdate();
            }
            //грузим косые варианты обработки
            c = 0;
            str33 = "";
            try
            {
                using (StreamReader sr = new StreamReader(putin + "\\data\\skinali\\kosobrabotka.akv"))
                {
                    comboBox10.BeginUpdate();
                    comboBox10.Items.Clear();
                    while ((str33 = sr.ReadLine()) != null)
                    {
                        if (str33 != "" && str33 != null)
                        {
                            c++;
                            string[] tmp = str33.Replace("\r", "").Split('|');
                            comboBox10.Items.AddRange(new object[] { tmp[0] });
                        }

                    }
                    if (comboBox10.Items.Count != 0)
                        comboBox10.SelectedIndex = 0;
                    comboBox10.EndUpdate();
                }
            }
            catch { comboBox10.EndUpdate(); }
            //грузим варианты формы
            c = 0;
            str33 = "";
            try
            {
                using (StreamReader sr = new StreamReader(putin + "\\data\\skinali\\forma.akv"))
                {
                    comboBox6.BeginUpdate();
                    comboBox6.Items.Clear();
                    while ((str33 = sr.ReadLine()) != null)
                    {
                        if (str33 != "" && str33 != null)
                        {
                            c++;
                            comboBox6.Items.AddRange(new object[] { str33.Replace("\r", "") });
                        }

                    }
                    if (comboBox6.Items.Count != 0)
                        comboBox6.SelectedIndex = 0;
                    comboBox6.EndUpdate();
                }
            }
            catch
            {
                comboBox6.EndUpdate();
            }
            //грузим виды декорирования
            c = 0;
            str33 = "";
            try
            {
                using (StreamReader sr = new StreamReader(putin + "\\data\\skinali\\dekor.akv"))
                {
                    comboBox7.BeginUpdate();
                    comboBox7.Items.Clear();
                    while ((str33 = sr.ReadLine()) != null)
                    {
                        if (str33 != "" && str33 != null)
                        {
                            c++;
                            string[] tmp = str33.Replace("\r", "").Split('|');
                            comboBox7.Items.AddRange(new object[] { tmp[0] });
                        }

                    }
                    if (comboBox7.Items.Count != 0)
                        comboBox7.SelectedIndex = 0;
                    comboBox7.EndUpdate();
                }
            }
            catch { comboBox7.EndUpdate(); }
            comboBox4.SelectedIndex = 0;
            if(edit != "")
            {

                //при редактировании вызвать пересчет отверстий!
                button1.Text = "Редактировать";
                string []s = edit.Split('|');
                textBox1.Text = s[1];
                textBox2.Text = s[2];
                comboBox1.Text = s[3];
                comboBox2.Text = s[4];

                comboBox6.Text = s[6];

                string gs = s[5];
                if(panel1.Visible)
                {
                    dataGridView2.Rows.Clear();
                    string[] bd2 = gs.Split(';');
                    foreach (string ss in bd2)
                    {
                        if (ss != "")
                        {
                            string[] f = ss.Split('-');
                            int i = dataGridView2.Rows.Count;
                            dataGridView2.Rows.Add();
                            for (int h = 0; h < 2; h++)
                                dataGridView2.Rows[i].Cells[h].Value = f[h];
                        }

                    }
                }
                else
                {
                    dataGridView1.Rows.Clear();
                    string[] bd2 = gs.Split(';');
                    foreach (string ss in bd2)
                    {
                        if (ss != "")
                        {
                            string[] f = ss.Split('-');
                            int i = dataGridView1.Rows.Count;
                            dataGridView1.Rows.Add();
                            for (int h = 0; h < 2; h++)
                                dataGridView1.Rows[i].Cells[h].Value = f[h];
                        }

                    }
                }

                comboBox4.Text = s[7];
                string[] gsf = s[8].Split(';');
                listBox1.Items.Clear();
                foreach(string st3 in gsf)
                {
                    if (st3 == "" || st3 == null) continue;
                    listBox1.Items.AddRange(new object[] { st3 });
                }
                if(listBox1.Items.Count != 0)
                    listBox1.SelectedIndex = 0;
                sumka();
            }
        }

        private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
        {
            if (Char.IsControl(e.KeyChar)) return;
            if (e.KeyChar < '0' || e.KeyChar > '9')
            {
                if (e.KeyChar != ',')
                    e.Handled = true;
            }
        }



        private void button1_Click(object sender, EventArgs e)
        {
            if(textBox1.Text == ""||textBox2.Text == "")
            {
                MessageBox.Show("Размеры заполнены не корректно!");
                return;
            }

            //при редактировании вызвать пересчет отверстий!
            Form1 g = this.Owner as Form1;
            if("Создать панель"!=button1.Text)
            {
                int i = g.dataGridView1.CurrentRow.Index;

                g.dataGridView1.Rows[i].Cells[1].Value = textBox1.Text;
                g.dataGridView1.Rows[i].Cells[2].Value = textBox2.Text;
                g.dataGridView1.Rows[i].Cells[3].Value = comboBox1.Text;
                g.dataGridView1.Rows[i].Cells[4].Value = comboBox2.Text;



                string s = "";
                if (panel1.Visible)
                {
                    if (dataGridView2.Rows.Count != 0)
                    {
                        for (int ii = 0; ii < dataGridView2.Rows.Count; ii++)
                        {
                            for (int j = 0; j < 2; j++)
                                s += dataGridView2.Rows[ii].Cells[j].Value + "-";
                            s += ";";
                        }
                    }
                }
                else
                {
                    if (dataGridView1.Rows.Count != 0)
                    {
                        for (int ii = 0; ii < dataGridView1.Rows.Count; ii++)
                        {
                            for (int j = 0; j < 2; j++)
                                s += dataGridView1.Rows[ii].Cells[j].Value + "-";
                            s += ";";
                        }
                    }
                }
                g.dataGridView1.Rows[i].Cells[5].Value = s;

                g.dataGridView1.Rows[i].Cells[6].Value = comboBox6.Text;

                g.dataGridView1.Rows[i].Cells[7].Value = comboBox4.Text;
                string sg = "";
                for (int ii = 0; ii < listBox1.Items.Count; ii++)
                {
                    sg += listBox1.Items[ii].ToString() + ";";
                }
                g.dataGridView1.Rows[i].Cells[8].Value = sg;
                g.dataGridView1.Rows[i].Cells[9].Value = label11.Text.Replace(" руб.", "");

                //вызов пересчета дырок 


                g.dataGridView1.Enabled = true;
                g.button12.Enabled = true;
                g.button13.Enabled = true;
                g.button14.Enabled = true;
                g.raschetdirok();

            }
            else
            {
                int i = g.dataGridView1.Rows.Count;
                g.dataGridView1.Rows.Add();

                g.dataGridView1.Rows[i].Cells[0].Value = i + 1;
                g.dataGridView1.Rows[i].Cells[1].Value = textBox1.Text;
                g.dataGridView1.Rows[i].Cells[2].Value = textBox2.Text;
                g.dataGridView1.Rows[i].Cells[3].Value = comboBox1.Text;
                g.dataGridView1.Rows[i].Cells[4].Value = comboBox2.Text;

                string s = "";
                if (panel1.Visible)
                {
                    if (dataGridView2.Rows.Count != 0)
                    {
                        for (int ii = 0; ii < dataGridView2.Rows.Count; ii++)
                        {
                            for (int j = 0; j < 2; j++)
                                s += dataGridView2.Rows[ii].Cells[j].Value + "-";
                            s += ";";
                        }
                    }
                }
                else
                {
                    if (dataGridView1.Rows.Count != 0)
                    {
                        for (int ii = 0; ii < dataGridView1.Rows.Count; ii++)
                        {
                            for (int j = 0; j < 2; j++)
                                s += dataGridView1.Rows[ii].Cells[j].Value + "-";
                            s += ";";
                        }
                    }
                }
                g.dataGridView1.Rows[i].Cells[5].Value = s;

                g.dataGridView1.Rows[i].Cells[6].Value = comboBox6.Text;

                g.dataGridView1.Rows[i].Cells[7].Value = comboBox4.Text;
                string sg = "";
                for (int ii = 0; ii < listBox1.Items.Count; ii++)
                {
                    sg += listBox1.Items[ii].ToString() + ";";
                }
                g.dataGridView1.Rows[i].Cells[8].Value = sg;
                g.dataGridView1.Rows[i].Cells[9].Value = label11.Text.Replace(" руб.", "");
                g.dataGridView1.Rows[i].Cells[10].Value = "";

                g.dataGridView1.Rows[i].Selected = true;
                g.dataGridView1.FirstDisplayedScrollingRowIndex = i;
                g.dataGridView1.Rows[i].Cells[0].Selected = true;

            }
            g.listBox2_SelectedIndexChanged(null, null);
            g.listBox3_SelectedIndexChanged(null, null);
            g.sum();
            this.Close();
        }

        protected override void OnClosing(CancelEventArgs e)
        {
            if ("Создать панель" != button1.Text)
            {
                Form1 g = this.Owner as Form1;
                g.dataGridView1.Enabled = true;
                g.button12.Enabled = true;
                g.button13.Enabled = true;
                g.button14.Enabled = true;
            }
        }

        private void button2_Click(object sender, EventArgs e)
        {
            if (comboBox7.Text.IndexOf("Пескоструйный рисунок") != -1)
            {
                foreach (Form f in Application.OpenForms)
                {
                    if (f.Name == "Form14")
                    {
                        MessageBox.Show("Добавление пескоструйной обработки уже открыто!");
                        return;
                    }
                }
                Form14 f1 = new Form14();
                f1.Owner = this;
                f1.Show();
                f1.material = comboBox7.Text;
                f1.textBox1.Text = textBox1.Text;
                f1.textBox2.Text = textBox2.Text;
            }
            else
            {
                listBox1.Items.AddRange(new object[] { comboBox7.Text });
                listBox1.SelectedIndex = 0;
                sumka();
            }
        }

        private void button3_Click(object sender, EventArgs e)
        {
            if (listBox1.SelectedIndex != -1)
            {
                listBox1.Items.RemoveAt(listBox1.SelectedIndex);
                if (listBox1.Items.Count != 0)
                    listBox1.SelectedIndex = listBox1.Items.Count - 1;
            }
            sumka();
        }

        private void button4_Click(object sender, EventArgs e)
        {
            int i = dataGridView2.Rows.Count;
            dataGridView2.Rows.Add();
            dataGridView2.Rows[i].Cells[0].Value = comboBox3.Text;
            dataGridView2.Rows[i].Cells[1].Value = comboBox5.Text;
            dataGridView2.Rows[i].Selected = true;
            dataGridView2.FirstDisplayedScrollingRowIndex = i;
            sumka();
        }

        private void button5_Click(object sender, EventArgs e)
        {
            if (dataGridView2.CurrentRow == null) return;
            dataGridView2.Rows.RemoveAt(dataGridView2.CurrentRow.Index);
            sumka();
        }

        private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
        {
            int c = 0;
            string str33 = "";
            try
            {
                using (StreamReader sr = new StreamReader(putin + "\\data\\skinali\\material.akv"))
                {
                    comboBox2.BeginUpdate();
                    comboBox2.Items.Clear();
                    while ((str33 = sr.ReadLine()) != null)
                    {
                        if (str33 != "" && str33 != null)
                        {
                            c++;
                            string[] tmp = str33.Replace("\r", "").Split('|');
                            if(tmp[0]==comboBox1.Text)
                            {
                                string[] nt = tmp[1].Split('~');
                                foreach(string t in nt)
                                {
                                    if (t == "" || t == null) continue;
                                    comboBox2.Items.AddRange(new object[] { t.Split('!')[0] });
                                }
                                break;
                            }
                           
                        }

                    }
                    if (comboBox2.Items.Count != 0)
                        comboBox2.SelectedIndex = 0;
                    comboBox2.EndUpdate();
                }
            }
            catch { comboBox2.EndUpdate(); }
            sumka();
        }

        public void sumka()
        {
            if (textBox1.Text == "" || textBox2.Text == "") return;
            try
            {
                double a = Convert.ToDouble(textBox1.Text);
                a = Convert.ToDouble(textBox2.Text);
            }
            catch { return; }
            //цена материала
            double prmat = 0;
            //цена прямолинейной резки
            double prmatres = 0;
            //цена криволинейной резки
            double prtmatkos = 0;
            //сумма за все декорирование
            double prstk = 0;
            //сумма за Пескоструйный рисунок не во всю площадь
            double pesdek = 0;
            //прямолинейная обработка
            double prymobr = 0;
            //криволинейная обработка
            double krivobr = 0;
            //цена закалки
            double zakalka = 0;

            string str33 = "";
            int c = 0;
            try
            {
                using (StreamReader sr = new StreamReader(putin + "\\data\\skinali\\material.akv"))
                {
                    while ((str33 = sr.ReadLine()) != null)
                    {
                        if (str33 != "" && str33 != null)
                        {
                            c++;
                            string[] tmp = str33.Replace("\r", "").Split('|');
                            if (tmp[0] == comboBox1.Text)
                            {
                                string[] nt = tmp[1].Split('~');
                                foreach (string t in nt)
                                {
                                    if (t == "" || t == null) continue;
                                    string[] oz = t.Split('!');
                                    if (oz[0] == comboBox2.Text)
                                    {
                                        prmat = Convert.ToDouble(oz[1]);
                                        prmatres = Convert.ToDouble(oz[2]);
                                        prtmatkos = Convert.ToDouble(oz[3]);
                                        zakalka = Convert.ToDouble(oz[4]);
                                        break;
                                    }
                                }
                                break;
                            }

                        }

                    }
                }
            }
            catch { }
            str33 = "";
            using (StreamReader sr = new StreamReader(putin + "\\data\\skinali\\dekor.akv"))
            {
                while ((str33 = sr.ReadLine()) != null)
                {
                    if (str33 != "" && str33 != null)
                    {
                        string[] tmp = str33.Replace("\r", "").Split('|');
                        for (int g = 0; g < listBox1.Items.Count; g++)
                        {
                            if (listBox1.Items[g].ToString().IndexOf("Пескоструйный рисунок") != -1)
                            {
                                if (listBox1.Items[g].ToString().IndexOf("на всю поверхность") != -1)
                                {
                                    if (listBox1.Items[g].ToString().Replace(" - на всю поверхность","") == tmp[0])
                                    {
                                        prstk += Convert.ToDouble(tmp[1]);
                                    }
                                }
                                else
                                {
                                    int l = listBox1.Items[g].ToString().IndexOf(" - выс: ");
                                    if (l != -1)
                                    {
                                        string l1=listBox1.Items[g].ToString().Substring(0, l);
                                        if (l1 == tmp[0])
                                        {
                                            //цена рисунка
                                            double prg = Convert.ToDouble(tmp[1]);
                                            int v = listBox1.Items[g].ToString().IndexOf("выс: ") + 5;
                                            int h = listBox1.Items[g].ToString().IndexOf("шир: ") - 1;
                                            double a = Convert.ToDouble(listBox1.Items[g].ToString().Substring(v, h - v));
                                            h += 6;
                                            double b = Convert.ToDouble(listBox1.Items[g].ToString().Substring(h, listBox1.Items[g].ToString().IndexOf(" ", h) - h));
                                            //вычисляем площадь
                                            pesdek += (a * b / 1000000) * prg;
                                        }
                                    }
                                }
                            }
                            else
                            {
                                if (listBox1.Items[g].ToString() == tmp[0])
                                {
                                    prstk += Convert.ToDouble(tmp[1]);
                                }
                            }
                        }

                    }

                }
            }

            if(panel1.Visible)
            {
                //прямолинейная обработка
                for (int i = 0; i < dataGridView2.Rows.Count; i++)
                {
                    double pr = 0;
                    str33 = "";
                    try
                    {
                        using (StreamReader sr = new StreamReader(putin + "\\data\\skinali\\obrabotka.akv"))
                        {
                            while ((str33 = sr.ReadLine()) != null)
                            {
                                if (str33 != "" && str33 != null)
                                {
                                    string[] tmp = str33.Replace("\r", "").Split('|');
                                    if( tmp[0]  == dataGridView2.Rows[i].Cells[0].Value.ToString())
                                    {
                                        string[] g = tmp[1].Split('~');
                                        bool poisk = true;
                                        foreach(string f in g)
                                        {
                                            if(f.Split('!')[0]==comboBox2.Text)
                                            {
                                                pr = Convert.ToDouble(f.Split('!')[1]);
                                                poisk = false;
                                                break;
                                            }
                                        }
                                        if(poisk)
                                        {
                                            MessageBox.Show("Не удалось образовать цену прямолинейной обработки " + dataGridView2.Rows[i].Cells[0].Value.ToString() + " для толщины стекла " + comboBox2.Text + ", т.к. нет подходящего ценового критерия!\r\nПожалуйста отредактируйте прайс лист!");
                                            pr = 0;
                                        }
                                        
                                    }
                                }

                            }
                        }
                    }
                    catch { }
                    double po = 0;
                    if (dataGridView2.Rows[i].Cells[1].Value.ToString() == "Периметр")
                    {
                        po = ((Convert.ToDouble(textBox1.Text) + Convert.ToDouble(textBox2.Text)) / 1000)*2;
                    }
                    else if (dataGridView2.Rows[i].Cells[1].Value.ToString() == "Полупериметр")
                    {
                        po = ((Convert.ToDouble(textBox1.Text) + Convert.ToDouble(textBox2.Text)) / 1000);
                    }
                    else if (dataGridView2.Rows[i].Cells[1].Value.ToString() == "1 сторона большего размера")
                    {
                        double big = Convert.ToDouble(textBox1.Text);
                        if (Convert.ToDouble(textBox2.Text)>big)
                            big = Convert.ToDouble(textBox2.Text);
                        po = (big) / 1000;
                    }
                    else if (dataGridView2.Rows[i].Cells[1].Value.ToString() == "2 стороны большего размера")
                    {
                        double big = Convert.ToDouble(textBox1.Text);
                        if (Convert.ToDouble(textBox2.Text) > big)
                            big = Convert.ToDouble(textBox2.Text);
                        po = (2*big) / 1000;
                    }
                    else if (dataGridView2.Rows[i].Cells[1].Value.ToString() == "1 сторона меньшего размера")
                    {
                        double min = Convert.ToDouble(textBox1.Text);
                        if (Convert.ToDouble(textBox2.Text) < min)
                            min = Convert.ToDouble(textBox2.Text);
                        po = (min) / 1000;
                    }
                    else if (dataGridView2.Rows[i].Cells[1].Value.ToString() == "2 стороны меньшего размера")
                    {
                        double min = Convert.ToDouble(textBox1.Text);
                        if (Convert.ToDouble(textBox2.Text) < min)
                            min = Convert.ToDouble(textBox2.Text);
                        po = (2*min) / 1000;
                    }
                    else
                    {
                        MessageBox.Show("Не найдено формулы для " + dataGridView2.Rows[i].Cells[1].Value);
                    }
                    prymobr += pr*po;
                }
            }
            else
            {
                //криволинейная обработка
                for (int i = 0; i < dataGridView1.Rows.Count; i++)
                {
                    double pr = 0;
                    str33 = "";
                    try
                    {
                        using (StreamReader sr = new StreamReader(putin + "\\data\\skinali\\kosobrabotka.akv"))
                        {
                            while ((str33 = sr.ReadLine()) != null)
                            {
                                if (str33 != "" && str33 != null)
                                {
                                    string[] tmp = str33.Replace("\r", "").Split('|');
                                    if (tmp[0] == dataGridView1.Rows[i].Cells[0].Value.ToString())
                                    {
                                        string[] g = tmp[1].Split('~');
                                        bool poisk = true;
                                        foreach (string f in g)
                                        {
                                            if (f.Split('!')[0] == comboBox2.Text)
                                            {
                                                pr = Convert.ToDouble(f.Split('!')[1]);
                                                poisk = false;
                                                break;
                                            }
                                        }
                                        if (poisk)
                                        {
                                            MessageBox.Show("Не удалось образовать цену криволинейной обработки " + dataGridView1.Rows[i].Cells[0].Value.ToString() + " для толщины стекла " + comboBox2.Text + ", т.к. нет подходящего ценового критерия!\r\nПожалуйста отредактируйте прайс лист!");
                                            pr = 0;
                                        }
                                        pr = Convert.ToDouble(tmp[1]);
                                    }
                                }

                            }
                        }
                    }
                    catch { }
                    double po = 0;
                        po = ((Convert.ToDouble(textBox1.Text) + Convert.ToDouble(textBox2.Text)) / 1000) * 2;

                        krivobr += pr * po;
                }

            }

            double s = 0;
            if (comboBox6.SelectedIndex == 0)
            {
                s = (Convert.ToDouble(textBox1.Text) * Convert.ToDouble(textBox2.Text) / 1000000) * (prmat + prstk) + pesdek;
                s+=((Convert.ToDouble(textBox1.Text) + Convert.ToDouble(textBox2.Text)) / 1000) * prmatres;
                s+=prymobr;
               
              //  label11.Text = (((Convert.ToDouble(textBox1.Text) * Convert.ToDouble(textBox2.Text) / 1000000) * (prmat + prstk) + ((Convert.ToDouble(textBox1.Text) + Convert.ToDouble(textBox2.Text) / 1000000) * prmatres) + ((Convert.ToDouble(textBox1.Text) + Convert.ToDouble(textBox2.Text) / 10000) * 2) * prymobr)).ToString();
                //ПРОСЧЕТ 1 ПАНЕЛИ=  ((ДЛИНА * ШИРИНА) * (СТОИМОСТЬ МАТЕРИАЛА + СТОИМОСТЬ ДЕКОРИРОВАНИЯ СТЕКЛА) +  ((ДЛИНА +ШИРИНА) * СТОИМОСТЬ ПРЯМОЛИНЕЙНОЙ РЕЗКИ МАТЕРИАЛА) +  (((ДЛИНА +ШИРИНА)*2) * СТОИМОСТЬ ПРЯМОЛИНЕЙНОЙ ОБРАБОТКИ МАТЕРИАЛА)
            }
            else if (comboBox6.SelectedIndex == 1)
            {
                s = (Convert.ToDouble(textBox1.Text) * Convert.ToDouble(textBox2.Text) / 1000000) * (prmat + prstk)*1.4 + pesdek;
                s += ((Convert.ToDouble(textBox1.Text) + Convert.ToDouble(textBox2.Text)) / 1000) * prmatres;
                s += ((Convert.ToDouble(textBox1.Text) + Convert.ToDouble(textBox2.Text)) / 1000) * 2 * prtmatkos;
                s +=  krivobr;
                //ПРОСЧЕТ 1 ФИГУРНОЙ ПАНЕЛИ=  ((ДЛИНА * ШИРИНА* 1,4) *( СТОИМОСТЬ МАТЕРИАЛА + СТОИМОСТЬ ДЕКОРИРОВАНИЯ СТЕКЛА)) +   + пескоструйное декорирование 
                // ((ДЛИНА +ШИРИНА)* СТОИМОСТЬ ПРЯМОЛИНЕЙНОЙ РЕЗКИ МАТЕРИАЛА) + ((ДЛИНА +ШИРИНА)*2) 
                // * СТОИМОСТЬ КРИВОЛИНЕЙНОЙ РЕЗКИ МАТЕРИАЛА) + ((ДЛИНА +ШИРИНА)*2) * СТОИМОСТЬ КРИВОЛИНЕЙНОЙ ОБРАБОТКИ МАТЕРИАЛА)
                
            }
            else if (comboBox6.SelectedIndex == 2)
            {
                s = (Convert.ToDouble(textBox1.Text) * Convert.ToDouble(textBox2.Text) / 1000000) * (prmat + prstk) * 1.3 + pesdek;
                s += ((Convert.ToDouble(textBox1.Text) + Convert.ToDouble(textBox2.Text)) / 1000) * prmatres;
                s += ((Convert.ToDouble(textBox1.Text) + Convert.ToDouble(textBox2.Text)) / 1000) * 2 * prtmatkos;
                s += krivobr;
                //ПРОСЧЕТ 1 панели (ФОРМА ОКРУЖНОСТЬ) =  ((ДЛИНА * ШИРИНА* 1,3) *( СТОИМОСТЬ МАТЕРИАЛА + СТОИМОСТЬ ДЕКОРИРОВАНИЯ СТЕКЛА)) + пескоструйное декорирование 
                //+  ((ДЛИНА +ШИРИНА) * СТОИМОСТЬ ПРЯМОЛИНЕЙНОЙ РЕЗКИ МАТЕРИАЛА) 
                //+ ((ДЛИНА +ШИРИНА)*2) * СТОИМОСТЬ КРИВОЛИНЕЙНОЙ РЕЗКИ МАТЕРИАЛА) + 
                //((ДЛИНА +ШИРИНА)*2) * СТОИМОСТЬ КРИВОЛИНЕЙНОЙ ОБРАБОТКИ МАТЕРИАЛА)
            }
            else if (comboBox6.SelectedIndex == 3)
            {
                s = (Convert.ToDouble(textBox1.Text) * Convert.ToDouble(textBox2.Text) / 1000000) * (prmat + prstk) * 1.3 + pesdek;
                s += ((Convert.ToDouble(textBox1.Text) + Convert.ToDouble(textBox2.Text)) / 1000) * prmatres;
                s += prymobr;
                //ПРОСЧЕТ 1 панели (ФОРМА углы R5) =  ((ДЛИНА * ШИРИНА* 1,3) *( СТОИМОСТЬ МАТЕРИАЛА + СТОИМОСТЬ ДЕКОРИРОВАНИЯ СТЕКЛА)) + пескоструйное декорирование 
                //+  ((ДЛИНА +ШИРИНА) * СТОИМОСТЬ ПРЯМОЛИНЕЙНОЙ РЕЗКИ МАТЕРИАЛА)
                //+  СТОИМОСТЬ ПРЯМОЛИНЕЙНОЙ ОБРАБОТКИ МАТЕРИАЛА
            }
            else if (comboBox6.SelectedIndex == 4)
            {
                s = (Convert.ToDouble(textBox1.Text) * Convert.ToDouble(textBox2.Text) / 1000000) * (prmat + prstk) * 1.3 + pesdek;
                s += ((Convert.ToDouble(textBox1.Text) + Convert.ToDouble(textBox2.Text)) / 1000) *2* prmatres;
                s += prymobr * 1.28;
               // s += ((Convert.ToDouble(textBox1.Text) + Convert.ToDouble(textBox2.Text)) / 1000) * 2 * prtmatkos;
//ПРОСЧЕТ 1 панели (ФОРМА Радиусные углы) = ((ДЛИНА * ШИРИНА* 1,3) *(СТОИМОСТЬ МАТЕРИАЛА + СТОИМОСТЬ ДЕКОРИРОВАНИЯ СТЕКЛА)) + пескоструйное декорирование + 
                //((ДЛИНА +ШИРИНА) * СТОИМОСТЬ ПРЯМОЛИНЕЙНОЙ РЕЗКИ МАТЕРИАЛА)+ СТОИМОСТЬ ПРЯМОЛИНЕЙНОЙ ОБРАБОТКИ МАТЕРИАЛА * 1,28
            }
            //закалка
            if(comboBox4.Text == "Да")
            {
                s += (Convert.ToDouble(textBox1.Text) * Convert.ToDouble(textBox2.Text) / 1000000) * zakalka;
            }
            int gs = (int)Math.Round(s);
            label11.Text = gs.ToString()+" руб.";
        }

        private void comboBox6_SelectedIndexChanged(object sender, EventArgs e)
        {
            if (comboBox6.Text == "Фигурная" || comboBox6.Text == "Окружность")
            {
                panel1.Visible = false;
                panel2.Visible = true;
            }
            else
            {
                panel1.Visible = true;
                panel2.Visible = false;
            }
            sumka();
        }

        private void textBox1_TextChanged(object sender, EventArgs e)
        {
            sumka();
        }

        private void textBox2_TextChanged(object sender, EventArgs e)
        {
            sumka();
        }

        private void comboBox2_SelectedIndexChanged(object sender, EventArgs e)
        {
            sumka();
        }

        private void button7_Click(object sender, EventArgs e)
        {
            int i = dataGridView1.Rows.Count;
            dataGridView1.Rows.Add();
            dataGridView1.Rows[i].Cells[0].Value = comboBox10.Text;
            dataGridView1.Rows[i].Cells[1].Value = "по всей поверхности";
            dataGridView1.Rows[i].Selected = true;
            dataGridView1.FirstDisplayedScrollingRowIndex = i;
            sumka();
        }

        private void button6_Click(object sender, EventArgs e)
        {
            if (dataGridView1.CurrentRow == null) return;
            dataGridView1.Rows.RemoveAt(dataGridView1.CurrentRow.Index);
            sumka();
        }

        private void comboBox4_SelectedIndexChanged(object sender, EventArgs e)
        {
            sumka();
        }
    }
}
