public PostWarningNoteResponse PostWarningNote(PostWarningNoteRequest request) { var person = _databaseContext.Persons.FirstOrDefault(x => x.Id == request.PersonId); if (person == null) { throw new PersonNotFoundException($"Person with given id ({request.PersonId}) not found"); } var warningNote = request.ToDatabaseEntity(); _databaseContext.WarningNotes.Add(warningNote); _databaseContext.SaveChanges(); var response = new PostWarningNoteResponse { WarningNoteId = warningNote.Id }; // try // { var dt = DateTime.Now; var note = new WarningNoteCaseNote { FirstName = person.FirstName, LastName = person.LastName, MosaicId = person.Id.ToString(), Timestamp = dt.ToString("dd/MM/yyyy H:mm:ss"), Note = $"{dt.ToShortDateString()} | Warning Note | Warning note created against this person", FormNameOverall = "API_WarningNote", FormName = "Warning Note Created", WarningNoteId = warningNote.Id.ToString(), WorkerEmail = request.CreatedBy }; var caseNotesDocument = new CaseNotesDocument { CaseFormData = JsonConvert.SerializeObject(note) }; response.CaseNoteId = _processDataGateway.InsertCaseNoteDocument(caseNotesDocument).Result; // } // catch (Exception ex) // { // _databaseContext.WarningNotes.Remove(warningNote); // _databaseContext.SaveChanges(); // throw new PostWarningNoteException($"Unable to create a case note. Warning Note not created: {ex.Message}"); // } return(response); }
public void ExecutePostReturnsCorrectCaseNoteId() { var request = new PostWarningNoteRequest(); var expectedResponse = new PostWarningNoteResponse() { CaseNoteId = _fixture.Create <string>() }; _mockDatabaseGateway .Setup(x => x.PostWarningNote( It.Is <PostWarningNoteRequest>(r => r == request))) .Returns(expectedResponse); var response = _classUnderTest.ExecutePost(request); response.CaseNoteId.Should().BeEquivalentTo(expectedResponse.CaseNoteId); }