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));
        }
Example #5
0
        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;
        }
Example #6
0
        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;
        }