private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
        {
            if (this.comboBox1.SelectedValue is int)
            {
                string id = this.comboBox1.SelectedValue.ToString();

                //Отобразим оказываемые услуги
                string queryУслуг = "select * from ВидУслуги where id_кодУслуги = " + Convert.ToInt32(id) + " ";// order by asc";

                //отобразим вид услуг
                this.dataGridView1.DataSource = ДанныеПредставление.GetListПредставление(queryУслуг, "ВидУслуг");

                ////скроем от пользователя не нужную информацию
                this.dataGridView1.Columns["id_услуги"].Visible = false;
                //this.dataGridView1.Columns["id_поликлинника"].Visible = false;

                //установим поррядок отображения
                this.dataGridView1.Columns["НомерПоПеречню"].DisplayIndex = 0;
                this.dataGridView1.Columns["НомерПоПеречню"].ReadOnly     = true;

                this.dataGridView1.Columns["ВидУслуги"].DisplayIndex = 1;
                this.dataGridView1.Columns["ВидУслуги"].ReadOnly     = true;

                this.dataGridView1.Columns["Цена"].DisplayIndex = 2;
                this.dataGridView1.Columns["Цена"].ReadOnly     = true;

                this.dataGridView1.Columns["Количество"].DisplayIndex = 3;
            }
        }
Exemple #2
0
        private void button1_Click(object sender, EventArgs e)
        {
            FormЛьготник льготник = new FormЛьготник();

            //установим флагн на добавление записи
            льготник.FlagUpdate = false;
            //льготник.Show();
            льготник.ShowDialog();
            if (льготник.DialogResult == DialogResult.OK)
            {
                //Обновим данные
                this.dataGridView1.DataSource = null;
                string query = "select * from Льготник";
                this.dataGridView1.DataSource = ДанныеПредставление.GetПредставление(query, "Льготник");

                //скроем не нужные для пользователя столбцы
                this.dataGridView1.Columns["id_льготник"].Visible          = false;
                this.dataGridView1.Columns["id_льготнойКатегории"].Visible = false;
                this.dataGridView1.Columns["id_документ"].Visible          = false;
                this.dataGridView1.Columns["id_область"].Visible           = false;
                this.dataGridView1.Columns["id_насПункт"].Visible          = false;
                this.dataGridView1.Columns["id_район"].Visible             = false;
                this.dataGridView1.Columns["FlagRaion"].Visible            = false;
            }
        }
Exemple #3
0
        private void включитьСопроводительноеПисьмоДляВыгрузкиПроектовДоговоровToolStripMenuItem_Click(object sender, EventArgs e)
        {
            string MessageOn     = "Включить печать сопроводительного письма?";
            string queryUpdateOn = "update FlagForLetter " +
                                   "set flag = 1 ";

            string MessageOff     = "Выключить печать сопроводительного письма?";
            string queryUpdateOff = "update FlagForLetter " +
                                    "set flag = 0 ";

            string    query = "SELECT flag FROM FlagForLetter; ";
            DataTable dt    = new DataTable();

            dt = ДанныеПредставление.GetПредставление(query, "FlagForLetter");
            string test = dt.Rows[0][0].ToString();

            if (test == "0")
            {
                if (MessageBox.Show(MessageOn, "Включение", MessageBoxButtons.YesNo) == DialogResult.Yes)
                {
                    Query.Execute(queryUpdateOn, ConnectionDB.ConnectionString());
                }
            }
            else
            {
                if (MessageBox.Show(MessageOff, "Отключение", MessageBoxButtons.YesNo) == DialogResult.Yes)
                {
                    Query.Execute(queryUpdateOff, ConnectionDB.ConnectionString());
                }
            }
        }
Exemple #4
0
        private void button2_Click(object sender, EventArgs e)
        {
            string iTest = ConnectionDB.ConnectionString();

            FormЛьготник льготник = new FormЛьготник();

            //установим флагн на добавление записи
            льготник.FlagUpdate = true;

            //string sTest = this.dataGridView1.CurrentRow.Cells["id_льготник"].Value.ToString();

            //DataGridViewSelectedRowCollection rows = this.dataGridView1.SelectedRows;
            //foreach (DataGridViewRow row in rows)
            //{
            //    string s = row.Cells["id_льготник"].Value.ToString();
            //}

            //передадим id льготника для изменения
            //льготник.Id_льготникUpdate = id_льготник;
            int iCountЛьготник = Convert.ToInt32(ТаблицаБД.GetTable("select Count(*) from Льготник", ConnectionDB.ConnectionString(), "Льготник").Rows[0][0]);

            if (iCountЛьготник != 0)
            {
                льготник.Id_льготникUpdate = Convert.ToInt32(this.dataGridView1.CurrentRow.Cells["id_льготник"].Value);


                льготник.ShowDialog();
                //льготник.Show();
                if (льготник.DialogResult == DialogResult.OK)
                {
                    //Обновим данные
                    this.dataGridView1.DataSource = null;
                    string query = "select * from Льготник";
                    this.dataGridView1.DataSource = ДанныеПредставление.GetПредставление(query, "Льготник");

                    //скроем не нужные для пользователя столбцы
                    this.dataGridView1.Columns["id_льготник"].Visible          = false;
                    this.dataGridView1.Columns["id_льготнойКатегории"].Visible = false;
                    this.dataGridView1.Columns["id_документ"].Visible          = false;
                    this.dataGridView1.Columns["id_область"].Visible           = false;
                    this.dataGridView1.Columns["id_насПункт"].Visible          = false;
                    this.dataGridView1.Columns["id_район"].Visible             = false;
                    this.dataGridView1.Columns["FlagRaion"].Visible            = false;
                }
            }
            else
            {
                MessageBox.Show("Нет данных по льготнику");
            }
        }
Exemple #5
0
        private void textBox1_TextChanged(object sender, EventArgs e)
        {
            //отобразим введённых льготников
            string query = "select * from Льготник where Фамилия like '" + this.txtФИО.Text + "%'";

            this.dataGridView1.DataSource = ДанныеПредставление.GetПредставление(query, "Льготник");

            //скроем не нужные для пользователя столбцы
            this.dataGridView1.Columns["id_льготник"].Visible          = false;
            this.dataGridView1.Columns["id_льготнойКатегории"].Visible = false;
            this.dataGridView1.Columns["id_документ"].Visible          = false;
            this.dataGridView1.Columns["id_область"].Visible           = false;
            this.dataGridView1.Columns["id_насПункт"].Visible          = false;
            this.dataGridView1.Columns["id_район"].Visible             = false;
            this.dataGridView1.Columns["FlagRaion"].Visible            = false;
        }
Exemple #6
0
        private void добавитьToolStripMenuItem_Click(object sender, EventArgs e)
        {
            // Проверяем, сделан лм клик по льготнику (не в конце талицы, серый фон)
            if (фиоЛьготникУдалить == null)
            {
                return;
            }

            FormModal modal = new FormModal();

            modal.ФИО = фиоЛьготникУдалить;
            modal.ShowDialog();

            if (modal.DialogResult == DialogResult.OK)
            {
                ////удалим запись
                //string query = "declare @id_договор int " +
                //"select id_договор from Договор where id_льготник = " + id_льготникУдалить + " " +
                string query1 = "delete from УслугиПоДоговору where id_договор in (select id_договор from Договор where id_льготник = " + id_льготникУдалить + " ) ";
                string query2 = "delete from ДопСоглашение where id_договор in (select id_договор from Договор where id_льготник = " + id_льготникУдалить + " ) ";
                string query3 = "delete from АктВыполнненныхРабот where id_договор in (select id_договор from Договор where id_льготник = " + id_льготникУдалить + " ) ";
                string query4 = "delete from Договор where id_льготник = " + id_льготникУдалить + " ";
                string query5 = "delete from Льготник where id_льготник = " + id_льготникУдалить + " ";

                //Acess не понимает большие запросы делаем безумие
                Query.Execute(query1, ConnectionDB.ConnectionString());
                Query.Execute(query2, ConnectionDB.ConnectionString());
                Query.Execute(query3, ConnectionDB.ConnectionString());
                Query.Execute(query4, ConnectionDB.ConnectionString());
                Query.Execute(query5, ConnectionDB.ConnectionString());

                //обновим список льготников
                string queryUpdate = "select * from Льготник";
                this.dataGridView1.DataSource = ДанныеПредставление.GetПредставление(queryUpdate, "Льготник");

                //скроем не нужные для пользователя столбцы
                this.dataGridView1.Columns["id_льготник"].Visible          = false;
                this.dataGridView1.Columns["id_льготнойКатегории"].Visible = false;
                this.dataGridView1.Columns["id_документ"].Visible          = false;
                this.dataGridView1.Columns["id_область"].Visible           = false;
                this.dataGridView1.Columns["id_насПункт"].Visible          = false;
                this.dataGridView1.Columns["id_район"].Visible             = false;
                this.dataGridView1.Columns["FlagRegion"].Visible           = false;
            }
        }
Exemple #7
0
        /// <summary>
        /// Вносим измениен в таблицу.
        /// </summary>
        public static void AlterTable()
        {
            try
            {
                // Проверим есть ли в таблице поле с флагом выбора района.
                string query = "select FlagRegion from Льготник";
                ДанныеПредставление.GetПредставление(query, "FlagRegion");
            }
            catch
            {
                // Если выбрашено исключениетогда добавим в таблицу ещё один столбец.
                string queryAlter = "ALTER TABLE Льготник " +
                                    "ADD FlagRegion varchar(255)";

                string sCon = ConnectionDB.ConnectionString();
                Query.Execute(queryAlter, sCon);
            }
        }
Exemple #8
0
        public static void table()
        {
            try
            {
                string query = "SELECT * FROM FlagForLetter; ";
                ДанныеПредставление.GetПредставление(query, "FlagForLetter");
            }
            catch (Exception /*e*/)
            {
                //try
                //{
                string createTable = "CREATE TABLE FlagForLetter(flag int)";
                Query.Execute(createTable, ConnectionDB.ConnectionString());

                string query = "insert into FlagForLetter (flag) values( 0 )";
                string sCon  = ConnectionDB.ConnectionString();
                Query.Execute(query, sCon);
                //}
                //catch (Exception ex)
                //{
                //    MessageBox.Show("Ошибка подключения к базе данныхю " + ex.Message);
                //}
            }
        }
Exemple #9
0
        private void поискToolStripMenuItem_Click(object sender, EventArgs e)
        {
            FormFindContract formFind = new FormFindContract();

            formFind.ShowDialog();

            if (formFind.DialogResult == DialogResult.OK)
            {
                this.dataGridView1.DataSource = ДанныеПредставление.GetПредставление(formFind.StringQuery, "Льготник");

                //скроем не нужные для пользователя столбцы
                this.dataGridView1.Columns["id_льготник"].Visible          = false;
                this.dataGridView1.Columns["id_льготнойКатегории"].Visible = false;
                this.dataGridView1.Columns["id_документ"].Visible          = false;
                this.dataGridView1.Columns["id_область"].Visible           = false;
                this.dataGridView1.Columns["id_насПункт"].Visible          = false;
                this.dataGridView1.Columns["id_район"].Visible             = false;
                this.dataGridView1.Columns["FlagRaion"].Visible            = false;
            }
            else
            {
                return;
            }
        }
Exemple #10
0
        private void FormВидУслуги_Load(object sender, EventArgs e)
        {
            ////отобразим введённых льготников
            //string query = "select * from Льготник where id_льготник = " + Id_Льготник + " ";
            //this.dataGridView1.DataSource = ДанныеПредставление.GetПредставление(query, "Льготник");

            ////скроем не нужные для пользователя столбцы
            //this.dataGridView1.Columns["id_льготник"].Visible = false;
            //this.dataGridView1.Columns["id_льготнойКатегории"].Visible = false;
            //this.dataGridView1.Columns["id_документ"].Visible = false;

            //Заполним классификатор услуг
            string queryКласс = "select * from КлассификаторУслуги";

            this.comboBox1.DataSource    = ДанныеПредставление.GetПредставление(queryКласс, "КлассификаторУслуги");
            this.comboBox1.ValueMember   = "id_кодУслуги";
            this.comboBox1.DisplayMember = "КлассификаторУслуги";


            //Отобразим оказываемые услуги
            string queryУслуг = "select * from ВидУслуги where id_кодУслуги = " + Convert.ToInt32(this.comboBox1.SelectedValue) + " ";

            //отобразим вид услуг
            this.dataGridView1.DataSource = ДанныеПредставление.GetListПредставление(queryУслуг, "ВидУслуг");

            //this.dataGridView1.DataSource = ДанныеПредставление.GetПредставление(queryУслуг, "ВидУслуг");

            //this.dataGridView1.Columns["ВидУслуги"].ReadOnly = true;
            //this.dataGridView1.Columns["Цена"].ReadOnly = true;
            //this.dataGridView1.Columns["НомерПоПеречню"].ReadOnly = true;

            //this.dataGridView1.Columns["НомерПоПеречню"].DisplayIndex = 0;
            //this.dataGridView1.Columns["ВидУслуги"].DisplayIndex = 1;
            //this.dataGridView1.Columns["Цена"].DisplayIndex = 2;

            ////скроем от пользователя не нужную информацию
            this.dataGridView1.Columns["id_услуги"].Visible = false;
            //this.dataGridView1.Columns["id_поликлинника"].Visible = false;

            //bool flagElse = Convert.ToBoolean(ConfigurationSettings.AppSettings["orderEngls"]);
            bool flagElse = Convert.ToBoolean(ConfigurationManager.AppSettings["orderEngls"]);

            if (flagElse == true)
            {
                //// Для Энгелься========
                //установим поррядок отображения
                this.dataGridView1.Columns["НомерПоПеречню"].DisplayIndex = 0;
                this.dataGridView1.Columns["НомерПоПеречню"].ReadOnly     = true;

                this.dataGridView1.Columns["ВидУслуги"].DisplayIndex = 3;
                this.dataGridView1.Columns["ВидУслуги"].ReadOnly     = true;

                this.dataGridView1.Columns["Цена"].DisplayIndex = 2;
                this.dataGridView1.Columns["Цена"].ReadOnly     = true;

                this.dataGridView1.Columns["Количество"].DisplayIndex = 1;

                this.dataGridView1.Columns["Выбрать"].DisplayIndex = 4;
                this.dataGridView1.Columns["Выбрать"].Visible      = false;
            }
            else
            {
                //=====================

                //установим поррядок отображения
                this.dataGridView1.Columns["НомерПоПеречню"].DisplayIndex = 0;
                this.dataGridView1.Columns["НомерПоПеречню"].ReadOnly     = true;

                this.dataGridView1.Columns["ВидУслуги"].DisplayIndex = 1;
                this.dataGridView1.Columns["ВидУслуги"].ReadOnly     = true;

                this.dataGridView1.Columns["Цена"].DisplayIndex = 2;
                this.dataGridView1.Columns["Цена"].ReadOnly     = true;

                this.dataGridView1.Columns["Выбрать"].DisplayIndex = 4;
                this.dataGridView1.Columns["Выбрать"].Visible      = false;

                this.dataGridView1.Columns["Количество"].ReadOnly     = false;
                this.dataGridView1.Columns["Количество"].DisplayIndex = 3;
            }



            //создадим список для хранения выделенных элементов
            list        = new List <ВидУслуг>();
            listLibrary = new Dictionary <int, ВидУслуг>();
        }
Exemple #11
0
        private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
        {
            if (this.comboBox1.SelectedValue is int)
            {
                string id = this.comboBox1.SelectedValue.ToString();

                //Отобразим оказываемые услуги
                string queryУслуг = "select * from ВидУслуги where id_кодУслуги = " + Convert.ToInt32(id) + " ";// order by asc";

                //отобразим вид услуг
                this.dataGridView1.DataSource = ДанныеПредставление.GetListПредставление(queryУслуг, "ВидУслуг");

                //this.dataGridView1.DataSource = ДанныеПредставление.GetПредставление(queryУслуг, "ВидУслуг");

                //this.dataGridView1.Columns["ВидУслуги"].ReadOnly = true;
                //this.dataGridView1.Columns["Цена"].ReadOnly = true;
                //this.dataGridView1.Columns["НомерПоПеречню"].ReadOnly = true;

                //this.dataGridView1.Columns["НомерПоПеречню"].DisplayIndex = 0;
                //this.dataGridView1.Columns["ВидУслуги"].DisplayIndex = 1;
                //this.dataGridView1.Columns["Цена"].DisplayIndex = 2;

                ////скроем от пользователя не нужную информацию
                //this.dataGridView1.Columns["id_услуги"].Visible = false;
                //this.dataGridView1.Columns["id_поликлинника"].Visible = false;
                //this.dataGridView1.Columns["id_кодУслуги"].Visible = false;

                ////скроем от пользователя не нужную информацию
                this.dataGridView1.Columns["id_услуги"].Visible = false;
                //this.dataGridView1.Columns["id_поликлинника"].Visible = false;

                //bool flagElse = Convert.ToBoolean(ConfigurationSettings.AppSettings["orderEngls"]);
                bool flagElse = Convert.ToBoolean(ConfigurationManager.AppSettings["orderEngls"]);

                if (flagElse == true)
                {
                    // Для Энгелься========
                    //установим поррядок отображения
                    this.dataGridView1.Columns["НомерПоПеречню"].DisplayIndex = 0;
                    this.dataGridView1.Columns["НомерПоПеречню"].ReadOnly     = true;

                    this.dataGridView1.Columns["ВидУслуги"].DisplayIndex = 3;
                    this.dataGridView1.Columns["ВидУслуги"].ReadOnly     = true;

                    this.dataGridView1.Columns["Цена"].DisplayIndex = 2;
                    this.dataGridView1.Columns["Цена"].ReadOnly     = true;

                    this.dataGridView1.Columns["Количество"].DisplayIndex = 1;

                    this.dataGridView1.Columns["Выбрать"].DisplayIndex = 4;
                    this.dataGridView1.Columns["Выбрать"].Visible      = false;
                }
                else
                {
                    //==================
                    //установим поррядок отображения
                    this.dataGridView1.Columns["НомерПоПеречню"].DisplayIndex = 0;
                    this.dataGridView1.Columns["НомерПоПеречню"].ReadOnly     = true;

                    this.dataGridView1.Columns["ВидУслуги"].DisplayIndex = 1;
                    this.dataGridView1.Columns["ВидУслуги"].ReadOnly     = true;

                    this.dataGridView1.Columns["Цена"].DisplayIndex = 2;
                    this.dataGridView1.Columns["Цена"].ReadOnly     = true;

                    this.dataGridView1.Columns["Количество"].DisplayIndex = 3;
                }
            }
        }
Exemple #12
0
        private void btnPrintBalanc_Click(object sender, EventArgs e)
        {
            //опросим dataGridView и узнаем что выбрали пользователи

            List <ТаблицаДоговор> list = new List <ТаблицаДоговор>();

            //заполгним первую строку
            ТаблицаДоговор шапка = new ТаблицаДоговор();

            //шапка.ПорядковыНомер = "№ п/п";
            шапка.НомерУслуги  = "№ усл в справ";
            шапка.Наименование = "Наименование";
            //шапка.Цена = "Цена, руб";
            шапка.Количество = "Кол";
            шапка.Цена       = "Стоимость";
            list.Add(шапка);

            //подсчитаем сумму выполненных работ в тех листе
            decimal суммаРабот = 0m;

            foreach (DataGridViewRow row in this.dataGridView1.Rows)
            {
                if (Convert.ToBoolean(row.Cells["FlagSelect"].Value) != true)
                {
                    //string iTest = row.Cells["Наименование"].Value.ToString().Trim();

                    ТаблицаДоговор item = new ТаблицаДоговор();
                    item.НомерУслуги = row.Cells["НомерУслуги"].Value.ToString();

                    item.Наименование = row.Cells["Наименование"].Value.ToString();
                    item.Количество   = row.Cells["Количество"].Value.ToString();

                    item.Цена = row.Cells["Стоимость"].Value.ToString();

                    string стоим          = row.Cells["Стоимость"].Value.ToString().Replace('р', ' ').Trim();
                    string стоимостString = стоим.Replace('.', ' ').Trim();

                    //суммаРабот = Math.Round(суммаРабот + Convert.ToDecimal(row.Cells["Стоимость"].Value), 2);
                    суммаРабот = Math.Round(суммаРабот + Convert.ToDecimal(стоимостString), 2);

                    list.Add(item);

                    //укажем что данная строка была отправлена на печать
                    row.Cells["FlagSelect"].Value = true;

                    //Установим флаг в true
                    row.Cells["FlagPrint"].Value = true;
                }
            }

            //сформируем строку ИТОГО
            ТаблицаДоговор sumТехЛист = new ТаблицаДоговор();

            sumТехЛист.Наименование = "Итого: ";
            sumТехЛист.Цена         = суммаРабот.ToString("c");

            //добавим в список list нижную строку с суммой ИТОГО
            list.Add(sumТехЛист);

            List <ТаблицаДоговор> iApple = list;

            //string iTest = "Test";

            //Распечатаем технический лист
            string fName = "Технический лист " + this.ФИО_Льготника;


            try
            {
                //Скопируем шаблон в папку Документы
                FileInfo fn = new FileInfo(System.Windows.Forms.Application.StartupPath + @"\Шаблон\ТехЛист.doc");
                fn.CopyTo(System.Windows.Forms.Application.StartupPath + @"\Документы\" + fName + ".doc", true);
            }
            catch
            {
                MessageBox.Show("Возможно у вас уже открыт договор с этим льготником. Закройте этот договор.");
            }

            string filName = System.Windows.Forms.Application.StartupPath + @"\Документы\" + fName + ".doc";

            //Создаём новый Word.Application
            Microsoft.Office.Interop.Word.Application app = new Microsoft.Office.Interop.Word.Application();

            //Загружаем документ
            Microsoft.Office.Interop.Word.Document doc = null;

            object fileName   = filName;
            object falseValue = false;
            object trueValue  = true;
            object missing    = Type.Missing;

            doc = app.Documents.Open(ref fileName, ref missing, ref trueValue,
                                     ref missing, ref missing, ref missing, ref missing, ref missing,
                                     ref missing, ref missing, ref missing, ref missing, ref missing,
                                     ref missing, ref missing, ref missing);

            object wdrepl = WdReplace.wdReplaceAll;
            //object searchtxt = "GreetingLine";
            object searchtxt = "Льготник";
            object newtxt    = (object)this.ФИО_Льготника;
            //object frwd = true;
            object frwd = false;

            doc.Content.Find.Execute(ref searchtxt, ref missing, ref missing, ref missing, ref missing, ref missing, ref frwd, ref missing, ref missing, ref newtxt, ref wdrepl, ref missing, ref missing,
                                     ref missing, ref missing);

            //узнаем адрес
            string  queryАдрес  = "select * from Льготник where id_льготник = " + this.Id_Льготник + " ";
            DataRow rowЛьготник = ТаблицаБД.GetTable(queryАдрес, ConnectionDB.ConnectionString(), "Льготник").Rows[0];

            //получим название района
            string    queryР = "select РайонОбласти from НаименованиеРайона where id_район in (select id_район from Льготник where id_льготник = " + this.Id_Льготник + " )";
            DataTable tab    = ДанныеПредставление.GetПредставление(queryР, "Льготник");

            //переменная хранит название района
            string названиеРайона = string.Empty;

            if (tab.Rows.Count != 0)
            {
                //отобразим район который прописан в БД
                названиеРайона = tab.Rows[0][0].ToString();
            }

            //получим название населённого пункта
            string    queryН = "select Наименование from НаселенныйПункт where id_насПункт in (select id_насПункт from Льготник where id_льготник = " + this.Id_Льготник + " )";
            DataTable tabН   = ДанныеПредставление.GetПредставление(queryН, "Льготник");

            //переменная хранит название населённого пункта
            string населённыйПункт = string.Empty;

            if (tabН.Rows.Count != 0)
            {
                //отобразим населённый пункет в котором прописан текущий льготник
                населённыйПункт = tabН.Rows[0][0].ToString();
            }

            //если населённый пункт = Саратов
            if (Regex.IsMatch(населённыйПункт, "Саратов") == true)
            {
                названиеРайона = "";
            }



            //улица
            string улица      = rowЛьготник["улица"].ToString();
            string улицаPrint = string.Empty;

            if (улица != "")
            {
                улицаPrint = " ул " + улица;
            }

            //номер дома
            string numHous      = rowЛьготник["НомерДома"].ToString();
            string numHousPrint = string.Empty;

            if (numHous != "")
            {
                numHousPrint = " д " + numHous;
            }


            //номер корпуса
            string numSubHous      = rowЛьготник["корпус"].ToString();
            string numSubHousPrint = string.Empty;

            if (numSubHous != "")
            {
                numSubHousPrint = " корп. " + numSubHous;
            }

            //номер кв
            string numEpartment      = rowЛьготник["НомерКвартиры"].ToString();
            string numEpartmentPrint = string.Empty;

            if (numEpartment != "")
            {
                numEpartmentPrint = " кв. " + numEpartment;
            }

            //полный адрес
            //string адрес = улица + " " + numHous + " "  + numSubHous + " " + numEpartment;
            string адрес = названиеРайона + " " + населённыйПункт + " " + улицаPrint + numHousPrint + numSubHousPrint + numEpartmentPrint;

            object wdrepl2 = WdReplace.wdReplaceAll;
            //object searchtxt = "GreetingLine";
            object searchtxt2 = "местопроживания";
            object newtxt2    = (object)адрес;
            //object frwd = true;
            object frwd2 = false;

            doc.Content.Find.Execute(ref searchtxt2, ref missing, ref missing, ref missing, ref missing, ref missing, ref frwd2, ref missing, ref missing, ref newtxt2, ref wdrepl2, ref missing, ref missing,
                                     ref missing, ref missing);

            //вычислим количество полных лет
            //получим дату рождения
            DateTime др = Convert.ToDateTime(rowЛьготник["ДатаРождения"]);

            //год рождения
            int yearR = др.Year;
            //int yearR = 1973;

            //месяц рождения
            int montchR = др.Month;
            //int montchR = 09;

            //текущую дату
            DateTime data = DateTime.Today;

            // текущий год
            int yearT = data.Year;

            //текущий месяц
            int montchT = data.Month;

            int    rez     = (montchT > montchR) ? (yearT - yearR) : (yearT == yearR) ? 0 : (yearT - yearR - 1);
            string возрост = rez.ToString();

            object wdrepl3 = WdReplace.wdReplaceAll;
            //object searchtxt = "GreetingLine";
            object searchtxt3 = "скольколет";
            object newtxt3    = (object)возрост;
            //object frwd = true;
            object frwd3 = false;

            doc.Content.Find.Execute(ref searchtxt3, ref missing, ref missing, ref missing, ref missing, ref missing, ref frwd3, ref missing, ref missing, ref newtxt3, ref wdrepl3, ref missing, ref missing,
                                     ref missing, ref missing);

            // List<ТаблицаДоговор> list = new List<ТаблицаДоговор>();

            // //заполгним первую строку
            // ТаблицаДоговор шапка = new ТаблицаДоговор();
            // //шапка.ПорядковыНомер = "№ п/п";
            // шапка.НомерУслуги = "№ усл в справ";
            // шапка.Наименование = "Наименование";
            // //шапка.Цена = "Цена, руб";
            // шапка.Количество = "Кол";
            // шапка.Цена  = "Стоимость";
            // list.Add(шапка);


            // //сформируем таблицу из услуг указанных в gvВидУслуг
            // //узнаем колько строк в гриде
            // int iCountR = this.gvВидУслуг.Rows.Count;

            // //откитнем последную пустую строку
            // int iCountRow = iCountR - 1;

            // int i = 0;

            // //подсчитаем сумму выполненных работ в тех листе
            // decimal суммаРабот = 0m;

            // foreach (DataGridViewRow row in this.gvВидУслуг.Rows)
            // {
            //     if (i != iCountRow)
            //     {
            //         ТаблицаДоговор item = new ТаблицаДоговор();
            //         item.НомерУслуги = row.Cells["НомерПоПеречню"].Value.ToString();

            //         item.Наименование = row.Cells["НаименованиеУслуги"].Value.ToString();
            //         item.Количество = row.Cells["'Кол-во'"].Value.ToString();

            //         item.Цена = row.Cells["Сумма"].Value.ToString();

            //         суммаРабот = Math.Round(суммаРабот + Convert.ToDecimal(row.Cells["Сумма"].Value), 2);

            //         list.Add(item);
            //     }

            //     i++;
            // }

            // ТаблицаДоговор sumТехЛист = new ТаблицаДоговор();
            // sumТехЛист.Наименование = "Итого: ";
            // sumТехЛист.Цена = суммаРабот.ToString("c");

            // //добавим в список list нижную строку с суммой ИТОГО
            // list.Add(sumТехЛист);

            //Вставить таблицу
            object bookNaziv = "таблица";
            Range  wrdRng    = doc.Bookmarks.get_Item(ref bookNaziv).Range;

            object behavior     = Microsoft.Office.Interop.Word.WdDefaultTableBehavior.wdWord8TableBehavior;
            object autobehavior = Microsoft.Office.Interop.Word.WdAutoFitBehavior.wdAutoFitWindow;

            Microsoft.Office.Interop.Word.Table table = doc.Tables.Add(wrdRng, 1, 4, ref behavior, ref autobehavior);
            table.Range.ParagraphFormat.SpaceAfter = 3;

            table.Columns[1].Width = 150; // Было 50
            table.Columns[2].Width = 240; // было 340
            table.Columns[3].Width = 35;
            table.Columns[4].Width = 60;

            table.Borders.Enable  = 1; // Рамка - сплошная линия
            table.Range.Font.Name = "Times New Roman";
            table.Range.Font.Size = 8;

            //счётчик строк
            int ic = 1;

            //запишем данные в таблицу
            foreach (ТаблицаДоговор item in list)
            {
                table.Cell(ic, 1).Range.Text = item.НомерУслуги;
                table.Cell(ic, 2).Range.Text = item.Наименование;

                table.Cell(ic, 3).Range.Text = item.Количество;
                table.Cell(ic, 4).Range.Text = item.Цена;

                //doc.Words.Count.ToString();
                Object beforeRow1 = Type.Missing;
                table.Rows.Add(ref beforeRow1);

                ic++;
            }

            //удалим последную строку
            table.Rows[ic].Delete();

            //откроем получившейся документ
            app.Visible = true;
        }
Exemple #13
0
        private void button2_Click(object sender, EventArgs e)
        {
            List <ReestrPrintПроектДоговоров> listPrint = new List <ReestrPrintПроектДоговоров>();

            ReestrPrintПроектДоговоров договор1 = new ReestrPrintПроектДоговоров();

            договор1.PNum   = "№ п.п.";
            договор1.FIO    = "ФИО пациента";
            договор1.Number = "№ договора";
            договор1.Sum    = "Сумма";
            договор1.Flag   = false;
            договор1.Адрес  = "Адрес пациента";
            договор1.СерияНомерДокумента = "Серия, №  удостоверения";
            //договор1.SNILS = "СНИЛС";

            listPrint.Add(договор1);

            int iCountRow = 1;

            // //Пройдёмся по таблице DataGridView и поместим в коллекцию на сохранения только договора
            ////у которых ВыгрузкаПроектДоговоров столбце Сохранить договор
            foreach (DataGridViewRow row in this.dataGridView1.Rows)
            {
                if (Convert.ToBoolean(row.Cells["Flag"].Value) == true)
                {
                    string numberDog = row.Cells["Number"].Value.ToString().Trim();

                    try
                    {
                        //Запишем в словарь
                        this.library.Add(numberDog, numberDog);

                        ReestrPrintПроектДоговоров договор = new ReestrPrintПроектДоговоров();
                        договор.PNum   = iCountRow.ToString().Trim();
                        договор.FIO    = row.Cells["FIO"].Value.ToString().Trim();
                        договор.Number = row.Cells["Number"].Value.ToString().Trim();

                        summ = summ + Convert.ToDecimal(row.Cells["Sum"].Value);

                        decimal sumTemp = Convert.ToDecimal(row.Cells["Sum"].Value);

                        договор.Sum   = sumTemp.ToString("c");
                        договор.Flag  = false;
                        договор.Адрес = row.Cells["Адрес"].Value.ToString().Trim();
                        договор.СерияНомерДокумента = row.Cells["СерияНомерДокумента"].Value.ToString().Trim();

                        //договор.SNILS = row.Cells["SNILS"].Value.ToString().Trim();

                        listPrint.Add(договор);

                        iCountRow++;
                    }
                    catch
                    {
                        //Выкиним из списка задвоенные номера
                        this.library.Remove(numberDog);
                    }
                }
            }

            // Реесст на выгрузку проектов договоров.
            UnloadReestr reestr = new UnloadReestr();
            Dictionary <string, Unload> unload = reestr.Выгрузка(library);

            string  queryHosp = "select * from Поликлинника";
            DataRow rowHosp   = ТаблицаБД.GetTable(queryHosp, ConnectionDB.ConnectionString(), "Поликлинника").Rows[0];

            string поликлинника = rowHosp["КодПоликлинники"].ToString();

            //Проверим если список List<Unload> не пустой
            if (unload.Count != 0)
            {
                //получим путь к файлу
                //SaveFileDialog saveFile = new SaveFileDialg();
                SaveFileDialog saveFile = new SaveFileDialog();
                saveFile.DefaultExt = string.Empty;
                saveFile.Filter     = "All files (*.*)|*.*";



                //Получим текущую дату
                DateTime dt = DateTime.Today;

                string дата = dt.ToShortDateString();

                // Переменная хранит льготную категорию.
                string льготнаяКатегория = string.Empty;

                foreach (Unload it in unload.Values)
                {
                    льготнаяКатегория = it.ЛьготнаяКатегория.Trim();
                    break;
                }


                //Получим красивое название файла
                saveFile.FileName = поликлинника + "_Список_проектов_договоров_" + льготнаяКатегория + ".r";

                string fNameP = saveFile.FileName;

                string fileBinaryName = string.Empty;

                //saveFile.ShowDialog();

                if (saveFile.ShowDialog() == DialogResult.OK)
                {
                    fileBinaryName = saveFile.FileName;
                    //saveFile.InitialDirectory = @".\";
                    //WorkingDirectory
                }
                else
                {
                    return;
                }

                //сериализуем список
                FileStream      fs = new FileStream(fileBinaryName, FileMode.Create, FileAccess.Write, FileShare.ReadWrite);
                BinaryFormatter bf = new BinaryFormatter();

                //сериализация
                bf.Serialize(fs, unload);

                //Освободим в потоке все ресурсы
                fs.Dispose();
                fs.Close();

                //Установим для нашей программы текущую директорию для корректного считывания пути к БД
                Environment.CurrentDirectory = System.Windows.Forms.Application.StartupPath;

                //закроем окно выбора договоров
                this.Close();


                DataTable DT = new DataTable();
                DT = ДанныеПредставление.GetПредставление("SELECT flag FROM FlagForLetter; ", "FlagForLetter");
                string test = DT.Rows[0][0].ToString();

                // проверим наличие флага для печати word-овского файла.
                if (test == "1")
                {
                    // Выгрузим письмо.
                    try
                    {
                        //Скопируем шаблон в папку Документы
                        FileInfo fn = new FileInfo(System.Windows.Forms.Application.StartupPath + @"\Шаблон\ПисьмоИсходящее.doc");
                        fn.CopyTo(System.Windows.Forms.Application.StartupPath + @"\Документы\" + fNameP + ".doc", true);
                    }
                    catch
                    {
                        MessageBox.Show("Документ с таки именем уже существует");


                        // Закоментируем, чтобы не было искючения пустого хначения; создается 2-й документ идентичный первому
                        //bool directoryExists = Directory.Exists(fNameP);

                        //if (directoryExists == true)
                        //{
                        //    File.Delete(fNameP);
                        //}

                        //FileInfo fn = new FileInfo(System.Windows.Forms.Application.StartupPath + @"\Шаблон\ПисьмоИсходящее.doc");
                        //fn.CopyTo(System.Windows.Forms.Application.StartupPath + @"\Документы\" + fNameP + ".doc", true);
                    }

                    string filName = System.Windows.Forms.Application.StartupPath + @"\Документы\" + fNameP + ".doc";

                    //Создаём новый Word.Application
                    Microsoft.Office.Interop.Word.Application app = new Microsoft.Office.Interop.Word.Application();

                    //Загружаем документ
                    Microsoft.Office.Interop.Word.Document doc = null;

                    object fileName   = filName;
                    object falseValue = false;
                    object trueValue  = true;
                    object missing    = Type.Missing;

                    doc = app.Documents.Open(ref fileName, ref missing, ref trueValue,
                                             ref missing, ref missing, ref missing, ref missing, ref missing,
                                             ref missing, ref missing, ref missing, ref missing, ref missing,
                                             ref missing, ref missing, ref missing);

                    // Выведим название поликлинники.
                    string hosp = rowHosp["НаименованиеПоликлинники"].ToString().Trim();

                    ////Номер договора
                    object wdrepl = WdReplace.wdReplaceAll;
                    //object searchtxt = "GreetingLine";
                    object searchtxt = "hospital";
                    object newtxt    = (object)hosp.Trim();
                    //object frwd = true;
                    object frwd = false;
                    doc.Content.Find.Execute(ref searchtxt, ref missing, ref missing, ref missing, ref missing, ref missing, ref frwd, ref missing, ref missing, ref newtxt, ref wdrepl, ref missing, ref missing,
                                             ref missing, ref missing);

                    // Выведим юридический адрес.
                    string адрес = rowHosp["ЮридическийАдрес"].ToString().Trim();

                    ////Номер договора
                    object wdrepl2 = WdReplace.wdReplaceAll;
                    //object searchtxt = "GreetingLine";
                    object searchtxt2 = "address";
                    //object newtxt37 = (object)фиоГлавВрач;фиоВрачаРодПадеж
                    object newtxt2 = (object)адрес.Trim();
                    //object frwd = true;
                    object frwd2 = false;
                    doc.Content.Find.Execute(ref searchtxt2, ref missing, ref missing, ref missing, ref missing, ref missing, ref frwd2, ref missing, ref missing, ref newtxt2, ref wdrepl2, ref missing, ref missing,
                                             ref missing, ref missing);

                    // Выведим номер телефона.
                    string phone = rowHosp["НомерТелефона"].ToString().Trim();

                    ////Номер договора
                    object wdrepl3 = WdReplace.wdReplaceAll;
                    //object searchtxt = "GreetingLine";
                    object searchtxt3 = "phone";
                    //object newtxt37 = (object)фиоГлавВрач;фиоВрачаРодПадеж
                    object newtxt3 = (object)phone.Trim();
                    //object frwd = true;
                    object frwd3 = false;
                    doc.Content.Find.Execute(ref searchtxt3, ref missing, ref missing, ref missing, ref missing, ref missing, ref frwd3, ref missing, ref missing, ref newtxt3, ref wdrepl3, ref missing, ref missing,
                                             ref missing, ref missing);

                    // Выведим E-mail.
                    string email = rowHosp["email"].ToString().Trim();

                    ////Номер договора
                    object wdrepl4 = WdReplace.wdReplaceAll;
                    //object searchtxt = "GreetingLine";
                    object searchtxt4 = "e-mail";
                    //object newtxt37 = (object)фиоГлавВрач;фиоВрачаРодПадеж
                    object newtxt4 = (object)email.Trim();
                    //object frwd = true;
                    object frwd4 = false;
                    doc.Content.Find.Execute(ref searchtxt4, ref missing, ref missing, ref missing, ref missing, ref missing, ref frwd4, ref missing, ref missing, ref newtxt4, ref wdrepl4, ref missing, ref missing,
                                             ref missing, ref missing);

                    // Получаем id врача.
                    int idВрач = Convert.ToInt32(rowHosp["id_главВрач"]);

                    string query = "select ФИО_ГлавВрач,Должность from ГлавВрач where id_главВрач = " + idВрач + " ";

                    DataTable tabВрач = ТаблицаБД.GetTable(query, ConnectionDB.ConnectionString(), "ГлавВрач");

                    // Должность врача.
                    string должность = tabВрач.Rows[0]["Должность"].ToString().Trim();

                    //Должность врача.
                    object wdrepl5 = WdReplace.wdReplaceAll;
                    //object searchtxt = "GreetingLine";
                    object searchtxt5 = "Dolescul";
                    //object newtxt37 = (object)фиоГлавВрач;фиоВрачаРодПадеж
                    object newtxt5 = (object)должность.Trim();
                    //object frwd = true;
                    object frwd5 = false;
                    doc.Content.Find.Execute(ref searchtxt5, ref missing, ref missing, ref missing, ref missing, ref missing, ref frwd5, ref missing, ref missing, ref newtxt5, ref wdrepl5, ref missing, ref missing,
                                             ref missing, ref missing);

                    // ФИО врача.
                    string fio = tabВрач.Rows[0]["ФИО_ГлавВрач"].ToString().Trim();

                    //Должность врача.
                    object wdrepl6 = WdReplace.wdReplaceAll;
                    //object searchtxt = "GreetingLine";
                    object searchtxt6 = "Fio";
                    //object newtxt37 = (object)фиоГлавВрач;фиоВрачаРодПадеж
                    object newtxt6 = (object)fio.Trim();
                    //object frwd = true;
                    object frwd6 = false;
                    doc.Content.Find.Execute(ref searchtxt6, ref missing, ref missing, ref missing, ref missing, ref missing, ref frwd6, ref missing, ref missing, ref newtxt6, ref wdrepl6, ref missing, ref missing,
                                             ref missing, ref missing);

                    string исполнитель = rowHosp["Исполнитель"].ToString().Trim();

                    // Выведим исполнителя.
                    object wdrepl7 = WdReplace.wdReplaceAll;
                    //object searchtxt = "GreetingLine";
                    object searchtxt7 = "Ispexecute";
                    //object newtxt37 = (object)фиоГлавВрач;фиоВрачаРодПадеж
                    object newtxt7 = (object)исполнитель.Trim();
                    //object frwd = true;
                    object frwd7 = false;
                    doc.Content.Find.Execute(ref searchtxt7, ref missing, ref missing, ref missing, ref missing, ref missing, ref frwd7, ref missing, ref missing, ref newtxt7, ref wdrepl7, ref missing, ref missing,
                                             ref missing, ref missing);

                    //// Получим льготную категорию.
                    //string queryLk = "select ЛьготнаяКатегория from ЛьготнаяКатегория where id_льготнойКатегории = "+ this.IdЛьготнаяКатегория +" ";

                    //DataTable tabLK = ТаблицаБД.GetTable(queryLk, ConnectionDB.ConnectionString(), "ЛьготнаяКатегория");

                    //string льготКатегория = tabLK.Rows[0]["ЛьготнаяКатегория"].ToString().Trim();

                    // Выведим льготную категорию.
                    object wdrepl8 = WdReplace.wdReplaceAll;
                    //object searchtxt = "GreetingLine";
                    object searchtxt8 = "Category";
                    //object newtxt37 = (object)фиоГлавВрач;фиоВрачаРодПадеж
                    object newtxt8 = (object)льготнаяКатегория.Trim();
                    //object frwd = true;
                    object frwd8 = false;
                    doc.Content.Find.Execute(ref searchtxt8, ref missing, ref missing, ref missing, ref missing, ref missing, ref frwd8, ref missing, ref missing, ref newtxt8, ref wdrepl8, ref missing, ref missing,
                                             ref missing, ref missing);

                    //Вставить таблицу с договорами.
                    object bookNaziv = "таблица";
                    Range  wrdRng    = doc.Bookmarks.get_Item(ref bookNaziv).Range;

                    object behavior     = Microsoft.Office.Interop.Word.WdDefaultTableBehavior.wdWord8TableBehavior;
                    object autobehavior = Microsoft.Office.Interop.Word.WdAutoFitBehavior.wdAutoFitWindow;


                    Microsoft.Office.Interop.Word.Table table = doc.Tables.Add(wrdRng, 1, 6, ref behavior, ref autobehavior);
                    table.Range.ParagraphFormat.SpaceAfter = 6;
                    table.Columns[1].Width = 40;
                    table.Columns[2].Width = 80;
                    table.Columns[3].Width = 120;
                    table.Columns[4].Width = 80;//ширина столбца с номером акта
                    table.Columns[5].Width = 80;
                    table.Columns[6].Width = 80;
                    table.Borders.Enable   = 1; // Рамка - сплошная линия
                    table.Range.Font.Name  = "Times New Roman";
                    //table.Range.Font.Size = 10;
                    table.Range.Font.Size = 8;

                    // Выведем строку ИТОГО.
                    ReestrPrintПроектДоговоров договорCount = new ReestrPrintПроектДоговоров();
                    договорCount.FIO = "Итого:";
                    договорCount.Sum = summ.ToString("c");

                    listPrint.Add(договорCount);


                    //счётчик строк
                    int i = 1;

                    //запишем данные в таблицу
                    foreach (ReestrPrintПроектДоговоров item in listPrint)
                    {
                        table.Cell(i, 1).Range.Text = item.PNum;   //.НомерПорядковый;

                        table.Cell(i, 2).Range.Text = item.Number; //.ФИО;

                        table.Cell(i, 3).Range.Text = item.FIO;
                        table.Cell(i, 4).Range.Text = item.Адрес;
                        table.Cell(i, 5).Range.Text = item.СерияНомерДокумента;

                        // table.Cell(i, 6).Range.Text = item.SNILS;

                        table.Cell(i, 6).Range.Text = item.Sum;

                        //doc.Words.Count.ToString();
                        Object beforeRow1 = Type.Missing;
                        table.Rows.Add(ref beforeRow1);

                        i++;
                    }
                    table.Rows[i].Delete();

                    app.Visible = true;

                    //закроем окно
                    this.Close();
                }
            }
        }
Exemple #14
0
        private void FormЛьготник_Load(object sender, EventArgs e)
        {
            //получим строку подключения
            string sCon = ConnectionDB.ConnectionString();

            // Запрос на получение кода поликлинники.
            string queryHosp = "select ИНН from Поликлинника";

            DataTable tabHosp = Поликлинника.GetПоликлинники(queryHosp, sCon);

            inn = tabHosp.Rows[0]["ИНН"].ToString().Trim();

            //заполним данными список льготных категорий
            ЛьготнаяКатегория лк = new ЛьготнаяКатегория();

            this.comboBox1.DataSource    = лк.GetЛьготнаяКатегория(sCon);
            this.comboBox1.ValueMember   = "id_льготнойКатегории";
            this.comboBox1.DisplayMember = "ЛьготнаяКатегория";
            this.comboBox1.Text          = "";
            //this.comboBox1.DropDownStyle = ComboBoxStyle.DropDownList;


            //заполним данными список тип документа
            ТипДокумента тд = new ТипДокумента();

            this.comboBox2.DataSource    = тд.GetТипДокумента(sCon);
            this.comboBox2.ValueMember   = "id_документ";
            this.comboBox2.DisplayMember = "НаименованиеТипаДокумента";
            this.comboBox2.DropDownStyle = ComboBoxStyle.DropDownList;

            // При обновлении данных по льготнику.
            if (this.FlagUpdate == true)
            {
                Льготник льготник = GetЛьготник.GetRow(this.Id_льготникUpdate);
                this.txtФИО.Text = льготник.Фамилия;

                //отобразим льготную категорию
                string    query = "select ЛьготнаяКатегория from ЛьготнаяКатегория where id_льготнойКатегории in (select id_льготнойКатегории from Льготник where id_льготник = " + this.Id_льготникUpdate + ")";
                DataTable tabRR = ТаблицаБД.GetTable(query, ConnectionDB.ConnectionString(), "ЛьготнаяКатегория");
                DataRow   r     = tabRR.Rows[0];

                string nameLK = r["ЛьготнаяКатегория"].ToString();
                comboBox1.Text = nameLK;

                this.textBox1.Text = льготник.Имя;
                this.textBox6.Text = льготник.Отчество;

                this.maskedTextBox3.Text = льготник.ДатаРождения.ToShortDateString();
                this.textBox2.Text       = льготник.улица;
                this.textBox5.Text       = льготник.НомерДома;
                this.textBox4.Text       = льготник.корпус;
                this.textBox3.Text       = льготник.НомерКвартиры;
                this.maskedTextBox1.Text = льготник.СерияПаспорта;
                this.maskedTextBox2.Text = льготник.НомерПаспорта;
                this.maskedTextBox4.Text = льготник.ДатаВыдачиПаспорта.ToShortDateString();
                this.textBox8.Text       = льготник.КемВыданПаспорт;
                this.textBox10.Text      = льготник.СерияДокумента;
                this.textBox9.Text       = льготник.НомерДокумента;
                this.maskedTextBox5.Text = льготник.ДатаВыдачиДокумента.ToShortDateString();
                this.textBox11.Text      = льготник.КемВыданДокумент;
                this.number_snils.Text   = льготник.SNILS;

                //отобразим состояние checkbox - а
                string sTest = льготник.FlagRaion;

                //if (льготник.id_район == -1)
                if (льготник.FlagRaion == null)
                {
                    //this.checkBox1.Checked = true;
                    MessageBox.Show("Выберите район проживания льготника");

                    this.button1.Enabled = false;

                    this.cmbРайон.Visible = true;
                }
                //else
                //{
                //    this.checkBox1.Checked = false;
                //}

                // отобразим наименование района
                //string queryР = "select id_район, РайонОбласти from НаименованиеРайона where id_район in (select id_район from Льготник where id_льготник = " + this.Id_льготникUpdate + " )";


                //DataTable tab = ДанныеПредставление.GetПредставление(queryР, "Льготник");

                ListRegion listRegion = new ListRegion();

                // Получим список районов в Саратовской области.
                DataTable tab = ConvertTo.DataRowsArray(listRegion.Regions());

                if (tab.Rows.Count != 0)
                {
                    //отобразим район
                    string    queryРайон = "select id_район,РайонОбласти from НаименованиеРайона";
                    DataTable tabРайон   = ТаблицаБД.GetTable(queryРайон, ConnectionDB.ConnectionString(), "НаименованиеРайона");

                    this.cmbРайон.DataSource    = tab;// tabРайон;
                    this.cmbРайон.ValueMember   = "id_район";
                    this.cmbРайон.DisplayMember = "РайонОбласти";
                    this.cmbРайон.DropDownStyle = ComboBoxStyle.DropDownList;

                    // Получим наименование района в котором прооживает льготник.
                    string queryР = "select FlagRaion from Льготник where id_льготник = " + this.Id_льготникUpdate + " ";

                    DataTable tabRegion = ТаблицаБД.GetTable(queryР, ConnectionDB.ConnectionString(), "ФлагРегион");

                    if (tabRegion.Rows[0]["FlagRaion"] == DBNull.Value)
                    {
                        // Так как не могу создать метод расширения, тогда проверяем на длинну строки.
                        if (tab.Rows[0][0].ToString().Trim().Length == 1)
                        {
                            this.cmbРайон.SelectedValue = 0;
                        }
                    }
                    else
                    {
                        // Расшифруем содержимое ячейки.
                        string idRs = Crypto.DeShifrovka(tabRegion.Rows[0][0].ToString().Trim());

                        this.cmbРайон.SelectedValue = idRs;
                    }

                    //отобразим район который прописан в БД
                    //this.cmbРайон.Text = tab.Rows[0][0].ToString();
                    //this.cmbРайон.SelectedValue = tab.Rows[0][0].ToString();
                }
                else
                {
                    /*
                     * //отобразим район
                     * string queryРайон = "select id_район,РайонОбласти from НаименованиеРайона";
                     * DataTable tabРайон = ТаблицаБД.GetTable(queryРайон, ConnectionDB.ConnectionString(), "НаименованиеРайона");
                     *
                     * this.cmbРайон.DataSource = tabРайон;
                     * this.cmbРайон.ValueMember = "id_район";
                     * this.cmbРайон.DisplayMember = "РайонОбласти";
                     * this.cmbРайон.DropDownStyle = ComboBoxStyle.DropDownList;
                     */
                }

                //отобразим название населённого пункта
                string    queryН = "select Наименование from НаселенныйПункт where id_насПункт in (select id_насПункт from Льготник where id_льготник = " + this.Id_льготникUpdate + " )";
                DataTable tabН   = ДанныеПредставление.GetПредставление(queryН, "Льготник");

                string    queryНT = "select id_насПункт from Льготник where id_льготник = " + this.Id_льготникUpdate + " ";
                DataTable tabНT   = ДанныеПредставление.GetПредставление(queryНT, "Льготник");

                if (tabН.Rows.Count != 0)
                {
                    //населённый пункт
                    string    queryНП = "select id_насПункт,Наименование from НаселенныйПункт";
                    DataTable tabНП   = ТаблицаБД.GetTable(queryНП, ConnectionDB.ConnectionString(), "НаселенныйПункт");

                    this.cmbНП.DataSource    = tabНП;
                    this.cmbНП.ValueMember   = "id_насПункт";
                    this.cmbНП.DisplayMember = "Наименование";
                    this.cmbНП.DropDownStyle = ComboBoxStyle.DropDownList;


                    //отобразим населённый пункет в котором прописан текущий льготник
                    this.cmbНП.Text = tabН.Rows[0][0].ToString();
                }
                else
                {
                    //населённый пункт
                    string    queryНП = "select id_насПункт,Наименование from НаселенныйПункт";
                    DataTable tabНП   = ТаблицаБД.GetTable(queryНП, ConnectionDB.ConnectionString(), "НаселенныйПункт");

                    this.cmbНП.DataSource    = tabНП;
                    this.cmbНП.ValueMember   = "id_насПункт";
                    this.cmbНП.DisplayMember = "Наименование";
                    this.cmbНП.DropDownStyle = ComboBoxStyle.DropDownList;
                }

                // Проверим записан корректный СНИЛС или нет.
//////if (Regex.IsMatch(this.number_snils.Text, @"\d{3}-\d{3}-\d{3} \d{2}") == false)
//////{
//////    this.button1.Enabled = false;
//////}

                // Данные в форму загрузились.
                flagEditSnils = true;
            }
            else
            {
                // При создании новой карточки для льготника.
                //отобразим район
                //string queryРайон = "select id_район,РайонОбласти from НаименованиеРайона";
                //DataTable tabРайон = ТаблицаБД.GetTable(queryРайон, ConnectionDB.ConnectionString(), "НаименованиеРайона");

                // Сформируем список районов области.
                ListRegion listRegion = new ListRegion();

                // Получим список районов в Саратовской области.
                DataTable tabРайон = ConvertTo.DataRowsArray(listRegion.Regions());

                this.cmbРайон.DataSource    = tabРайон;
                this.cmbРайон.ValueMember   = "id_район";
                this.cmbРайон.DisplayMember = "РайонОбласти";
                this.cmbРайон.Text          = "";

                //населённый пункт
                string    queryНП = "select id_насПункт,Наименование from НаселенныйПункт";
                DataTable tabНП   = ТаблицаБД.GetTable(queryНП, ConnectionDB.ConnectionString(), "НаселенныйПункт");

                this.cmbНП.DataSource    = tabНП;
                this.cmbНП.ValueMember   = "id_насПункт";
                this.cmbНП.DisplayMember = "Наименование";
                this.cmbНП.Text          = "";
                //this.cmbНП.DropDownStyle = ComboBoxStyle.DropDownList;

                //установим поля редактирования по умолчанию в запрет вводить информацию и установим цвет в системный
                this.txtФИО.Enabled   = false;
                this.txtФИО.BackColor = Color.FromName("Control");

                this.textBox1.Enabled   = false;
                this.textBox1.BackColor = Color.FromName("Control");

                this.textBox6.Enabled   = false;
                this.textBox6.BackColor = Color.FromName("Control");

                this.maskedTextBox3.Enabled   = false;
                this.maskedTextBox3.BackColor = Color.FromName("Control");

                this.textBox2.Enabled   = false;
                this.textBox2.BackColor = Color.FromName("Control");

                this.textBox5.Enabled   = false;
                this.textBox5.BackColor = Color.FromName("Control");

                this.maskedTextBox1.Enabled   = false;
                this.maskedTextBox1.BackColor = Color.FromName("Control");

                this.maskedTextBox2.Enabled   = false;
                this.maskedTextBox2.BackColor = Color.FromName("Control");

                this.maskedTextBox4.Enabled   = false;
                this.maskedTextBox4.BackColor = Color.FromName("Control");

                this.textBox8.Enabled   = false;
                this.textBox8.BackColor = Color.FromName("Control");

                this.textBox9.Enabled   = false;
                this.textBox9.BackColor = Color.FromName("Control");

                this.maskedTextBox5.Enabled   = false;
                this.maskedTextBox5.BackColor = Color.FromName("Control");

                this.textBox11.Enabled   = false;
                this.textBox11.BackColor = Color.FromName("Control");

                this.number_snils.Enabled   = false;
                this.number_snils.BackColor = Color.FromName("Control");

                this.button1.Enabled = false;

                this.cmbНП.Enabled = false;

                // Данные в форму загрузились.
                flagEditSnils = true;
            }

            //увеличим счётчик загрузки на 1
            счётчикЗагрузки = 1;
        }
        private void FormУслуги_Load(object sender, EventArgs e)
        {
            //загрузим раскрывающийся список
            string    queryКласс = "select id_кодУслуги,КлассификаторУслуги from КлассификаторУслуги";
            DataTable tab        = ТаблицаБД.GetTable(queryКласс, ConnectionDB.ConnectionString(), "КлассификаторУслуги");

            this.comboBox1.DataSource    = tab;
            this.comboBox1.ValueMember   = "id_кодУслуги";
            this.comboBox1.DisplayMember = "КлассификаторУслуги";

            //Отобразим оказываемые услуги
            string queryУслуг = "select * from ВидУслуги where id_кодУслуги = " + Convert.ToInt32(this.comboBox1.SelectedValue) + " ";

            //отобразим вид услуг
            this.dataGridView1.DataSource = ДанныеПредставление.GetListПредставление(queryУслуг, "ВидУслуг");

            ////скроем от пользователя не нужную информацию
            this.dataGridView1.Columns["id_услуги"].Visible = false;
            //this.dataGridView1.Columns["id_поликлинника"].Visible = false;

            //установим поррядок отображения
            this.dataGridView1.Columns["НомерПоПеречню"].DisplayIndex = 0;
            this.dataGridView1.Columns["НомерПоПеречню"].ReadOnly     = true;
            this.dataGridView1.Columns["НомерПоПеречню"].Width        = 80;

            this.dataGridView1.Columns["ВидУслуги"].DisplayIndex = 1;
            this.dataGridView1.Columns["ВидУслуги"].ReadOnly     = true;
            this.dataGridView1.Columns["ВидУслуги"].Width        = 350;


            this.dataGridView1.Columns["Цена"].DisplayIndex = 2;
            this.dataGridView1.Columns["Цена"].ReadOnly     = true;
            this.dataGridView1.Columns["Цена"].Width        = 90;


            this.dataGridView1.Columns["Выбрать"].Visible    = false;
            this.dataGridView1.Columns["Количество"].Visible = false;

            //получим id_поликлинника
            string queryYjspt = "select id_поликлинника from Поликлинника";

            if (ТаблицаБД.GetTable(queryYjspt, ConnectionDB.ConnectionString(), "Поликлинника").Rows.Count != 0)
            {
                id_поликлинника = Convert.ToInt32(ТаблицаБД.GetTable(queryYjspt, ConnectionDB.ConnectionString(), "Поликлинника").Rows[0][0]);
            }

            //Загрузим номера постановлений
            string    queryPost = "select flag from Flag";
            DataTable tabPost   = ТаблицаБД.GetTable(queryPost, ConnectionDB.ConnectionString(), "Flag");

            List <string> sList = new List <string>();

            //Запишем в коллекцию элменты кроме первого так как первый пункт это flag конфигурации
            int iCount = 0;

            foreach (DataRow r in tabPost.Rows)
            {
                if (iCount != 0)
                {
                    sList.Add(r[0].ToString().Trim());
                }
                iCount++;
            }

            //уберём первый пункт из списка
            this.cmbPost.DataSource = sList;
        }
Exemple #16
0
        private void MainForm_Load(object sender, EventArgs e)
        {
            // Проверим есть ли ключевой файл, а так же разрешено ли в нем работать.
            //ValidateKeyFile();


            //Проверяем наличие таблица в бд FlagForLetter для хранения значения выгрузки проектов
            //договоров в word-овский файл.
            //Если ее нет, то создаем ее. И ставаим значение по умолчанию 0 (т.е. выгрузку не делаем).
            table();

            // Проверим есть ли в таблице столбец FlagRegion, если его нет тогда добавим его в таблицу.
            //AlterTable();

            //проверим флаг в таблице Поликлинника
            string queryFlag = "select top 1 flag from Flag";

            if (ТаблицаБД.GetTable(queryFlag, ConnectionDB.ConnectionString(), "Flag").Rows.Count != 0)
            {
                flag = Convert.ToInt32(ТаблицаБД.GetTable(queryFlag, ConnectionDB.ConnectionString(), "Поликлинника").Rows[0][0]);
                //проверим если flag = 1 то можно редактировать тарифы если flag = 0 то нельзя
            }
            else
            {
                return;
                //при отсутствии поключения к БД, загружаем пустую форму
            }

            if (flag == 0)
            {
                this.районToolStripMenuItem.Enabled = true;
            }


            //отобразим введённых льготников
            string query = "select * from Льготник";

            //добавляем столбец СНИЛС
            string query_add = "ALTER TABLE Льготник ADD  СНИЛС CHAR  NOT NULL";

            string queryAddRegion = "ALTER TABLE Льготник ADD  FlagRaion varchar(255) NULL";

            //this.dataGridView1.DataSource = ДанныеПредставление.GetПредставление(query, "Льготник");

            DataTable dt = ДанныеПредставление.GetПредставление(query, "Льготник");

            if (!dt.Columns.Contains("FlagRaion"))
            {
                try
                {
                    string sCon = ConnectionDB.ConnectionString();
                    Query.Execute(queryAddRegion, sCon);
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.Message);
                }

                // Сохраним в DataSet таблицу Льготники.
                dt = ДанныеПредставление.GetПредставление(query, "Льготник");

                this.dataGridView1.DataSource = dt;
            }

            // делаем проверку наличия СНИЛС
            if (!dt.Columns.Contains("СНИЛС"))
            {
                try
                {
                    string sCon = ConnectionDB.ConnectionString();
                    Query.Execute(query, sCon);
                    Query.Execute(query_add, sCon);
                    Query.Execute(queryAddRegion, sCon);
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.Message);
                }

                this.dataGridView1.DataSource = ДанныеПредставление.GetПредставление(query, "Льготник");
            }
            else
            {
                // Если данные в
                dataGridView1.DataSource = dt;
            }

            //скроем не нужные для пользователя столбцы
            this.dataGridView1.Columns["id_льготник"].Visible          = false;
            this.dataGridView1.Columns["id_льготнойКатегории"].Visible = false;
            this.dataGridView1.Columns["id_документ"].Visible          = false;
            this.dataGridView1.Columns["id_область"].Visible           = false;
            this.dataGridView1.Columns["id_насПункт"].Visible          = false;
            this.dataGridView1.Columns["id_район"].Visible             = false;
            this.dataGridView1.Columns["FlagRaion"].Visible            = false;



            // Запрет на добавление строк
            dataGridView1.AllowUserToAddRows = false;
            // Запрет на удаление строк
            dataGridView1.AllowUserToDeleteRows = false;

            //Проверм существует ли файл установки
            FileStream fs = File.Open("Config.dll", FileMode.OpenOrCreate);

            if (fs.Length != 0)
            {
                //Считываем из файла настройку на выгрузку
                ;
            }
            else
            {
                //Создаём файл и записываем настройку запретим выгрузку
                using (TextWriter writ = new StreamWriter(fs))
                {
                    writ.WriteLine("0");
                }
            }
            fs.Close();

            this.WindowState      = FormWindowState.Maximized;
            this.button5.Location = new System.Drawing.Point(410, 786);

            //Конвертнём базу (проверим id льготных категорий у льготников и в договоре)
            //Для этого создадим таблицу control состоящую из одной ячейки

            try
            {
                string    selectFlag = "select Наличие from Control";
                DataTable tab        = ТаблицаБД.GetTable(selectFlag, ConnectionDB.ConnectionString(), "ControlTab");

                //ни чего не делаем считаем что конвертировать не надо
            }
            catch
            {
                string createTable = "CREATE TABLE Control(Наличие nchar(10))";
                Query.Execute(createTable, ConnectionDB.ConnectionString());

                //так как таблицы нет значит конвертирования не было
                string    queryЛьготник = "select id_льготник,id_льготнойКатегории from Льготник";
                DataTable tabЛьготник   = ТаблицаБД.GetTable(queryЛьготник, ConnectionDB.ConnectionString(), "Льготник");

                foreach (DataRow row in tabЛьготник.Rows)
                {
                    string queryUpdate = "update Договор " +
                                         "set id_льготнаяКатегория = " + Convert.ToInt32(row["id_льготнойКатегории"]) + " " +
                                         "where id_льготник = " + Convert.ToInt32(row["id_льготник"]) + " ";

                    Query.Execute(queryUpdate, ConnectionDB.ConnectionString());
                }
            }

            //if (System.Configuration.ConfigurationSettings.AppSettings["OnlySatartov"] == "1")
            if (System.Configuration.ConfigurationManager.AppSettings["OnlySatartov"] == "1")
            {
                foreach (ToolStripItem item in this.menuStrip1.Items)
                {
                    if (item.Text == "Справочник")
                    {
                        item.Visible = true;
                    }
                }
            }
            else
            //if (System.Configuration.ConfigurationSettings.AppSettings["OnlySatartov"] == "0")
            if (System.Configuration.ConfigurationManager.AppSettings["OnlySatartov"] == "0")
            {
                foreach (ToolStripItem item in this.menuStrip1.Items)
                {
                    if (item.Text == "Справочник")
                    {
                        item.Visible = false;
                    }
                }
            }
        }