// POST api/internalconnections public List <BeregnetRuteInternalDto> Post([FromBody] Forsendelse value) { List <BeregnetRuteInternalDto> brds = new List <BeregnetRuteInternalDto>(); Forsendelse f = new Forsendelse { Forsendelsesdato = value.Forsendelsesdato, Fra = value.Fra, Til = value.Til, Godstype = value.Godstype, PakkeDimensioner = value.PakkeDimensioner, Rekommanderet = value.Rekommanderet, Vaegt = value.Vaegt }; // do something and return data BeregnetRuteInternalDto brd = new BeregnetRuteInternalDto(); brd.Forsendelse = f; brd.SamletTid = 18; brd.Andel = 43; brd.SamletPris = 321.5f; brds.Add(brd); return(brds); }
/// <summary> /// Sender en <see cref="Forsendelse" /> til Meldingsformidler. /// </summary> /// <param name="forsendelse"> /// All informasjon, klar til å kunne sendes (mottakerinformasjon, sertifikater, /// vedlegg mm), enten digitalt eller fysisk. /// </param> public async Task <Transportkvittering> SendAsync(Forsendelse forsendelse) { StandardBusinessDocument standardBusinessDocument = SBDForsendelseBuilder.BuildSBD(Databehandler, forsendelse); return(await RequestHelper.SendMessage(standardBusinessDocument, forsendelse.Dokumentpakke, forsendelse.MetadataDocument)); }
/// <summary> /// Sender en forsendelse til meldingsformidler. Dersom noe feilet i sendingen til meldingsformidler, vil det kastes en exception. /// </summary> /// <param name="forsendelse">Et objekt som har all informasjon klar til å kunne sendes (mottakerinformasjon, sertifikater, vedlegg mm), enten digitalt eller fysisk.</param> /// <param name="lagreDokumentpakke">Hvis satt til true, så lagres dokumentpakken på Klientkonfigurasjon.StandardLoggSti.</param> public async Task <Transportkvittering> SendAsync(Forsendelse forsendelse, bool lagreDokumentpakke = false) { Logging.Log(TraceEventType.Information, forsendelse.KonversasjonsId, "Sender ny forsendelse til meldingsformidler."); var guidHandler = new GuidUtility(); var arkiv = LagAsicEArkiv(forsendelse, lagreDokumentpakke, guidHandler); var forretningsmeldingEnvelope = LagForretningsmeldingEnvelope(forsendelse, arkiv, guidHandler); Logg(TraceEventType.Verbose, forsendelse.KonversasjonsId, arkiv.Signatur.Xml().OuterXml, true, true, "Sendt - Signatur.xml"); Logg(TraceEventType.Verbose, forsendelse.KonversasjonsId, arkiv.Manifest.Xml().OuterXml, true, true, "Sendt - Manifest.xml"); Logg(TraceEventType.Verbose, forsendelse.KonversasjonsId, forretningsmeldingEnvelope.Xml().OuterXml, true, true, "Sendt - Envelope.xml"); try { ValiderForretningsmeldingEnvelope(forretningsmeldingEnvelope.Xml()); ValiderArkivManifest(arkiv.Manifest.Xml()); ValiderArkivSignatur(arkiv.Signatur.Xml()); } catch (Exception e) { throw new Exception("Sending av forsendelse feilet under validering. Feilmelding: " + e.GetBaseException(), e.InnerException); } var soapContainer = LagSoapContainer(forretningsmeldingEnvelope, arkiv); var meldingsformidlerRespons = await SendSoapContainer(soapContainer); Logg(TraceEventType.Verbose, forsendelse.KonversasjonsId, meldingsformidlerRespons, true, true, "Mottatt - Meldingsformidlerespons.txt"); Logg(TraceEventType.Verbose, forsendelse.KonversasjonsId, new byte[1], true, false, "Sendt - SOAPContainer.txt"); Logging.Log(TraceEventType.Information, forsendelse.KonversasjonsId, "Kvittering for forsendelse" + Environment.NewLine + meldingsformidlerRespons); return(ValiderTransportkvittering(meldingsformidlerRespons, forretningsmeldingEnvelope.Xml(), guidHandler)); }
public void HoveddokumentTittelSkalSettesIManifestet() { //Arrange var resourceUtility = new ResourceUtility("Difi.SikkerDigitalPost.Klient.Tester.testdata"); const string hoveddokumentTittel = "hoveddokument tittel"; var dokument = new Dokument(hoveddokumentTittel, resourceUtility.ReadAllBytes(true, "hoveddokument", "Hoveddokument.pdf"), "application/pdf"); var vedlegg = new Dokument("vedlegg tittel", resourceUtility.ReadAllBytes(true, "hoveddokument", "Hoveddokument.pdf"), "application/pdf"); var dokumentPakke = new Dokumentpakke(dokument); dokumentPakke.LeggTilVedlegg(vedlegg); var message = new Forsendelse(DomainUtility.GetAvsender(), DomainUtility.GetDigitalPostInfoWithTestCertificate(), dokumentPakke, Prioritet.Normal, Guid.NewGuid().ToString()); var manifestXml = new Manifest(message).Xml(); var namespaceManager = new XmlNamespaceManager(manifestXml.NameTable); namespaceManager.AddNamespace("ns9", NavneromUtility.DifiSdpSchema10); namespaceManager.AddNamespace("ds", NavneromUtility.XmlDsig); //Act //Assert var vedleggNodeInnerText = manifestXml.DocumentElement.SelectSingleNode("//ns9:hoveddokument", namespaceManager).InnerText; Assert.Equal(hoveddokumentTittel, vedleggNodeInnerText); }
public void SendDigitaltPåVegneAvIntegrasjon() { //Arrange const string testDepartementetAvsenderOrgnummer = "987656789"; const string postenDatabehandlerOrgnummer = "984661185"; var avsender = new Avsender(testDepartementetAvsenderOrgnummer); var databehandler = new Databehandler(postenDatabehandlerOrgnummer, DomeneUtility.GetAvsenderSertifikat()); var forsendelse = new Forsendelse(avsender, DomeneUtility.GetDigitalPostInfoEnkel(), DomeneUtility.GetDokumentpakkeUtenVedlegg(), Prioritet.Normal, Guid.NewGuid().ToString()); var klientKonfig = new Klientkonfigurasjon { MeldingsformidlerUrl = new Uri(Settings.Default.UrlMeldingsformidler), LoggXmlTilFil = true }; //Act var sdpKlient = new SikkerDigitalPostKlient(databehandler, klientKonfig); var transportkvittering = sdpKlient.Send(forsendelse, true); //Assert Assert.IsNotNull(transportkvittering); var kvittering = HentKvitteringOgBekreft(sdpKlient, "Send digital paa vegne av", forsendelse); Assert.IsTrue(kvittering is Leveringskvittering, "Klarte ikke hente kvittering eller feilet kvittering"); }
public void ConstructorGeneratesBytes() { //Arrange var message = new Forsendelse(DomainUtility.GetAvsender(), DomainUtility.GetDigitalPostInfoSimple(), DomainUtility.GetDokumentpakkeWithMultipleVedlegg()); var asiceArchive = DomainUtility.GetAsiceArchive(message); //Act var archiveBytes = asiceArchive.UnencryptedBytes; //Assert using (var memoryStream = new MemoryStream(archiveBytes)) { using (var archive = new ZipArchive(memoryStream, ZipArchiveMode.Read)) { Assert.True(archive.Entries.Any(entry => entry.FullName == "manifest.xml")); Assert.True(archive.Entries.Any(entry => entry.FullName == "META-INF/signatures.xml")); Assert.True(archive.Entries.Any(entry => entry.FullName == message.Dokumentpakke.Hoveddokument.Filnavn)); foreach (var document in message.Dokumentpakke.Vedlegg) { Assert.True(archive.Entries.Any(entry => entry.FullName == document.Filnavn)); } } } }
public void Prosesser(Forsendelse signatureJob, Stream bundleStream) { if (signatureJob == null || !bundleStream.CanRead) { throw new InvalidDataException("Properties not properly initialized in wrapping class."); } }
public XmlDocument Xml() { if (_manifestXml != null) { return(_manifestXml); } _manifestXml = new XmlDocument { PreserveWhitespace = true }; var xmlDeclaration = _manifestXml.CreateXmlDeclaration("1.0", "UTF-8", null); _manifestXml.AppendChild(_manifestXml.CreateElement("manifest", NavneromUtility.DifiSdpSchema10)); _manifestXml.InsertBefore(xmlDeclaration, _manifestXml.DocumentElement); if (Forsendelse.Sendes(Postmetode.Digital)) { _manifestXml.DocumentElement.AppendChild(MottakerNode()); } _manifestXml.DocumentElement.AppendChild(AvsenderNode()); var hoveddokument = Forsendelse.Dokumentpakke.Hoveddokument; _manifestXml.DocumentElement.AppendChild(DokumentNode(hoveddokument, "hoveddokument", hoveddokument.Tittel)); foreach (var vedlegg in Forsendelse.Dokumentpakke.Vedlegg) { _manifestXml.DocumentElement.AppendChild(DokumentNode(vedlegg, "vedlegg", vedlegg.Filnavn)); } Logging.Log(TraceEventType.Verbose, Forsendelse.KonversasjonsId, "Generert manifest for dokumentpakke" + Environment.NewLine + _manifestXml.OuterXml); return(_manifestXml); }
public void VedleggTittelSkalSettesIManifestet() { //Arrange //Arrange var resourceUtility = new ResourceUtility("Difi.SikkerDigitalPost.Klient.Tester.testdata"); var dokument = new Dokument("hoved", resourceUtility.ReadAllBytes(true, "hoveddokument", "Hoveddokument.pdf"), "application/pdf"); var vedleggTittel = "tittel"; var vedlegg = new Dokument(vedleggTittel, resourceUtility.ReadAllBytes(true, "hoveddokument", "Hoveddokument.pdf"), "application/pdf"); var dokumentPakke = new Dokumentpakke(dokument); dokumentPakke.LeggTilVedlegg(vedlegg); var enkelForsendelse = new Forsendelse(DomeneUtility.GetAvsender(), DomeneUtility.GetDigitalPostInfoEnkelMedTestSertifikat(), dokumentPakke, Prioritet.Normal, Guid.NewGuid().ToString()); var asiceArkiv = DomeneUtility.GetAsicEArkiv(enkelForsendelse); var manifestXml = asiceArkiv.Manifest.Xml(); var namespaceManager = new XmlNamespaceManager(manifestXml.NameTable); namespaceManager.AddNamespace("ns9", NavneromUtility.DifiSdpSchema10); namespaceManager.AddNamespace("ds", NavneromUtility.XmlDsig); //Act //Assert var vedleggNodeInnerText = manifestXml.DocumentElement.SelectSingleNode("//ns9:vedlegg", namespaceManager).InnerText; Assert.AreEqual(vedleggTittel, vedleggNodeInnerText); }
private static ForretningsMelding BuildDigitalForretningsMelding(Forsendelse forsendelse) { DigitalForretningsMelding digitalForretningsMelding = new DigitalForretningsMelding(forsendelse.Dokumentpakke.Hoveddokument.Tittel); if (!(forsendelse.PostInfo is DigitalPostInfo digitalPostInfo)) { throw new NullReferenceException("PostInfo må være en DigitalPostInfo"); } digitalForretningsMelding.digitalPostInfo = new DigitalPostInfo { Virkningstidspunkt = digitalPostInfo.Virkningstidspunkt, Åpningskvittering = digitalPostInfo.Åpningskvittering, }; digitalForretningsMelding.tittel = digitalPostInfo.IkkeSensitivTittel; switch (forsendelse.Språkkode) { case "NO": digitalForretningsMelding.spraak = Språk.NO; break; case "NB": digitalForretningsMelding.spraak = Språk.NB; break; case "EN": digitalForretningsMelding.spraak = Språk.EN; break; default: throw new Exception("Ugyldig språk kode! Velg en av NO, NB eller EN."); } digitalForretningsMelding.sikkerhetsnivaa = digitalPostInfo.Sikkerhetsnivå; DigitaltVarsel digitaltVarsel = new DigitaltVarsel(); if (digitalPostInfo.EpostVarsel != null) { digitaltVarsel.epostTekst = digitalPostInfo.EpostVarsel.Varslingstekst; } if (digitalPostInfo.SmsVarsel != null) { digitaltVarsel.smsTekst = digitalPostInfo.SmsVarsel.Varslingstekst; } digitalForretningsMelding.varsler = digitaltVarsel; if (forsendelse.MetadataDocument != null) { digitalForretningsMelding.addMetadataMapping(forsendelse.Dokumentpakke.Hoveddokument.Filnavn, forsendelse.MetadataDocument.Filnavn); } return(digitalForretningsMelding); }
private static ForretningsMelding BuildFysiskForretningsMelding(Forsendelse forsendelse) { FysiskForretningsMelding fysiskForretningsMelding = new FysiskForretningsMelding(); if (!(forsendelse.PostInfo is FysiskPostInfo fysiskPostInfo)) { throw new NullReferenceException("PostInfo må være en FysiskPostInfo"); } if (!(forsendelse.PostInfo.Mottaker is FysiskPostMottaker fysiskPostMottaker)) { throw new NullReferenceException("Motakker må være en FysiskPostMotakker"); } fysiskForretningsMelding.mottaker = fysiskPostMottaker; fysiskForretningsMelding.posttype = fysiskPostInfo.Posttype; fysiskForretningsMelding.returadresse = fysiskPostInfo.ReturpostMottaker.Adresse; fysiskForretningsMelding.utskriftsfarge = fysiskPostInfo.Utskriftsfarge; fysiskForretningsMelding.printinstruksjon = fysiskPostInfo.Printinstruksjoner.ToDictionary(p => p.Navn, p => p.Verdi); fysiskForretningsMelding.retur = new Retur { mottaker = fysiskPostMottaker, returhaandtering = fysiskPostInfo.Posthåndtering }; return(fysiskForretningsMelding); }
public void KonstruktørForIdentiskHash() { //Arrange var prioritet = Prioritet.Normal; var mpcId = "mpcId"; var språkkode = "NO"; var konversasjonsid = Guid.NewGuid(); var forsendelse = new Forsendelse( DomainUtility.GetAvsender(), DomainUtility.GetDigitalPostInfoSimple(), DomainUtility.GetDokumentpakkeWithoutAttachments(), konversasjonsid, prioritet, mpcId, språkkode); //Act //Assert Assert.Equal(konversasjonsid, forsendelse.KonversasjonsId); Assert.NotNull(forsendelse.Avsender); Assert.NotNull(forsendelse.PostInfo); Assert.NotNull(forsendelse.Dokumentpakke); Assert.Equal(prioritet, forsendelse.Prioritet); Assert.Equal(mpcId, forsendelse.MpcId); Assert.Equal(språkkode, forsendelse.Språkkode); }
public void KonstruktørMedOptionalParametere() { //Arrange var prioritet = Prioritet.Normal; var mpcId = "mpcId"; var språkkode = "NO"; var forsendelse = new Forsendelse( DomeneUtility.GetAvsender(), DomeneUtility.GetDigitalPostInfoEnkel(), DomeneUtility.GetDokumentpakkeUtenVedlegg(), prioritet, mpcId, språkkode ); //Act //Assert Assert.IsNotNull(forsendelse.Avsender); Assert.IsNotNull(forsendelse.PostInfo); Assert.IsNotNull(forsendelse.Dokumentpakke); Assert.AreEqual(prioritet, forsendelse.Prioritet); Assert.AreEqual(mpcId, forsendelse.MpcId); Assert.AreEqual(språkkode, forsendelse.Språkkode); }
public void KonstruktørMedOptionalParametere() { //Arrange var prioritet = Prioritet.Normal; var mpcId = "mpcId"; var språkkode = "NO"; var forsendelse = new Forsendelse( DomainUtility.GetAvsender(), DomainUtility.GetDigitalPostInfoSimple(), DomainUtility.GetDokumentpakkeWithoutAttachments(), prioritet, mpcId, språkkode ); //Act //Assert Assert.NotNull(forsendelse.Avsender); Assert.NotNull(forsendelse.PostInfo); Assert.NotNull(forsendelse.Dokumentpakke); Assert.Equal(prioritet, forsendelse.Prioritet); Assert.Equal(mpcId, forsendelse.MpcId); Assert.Equal(språkkode, forsendelse.Språkkode); }
public void OppretteForsendelse() { var hoveddokument = new Dokument( tittel: "Dokumenttittel", dokumentsti: "/Dokumenter/Hoveddokument.pdf", mimeType: "application/pdf", språkkode: "NO", filnavn: "filnavn" ); var dokumentpakke = new Dokumentpakke(hoveddokument); var vedleggssti = "/Dokumenter/Vedlegg.pdf"; var vedlegg = new Dokument( tittel: "tittel", dokumentsti: vedleggssti, mimeType: "application/pdf", språkkode: "NO", filnavn: "filnavn"); dokumentpakke.LeggTilVedlegg(vedlegg); Avsender avsender = null; //Som initiert tidligere PostInfo postInfo = null; //Som initiert tidligere var forsendelse = new Forsendelse(avsender, postInfo, dokumentpakke); }
public void KonstruktørForIdentiskHash() { //Arrange var prioritet = Prioritet.Normal; var mpcId = "mpcId"; var språkkode = "NO"; var konversasjonsid = Guid.NewGuid(); Forsendelse forsendelse = new Forsendelse( DomeneUtility.GetAvsender(), DomeneUtility.GetDigitalPostInfoEnkel(), DomeneUtility.GetDokumentpakkeUtenVedlegg(), konversasjonsid, prioritet, mpcId, språkkode); //Act //Assert Assert.AreEqual(konversasjonsid, forsendelse.KonversasjonsId); Assert.IsNotNull(forsendelse.Avsender); Assert.IsNotNull(forsendelse.PostInfo); Assert.IsNotNull(forsendelse.Dokumentpakke); Assert.AreEqual(prioritet, forsendelse.Prioritet); Assert.AreEqual(mpcId, forsendelse.MpcId); Assert.AreEqual(språkkode, forsendelse.Språkkode); }
public static StandardBusinessDocument BuildSBD(Databehandler databehandler, Forsendelse forsendelse) { ForretningsMelding forretningsMelding = ForretningsMeldingBuilder.BuildForretningsMelding(forsendelse); var konversasjonsId = forsendelse.KonversasjonsId.ToString(); StandardBusinessDocumentHeader sbdHeader = new StandardBusinessDocumentHeader.Builder() .WithProcess(Process.ProcessType.DIGITAL_POST_VEDTAK) .WithStandard(forsendelse.PostInfo.Type) .WithFrom(databehandler.Organisasjonsnummer) .WithOnBehalfOf(forsendelse.Avsender.Organisasjonsnummer) .WithTo(forsendelse.MottakerPersonIdentifikator) .WithType(forretningsMelding.type.ToString()) .WithRelatedToConversationId(konversasjonsId) .WithRelatedToMessageId(konversasjonsId) .WithCreationDateAndTime(DateTime.Now.ToLocalTime()) .Build(); StandardBusinessDocument sbd = new StandardBusinessDocument { standardBusinessDocumentHeader = sbdHeader, any = forretningsMelding }; return(sbd); }
public void KonstruktørMedOptionalParametere() { //Arrange var prioritet = Prioritet.Normal; var mpcId = "mpcId"; var språkkode = "NO"; Forsendelse forsendelse = new Forsendelse( DomeneUtility.GetAvsender(), DomeneUtility.GetDigitalPostInfoEnkel(), DomeneUtility.GetDokumentpakkeUtenVedlegg(), prioritet, mpcId, språkkode ); //Act //Assert Assert.IsNotNull(forsendelse.Avsender); Assert.IsNotNull(forsendelse.PostInfo); Assert.IsNotNull(forsendelse.Dokumentpakke); Assert.AreEqual(prioritet, forsendelse.Prioritet); Assert.AreEqual(mpcId, forsendelse.MpcId); Assert.AreEqual(språkkode, forsendelse.Språkkode); }
/// <summary> /// Sender en <see cref="Forsendelse" /> til Meldingsformidler. /// </summary> /// <param name="forsendelse"> /// All informasjon, klar til å kunne sendes (mottakerinformasjon, sertifikater, /// vedlegg mm), enten digitalt eller fysisk. /// </param> public async Task <Transportkvittering> SendAsync(Forsendelse forsendelse) { var guidUtility = new GuidUtility(); Log.Debug($"Utgående forsendelse, conversationId '{forsendelse.KonversasjonsId}', messageId '{guidUtility.MessageId}'."); var documentBundle = AsiceGenerator.Create(forsendelse, guidUtility, Databehandler.Sertifikat, Klientkonfigurasjon); var forretningsmeldingEnvelope = new ForretningsmeldingEnvelope(new EnvelopeSettings(forsendelse, documentBundle, Databehandler, guidUtility, Klientkonfigurasjon)); ValidateEnvelopeAndThrowIfInvalid(forretningsmeldingEnvelope, forretningsmeldingEnvelope.GetType().Name); var transportReceipt = (Transportkvittering)await RequestHelper.SendMessage(forretningsmeldingEnvelope, documentBundle).ConfigureAwait(false); transportReceipt.AntallBytesDokumentpakke = documentBundle.BillableBytes; var transportReceiptXml = transportReceipt.Xml; if (transportReceipt is TransportOkKvittering) { Log.Debug($"{transportReceipt}"); var responsvalidator = new ResponseValidator(forretningsmeldingEnvelope.Xml(), transportReceiptXml, CertificateValidationProperties); responsvalidator.ValidateTransportReceipt(guidUtility); } else { Log.Error($"{transportReceipt}"); } return(transportReceipt); }
private static async Task <Kvittering> HentKvitteringOgBekreftAsync(SikkerDigitalPostKlient sdpKlient, string testBeskrivelse, Forsendelse forsendelse) { const int hentKvitteringMaksAntallGanger = 10; var hentKvitteringPåNytt = true; var prøvdPåNytt = 0; Kvittering kvittering = null; while (hentKvitteringPåNytt && (prøvdPåNytt++ <= hentKvitteringMaksAntallGanger)) { Thread.Sleep(500); var kvitteringsforespørsel = new Kvitteringsforespørsel(forsendelse.Prioritet, forsendelse.MpcId); kvittering = await sdpKlient.HentKvitteringAsync(kvitteringsforespørsel); if (kvittering is TomKøKvittering) { continue; } hentKvitteringPåNytt = false; await sdpKlient.BekreftAsync((Forretningskvittering)kvittering); var konversasjonsId = HentKonversasjonsIdFraKvittering(kvittering); if (konversasjonsId != forsendelse.KonversasjonsId) { throw new FieldAccessException( $"Fikk ikke til å hente kvittering for test '{testBeskrivelse}' -- det ble hentet feil kvittering eller ingen kvittering. Var du for rask å hente, " + "eller har noe skjedd galt med hvilken kø du henter fra?"); } } return(kvittering); }
/// <summary> /// Settings for DigitalPostForsendelse /// </summary> public EnvelopeSettings(Forsendelse forsendelse, DocumentBundle documentBundle, Databehandler databehandler, GuidUtility guidUtility, Klientkonfigurasjon konfigurasjon) { Forsendelse = forsendelse; DocumentBundle = documentBundle; Databehandler = databehandler; GuidUtility = guidUtility; Konfigurasjon = konfigurasjon; }
/// <summary> /// Settings for DigitalPostForsendelse /// </summary> public EnvelopeSettings(Forsendelse forsendelse, AsicEArkiv asicEArkiv, Databehandler databehandler, GuidUtility guidHandler, Klientkonfigurasjon konfigurasjon) { Forsendelse = forsendelse; AsicEArkiv = asicEArkiv; Databehandler = databehandler; GuidHandler = guidHandler; Konfigurasjon = konfigurasjon; }
public void Prosesser(Forsendelse forsendelse, Stream bundleStream) { LastFileProcessed = FileNameWithTimeStamp(forsendelse.KonversasjonsId.ToString()); using (var fileStream = File.Create(Path.Combine(Directory, LastFileProcessed))) { bundleStream.CopyTo(fileStream); } }
public AsicEArkiv(Forsendelse forsendelse, GuidUtility guidHandler, X509Certificate2 avsenderSertifikat) { Manifest = new Manifest(forsendelse); Signatur = new Signatur(forsendelse, Manifest, avsenderSertifikat); _forsendelse = forsendelse; _dokumentpakke = _forsendelse.Dokumentpakke; _guidHandler = guidHandler; }
public void Prosesser(Forsendelse forsendelse, Stream bundleStream) { Initialposition = bundleStream.Position; CouldReadBytesStream = bundleStream.CanRead; StreamLength = bundleStream.Length; DoSomeStreamMessing(bundleStream); }
private ForretningsmeldingEnvelope LagForretningsmeldingEnvelope(Forsendelse forsendelse, AsicEArkiv arkiv, GuidUtility guidHandler) { var forretningsmeldingEnvelope = new ForretningsmeldingEnvelope(new EnvelopeSettings(forsendelse, arkiv, _databehandler, guidHandler, _klientkonfigurasjon)); return(forretningsmeldingEnvelope); }
public ActionResult Index(Forsendelse ff) { ff.Forsendelsesdato = new DateTime(); RuteberegningService rbs = new RuteberegningService(); rbs.GetBeregnedeRuter(ff); return(View(ff)); }
public SmokeTestsHelper Create_digital_forsendelse_with_different_sender() { _forsendelse = DomainUtility.GetForsendelseSimple(); _forsendelse.Avsender = new Avsender(new Organisasjonsnummer("984661185")) { Avsenderidentifikator = "digipost" }; return(this); }
public static ForretningsMelding BuildForretningsMelding(Forsendelse forsendelse) { var forretningsMelding = forsendelse.PostInfo is DigitalPostInfo ? BuildDigitalForretningsMelding(forsendelse) : BuildFysiskForretningsMelding(forsendelse); forretningsMelding.hoveddokument = forsendelse.Dokumentpakke.Hoveddokument.Filnavn; forretningsMelding.avsenderId = forsendelse.Avsender.Avsenderidentifikator == string.Empty ? null : forsendelse.Avsender.Avsenderidentifikator; forretningsMelding.fakturaReferanse = forsendelse.Avsender.Fakturareferanse; return(forretningsMelding); }
private AsicEArkiv LagAsicEArkiv(Forsendelse forsendelse, bool lagreDokumentpakke, GuidUtility guidHandler) { var arkiv = new AsicEArkiv(forsendelse, guidHandler, _databehandler.Sertifikat); if (lagreDokumentpakke) { arkiv.LagreTilDisk(_klientkonfigurasjon.StandardLoggSti, "dokumentpakke", DateUtility.DateForFile() + " - Dokumentpakke.zip"); } return(arkiv); }
public IEnumerable <Forbindelse> GetCombinedForbindelser(Forsendelse forsendelse) { var oceanicForbindelser = ConvertToForbindelser(connectionsIntegration.GetOceanicRoutes(forsendelse), Enums.Forbindelsestype.Oceanic); var eastIndiaForbindelser = ConvertToForbindelser(connectionsIntegration.GetEastIndiaTradingRoutes(forsendelse), Enums.Forbindelsestype.EastIndia); var possibleForbindelser = GetPossibleTelstarForbindelser(forsendelse).Select(f => f as Forbindelse); possibleForbindelser = possibleForbindelser.Concat(oceanicForbindelser); possibleForbindelser = possibleForbindelser.Concat(eastIndiaForbindelser); return(possibleForbindelser); }
public void ThrowsExceptionOnInvalidManifest() { //Arrange const string invalidFileNameNotFourCharacters = "T"; var asiceConfiguration = new Klientkonfigurasjon(Miljø.FunksjoneltTestmiljø); var dokumentpakkeUtenVedlegg = new Dokumentpakke(new Dokument("", new byte[3], "application/pdf", "nb", invalidFileNameNotFourCharacters)); var forsendelse = new Forsendelse(new Avsender(new Organisasjonsnummer("123456789")), DomainUtility.GetDigitalPostInfoSimple(), dokumentpakkeUtenVedlegg, Guid.NewGuid()); //Act Assert.Throws <XmlValidationException>(() => AsiceGenerator.Create(forsendelse, new GuidUtility(), DomainUtility.GetAvsenderCertificate(), asiceConfiguration) ); }
public void EnkelKonstruktør() { //Arrange Forsendelse forsendelse = new Forsendelse( DomeneUtility.GetAvsender(), DomeneUtility.GetDigitalPostInfoEnkel(), DomeneUtility.GetDokumentpakkeUtenVedlegg() ); //Act //Assert Assert.IsNotNull(forsendelse.Avsender); Assert.IsNotNull(forsendelse.PostInfo); Assert.IsNotNull(forsendelse.Dokumentpakke); }