public void Show_method_should_return_rejected_messages_for_current_day() { var mail1 = new RejectedEmail { SmtpId = 64789, Comment = "нафиг", LogTime = DateTime.Now, From = "*****@*****.**", Subject = "test" }; session.Save(mail1); var mail2 = new RejectedEmail { SmtpId = 65469, Comment = "еще нафиг", LogTime = DateTime.Now, From = "*****@*****.**", Subject = "test" }; session.Save(mail2); var mail3 = new RejectedEmail { SmtpId = 64619, Comment = "снова нафиг", LogTime = DateTime.Now.AddDays(-1), From = "*****@*****.**", Subject = "test" }; session.Save(mail3); controller.Show(); var mails = (RejectedEmail[])ControllerContext.PropertyBag["rejects"]; Assert.That(mails.Length, Is.EqualTo(2)); Assert.That(mails[0].Id, Is.EqualTo(mail1.Id)); Assert.That(mails[1].Id, Is.EqualTo(mail2.Id)); Assert.That(ControllerContext.PropertyBag["fromDate"], Is.EqualTo(DateTime.Today)); Assert.That(ControllerContext.PropertyBag["toDate"], Is.EqualTo(DateTime.Today)); }
public void Search(string searchText, DateTime fromDate, DateTime toDate) { if (searchText.IsNullOrEmpty()) { searchText = ""; } PropertyBag["fromDate"] = fromDate; PropertyBag["toDate"] = toDate; PropertyBag["searchText"] = searchText; PropertyBag["rejects"] = RejectedEmail.Find(DbSession, searchText, fromDate, toDate); }
public void Setup() { spam = new RejectedEmail { Comment = "test", LogTime = DateTime.Now, MessageType = RejectedMessageType.MiniMail, SmtpId = 1000, Subject = "test subject", From = "*****@*****.**", To = "*****@*****.**" }; session.Save(spam); defaultUrl = "SmapRejector/Show"; }
protected override void ErrorOnMessageProcessing(Mime m, AddressList from, EMailSourceHandlerException e) { try { var subject = e.MailTemplate.Subject; var body = e.MailTemplate.Body; var message = e.Message; if (String.IsNullOrEmpty(body)) { SendUnrecLetter(m, from, e); return; } var attachments = m.Attachments.Where(a => !String.IsNullOrEmpty(a.GetFilename())).Aggregate("", (s, a) => s + String.Format("\"{0}\"\r\n", a.GetFilename())); SendErrorLetterToSupplier(e, m); if (e is EmailFromUnregistredMail) { var mail1 = new RejectedEmail { Comment = message, LogTime = DateTime.Now, From = @from.Mailboxes.First().EmailAddress, Subject = subject }; using (var session = ActiveRecordMediator.GetSessionFactoryHolder().GetSessionFactory(typeof(ActiveRecordBase)).OpenSession()) using (var transaction = session.BeginTransaction()) { session.Save(mail1); transaction.Commit(); } } var comment = $@"{message} Отправители : {@from.ToAddressListString()} Получатели : {m.MainEntity.To.ToAddressListString()} Список вложений : {attachments} Тема письма поставщику : {subject} Тело письма поставщику : {body}"; _logger.Warn($"Не удалось разобрать письмо с адреса {@from.ToAddressListString()}", e); if (_currentDocumentType != null) { DocumentReceiveLog.Log(GetFirmCodeByFromList(@from), _addressId, null, _currentDocumentType.DocType, comment, IMAPHandler.CurrentUID); } } catch (Exception exMatch) { _logger.Error("Не удалось отправить нераспознанное письмо", exMatch); } }
public void Search_should_find_rejects_with_given_text_in_from_and_subject_for_given_period() { var mail1 = new RejectedEmail { SmtpId = 64789, Comment = "нафиг", LogTime = new DateTime(2008, 10, 1, 12, 10, 00), From = "*****@*****.**", Subject = "Самоучитель Windows Vista" }; session.Save(mail1); var mail2 = new RejectedEmail { SmtpId = 65469, Comment = "нафиг", LogTime = new DateTime(2008, 10, 3, 15, 40, 00), From = "*****@*****.**", Subject = "Увеличение объемов продаж test" }; session.Save(mail2); var mail3 = new RejectedEmail { SmtpId = 4613, Comment = "нафиг", LogTime = new DateTime(2008, 10, 2, 13, 1, 00), From = "*****@*****.**", Subject = "Увеличение объемов продаж" }; session.Save(mail3); var mail4 = new RejectedEmail { SmtpId = 4634, Comment = "нафиг", LogTime = new DateTime(2008, 9, 30, 12, 10, 0), From = "*****@*****.**", Subject = "Увеличение объемов продаж" }; session.Save(mail4); var mail5 = new RejectedEmail { SmtpId = 4497, Comment = "нафиг", LogTime = new DateTime(2008, 10, 4, 8, 10, 0), From = "*****@*****.**", Subject = "Увеличение объемов продаж" }; session.Save(mail5); controller.Search("test", new DateTime(2008, 10, 1), new DateTime(2008, 10, 3)); var mails = (RejectedEmail[])ControllerContext.PropertyBag["rejects"]; Assert.That(mails.Length, Is.EqualTo(2)); Assert.That(mails[0].Id, Is.EqualTo(mail1.Id)); Assert.That(mails[1].Id, Is.EqualTo(mail2.Id)); Assert.That(ControllerContext.PropertyBag["fromDate"], Is.EqualTo(new DateTime(2008, 10, 1))); Assert.That(ControllerContext.PropertyBag["toDate"], Is.EqualTo(new DateTime(2008, 10, 3))); Assert.That(ControllerContext.PropertyBag["searchText"], Is.EqualTo("test")); }