public void LoadEmployee()
        {
            string id;
            #region Create Employee
            using (var session = Store.OpenSession())
            {
                var employee = new Employee
                                   {
                                       HourlyRate = 20,
                                       JoinAt = DateTime.Now,
                                       Name = "Mohammed Ibrahim",
                                       Specialities = new[] {"RavenDB"}
                                   };

                session.Store(employee);
                id = employee.Id;
                session.SaveChanges();
            }
            #endregion

            using (var session = Store.OpenSession())
            {
                var emp = session.Load<Employee>(id);
                Assert.NotNull(emp);
            }
        }
        public void UpdateCompany()
        {
            string companyId;
            string employeeId;

            using (var session = Store.OpenSession())
            {
                var employee = new Employee
                {
                    HourlyRate = 30,
                    JoinAt = DateTime.Now,
                    Name = "Raven DBBBB",
                    Specialities = new[] { "NoSQL" }
                };

                session.Store(employee);
                employeeId = employee.Id;

                var company = new Company
                                  {
                                      Country = "Kuwait",
                                      Employees = new List<Employee>
                                                      {
                                                          employee
                                                      },
                                      Name = "CompO1"
                                  };

                session.Store(company);
                companyId = company.Id;

                session.SaveChanges();
            }

            using (var session = Store.OpenSession())
            {
                var employee = session.Load<Employee>(employeeId);
                var company = session.Load<Company>(companyId);

                employee.Name = "RavenDB";
                company.Name = "IT Info Company";

                //this will save all changes automatically
                // in a single request
                session.SaveChanges();
            }

            using (var session = Store.OpenSession())
            {
                var emp = session.Load<Employee>(employeeId);
                var comp = session.Load<Company>(companyId);
                Assert.Equal("RavenDB", emp.Name);
                Assert.Equal("IT Info Company", comp.Name);
            }
        }
        public void CreateNewCompany()
        {
            using (var session = Store.OpenSession())
            {
                var employee = new Employee
                {
                    HourlyRate = 50,
                    JoinAt = DateTime.Today.Date,
                    Name = "John Smith",
                    Specialities = new[] { "C#" }
                };

                var employee2 = new Employee
                {
                    HourlyRate = 50,
                    JoinAt = DateTime.Today.Date,
                    Name = "Smith Lee",
                    Specialities = new[] { "RavenDB", "SQL" }
                };

                var company = new Company
                                  {
                                      Country = "United Kingdom",
                                      Name = "ItsMeRaven",
                                      Employees = new List<Employee>
                                                      {
                                                          employee,
                                                          employee2
                                                      }
                                  };

                // serializing the whole document into one big JSON blob
                session.Store(company);
                Assert.NotNull(company.Id);

                // nothing sent to the server yet
                session.SaveChanges();
            }
        }
        public void UpdateEmployee()
        {
            string id;
            using (var session = Store.OpenSession())
            {
                var employee = new Employee
                                   {
                                       HourlyRate = 20,
                                       JoinAt = DateTime.Now,
                                       Name = "Lee Woo",
                                       Specialities = new[] {"C#"}
                                   };

                session.Store(employee);
                session.SaveChanges();
                id = employee.Id;
            }

            using (var session = Store.OpenSession())
            {
                var employee = session.Load<Employee>(id);
                employee.Name = "Kung Fu Panda";
                session.SaveChanges();
            }

            using (var session = Store.OpenSession())
            {
                var employee = session.Load<Employee>(id);
                Assert.Equal("Kung Fu Panda", employee.Name);
            }
        }
        public void CreateNewEmployee()
        {
            using (var session = Store.OpenSession())
            {
                var employee = new Employee
                                   {
                                       HourlyRate = 50,
                                       JoinAt = DateTime.Today.Date,
                                       Name = "Mohammed Ibrahim",
                                       Specialities = new[] {"C#", "RavenDB", "Knockoutjs"}
                                   };

                Assert.Null(employee.Id);
                session.Store(employee);
                Assert.NotNull(employee.Id);

                // nothing sent to the server yet
                session.SaveChanges();
            }
        }