Ejemplo n.º 1
0
 private static APKKeuringsregistratieEvent CreateEvent(string response, AutoKlaargemeldEvent autoKlaargemeldEvent)
 {
     try
     {
         var apkKeuringsregistratieEvent = new APKKeuringsregistratieEvent()
         {
             GUID = Guid.NewGuid().ToString(), RoutingKey = "Jomaya.Onderhoudsopdracht.Updated", TimeStamp = DateTime.UtcNow
         };
         apkKeuringsregistratieEvent.Kenteken = response.Substring(response.IndexOf("<kenteken>") + 10, response.IndexOf("</kenteken>") - (response.IndexOf("<kenteken>") + 10));
         var steekproef = !response.Contains("<apk:steekproef xsi:nil=\"true\"/>");
         if (steekproef)
         {
             var steekproefDatum = response.Substring(response.IndexOf("<apk:steekproef>") + 16, response.IndexOf("</apk:steekproef>") - (response.IndexOf("<apk:steekproef>") + 16));
             apkKeuringsregistratieEvent.SteekproefDatum = DateTime.Parse(steekproefDatum);
             apkKeuringsregistratieEvent.Status          = Common.OnderhoudStatus.InSteekproef;
         }
         else
         {
             apkKeuringsregistratieEvent.Status = Common.OnderhoudStatus.Afgemeld;
         }
         apkKeuringsregistratieEvent.AutoId          = autoKlaargemeldEvent.AutoId;
         apkKeuringsregistratieEvent.OnderhoudId     = autoKlaargemeldEvent.OnderhoudId;
         apkKeuringsregistratieEvent.Kilometerstand  = autoKlaargemeldEvent.KilometerStand;
         apkKeuringsregistratieEvent.Werkzaamheden   = autoKlaargemeldEvent.Werkzaamheden;
         apkKeuringsregistratieEvent.OnderhoudsDatum = autoKlaargemeldEvent.OnderhoudsDatum;
         return(apkKeuringsregistratieEvent);
     }
     catch (Exception e)
     {
         ExceptionEventPublisher.PublishException(e);
         return(null);
     }
 }
Ejemplo n.º 2
0
        public void Createmessage(AutoKlaargemeldEvent autoKlaargemeldEvent, Garage garage)
        {
            try
            {
                string message = @"<apkKeuringsverzoekRequestMessage xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xmlns:xsd='http://www.w3.org/2001/XMLSchema'>
                                <keuringsverzoek xmlns='http://www.rdw.nl' xmlns:apk='http://www.rdw.nl/apk' correlatieId='51a33867-b5ec-4f10-9b31-b4e3ddcb58eb'>" +
                                 $"<voertuig type='personenauto'>" +
                                 $"<kenteken>{autoKlaargemeldEvent.Kenteken.Replace(" ", "")}</kenteken>" +
                                 $"<kilometerstand>{autoKlaargemeldEvent.KilometerStand}</kilometerstand>" +
                                 $"<naam>{autoKlaargemeldEvent.EigenaarNaam}</naam>" +
                                 $"</voertuig>" +
                                 $"<apk:keuringsdatum>{DateTime.Now.ToString("yyyy-MM-dd")}</apk:keuringsdatum>" +
                                 $"<apk:keuringsinstantie type='garage' kvk='3013 5370'>" +
                                 $"<apk:naam>{garage.GarageNaam}</apk:naam>" +
                                 $"<apk:plaats>{garage.PlaatsNaam}</apk:plaats>" +
                                 @"</apk:keuringsinstantie>
                                </keuringsverzoek>
                            </apkKeuringsverzoekRequestMessage>";
                string url = "http://rdwserver:18423/rdw/APKKeuringsverzoek";

                string response = PostMessage(url, message);
                APKKeuringsregistratieEvent apkKeuringsregistratieEvent = CreateEvent(response, autoKlaargemeldEvent);
                _publisher.Publish(apkKeuringsregistratieEvent);
            }
            catch (Exception e)
            {
                ExceptionEventPublisher.PublishException(e);
            }
        }
Ejemplo n.º 3
0
 private Onderhoudsopdracht CreateOnderhoudsopdrachtFromAPKKeuringsEvent(APKKeuringsregistratieEvent e)
 {
     // event na RDW Service met steekproef update
     return(new Onderhoudsopdracht()
     {
         AutoId = e.AutoId,
         Id = e.OnderhoudId,
         Status = e.Status,
         IsApk = true,
         Kilometerstand = e.Kilometerstand,
         SteekproefDatum = e.SteekproefDatum,
         Werkzaamheden = e.Werkzaamheden,
         Datum = e.OnderhoudsDatum
     });
 }
Ejemplo n.º 4
0
        public void OnAPKKeuringsregistratieEventReceived(APKKeuringsregistratieEvent e)
        {
            Onderhoudsopdracht onderhoudsopdracht = CreateOnderhoudsopdrachtFromAPKKeuringsEvent(e);

            _autoService.UpdateOnderhoudsopdracht(onderhoudsopdracht);
        }