Ejemplo n.º 1
0
 public static string Show(string persBut, string docBut)
 {
     question = new ListQuestion();
     question.personal.Text  = persBut;
     question.documents.Text = docBut;
     question.ShowDialog();
     return(returnString);
 }
Ejemplo n.º 2
0
        private void Doc_excel_Click(object sender, RoutedEventArgs e)
        {
            string filter = ListQuestion.Show("Личные данные сотрудников", "Информация о документах сотрудников");

            if (filter != string.Empty)
            {
                Excel.Application app   = new Excel.Application();
                Excel.Workbook    book  = app.Workbooks.Add();;
                Excel.Worksheet   sheet = (Excel.Worksheet)book.Worksheets.Item[1];

                SaveFileDialog sfd = new SaveFileDialog();
                sfd.Filter = "Excel 2010|*.xlsx";
                string file = "";
                if (filter == "docs")
                {
                    sfd.FileName = "Список документов сотрудников " + DateTime.Today.ToShortDateString();
                    if (sfd.ShowDialog() == System.Windows.Forms.DialogResult.OK)
                    {
                        file = sfd.FileName;
                    }
                    try
                    {
                        sheet.Cells[1, 1]  = "ФИО";
                        sheet.Cells[1, 2]  = "Копия паспорта";
                        sheet.Cells[1, 3]  = "Диплом";
                        sheet.Cells[1, 4]  = "Трудовая книжка";
                        sheet.Cells[1, 5]  = "Военный билет";
                        sheet.Cells[1, 6]  = "Фото";
                        sheet.Cells[1, 7]  = "Мед. справка";
                        sheet.Cells[1, 8]  = "Флюорография";
                        sheet.Cells[1, 9]  = "Ученая степень";
                        sheet.Cells[1, 10] = "Удостоверение ветерана";
                        sheet.Cells[1, 11] = "СНИЛС";
                        sheet.Cells[1, 12] = "ИНН";
                        sheet.Cells[1, 13] = "Заявление на прием";
                        sheet.Cells[1, 14] = "Анкета";
                        sheet.Cells[1, 15] = "Заявленмие о ЗП";
                        sheet.Cells[1, 16] = "Обязательства";
                        sheet.Cells[1, 17] = "Согласие";

                        int i = 2;

                        SqlCommand sql = new SqlCommand($"select ФИО, Копия_паспорта, Диплом, Трудовая_книжка, Военный_билет, Фото, Мед_справка, Итоги_фл, Документы_УчС, Удостоверение_ветерана, " +
                                                        $"СНИЛС, ИНН, Заявление_на_прием, Анкета, Заявление_о_зп, Обязательство, Согласие from Контактные_данные, Сведения " +
                                                        $"where Контактные_данные.ID=Сведения.ID and Приказ_зачисление is not null order by ФИО", connection);

                        connection.Open();

                        using (SqlDataReader reader = sql.ExecuteReader())
                        {
                            while (reader.Read())
                            {
                                for (int j = 1; j <= 17; j++)
                                {
                                    if (j > 1)
                                    {
                                        if (reader[j - 1].ToString() == "True")
                                        {
                                            sheet.Cells[i, j] = "Да";
                                        }
                                        else
                                        {
                                            sheet.Cells[i, j] = "Нет";
                                        }
                                    }
                                    else
                                    {
                                        sheet.Cells[i, j] = reader[j - 1].ToString();
                                    }
                                }
                                i++;
                            }
                        }
                        connection.Close();

                        Excel.Range range1 = sheet.Range[sheet.Cells[1, 1], sheet.Cells[1, 17]];
                        range1.EntireColumn.AutoFit();

                        Excel.Range range = sheet.Range[sheet.Cells[2, 1], sheet.Cells[i, 17]];
                        range.VerticalAlignment   = Excel.XlVAlign.xlVAlignCenter;
                        range.HorizontalAlignment = Excel.XlHAlign.xlHAlignLeft;
                        range.EntireRow.AutoFit();

                        book.SaveAs(file);
                        book.Close();
                        app.Quit();

                        System.Windows.MessageBox.Show("Список создан");
                    }
                    catch { System.Windows.MessageBox.Show("Список не может быть создан"); }
                }
                else if (filter == "pers")
                {
                    sfd.FileName = "Информация о сотрудниках " + DateTime.Today.ToShortDateString();
                    if (sfd.ShowDialog() == System.Windows.Forms.DialogResult.OK)
                    {
                        file = sfd.FileName;
                    }

                    try
                    {
                        sheet.Cells[1, 1] = "ФИО";
                        sheet.Cells[1, 2] = "Дата рождения";
                        sheet.Cells[1, 3] = "Номер телефона";
                        sheet.Cells[1, 4] = "Электронная почта ";
                        sheet.Cells[1, 5] = "Должность";
                        sheet.Cells[1, 6] = "Населенный пункт";
                        sheet.Cells[1, 7] = "Улица";
                        sheet.Cells[1, 8] = "№ дома";
                        sheet.Cells[1, 9] = "№ квартиры";
                        int i = 2;

                        SqlCommand sql = new SqlCommand($"select ФИО, Дата_рождения, Номер_телефона, Электронная_почта, Должность,  Населенный_пункт, Улица, Номер_дома, Номер_квартиры " +
                                                        $"from Контактные_данные, Список_должностей, Список_сотрудников, Штатное_расписание " +
                                                        $"where Контактные_данные.ID=Список_сотрудников.ID and ID_должности=Штатное_расписание.ID and Список_сотрудников.ID=ID_сотрудника order by ФИО", connection);

                        connection.Open();

                        using (SqlDataReader reader = sql.ExecuteReader())
                        {
                            while (reader.Read())
                            {
                                for (int j = 1; j <= 9; j++)
                                {
                                    if (j == 2 && reader[j - 1].ToString() != string.Empty)
                                    {
                                        sheet.Cells[i, j] = Convert.ToDateTime(reader[j - 1]).ToShortDateString();
                                    }
                                    else
                                    {
                                        sheet.Cells[i, j] = reader[j - 1].ToString();
                                    }
                                }
                                i++;
                            }
                        }
                        connection.Close();
                        Excel.Range range = sheet.Range[sheet.Cells[1, 1], sheet.Cells[i, 7]];
                        range.VerticalAlignment   = Excel.XlVAlign.xlVAlignCenter;
                        range.HorizontalAlignment = Excel.XlHAlign.xlHAlignLeft;
                        range.EntireColumn.AutoFit();
                        range.EntireRow.AutoFit();

                        book.SaveAs(file);
                        book.Close();
                        app.Quit();

                        System.Windows.MessageBox.Show("Список создан");
                    }
                    catch
                    {
                        System.Windows.MessageBox.Show("Список не может быть создан");
                    }
                }
            }
        }