private void ShowDebtRows() { rows = new List <DebtRow>( DebtDAO.GetDebtRows(debtDocProperties.DebtType, debtDocProperties.Month, debtDocProperties.Year) ); rowsDataGrid.Rows.Clear(); rowsDataGrid.RowCount = this.rows.Count + 1; }
public void ShowReport(DebtType type, int month, int year) { var reportParam = new Report1ParamForm(type, month, year); if (reportParam.ShowDialog() != DialogResult.OK) { return; } type = reportParam.DebtProperties.DebtType; month = reportParam.DebtProperties.Month; year = reportParam.DebtProperties.Year; string reportCaption = string.Format("Отчет по {0} задолженности за {1} месяц {2} года", (type == DebtType.Кредиторская ? "кредиторской" : "дебиторской"), DebtUtil.GetMonthName(month).ToLower(), year); string reportName = (reportParam.GroupBySubjects ? reportName = "CI.Debt.Reports.Report1.rdlc" : "CI.Debt.Reports.Report2.rdlc"); var reportForm = new ReportForm(); reportForm.Text = reportCaption; reportForm.reportViewer.LocalReport.ReportEmbeddedResource = reportName; reportForm.reportViewer.LocalReport.DisplayName = reportCaption; reportForm.reportViewer.LocalReport.SetParameters(new[] { new ReportParameter("pCaption", reportCaption) }); reportForm.Show(); IList <DebtRow> rows = null; if (reportParam.GroupBySubjects && 0 < reportParam.comboBoxBudgetName.SelectedIndex) { rows = DebtDAO.GetDebtRows(type, month, year, (string)reportParam.comboBoxBudgetName.SelectedItem); } else { rows = DebtDAO.GetDebtRows(type, month, year); } var reportRows = new List <Report1Row>(); foreach (var row in rows) { reportRows.Add(new Report1Row(row)); } reportForm.reportViewer.LocalReport.DataSources.Add(new ReportDataSource("Report1Row", reportRows)); reportForm.reportViewer.RefreshReport(); reportForm.reportViewer.SetDisplayMode(DisplayMode.PrintLayout); reportForm.reportViewer.ZoomMode = ZoomMode.Percent; reportForm.reportViewer.ZoomPercent = 100; }
private void buttonExport_Click(object sender, EventArgs e) { if (exportFolderBrowser.ShowDialog() != DialogResult.OK) { return; } try { string fileName = Path.Combine( exportFolderBrowser.SelectedPath, string.Format("{0}_{1}_{2}.xml", debtDocProperties.DebtType.ToString(), DebtUtil.GetMonthName(debtDocProperties.Month), debtDocProperties.Year) ); XmlDebtRowsSerializer.Serialize(DebtDAO.GetDebtRows(debtDocProperties.DebtType, debtDocProperties.Month, debtDocProperties.Year), fileName); MessageBox.Show(string.Format("Экспорт успешно завершен.\r\nФайл экспорта: {0}", fileName), Text, MessageBoxButtons.OK, MessageBoxIcon.Information); } catch (Exception ex) { MessageBox.Show("При экспорте возникло програмное исключение. Экспорт не выполнен.\r\nТекст ошибки: " + ex.ToString(), Text, MessageBoxButtons.OK, MessageBoxIcon.Error); } }
private bool ValidateToDebt() { if (DebtPropertiesFrom.DebtType == DebtPropertiesTo.DebtType && DebtPropertiesFrom.Month == DebtPropertiesTo.Month && DebtPropertiesFrom.Year == DebtPropertiesTo.Year) { var result = MessageBox.Show("Задолженности совпадают. В задолженности будут созданы копии существующих строк.\r\n" + "Вы действительно хотите копировать строки в одну и ту же задолженность?", Text, MessageBoxButtons.OKCancel, MessageBoxIcon.Question); return(result == DialogResult.OK); } var toDebtRowsCount = DebtDAO.GetDebtRows(DebtPropertiesTo.DebtType, DebtPropertiesTo.Month, DebtPropertiesTo.Year).Count; if (toDebtRowsCount != 0) { var result = MessageBox.Show("В задолженность, в которую вы хотите скопировать строки, уже имеются строки.\r\n" + "Вы действительно хотите копировать строки в непустую задолженность?", Text, MessageBoxButtons.OKCancel, MessageBoxIcon.Question); return(result == DialogResult.OK); } return(true); }
private void toolStripMenuItemImport_Click(object sender, EventArgs e) { if (openFileDialogImport.ShowDialog() != DialogResult.OK) { return; } try { var rows = new List <DebtRow>(XmlDebtRowsSerializer.Deserialize(openFileDialogImport.FileName)); if (rows.Count == 0) { return; } var existsRows = new List <DebtRow>(DebtDAO.GetDebtRows(rows[0].DebtType, rows[0].Month, rows[0].Year)); if (0 < existsRows.Count) { var answer = MessageBox.Show("Уже существуют строки задолженности такого же типа, месяца и года, как и в файле импорта.\r\nПродолжить импорт?\r\nДа - продолжить импорт, Отмена - прервать импорт.", Text, MessageBoxButtons.OKCancel, MessageBoxIcon.Question); if (answer == DialogResult.Cancel) { return; } } foreach (var row in rows) { if (existsRows.Exists(r => { return(r.Classifier.Equals(row.Classifier) && r.Subject.Equals(row.Subject)); })) { var answer = MessageBox.Show("Уже существуют строки задолженности с такими же классификатором и субъектом, как и в файле импорта.\r\nПродолжить импорт и перезаписать существующие строки?\r\nДа - продолжить импорт, Отмена - прервать импорт.", Text, MessageBoxButtons.OKCancel, MessageBoxIcon.Question); if (answer == DialogResult.Cancel) { return; } break; } } var rowsToSave = new List <DebtRow>(); foreach (var row in rows) { var existsRow = existsRows.Find(r => { return(r.Classifier.Equals(row.Classifier) && r.Subject.Equals(row.Subject)); }); if (existsRow != null) { existsRow.Amount = row.Amount; existsRow.Amount2 = row.Amount2; rowsToSave.Add(existsRow); } else { rowsToSave.Add(row); } } DebtDAO.SaveOrUpdateDebtRows(rowsToSave); debtDocProperties.SetDebtProperties(rows[0].DebtType, rows[0].Month, rows[0].Year); MessageBox.Show(string.Format("Импорт успешно завершен.\r\nФайл импорта: {0}", openFileDialogImport.FileName), Text, MessageBoxButtons.OK, MessageBoxIcon.Information); } catch (Exception ex) { MessageBox.Show(string.Format("Ошибка при импорте задолженности, импорт не выполнен.\r\nТекст ошибки: {0}", ex), Text, MessageBoxButtons.OK, MessageBoxIcon.Error); } }