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 }; }
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); }