Пример #1
0
        private static void CreateEmptyDatabase()
        {
            Debug.WriteLine("Starting CreateEmptyDatabase()");

            var sw = Stopwatch.StartNew();
            var conString = ConfigurationManager.ConnectionStrings["NRepository_Contoso"].ConnectionString;
            if (Database.Exists(conString))
            {
                using (var con = new SqlConnection(conString))
                {
                    con.Open();
                    new SqlCommand("ALTER DATABASE [NRepository_Contoso_Test] SET OFFLINE  WITH ROLLBACK IMMEDIATE", con).ExecuteNonQuery();
                    new SqlCommand("ALTER DATABASE [NRepository_Contoso_Test] SET ONLINE", con).ExecuteNonQuery();
                    new SqlCommand("DROP DATABASE [NRepository_Contoso_Test]", con).ExecuteNonQuery();
                }

                //      Database.Delete(conString);
            }

            // Now force the database recreation
            ContosoDbInitializer.AllowDatabaseSeed = false;
            using (var repository = new ContosoUniversityEntityFrameworkRepository())
                repository.GetEntities<Department>().Any();

            Debug.WriteLine($"CreateEmptyDatabase completed in {sw.ElapsedMilliseconds} ms");
        }
Пример #2
0
        private static void CreateEmptyDatabase()
        {
            Debug.WriteLine("Starting CreateEmptyDatabase()");

            var sw        = Stopwatch.StartNew();
            var conString = ConfigurationManager.ConnectionStrings["NRepository_Contoso"].ConnectionString;

            if (Database.Exists(conString))
            {
                using (var con = new SqlConnection(conString))
                {
                    con.Open();
                    new SqlCommand("ALTER DATABASE [NRepository_Contoso_Test] SET OFFLINE  WITH ROLLBACK IMMEDIATE", con).ExecuteNonQuery();
                    new SqlCommand("ALTER DATABASE [NRepository_Contoso_Test] SET ONLINE", con).ExecuteNonQuery();
                    new SqlCommand("DROP DATABASE [NRepository_Contoso_Test]", con).ExecuteNonQuery();
                }

                //      Database.Delete(conString);
            }

            // Now force the database recreation
            ContosoDbInitializer.AllowDatabaseSeed = false;
            using (var repository = new ContosoUniversityEntityFrameworkRepository())
                repository.GetEntities <Department>().Any();

            Debug.WriteLine($"CreateEmptyDatabase completed in {sw.ElapsedMilliseconds} ms");
        }
        public void GivenIHaveTheFollowingDepartments(Table table)
        {
            using (var repository = new ContosoUniversityEntityFrameworkRepository())
            {
                foreach (var row in table.Rows)
                {
                    var commandModel = DataHelper.CreateCommandModelFromTable<DepartmentCreate.CommandModel>(table, row);
                    var response = DomainServices.Dispatch<DepartmentCreate.Response>(new DepartmentCreate.Request("test", commandModel));
                    if (response.HasValidationIssues)
                        throw new ApplicationException(string.Join(" | ", response.ValidationDetails.Select(p => p.ErrorMessage)));

                    DataHelper.AddEntityToRemove(EntityType.Department, response.DepartmentId);
                }
            }
        }
Пример #4
0
        public void GivenIHaveTheFollowingDepartments(Table table)
        {
            using (var repository = new ContosoUniversityEntityFrameworkRepository())
            {
                foreach (var row in table.Rows)
                {
                    var commandModel = DataHelper.CreateCommandModelFromTable <DepartmentCreate.CommandModel>(table, row);
                    var response     = DomainServices.Dispatch <DepartmentCreate.Response>(new DepartmentCreate.Request("test", commandModel));
                    if (response.HasValidationIssues)
                    {
                        throw new ApplicationException(string.Join(" | ", response.ValidationDetails.Select(p => p.ErrorMessage)));
                    }

                    DataHelper.AddEntityToRemove(EntityType.Department, response.DepartmentId);
                }
            }
        }
Пример #5
0
        public static IEnumerable <ColumnHeaderMapping> CreateCustomMappings()
        {
            var retVal = new List <ColumnHeaderMapping>();

            retVal.Add(new ColumnHeaderMapping(
                           "Department Name",
                           "DepartmentID",
                           deptName =>
            {
                using (var repository = new ContosoUniversityEntityFrameworkRepository())
                {
                    var department = repository.GetEntity <Department>(p => p.Name == deptName);
                    return(department.DepartmentID);
                }
            }));

            retVal.Add(new ColumnHeaderMapping(
                           "Selected Courses",
                           "SelectedCourses",
                           courseNames =>
            {
                using (var repository = new ContosoUniversityEntityFrameworkRepository())
                {
                    var titles  = courseNames.Split(',').Select(p => p.Trim());
                    var courses = repository.GetEntities <Course>(p => titles.Contains(p.Title));
                    return(courses.Select(p => p.CourseID).ToArray());
                }
            }));

            retVal.Add(new ColumnHeaderMapping(
                           "Instructor Name",
                           "InstructorID",
                           instructorName =>
            {
                var firstName = instructorName.Split(' ')[0];
                var lastName  = instructorName.Split(' ')[1];

                using (var repository = new ContosoUniversityEntityFrameworkRepository())
                {
                    var instructor = repository.GetEntity <Instructor>(p => p.FirstMidName == firstName && p.LastName == lastName);
                    return(instructor.ID);
                }
            }));

            return(retVal);
        }
        public void GivenIHaveTheFollowingInstructors(Table table)
        {
            using (var repository = new ContosoUniversityEntityFrameworkRepository())
            {
                foreach (var row in table.Rows)
                {
                    var commandModel = DataHelper.CreateCommandModelFromTable<CreateInstructorWithCourses.CommandModel>(table, row);
                    var response = new InstructorApplicationService(repository).CreateInstructorWithCourses(
                        new CreateInstructorWithCourses.Request(
                        "test",
                        commandModel));

                    if (response.HasValidationIssues)
                        throw new ApplicationException(string.Join(" | ", response.ValidationDetails.Select(p => p.ErrorMessage)));

                    DataHelper.AddEntityToRemove(EntityType.Instructor, response.InstructorId);
                }
            }
        }