Дипломная работа: Автоматизация услуг почтовой связи для Почты России

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам
99
else command.Parameters.AddWithValue("Sum",
Convert.ToDouble(row[6]));
command.Parameters.AddWithValue("INN",
Convert.ToString(row[7]));
command.Parameters.AddWithValue("ResponsibleBlock",
Convert.ToString(row[8]));
command.Parameters.AddWithValue("ResponsibleDepartment",
Convert.ToString(row[9]));
if (Convert.IsDBNull(row[10]))
command.Parameters.AddWithValue("Month",
Convert.ToDateTime("01.01.2222"));
else
command.Parameters.AddWithValue("Month",
Convert.ToDateTime(row[10]));
command.Parameters.AddWithValue("GP",
Convert.ToString(row[11]));
command.Parameters.AddWithValue("OrganizationLiquidated",
Convert.ToString(row[12]));
command.Parameters.AddWithValue("PeriodOfLimitation",
Convert.ToString(row[13]));
if (Convert.IsDBNull(row[11]))
{
command.Parameters.AddWithValue("KindOfDZ",
Convert.ToString("-"));
}
else
{//определение вида ДЗ
if (Convert.ToBoolean(row[11]))
command.Parameters.AddWithValue("KindOfDZ",
Convert.ToString("Нормальная"));
100
else if (Convert.ToInt32(row[13]) > 35)
command.Parameters.AddWithValue("KindOfDZ",
Convert.ToString("Безнадежная"));
else if (Convert.ToBoolean(row[12]))
command.Parameters.AddWithValue("KindOfDZ",
Convert.ToString("Безнадежная"));
else command.Parameters.AddWithValue("KindOfDZ",
Convert.ToString("Сомнительная"));
}
command.ExecuteNonQuery();
}
}
Метод fillcombobox () заполняет combobox вариантами выбора из базы
данных.
Листинг 1.5. Метод fillcombobox ()
private void fillcombobox(ComboBox cb, SqlCommand command, string
name_of_column_in_table, int DropDownWidth, string cb_text) //метод для
заполнения элемента ComboBox
{//заполнение combobox из БД
command.ExecuteNonQuery();
SqlDataAdapter da = new SqlDataAdapter();
DataSet ds = new DataSet();
da.SelectCommand = command;
da.Fill(ds, "DZ");
cb.DataSource = ds.Tables[0];
cb.DisplayMember = name_of_column_in_table;
cb.ValueMember = name_of_column_in_table;
cb.DropDownWidth = DropDownWidth;
cb.DropDownStyle = ComboBoxStyle.DropDownList;
101
cb.Text = cb_text;
}
Метод comboBox1_SelectedIndexChanged () получает выбранный элемент
комбобокса и создает на основе выбора запрос к БД, а затем выводит результат.
Листинг 1.6. Метод comboBox1_SelectedIndexChanged ()
private void comboBox1_SelectedIndexChanged(object sender, EventArgs
e)
{
string ClientName =
comboBoxClient1.SelectedValue.ToString();//получаем имя выбранного клиента
SqlCommand command = new SqlCommand("SELECT " +
columnName + " FROM DZ WHERE Client=N'" + ClientName + "'",
sqlConnection);//запрос в БД
command.ExecuteNonQuery();//выполняем команду
SqlDataAdapter da = new SqlDataAdapter();
DataSet ds = new DataSet();
da.SelectCommand = command;//устанавливаем команду
da.Fill(ds, "DZ");
dataGridView1.DataSource = ds.Tables[0];//выводим в DataGridView
tabControl1.SelectTab("Table");
double balans = 0;//переменная для поля Сумма
foreach (DataGridViewRow row in dataGridView1.Rows)//суммируем
все отображаемые строки
{
double incom;
double.TryParse(row.Cells[7].Value.ToString().Replace(".", ","), out
incom);
balans += incom;
}
102
NumberFormatInfo nfi = new NumberFormatInfo();//формат числа с
пробелами и двумя знаками после запятой
nfi.NumberGroupSeparator = " ";//разделитель
textBox1.Text = balans.ToString("N", nfi);
}
Метод выгрузитьВExcelToolStripMenuItem_Click () выгружает в Excel
таблицу, выбранную пользователем, для внесения комментариев, а также
защищает книгу от изменения кроме столбца с комментариями.
Листинг 1.7. Метод выгрузитьВExcelToolStripMenuItem_Click()
private void выгрузитьВExcelToolStripMenuItem_Click(object sender,
EventArgs e)//метод выгрузки таблицы в Excel
{
Microsoft.Office.Interop.Excel.Application ExcelApp = new
Microsoft.Office.Interop.Excel.Application();
Microsoft.Office.Interop.Excel.Workbook ExcelWorkBook;
Microsoft.Office.Interop.Excel.Worksheet ExcelWorkSheet;
ExcelWorkBook =
ExcelApp.Workbooks.Add(System.Reflection.Missing.Value);//Книга
ExcelWorkSheet =
(Microsoft.Office.Interop.Excel.Worksheet)ExcelWorkBook.Worksheets.get_Item(1);/
/Таблица
for (int i = 0; i < dataGridView1.Rows.Count; i++)// цикл для каждой
строки
{
for (int j = 0; j < dataGridView1.ColumnCount; j++)//для каждого
столбца
{
ExcelApp.Cells[1, j + 1] =
dataGridView1.Columns[j].HeaderText;//копирем заголовок таблиццы с полями
103
ExcelApp.Cells[i + 2, j + 1] =
dataGridView1.Rows[i].Cells[j].Value;//копируем значения ячеек
}
}
//защита книги на дипозоне А:М
(ExcelApp.ActiveWorkbook.Sheets[1]).EnableSelection =
Microsoft.Office.Interop.Excel.XlEnableSelection.xlUnlockedCells;
string protectionPassword = "1234";//задаем пароль
(ExcelApp.ActiveWorkbook.Sheets[1]).Protect(Password:
protectionPassword, AllowFormattingCells: false);//устанавливаем пароль
(ExcelApp.ActiveWorkbook.Sheets[1]).Protection.IsProtected = true;
(ExcelApp.ActiveWorkbook.Sheets[1]).ProtectedRanges.Add("editable", new
Microsoft.Office.Interop.Excel.ExcelAddress("A:M"));//защищаем диапозон ячеек
ExcelApp.Visible = true;//Отображаем созданный Excel файл
ExcelApp.UserControl = true;
}
Метод makeTop () отбирает топ 10 худших клиентов и выводит их в
таблицу, сортирую по убыванию.
Листинг 1.8. Метод makeTop()
private void makeTop()
{
string MonthName =
comboBoxMonthTop.SelectedValue.ToString();//получаем выбранный месяц
SqlCommand command = new SqlCommand("SELECT TOP 10 " +
columnName + " FROM DZ WHERE Month=right(convert(varchar, '" + MonthName
+ "', 106), 8) ORDER BY Sum DESC", sqlConnection);//создаем запрос
command.ExecuteNonQuery();//выполняем запрос
Источник: https://baza.diplomsite.ru/previewfile/2349