Example #1
0
        public void TestFindAllOnderhoud()
        {
            using (var repo = new OnderhoudRepository(new AutosBackendContext(_options)))
            {
                var onderhoud = new Onderhoudsopdracht()
                {
                    IsApk          = true,
                    Kilometerstand = 110000,
                    AutoId         = 1,
                    Status         = OnderhoudStatus.Aangemeld,
                };
                repo.Insert(onderhoud);
                onderhoud = new Onderhoudsopdracht()
                {
                    IsApk          = false,
                    Kilometerstand = 200000,
                    AutoId         = 1,
                    Status         = OnderhoudStatus.Aangemeld,
                };
                repo.Insert(onderhoud);
            }

            using (var repo = new OnderhoudRepository(new AutosBackendContext(_options)))
            {
                Assert.AreEqual(2, repo.Count());
            }
        }
        public void OnderhoudsopdrachtRepositoryDeleteTest()
        {
            // Arrange
            using (var repo = new OnderhoudsopdrachtRepository(new OnderhoudBeheerContext(_options)))
            {
                var opdracht = new Onderhoudsopdracht()
                {
                    Kenteken                   = "AA-BB-11",
                    HasApk                     = true,
                    Kilometerstand             = 100,
                    OnderhoudsBeschrijving     = "Voorwiel links vervangen",
                    OpdrachtAangemaakt         = DateTime.UtcNow,
                    Bestuurder                 = "Rob",
                    TelefoonNrBestuurder       = "0315-12356",
                    OpdrachtStatus             = 1,
                    OpdrachtStatusBeschrijving = "Aangemeld"
                };
                // Act
                repo.Insert(opdracht);
                repo.Delete(1);
            }

            // Assert
            using (var repo = new OnderhoudsopdrachtRepository(new OnderhoudBeheerContext(_options)))
            {
                Assert.AreEqual(0, repo.Count());
            }
        }
 private OnderhoudsopdrachtUpdatedEvent CreateUpdateEvent(Onderhoudsopdracht opdracht)
 {
     return(new OnderhoudsopdrachtUpdatedEvent
     {
         RoutingKey = "Minor.Case2.MaRoWo.OnderhoudsBeheer.OnderhoudsopdrachtUpdated",
         TimeStamp = DateTime.UtcNow,
         CorrelationID = Guid.NewGuid(),
         OnderhoudsBeurtId = opdracht.Id,
         HasApk = opdracht.HasApk,
         Kenteken = opdracht.Kenteken,
         Kilometerstand = opdracht.Kilometerstand,
         OnderhoudsBeschrijving = opdracht.OnderhoudsBeschrijving,
         OpdrachtAangemaakt = opdracht.OpdrachtAangemaakt,
         OpdrachtStatus = opdracht.OpdrachtStatus,
         OpdrachtStatusBeschrijving = opdracht.OpdrachtStatusBeschrijving,
         Bestuurder = opdracht.Bestuurder,
         TelefoonNrBestuurder = opdracht.TelefoonNrBestuurder
     });
 }
        public void UpdateOnderhoudsopdracht(UpdateOnderhoudCommand updateOnderhoudCommand)
        {
            // Map onderhoudCommand to a valid Onderhoudsopdracht entity
            var opdracht = new Onderhoudsopdracht
            {
                Id                     = updateOnderhoudCommand.OnderhoudsId,
                Kenteken               = updateOnderhoudCommand.Kenteken,
                Kilometerstand         = updateOnderhoudCommand.Kilometerstand,
                OnderhoudsBeschrijving = updateOnderhoudCommand.OnderhoudsBeschrijving,
                HasApk                 = updateOnderhoudCommand.HasApk,
                OpdrachtAangemaakt     = updateOnderhoudCommand.OpdrachtAangemaakt
            };

            // Persist data using repository and store key after insert
            _onderhoudsopdrachtRepository.Update(opdracht);

            var opdrachtUpdatedEvent = CreateUpdateEvent(opdracht);

            _eventPublisher.Publish(opdrachtUpdatedEvent);
        }
        /// <summary>
        ///
        /// </summary>
        /// <param name="onderhoudCommand"></param>
        public void AddOnderhoudsopdracht(CreateOnderhoudCommand onderhoudCommand)
        {
            // Map onderhoudCommand to a valid Onderhoudsopdracht entity
            var opdracht = new Onderhoudsopdracht
            {
                HasApk                     = onderhoudCommand.HasApk,
                Kenteken                   = onderhoudCommand.Kenteken,
                Kilometerstand             = onderhoudCommand.Kilometerstand,
                OnderhoudsBeschrijving     = onderhoudCommand.OnderhoudsBeschrijving,
                OpdrachtAangemaakt         = onderhoudCommand.OpdrachtAangemaakt,
                OpdrachtStatus             = OpdrachtStatussen.Aangemeld().StatusId,
                OpdrachtStatusBeschrijving = OpdrachtStatussen.Aangemeld().Beschrijving,
                Bestuurder                 = onderhoudCommand.Bestuurder,
                TelefoonNrBestuurder       = onderhoudCommand.TelefoonNrBestuurder
            };

            // Persist data using repository and store key after insert
            var opdrachtId = _onderhoudsopdrachtRepository.Insert(opdracht);

            // Map opdracht to OnderhoudsopdrachtCreatedEvent
            var opdrachtCreatedEvent = new OnderhoudsopdrachtCreatedEvent
            {
                RoutingKey                 = "Minor.Case2.MaRoWo.OnderhoudsBeheer.OnderhoudsopdrachtCreated",
                TimeStamp                  = DateTime.UtcNow,
                CorrelationID              = Guid.NewGuid(),
                OnderhoudsBeurtId          = opdrachtId,
                HasApk                     = opdracht.HasApk,
                Kenteken                   = opdracht.Kenteken,
                Kilometerstand             = opdracht.Kilometerstand,
                OnderhoudsBeschrijving     = opdracht.OnderhoudsBeschrijving,
                OpdrachtAangemaakt         = opdracht.OpdrachtAangemaakt,
                OpdrachtStatus             = opdracht.OpdrachtStatus,
                OpdrachtStatusBeschrijving = opdracht.OpdrachtStatusBeschrijving,
                Bestuurder                 = opdracht.Bestuurder,
                TelefoonNrBestuurder       = opdracht.TelefoonNrBestuurder
            };

            // Publish event "OnderhoudCreatedEvent"
            _eventPublisher.Publish(opdrachtCreatedEvent);
        }
        public void OnderhoudsopdrachtRepositoryFindAllTest()
        {
            // Arrange - Act
            using (var repo = new OnderhoudsopdrachtRepository(new OnderhoudBeheerContext(_options)))
            {
                var opdracht1 = new Onderhoudsopdracht()
                {
                    Kenteken                   = "AA-BB-11",
                    HasApk                     = true,
                    Kilometerstand             = 100,
                    OnderhoudsBeschrijving     = "Achterlicht rechts vervangen",
                    OpdrachtAangemaakt         = DateTime.UtcNow,
                    Bestuurder                 = "Rob",
                    TelefoonNrBestuurder       = "0315-12356",
                    OpdrachtStatus             = 1,
                    OpdrachtStatusBeschrijving = "Aangemeld"
                };
                repo.Insert(opdracht1);
                var opdracht2 = new Onderhoudsopdracht()
                {
                    Kenteken                   = "AA-BB-11",
                    HasApk                     = true,
                    Kilometerstand             = 130,
                    OnderhoudsBeschrijving     = "Achterlicht links vervangen",
                    OpdrachtAangemaakt         = DateTime.UtcNow,
                    Bestuurder                 = "Rob",
                    TelefoonNrBestuurder       = "0315-12356",
                    OpdrachtStatus             = 1,
                    OpdrachtStatusBeschrijving = "Aangemeld"
                };
                repo.Insert(opdracht2);
            }

            // Assert
            using (var repo = new OnderhoudsopdrachtRepository(new OnderhoudBeheerContext(_options)))
            {
                Assert.AreEqual(2, repo.Count());
            }
        }