Ejemplo n.º 1
0
        void Application_Start(object sender, EventArgs e)
        {
            if (documentStore == null)
            {
                if (ConfigurationManager.AppSettings["debuglocal"].ToString() == "true")
                {
                    documentStore = new DocumentStore() { Url = "http://localhost:8080" };
                    documentStore.Initialize();
                }
                else
                {
                    string connectionString = ConfigurationManager.AppSettings["RavenDBConnection"].ToString();
                    var connectionValues = connectionString.Split(';');
                    string url = connectionValues[0].Replace("Url=", string.Empty)
                                                        .Trim();
                    string apiKey = connectionValues[1].Replace("ApiKey=", string.Empty).Trim();

                    documentStore = new DocumentStore()
                    {
                        Url = url,
                        ApiKey = apiKey
                    };
                    documentStore.Initialize();
                }
            }

            Application["DocumentStore"] = documentStore;

            var repository = new RavenDBRepository(documentStore);
            var registry = new RavenFilterRegistry<Step>(repository);
            Application.Add("Registry", registry);
            Application.Add("Repository", repository);
        }
Ejemplo n.º 2
0
        protected void Page_Load(object sender, EventArgs e)
        {
            string to = Request["To"].ToString();
            string body = Request["Body"].ToString();
            string from = Request["From"].ToString();

            var docStore = Application["DocumentStore"] as DocumentStore;
            var repository = new RavenDBRepository(docStore);
            var accountController = new AccountController();
            var users = accountController.GetActiveUsers(repository);

            var keywordProcessor = new KeywordProcessor(docStore);
            var message = keywordProcessor.SetActiveUsersForMatch(users)
                                            .MatchReplyToOriginalMessage(body, from);

            using (var session = docStore.OpenSession())
            {
                var step = session.Load<Step>(message.SubjectMatterId);
                step.Answer = message.UserAnswer;
                step.AnswerDate = DateTime.Now;
                string json = JsonConvert.SerializeObject(step);

                var workflowController = new WorkflowController();
                workflowController.ProcessStep(json, repository,
                                                   Application["Registry"] as RavenFilterRegistry<Step>,
                                                   message.UserId);
            }
        }
Ejemplo n.º 3
0
        protected void Page_Load(object sender, EventArgs e)
        {
            string to   = Request["To"].ToString();
            string body = Request["Body"].ToString();
            string from = Request["From"].ToString();

            var docStore          = Application["DocumentStore"] as DocumentStore;
            var repository        = new RavenDBRepository(docStore);
            var accountController = new AccountController();
            var users             = accountController.GetActiveUsers(repository);

            var keywordProcessor = new KeywordProcessor(docStore);
            var message          = keywordProcessor.SetActiveUsersForMatch(users)
                                   .MatchReplyToOriginalMessage(body, from);

            using (var session = docStore.OpenSession())
            {
                var step = session.Load <Step>(message.SubjectMatterId);
                step.Answer     = message.UserAnswer;
                step.AnswerDate = DateTime.Now;
                string json = JsonConvert.SerializeObject(step);

                var workflowController = new WorkflowController();
                workflowController.ProcessStep(json, repository,
                                               Application["Registry"] as RavenFilterRegistry <Step>,
                                               message.UserId);
            }
        }
Ejemplo n.º 4
0
        public void RavenDBRepository_Add_Inserts_Item_Into_DataBase_With_Correct_ColumnValues()
        {
            //Arrange
            var mockCache = new Mock<ICacheProvider>();
            SetUpDatabase(TestConstants.PETAPOCO_RecordCount);

            using (IDocumentSession _ravenDB = RavenDBDocumentStore.Instance.OpenSession())
            {
                var repository = new RavenDBRepository<Dog>(_ravenDB, mockCache.Object);
                var dog = new Dog
                {
                    Age = TestConstants.PETAPOCO_InsertDogAge,
                    Name = TestConstants.PETAPOCO_InsertDogName
                };

                //Act
                repository.Add(dog);

                //The change is not persisted until the session's changes are saved
                _ravenDB.SaveChanges();
            }

            //Assert
            Thread.Sleep(5000);
            Dog newDog = GetLastItemAdded();
            Assert.AreEqual(TestConstants.PETAPOCO_InsertDogAge, newDog.Age);
            Assert.AreEqual(TestConstants.PETAPOCO_InsertDogName, newDog.Name);
        }
Ejemplo n.º 5
0
        public void RavenDBRepository_Add_Inserts_Item_Into_DataBase()
        {
            //Arrange
            var mockCache = new Mock<ICacheProvider>();
            SetUpDatabase(TestConstants.PETAPOCO_RecordCount);

            using (IDocumentSession _ravenDB = RavenDBDocumentStore.Instance.OpenSession())
            {
                var repository = new RavenDBRepository<Dog>(_ravenDB, mockCache.Object);
                var dog = new Dog
                {
                    Age = TestConstants.PETAPOCO_InsertDogAge,
                    Name = TestConstants.PETAPOCO_InsertDogName
                };

                //Act
                repository.Add(dog);

                //The change is not persisted until the session's changes are saved
                _ravenDB.SaveChanges();
            }

            //Assert
            Thread.Sleep(5000);
            int actualCount;
            using (IDocumentSession session = RavenDBDocumentStore.Instance.OpenSession())
            {
                actualCount = session.Query<Dog>().Count();
            }
            Assert.AreEqual(TestConstants.PETAPOCO_RecordCount + 1, actualCount);
        }
Ejemplo n.º 6
0
        void Application_Start(object sender, EventArgs e)
        {
            if (documentStore == null)
            {
                if (ConfigurationManager.AppSettings["debuglocal"].ToString() == "true")
                {
                    documentStore = new DocumentStore()
                    {
                        Url = "http://localhost:8080"
                    };
                    documentStore.Initialize();
                }
                else
                {
                    string connectionString = ConfigurationManager.AppSettings["RavenDBConnection"].ToString();
                    var    connectionValues = connectionString.Split(';');
                    string url = connectionValues[0].Replace("Url=", string.Empty)
                                 .Trim();
                    string apiKey = connectionValues[1].Replace("ApiKey=", string.Empty).Trim();

                    documentStore = new DocumentStore()
                    {
                        Url    = url,
                        ApiKey = apiKey
                    };
                    documentStore.Initialize();
                }
            }

            Application["DocumentStore"] = documentStore;

            var repository = new RavenDBRepository(documentStore);
            var registry   = new RavenFilterRegistry <Step>(repository);

            Application.Add("Registry", registry);
            Application.Add("Repository", repository);
        }
Ejemplo n.º 7
0
        public void RavenDBRepository_Update_Updates_Item_With_Correct_ID()
        {
            //Arrange
            var mockCache = new Mock<ICacheProvider>();
            SetUpDatabase(TestConstants.PETAPOCO_RecordCount);

            using (IDocumentSession _ravenDB = RavenDBDocumentStore.Instance.OpenSession())
            {
                var repository = new RavenDBRepository<Dog>(_ravenDB, mockCache.Object);
                var dog = new Dog
                {
                    ID = TestConstants.PETAPOCO_UpdateDogId,
                    Age = TestConstants.PETAPOCO_UpdateDogAge,
                    Name = TestConstants.PETAPOCO_UpdateDogName
                };

                //Act
                repository.Update(dog);
            }

            //Assert
            //DataTable table = DataUtil.GetTable(TestConstants.PETAPOCO_DatabaseName, TestConstants.PETAPOCO_TableName);
            //foreach (DataRow row in table.Rows)
            //{
            //    if ((int)row["ID"] == TestConstants.PETAPOCO_UpdateDogId)
            //    {
            //        Assert.AreEqual(row["Age"], TestConstants.PETAPOCO_UpdateDogAge);
            //        Assert.AreEqual(row["Name"], TestConstants.PETAPOCO_UpdateDogName);
            //    }
            //}
            Assert.IsTrue(false);
        }
Ejemplo n.º 8
0
        public void RavenDBRepository_Update_Updates_Item_In_DataBase()
        {
            //Arrange
            var mockCache = new Mock<ICacheProvider>();
            SetUpDatabase(TestConstants.PETAPOCO_RecordCount);

            using (IDocumentSession _ravenDB = RavenDBDocumentStore.Instance.OpenSession())
            {
                var repository = new RavenDBRepository<Dog>(_ravenDB, mockCache.Object);
                var dog = new Dog
                {
                    ID = TestConstants.PETAPOCO_UpdateDogId,
                    Age = TestConstants.PETAPOCO_UpdateDogAge,
                    Name = TestConstants.PETAPOCO_UpdateDogName
                };

                //Act
                repository.Update(dog);
            }

            //Assert
            //int actualCount = DataUtil.GetRecordCount(TestConstants.PETAPOCO_DatabaseName,
            //    TestConstants.PETAPOCO_TableName);
            //Assert.AreEqual(TestConstants.PETAPOCO_RecordCount, actualCount);
            Assert.IsTrue(false);
        }
Ejemplo n.º 9
0
        public void RavenDBRepository_GetByProperty_Returns_Models_With_Correct_Properties(string dogName)
        {
            //Arrange
            var mockCache = new Mock<ICacheProvider>();
            SetUpDatabase(5);

            IEnumerable<Dog> dogs;
            using (IDocumentSession _ravenDB = RavenDBDocumentStore.Instance.OpenSession())
            {
                var repository = new RavenDBRepository<Dog>(_ravenDB, mockCache.Object);

                //Act
                dogs = repository.GetByProperty<string>("Name", dogName);
            }

            //Assert
            foreach (Dog dog in dogs)
            {
                Assert.AreEqual(dogName, dog.Name);
            }
        }
Ejemplo n.º 10
0
        public void RavenDBRepository_GetByProperty_Returns_List_Of_Models_If_Valid_Property(string dogName, int count)
        {
            //Arrange
            var mockCache = new Mock<ICacheProvider>();
            SetUpDatabase(5);

            IEnumerable<Dog> dogs;
            using (IDocumentSession _ravenDB = RavenDBDocumentStore.Instance.OpenSession())
            {
                var repository = new RavenDBRepository<Dog>(_ravenDB, mockCache.Object);

                //Act
                dogs = repository.GetByProperty<string>("Name", dogName);
            }

            //Assert
            Assert.IsInstanceOf<IEnumerable<Dog>>(dogs);
            Assert.AreEqual(count, dogs.Count());
        }
Ejemplo n.º 11
0
        public void RavenDBRepository_GetByProperty_Returns_Instance_Of_Model_If_Valid_Property()
        {
            //Arrange
            var mockCache = new Mock<ICacheProvider>();
            SetUpDatabase(5);
            var dogName = _dogNames[2];

            Dog dog;
            using (IDocumentSession _ravenDB = RavenDBDocumentStore.Instance.OpenSession())
            {
                var repository = new RavenDBRepository<Dog>(_ravenDB, mockCache.Object);

                //Act
                dog = repository.GetByProperty<string>("Name", dogName).FirstOrDefault();
            }

            //Assert
            Assert.IsInstanceOf<Dog>(dog);
        }
Ejemplo n.º 12
0
        public void RavenDBRepository_GetById_Returns_Null_If_InValid_Id()
        {
            //Arrange
            var mockCache = new Mock<ICacheProvider>();
            SetUpDatabase(5);

            Dog dog;
            using (IDocumentSession _ravenDB = RavenDBDocumentStore.Instance.OpenSession())
            {
                var repository = new RavenDBRepository<Dog>(_ravenDB, mockCache.Object);

                //Act
                dog = repository.GetById(TestConstants.PETAPOCO_InvalidDogId);
            }

            //Assert
            Thread.Sleep(5000);
            Assert.IsNull(dog);
        }
Ejemplo n.º 13
0
        public void RavenDBRepository_GetById_Returns_Model_With_Correct_Properties()
        {
            //Arrange
            var mockCache = new Mock<ICacheProvider>();
            SetUpDatabase(5);

            Dog dog;
            using (IDocumentSession _ravenDB = RavenDBDocumentStore.Instance.OpenSession())
            {
                var repository = new RavenDBRepository<Dog>(_ravenDB, mockCache.Object);

                //Act
                dog = repository.GetById(TestConstants.PETAPOCO_ValidDogId);
            }

            //Assert
            Thread.Sleep(5000);
            Assert.AreEqual(TestConstants.PETAPOCO_ValidDogAge, dog.Age.ToString());
            Assert.AreEqual(TestConstants.PETAPOCO_ValidDogName, dog.Name);
        }
Ejemplo n.º 14
0
        public void RavenDBRepository_GetAll_Returns_Models_With_Correct_Properties()
        {
            //Arrange
            var mockCache = new Mock<ICacheProvider>();
            SetUpDatabase(5);

            IEnumerable<Dog> dogs;
            using (IDocumentSession _ravenDB = RavenDBDocumentStore.Instance.OpenSession())
            {
                var repository = new RavenDBRepository<Dog>(_ravenDB, mockCache.Object);

                //Act
                dogs = repository.GetAll();
            }

            //Assert
            Thread.Sleep(5000);
            var dog = dogs.First();
            Assert.AreEqual(_dogAges[0], dog.Age.ToString());
            Assert.AreEqual(_dogNames[0], dog.Name);
        }
Ejemplo n.º 15
0
        public void RavenDBRepository_GetAll_Returns_List_Of_Models()
        {
            //Arrange
            var mockCache = new Mock<ICacheProvider>();
            SetUpDatabase(5);

            IEnumerable<Dog> dogs;
            using (IDocumentSession _ravenDB = RavenDBDocumentStore.Instance.OpenSession())
            {
                var repository = new RavenDBRepository<Dog>(_ravenDB, mockCache.Object);

                //Act
                dogs = repository.GetAll();
            }

            //Assert
            Thread.Sleep(5000);
            var listOfDogs = dogs.ToList();
            for (int i = 0; i < listOfDogs.Count(); i++)
            {
                Assert.IsInstanceOf<Dog>(listOfDogs[i]);
            }
        }
Ejemplo n.º 16
0
        public void RavenDBRepository_GetAll_Returns_All_Rows(int count)
        {
            //Arrange
            var mockCache = new Mock<ICacheProvider>();
            SetUpDatabase(count);

            IEnumerable<Dog> dogs;
            using (IDocumentSession _ravenDB = RavenDBDocumentStore.Instance.OpenSession())
            {
                var repository = new RavenDBRepository<Dog>(_ravenDB, mockCache.Object);

                //Act
                dogs = repository.GetAll();
            }

            //Assert
            Thread.Sleep(5000);
            Assert.AreEqual(count, dogs.Count());
        }