private void ExecuteReport()
        {
            try {
                ReportUsecase usecase = ReportUsecase.CreateUsecase();
                DataSet       results = new DataSet();
                if (YearRadioButton.Checked)
                {
                    usecase.GetReportByYear(rolId, int.Parse(YearComboBox.Text));
                    reportTitle = $"Reporte de ventas año {YearComboBox.Text}";
                }

                if (MonthRadioButton.Checked)
                {
                    usecase.GetReportByMonthAndYear(rolId, MonthComboBox.SelectedIndex + 1,
                                                    int.Parse(YearComboBox.Text));
                    reportTitle = $"Reporte de ventas de {MonthComboBox.Text} de {YearComboBox.Text}";
                }

                if (SemesterRadioButton.Checked)
                {
                    usecase.GetReportBySemesterAndYear(rolId, SemesterComboBox.SelectedIndex,
                                                       int.Parse(YearComboBox.Text));
                    reportTitle = $"Reporte de ventas {SemesterComboBox.Text} año {YearComboBox.Text}";
                }

                if (DateRadioButton.Checked)
                {
                    usecase.GetReportByDate(rolId, DateDateTimePicker.Value);
                    reportTitle = $"Reporte de ventas del {DateDateTimePicker.Value.ToLongDateString()}";
                }

                if (RangeRadioButton.Checked)
                {
                    usecase.GetReportByRange(rolId, RangeFromDateTimePicker.Value, RangeToDateTimePicker.Value);
                    reportTitle =
                        $"Reporte de ventas entre {RangeFromDateTimePicker.Value.ToShortDateString()} y {RangeToDateTimePicker.Value.ToShortDateString()}";
                }

                results = usecase.SourceDataSet;
                ConfigureResumeSalesGrid(results.Tables["ResumeSales"]);
                ConfigureSalesGrid(results.Tables["Sales"]);
                ConfigureResumeLossesGrid(results.Tables["ResumeLosses"]);
                ConfigureLossesSalesGrid(results.Tables["Losses"]);
                VerifySendEmail();
            } catch (Exception ex) {
                MessageBox.Show(ex.Message, "Atención", MessageBoxButtons.OK, MessageBoxIcon.Information);
            }
        }
예제 #2
0
        private bool SendReport()
        {
            var result = false;

            try{
                var usecase = ReportUsecase.CreateUsecase();
                usecase.SendReportToEmail(recipients);
                MessageBox.Show("Reporte enviado a los destinatarios.", "Atención", MessageBoxButtons.OK,
                                MessageBoxIcon.Information);
                result = true;
            }
            catch (Exception ex) {
                MessageBox.Show(ex.Message, "Atención", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                result = false;
            }
            return(result);
        }