public VisitorContract() { visitorRepositoryDTO = new VisitorRepositoryDTO(); statusRepositoryDTO = new StatusRepositoryDTO(); userInRoleRepositoryDTO = new UserInRoleRepositoryDTO(); }
// SaveFileDialog sfd = new SaveFileDialog(); // DialogResult res = sfd.ShowDialog(); //if (res == DialogResult.OK) //{ // string path = sfd.FileName + ".xlsx"; // Microsoft.Office.Interop.Excel.Application exelapp = new Microsoft.Office.Interop.Excel.Application(); // Microsoft.Office.Interop.Excel.Workbook workbook = exelapp.Workbooks.Add(); // Microsoft.Office.Interop.Excel.Worksheet worksheet = workbook.ActiveSheet; // pb.Visible = true; // pb.Maximum = dgv_visitors.RowCount-1; // worksheet.Rows[1].Columns[1] = "Имя"; // worksheet.Rows[1].Columns[2] = "Фамилия"; // worksheet.Rows[1].Columns[3] = "Отчество"; // worksheet.Rows[1].Columns[4] = "Компания"; // worksheet.Rows[1].Columns[5] = "Должность"; // worksheet.Rows[1].Columns[6] = "Штрихкод"; // worksheet.Rows[1].Columns[7] = "Вы являетесь"; // worksheet.Rows[1].Columns[8] = "Телефон мобильный"; // worksheet.Rows[1].Columns[9] = "Телефон рабочий"; // worksheet.Rows[1].Columns[10] = "E-Mail"; // worksheet.Rows[1].Columns[11] = "Дата"; // worksheet.Rows[1].Columns[12] = "Выставка"; // worksheet.Rows[1].Columns[13] = "Доклад"; // worksheet.Rows[1].Columns[14] = "Город"; // for (int i = 1; i<dgv_visitors.RowCount; i++) // { // pb.Value = i; // worksheet.Rows[i + 1].Columns[1] = dgv_visitors.Rows[i - 1].Cells[1].Value; // worksheet.Rows[i + 1].Columns[2] = dgv_visitors.Rows[i - 1].Cells[2].Value; // worksheet.Rows[i + 1].Columns[3] = dgv_visitors.Rows[i - 1].Cells[3].Value; // worksheet.Rows[i + 1].Columns[4] = dgv_visitors.Rows[i - 1].Cells[4].Value; // worksheet.Rows[i + 1].Columns[5] = dgv_visitors.Rows[i - 1].Cells[5].Value; // worksheet.Rows[i + 1].Columns[6] = dgv_visitors.Rows[i - 1].Cells[6].Value; // worksheet.Rows[i + 1].Columns[7] = dgv_visitors.Rows[i - 1].Cells[7].Value; // worksheet.Rows[i + 1].Columns[8] = dgv_visitors.Rows[i - 1].Cells[8].Value; // worksheet.Rows[i + 1].Columns[9] = dgv_visitors.Rows[i - 1].Cells[9].Value; // worksheet.Rows[i + 1].Columns[10] = dgv_visitors.Rows[i - 1].Cells[10].Value; // worksheet.Rows[i + 1].Columns[11] = dgv_visitors.Rows[i - 1].Cells[11].Value; // worksheet.Rows[i + 1].Columns[12] = dgv_visitors.Rows[i - 1].Cells[12].Value; // worksheet.Rows[i + 1].Columns[13] = dgv_visitors.Rows[i - 1].Cells[13].Value; // worksheet.Rows[i + 1].Columns[14] = dgv_visitors.Rows[i - 1].Cells[14].Value; // } // pb.Visible = false; // exelapp.AlertBeforeOverwriting = false; // workbook.SaveAs(path); // exelapp.Quit(); //} private void Button_Click_3(object sender, RoutedEventArgs e) { FileDialog openFileDialog = new OpenFileDialog(); List <VisitorDTO> addedInfVisitors; if (openFileDialog.ShowDialog() == true) { ExelData exelData = new ExelData(openFileDialog.FileName, 20); addedInfVisitors = new List <VisitorDTO>(); for (int i = 0; i < exelData.excelWorksheetRow; i++) { var nv = new VisitorDTO { Column1 = exelData.data[i, 0], Column2 = exelData.data[i, 1], Column3 = exelData.data[i, 2], Column4 = exelData.data[i, 3], Column5 = exelData.data[i, 4], Column6 = exelData.data[i, 5], Column7 = exelData.data[i, 6], Column8 = exelData.data[i, 7], Column9 = exelData.data[i, 8], Column10 = exelData.data[i, 14], Column11 = exelData.data[i, 15], Column12 = exelData.data[i, 16], Column13 = exelData.data[i, 17], Column14 = exelData.data[i, 18], Column15 = exelData.data[i, 19], CurrentStatus = "registered" }; addedInfVisitors.Add(nv); } FileDialog saveFileDialog = new SaveFileDialog(); if (saveFileDialog.ShowDialog() == true) { var path = saveFileDialog.FileName + ".xlsx"; var repv = new VisitorRepositoryDTO(); var vindb = repv.GetAllVisitors(); var reps = new StatusRepositoryDTO(); var sindb = reps.GetAllStatuses(); Microsoft.Office.Interop.Excel.Application exelapp = new Microsoft.Office.Interop.Excel.Application(); Microsoft.Office.Interop.Excel.Workbook workbook = exelapp.Workbooks.Add(); Microsoft.Office.Interop.Excel.Worksheet worksheet = workbook.ActiveSheet; int i = 0; foreach (var stat in sindb) { var vis = vindb.Where(s => s.Id == stat.VisitorId).FirstOrDefault(); var visAddInf = addedInfVisitors.Where(s => s.Column1 == vis.Column1).FirstOrDefault(); var choice = vis.Column1.Split('-')[0]; switch (choice) { case "VHS": worksheet.Rows[i + 1].Columns[1] = vis.Column1; worksheet.Rows[i + 1].Columns[2] = vis.Column2; worksheet.Rows[i + 1].Columns[3] = vis.Column3; worksheet.Rows[i + 1].Columns[4] = vis.Column4; worksheet.Rows[i + 1].Columns[5] = vis.Column5; worksheet.Rows[i + 1].Columns[6] = stat.Name; worksheet.Rows[i + 1].Columns[7] = vis.Column7; worksheet.Rows[i + 1].Columns[8] = vis.Column8; worksheet.Rows[i + 1].Columns[9] = vis.Column9; worksheet.Rows[i + 1].Columns[10] = vis.Column10; worksheet.Rows[i + 1].Columns[11] = vis.Column11; worksheet.Rows[i + 1].Columns[12] = stat.ActionTime; worksheet.Rows[i + 1].Columns[12] = vis.Column12; worksheet.Rows[i + 1].Columns[13] = vis.Column13; worksheet.Rows[i + 1].Columns[14] = vis.Column14; worksheet.Rows[i + 1].Columns[15] = " "; worksheet.Rows[i + 1].Columns[16] = " "; worksheet.Rows[i + 1].Columns[17] = " "; worksheet.Rows[i + 1].Columns[18] = " "; worksheet.Rows[i + 1].Columns[19] = " "; worksheet.Rows[i + 1].Columns[20] = " "; worksheet.Rows[i + 1].Columns[21] = stat.ActionTime; break; default: worksheet.Rows[i + 1].Columns[1] = vis.Column1; worksheet.Rows[i + 1].Columns[2] = vis.Column2; worksheet.Rows[i + 1].Columns[3] = vis.Column3; worksheet.Rows[i + 1].Columns[4] = vis.Column4; worksheet.Rows[i + 1].Columns[5] = vis.Column5; worksheet.Rows[i + 1].Columns[6] = stat.Name; worksheet.Rows[i + 1].Columns[7] = vis.Column7; worksheet.Rows[i + 1].Columns[8] = vis.Column8; worksheet.Rows[i + 1].Columns[9] = vis.Column9; worksheet.Rows[i + 1].Columns[10] = vis.Column10; worksheet.Rows[i + 1].Columns[11] = vis.Column11; worksheet.Rows[i + 1].Columns[12] = vis.Column12; worksheet.Rows[i + 1].Columns[13] = vis.Column13; worksheet.Rows[i + 1].Columns[14] = vis.Column14; worksheet.Rows[i + 1].Columns[15] = visAddInf.Column10; worksheet.Rows[i + 1].Columns[16] = visAddInf.Column11; worksheet.Rows[i + 1].Columns[17] = visAddInf.Column12; worksheet.Rows[i + 1].Columns[18] = visAddInf.Column13; worksheet.Rows[i + 1].Columns[19] = visAddInf.Column14; worksheet.Rows[i + 1].Columns[20] = visAddInf.Column15; switch (stat.Name) { case "registered": var temp = visAddInf.Column15; var time = temp.Replace("T", " "); var time_correct = time.Split('+')[0] + ":00"; worksheet.Rows[i + 1].Columns[21] = time_correct; break; default: worksheet.Rows[i + 1].Columns[21] = stat.ActionTime; break; } // worksheet.Rows[i + 1].Columns[21] = stat.ActionTime; break; } i++; } exelapp.AlertBeforeOverwriting = false; workbook.SaveAs(path); exelapp.Quit(); } } }