Exemplo n.º 1
0
    protected void btnExecute_sendReady(object sender, EventArgs e)
    {
        var mails = new List <string>();

        if (RadioSelf.Checked)
        {
            mails.AddRange(GetSelfEmails().Select(selfEmail => selfEmail[0].ToString()));
        }
        if (RadioMails.Checked)
        {
            var adresses = mail_Text.Text.Split(',').Select(a => a.Trim()).Where(a => !string.IsNullOrEmpty(a));
            mails.AddRange(adresses);
        }
        if (mails.Count <= 0)
        {
            ErrorMassage.Text      = "Укажите получателя отчета !";
            ErrorMassage.BackColor = Color.Red;
            return;
        }

        var error = _generalReport.ResendReport(DbSession, mails);

        if (!String.IsNullOrEmpty(error))
        {
            ErrorMassage.Text      = error;
            ErrorMassage.BackColor = Color.Red;
            return;
        }

        ErrorMassage.Text      = "Файл отчета успешно отправлен";
        ErrorMassage.BackColor = Color.LightGreen;
    }
        public void Resend_report()
        {
            Global.Config.ReportHistoryPath = Path.Combine(ScheduleHelper.ScheduleWorkDir, "History");

            var payer   = new Payer("Тестовый плательщик");
            var report1 = new GeneralReport(payer);
            var report2 = new GeneralReport(payer);

            session.Save(payer);
            session.Save(report1);
            session.Save(report2);

            var log1 = new ReportExecuteLog(report1);

            session.Save(log1);
            session.Save(new ReportLog(report1, log1)
            {
                LogTime = DateTime.Now.AddDays(-2)
            });
            var log2 = new ReportExecuteLog(report2);

            session.Save(log2);
            session.Save(new ReportLog(report2, log2));
            session.Flush();
            var content = log1.BuildTestFile();

            log2.BuildTestFile();

            report1.UnderTest = true;
            report1.ResendReport(session, new List <string> {
                "*****@*****.**"
            });
            var message       = report1.Messages[0];
            var sendedContent = new StreamReader(message.Attachments[0].ContentStream).ReadToEnd();

            Assert.That(sendedContent, Is.EqualTo(content));
        }