/// <inheritdoc /> public CreateContactDetailResult CreateContactDetail( long personId, DateTime created, DateTime captured, string emailAddress, DateTime?emailVerificationCompletion) { CreateContactDetailResult toReturn = null; object sprocParameters = new { Person_Id = personId, Created = created, Captured = captured, EmailAddress = emailAddress, EmailVerificationCompletion = emailVerificationCompletion, }; toReturn = this.ExecuteStoredProcedureSingularResult <CreateContactDetailResult>( "Create_ContactDetail", sprocParameters); return(toReturn); }
private void InsertRecordsIntoDatabase(Person person) { // 1) Person this.loggerProvider.Debug( $"Invoking " + $"{nameof(IDataCaptureDatabaseAdapter)}.{nameof(IDataCaptureDatabaseAdapter.CreatePerson)}..."); CreatePersonResult createPersonResult = this.dataCaptureDatabaseAdapter.CreatePerson( DateTime.UtcNow, person.Enrolled.Value, person.FirstName, person.LastName); this.loggerProvider.Info( $"Created: {createPersonResult}."); long personId = createPersonResult.Id; // Now we have an id for Person, insert into the satellite tables. // 2) ContactDetail this.loggerProvider.Debug( $"Invoking " + $"{nameof(IDataCaptureDatabaseAdapter)}.{nameof(IDataCaptureDatabaseAdapter.CreateContactDetail)}..."); CreateContactDetailResult createContactDetailResult = this.dataCaptureDatabaseAdapter.CreateContactDetail( personId, DateTime.UtcNow, person.ContactDetail.Captured.Value, person.ContactDetail.EmailAddress, person.ContactDetail.EmailVerificationCompletion); this.loggerProvider.Info($"Created: {createContactDetailResult}."); this.InsertIntoOneToManyTables(personId, person); }
public void Create_EmailAddressDoesNotExistAlready_NoExceptionThrown() { // Arrange ReadPersonResult readPersonResult = null; CreatePersonResult createPersonResult = new CreatePersonResult() { Id = 123, }; CreateContactDetailResult createContactDetailResult = new CreateContactDetailResult() { Id = 456, }; CreateConsentResult createConsentResult = new CreateConsentResult() { Id = 789, }; CreateCookieResult createCookieResult = new CreateCookieResult() { Id = 345, }; CreateRouteResult createRouteResult = new CreateRouteResult() { Id = 678, }; PersonManager personManager = this.CreatePersonManagerInstance( mockDataCaptureDatabaseAdapter => { mockDataCaptureDatabaseAdapter .Setup(x => x.ReadPerson( It.IsAny <string>())) .Returns(readPersonResult); mockDataCaptureDatabaseAdapter .Setup(x => x.CreatePerson( It.IsAny <DateTime>(), It.IsAny <DateTime>(), It.IsAny <string>(), It.IsAny <string>())) .Returns(createPersonResult); mockDataCaptureDatabaseAdapter .Setup(x => x.CreateContactDetail( It.IsAny <long>(), It.IsAny <DateTime>(), It.IsAny <DateTime>(), It.IsAny <string>(), It.IsAny <DateTime?>())) .Returns(createContactDetailResult); mockDataCaptureDatabaseAdapter .Setup(x => x.CreateConsent( It.IsAny <long>(), It.IsAny <DateTime>(), It.IsAny <DateTime>(), It.IsAny <bool?>())) .Returns(createConsentResult); mockDataCaptureDatabaseAdapter .Setup(x => x.CreateCookie( It.IsAny <long>(), It.IsAny <DateTime>(), It.IsAny <DateTime>(), It.IsAny <string>())) .Returns(createCookieResult); mockDataCaptureDatabaseAdapter .Setup(x => x.CreateRoute( It.IsAny <long>(), It.IsAny <DateTime>(), It.IsAny <DateTime>(), It.IsAny <string>())) .Returns(createRouteResult); }); Person person = new Person() { Consent = new Consent() { GdprConsentDeclared = DateTime.Parse("2018-11-19 08:30:21"), GdprConsentGiven = true, }, Cookie = new Cookie() { Captured = DateTime.Parse("2018-11-19 08:31:11"), CookieIdentifier = "ABC0123456789", }, Route = new Route() { Captured = DateTime.Parse("2018-11-19 08:29:03"), RouteIdentifier = "ZYX9876543210", }, ContactDetail = new ContactDetail() { Captured = DateTime.Parse("2018-11-18 08:30:21"), EmailAddress = "*****@*****.**", EmailVerificationCompletion = DateTime.Parse("2018-11-18 13:00:23"), }, Enrolled = DateTime.Parse("2018-11-18 08:30:20"), FirstName = "Joe", LastName = "Bloggs", }; PersonRecordExistsAlreadyException thrownException = null; // Act try { personManager.Create(person); } catch (PersonRecordExistsAlreadyException personRecordExistsAlreadyException) { thrownException = personRecordExistsAlreadyException; } // Assert Assert.IsNull(thrownException); }