public DefinitionDocument CreateDefinitionDocumentFromInfo(IDocumentSession session, DefinitionInfo definitionInfo) { var definition = new DefinitionDocument(); // Save properties definition.OriginalId = definitionInfo.Id; definition.Text = definitionInfo.Text; // Generate document hash definition.Hash = Convert.ToBase64String(new System.Security.Cryptography.SHA256Managed().ComputeHash(Encoding.UTF8.GetBytes(definition.Text))); session.Store(definition); session.SaveChanges(); return definition; }
public void Should_be_possible_to_create_a_definition_document_from_Dto() { // Arrange var sampleInfo = new DefinitionInfo(); sampleInfo.Id = "def01"; sampleInfo.Text = "def01_text"; var factory = new DefinitionDocumentFactory(localDataProvider); // Act var definitionDocument = factory.CreateDefinitionDocumentFromInfo(localDataProvider.GetSession(), sampleInfo); // Assert Assert.IsNotNull(definitionDocument); Assert.AreEqual(sampleInfo.Id, definitionDocument.OriginalId); Assert.AreEqual(sampleInfo.Text, definitionDocument.Text); }
public void Should_be_possible_to_load_a_created_definition() { IDocumentSession fakeSession = localDataProvider.GetSession(); // Arrange var sampleInfo = new DefinitionInfo(); sampleInfo.Id = "def01"; sampleInfo.Text = "def01_text"; var factory = new DefinitionDocumentFactory(localDataProvider); // Act factory.CreateDefinitionDocumentFromInfo(fakeSession, sampleInfo); var definitionDocument = localDataProvider.GetSession().Query<DefinitionDocument>().Single(x=>x.OriginalId == sampleInfo.Id); // Assert Assert.IsNotNull(definitionDocument); Assert.AreEqual(sampleInfo.Id, definitionDocument.OriginalId); Assert.AreEqual(sampleInfo.Text, definitionDocument.Text); }
public void Should_be_stored_a_created_definition_hash() { // Arrange var sampleInfo = new DefinitionInfo() { Id = "def01", Text = "def01_text" }; var factory = new DefinitionDocumentFactory(localDataProvider); // Act var result = factory.CreateDefinitionDocumentFromInfo(localDataProvider.GetSession(), sampleInfo); // Assert Assert.IsFalse(string.IsNullOrEmpty(result.Hash)); }
private Dictionary<string, string> SaveListOfCollectRequest(IDocumentSession session, CollectPackage collectPackage, Request[] collectRequests, DefinitionInfo[] definitions, string clientId) { var identifiers = new Dictionary<string, string>(); foreach (var req in collectRequests) { var definitionDocument = Repository.GetDefinitionByOriginalId(session, req.DefinitionId); if (definitionDocument == null) { definitionDocument = DefinitionFactory.CreateDefinitionDocumentFromInfo(session, definitions.First(x => x.Id == req.DefinitionId)); } CollectRequest request = this.CollectAssembler.CreateCollectRequestFromDTO(req, definitionDocument.Oid); request.ClientId = clientId; session.Store(request); request.CollectPackageId = collectPackage.Oid; session.SaveChanges(); identifiers.Add(req.RequestId, request.Oid.ToString()); } return identifiers; }
private Package CreatePackage(Request request, DefinitionInfo definitionInfo, DateTime? fakeDate = null) { var date = fakeDate ?? DateTime.Now; var fakePackage = new Package() { Date = date, Definitions = new DefinitionInfo[] { definitionInfo }, CollectRequests = new Request[] { request }, ScheduleInformation = new ScheduleInformation() { ScheduleDate = date } }; return fakePackage; }