Exemple #1
0
 public void OnOnderhoudStatusChanged(OnderhoudStatusChangedEvent incomingEvent)
 {
     try
     {
         var opdracht = _onderhoudRepo.Find(incomingEvent.OnderhoudsopdrachtId);
         opdracht.Status = (OnderhoudStatus)incomingEvent.Status;
         _onderhoudRepo.Update(opdracht);
     }
     catch (Exception e)
     {
         ExceptionEventPublisher.PublishException(e);
     }
 }
        public void MyTestMethod()
        {
            var publisherMock = new Mock <IEventPublisher>(MockBehavior.Strict);

            publisherMock.Setup(pub => pub.Publish(It.IsAny <DomainEvent>()));
            var testEvent = new OnderhoudStatusChangedEvent()
            {
                AutoId               = 1,
                IsApk                = true,
                Kilometerstand       = 1,
                OnderhoudsopdrachtId = 1,
                Werkzaamheden        = "",
                GUID       = Guid.NewGuid().ToString(),
                RoutingKey = "",
                TimeStamp  = DateTime.UtcNow
            };
        }
Exemple #3
0
        public Onderhoudsopdracht UpdateOnderhoudsopdracht(Onderhoudsopdracht onderhoudsopdracht)
        {
            Onderhoudsopdracht oldOnderhoudsopdracht = _onderhoudRepository.Find(onderhoudsopdracht.Id);

            bool statusChanged    = false;
            bool klaargemeldEvent = false;

            if (oldOnderhoudsopdracht.Status != onderhoudsopdracht.Status)
            {
                statusChanged = true;
                if (onderhoudsopdracht.Status == Common.OnderhoudStatus.Klaargemeld && onderhoudsopdracht.IsApk)
                {
                    klaargemeldEvent = true;
                }
                else if (onderhoudsopdracht.Status == Common.OnderhoudStatus.Klaargemeld && !onderhoudsopdracht.IsApk)
                {
                    onderhoudsopdracht.Status = Common.OnderhoudStatus.Afgemeld;
                }
            }

            oldOnderhoudsopdracht.Status          = onderhoudsopdracht.Status;
            oldOnderhoudsopdracht.Kilometerstand  = onderhoudsopdracht.Kilometerstand;
            oldOnderhoudsopdracht.IsApk           = onderhoudsopdracht.IsApk;
            oldOnderhoudsopdracht.AutoId          = onderhoudsopdracht.AutoId;
            oldOnderhoudsopdracht.Werkzaamheden   = onderhoudsopdracht.Werkzaamheden;
            oldOnderhoudsopdracht.SteekproefDatum = onderhoudsopdracht.SteekproefDatum;

            _onderhoudRepository.Update(oldOnderhoudsopdracht);

            if (statusChanged)
            {
                OnderhoudStatusChangedEvent onderhoudStatusChangedEvent = CreateOnderhoudStatusChangedEvent(onderhoudsopdracht);
                _publisher.Publish(onderhoudStatusChangedEvent);
            }
            if (klaargemeldEvent)
            {
                AutoKlaargemeldEvent autoKlaargemeldEvent = CreateAutoKlaargemeldEvent(onderhoudsopdracht);
                _publisher.Publish(autoKlaargemeldEvent);
            }

            return(onderhoudsopdracht);
        }