示例#1
0
 private void ShowDebtRows()
 {
     rows = new List <DebtRow>(
         DebtDAO.GetDebtRows(debtDocProperties.DebtType, debtDocProperties.Month, debtDocProperties.Year)
         );
     rowsDataGrid.Rows.Clear();
     rowsDataGrid.RowCount = this.rows.Count + 1;
 }
示例#2
0
        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;
        }
示例#3
0
        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);
            }
        }
示例#4
0
        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);
        }
示例#5
0
        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);
            }
        }