//Выполняется при загрузке формы, заполнение таблиц данными из БД, настройка элементов управления
        private void Notifications_Load(object sender, EventArgs e)
        {
            form        = this;
            label1.Text = email;
            label4.Text = contractNum;
            DBConnection.GetServicesInContract(Form1.requestNum);
            servicesTable.DataSource         = DBConnection.dtServicesInContract;
            servicesTable.Columns[0].Visible = false;
            servicesTable.Columns[1].Visible = false;
            DataGridViewButtonColumn btn = new DataGridViewButtonColumn(); //объект кнопки в колонке таблицы

            btn.HeaderText = "Создать";
            btn.Text       = "Уведомление";
            btn.UseColumnTextForButtonValue = true;
            servicesTable.Columns.Add(btn);
            //saleID = servicesTable.Rows[0].Cells[0].Value.ToString();
            DBConnection.GetNotifications(Form1.requestNum);
            notificationsTable.DataSource         = DBConnection.dtNotifications;
            notificationsTable.Columns[4].Visible = false;
            notification_row = 0;
            //notificationID = notificationsTable.Rows[0].Cells[4].Value.ToString();
            //days_before = notificationsTable.Rows[0].Cells[1].Value.ToString();
            //text = notificationsTable.Rows[0].Cells[2].Value.ToString();
        }
Exemple #2
0
        //Добавление услуги в договор, создание связанных документов
        private void addServiceToContractBtn_Click(object sender, EventArgs e)
        {
            try
            {
                if (dateEnd.Value <= dateStart.Value)
                {
                    MessageBox.Show("Дата окончания не может быть меньше или равна дате начала!");
                    return;
                }
                DBConnection.NewServiceInContract(serviceNum, cost.ToString().Replace(',', '.'), dateStart.Value.ToString("yyyy-MM-dd"), dateEnd.Value.ToString("yyyy-MM-dd"));

                int start_month = dateStart.Value.Month; //месяц начала действия услуги в году
                for (int i = dateStart.Value.Year; i <= dateEnd.Value.Year; i++)
                {
                    int end_month = 12; //последний месяц действия услуги в году
                    if (i == dateEnd.Value.Year)
                    {
                        end_month = dateEnd.Value.Month;
                    }

                    for (int j = start_month; j <= end_month; j++)
                    {
                        int end_day = DateTime.DaysInMonth(i, j); //последний день предоставления услуги в месяце
                        if (j == end_month && i == dateEnd.Value.Year)
                        {
                            end_day = dateEnd.Value.Day;
                        }
                        string month_name = "Не задан"; //название месяца
                        switch (j)
                        {
                        case 1:
                            month_name = "Январь";
                            break;

                        case 2:
                            month_name = "Февраль";
                            break;

                        case 3:
                            month_name = "Март";
                            break;

                        case 4:
                            month_name = "Апрель";
                            break;

                        case 5:
                            month_name = "Май";
                            break;

                        case 6:
                            month_name = "Июнь";
                            break;

                        case 7:
                            month_name = "Июль";
                            break;

                        case 8:
                            month_name = "Август";
                            break;

                        case 9:
                            month_name = "Сентябрь";
                            break;

                        case 10:
                            month_name = "Октябрь";
                            break;

                        case 11:
                            month_name = "Ноябрь";
                            break;

                        case 12:
                            month_name = "Декабрь";
                            break;
                        }
                        start_month = 1;
                        DBConnection.msCommand.CommandText = "SELECT id FROM docs WHERE name = 'Счет-фактура за " + month_name + "' AND request_num = '" + Form1.requestNum + "' AND EXTRACT(YEAR FROM date_create) = '" + i + "';";
                        object data = DBConnection.msCommand.ExecuteScalar(); //результат запрос
                        if (data != null)
                        {
                            continue;
                        }
                        DBConnection.NewDoc(Form1.requestNum, "Счет-фактура за " + month_name, String.Format("{0}-{1}-{2}", i, j, end_day));
                        DBConnection.GetDocs(Form1.requestNum);
                        Form1.form.docsTable.DataSource = DBConnection.dtDocs;
                        Form1.ReadDocsTableRow(0);
                    }
                }
                DBConnection.GetServicesInContract(Form1.requestNum);
                Form1.form.servicesInContractTable.DataSource = DBConnection.dtServicesInContract;
                if (DBConnection.dtServicesInContract.Rows.Count > 0)
                {
                    Form1.ReadServicesInContractTableRow(0);
                }
                this.Close();
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.ToString());
            }
        }