public string SendPackageV3(DataTransferObjects.BusinessObjects.Mail mailItem, Guid requestId) { LogManager.LogTrace(string.Format("SE.GOV.MM.Integration.Package.BusinessLayer.BusinessManager: incoming SendPackageV3 with RequestId: {0}", requestId)); //Transform MailItem to object of type specified by MinaMeddelandens Message webservice. var secureDelivery = GetSecureDeliveryV3(mailItem, requestId); //Create SignedDelivery and sign xmldocument and create a secureDelivery object specified in Mina meddelanden Message webservice. var signedDeliveryHandler = new SignedDeliveryHandler(); var signedDelivery = signedDeliveryHandler.GetSignedDeliveryV3(secureDelivery, ConfigHelper.SignDelivery, ConfigHelper.DefaultNamespaceV3, ConfigHelper.SigningCertificateSubjectName, requestId); //LOG to database before sending a message. var packageHandler = new PackageHandler(); //Save message in database // var databaseId = packageHandler.SavePackage(mailItem.Recipient.To, mailItem.Sender, PackageStatus.Pending, requestId); var dataManager = new DataManager(); var distributionId = dataManager.SendPackageV3(signedDelivery, requestId); //Log to database result of sending a message. DateTime?deliveryDate = null; packageHandler.UpdatePackage(distributionId, 0, PackageStatus.Pending, deliveryDate, requestId); LogManager.LogTrace(string.Format("SE.GOV.MM.Integration.Package.BusinessLayer.BusinessManager: leaving SendPackageV3 with RequestId: {0}", requestId)); return(distributionId); }
private SendPackageToMailboxResponse SendPackageToMailboxV3(Mail mailItem, Mailbox box, Guid requestId) { LogManager.LogTrace(string.Format("SE.GOV.MM.Integration.DeliveryMailbox.BusinessLayer.BusinessManager: incoming SendPackageToMailboxV3 with RequestId: {0}", requestId)); SendPackageToMailboxResponse result = null; if (validateMail(mailItem, requestId)) { var secureDeliveryV3 = getSecureDeliveryV3(mailItem, requestId); //Create SignedDelivery and sign xmldocument. var signedDeliveryHandler = new SignedDeliveryHandler(); var signedDeliveryV3 = signedDeliveryHandler.GetSignedDeliveryV3(secureDeliveryV3, ConfigHelper.SignDelivery, ConfigHelper.DefaultNamespaceV3, ConfigHelper.SigningCertificateSubjectName, requestId); //var signedDeliveryV3 = signedDeliveryHandler.GetSignedDeliveryV3(secureDeliveryV3, ConfigHelper.SignDelivery, ConfigHelper.DefaultNamespaceV3, mailItem.CertificationBySubjectName, requestId); //Create SealedDelivery from SignedDelivery var sealedDeliveryHandler = new SealedDeliveryHandler(); var sealedDeliveryV3 = sealedDeliveryHandler.GetSealedDeliveryV3(signedDeliveryV3, ConfigHelper.SignDelivery, ConfigHelper.DefaultNamespaceV3, ConfigHelper.SigningCertificateSubjectName, requestId); //var sealedDeliveryV3 = sealedDeliveryHandler.GetSealedDeliveryV3(signedDeliveryV3, ConfigHelper.SignDelivery, ConfigHelper.DefaultNamespaceV3, mailItem.CertificationBySubjectName, requestId); //Call Recipients Mailbox operator and deliver message. var dataManager = new DataManager(); //result = dataManager.SendPackageToMailboxV3(sealedDeliveryV3, box, ConfigHelper.SSLCertificate_FindByThumbprint, requestId); result = dataManager.SendPackageToMailboxV3(sealedDeliveryV3, box, mailItem.CertificationBySubjectName, requestId); } else { var failureMessage = string.Format("SE.GOV.MM.Integration.DeliveryMailbox.BusinessLayer.BusinessManager: Couldnt send message to: {0}. Didnt validate. RequestId: {1}", mailItem.Recipient.To, requestId); LogManager.Log(new Log.Log() { EventId = EventId.Warning, Message = failureMessage, Level = Level.Warning }); } LogManager.LogTrace(string.Format("SE.GOV.MM.Integration.DeliveryMailbox.BusinessLayer.BusinessManager: leaving SendPackageToMailboxV3 with RequestId: {0}", requestId)); return(result); }