File: AdvancedPatternsModelFirstInitializer.cs

package info (click to toggle)
mono-reference-assemblies 3.12.1%2Bdfsg-2
  • links: PTS, VCS
  • area: main
  • in suites: stretch
  • size: 604,240 kB
  • ctags: 625,505
  • sloc: cs: 3,967,741; xml: 2,793,081; ansic: 418,042; java: 60,435; sh: 14,833; makefile: 11,576; sql: 7,956; perl: 1,467; cpp: 1,446; yacc: 1,203; python: 598; asm: 422; sed: 16; php: 1
file content (140 lines) | stat: -rw-r--r-- 6,981 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
// Copyright (c) Microsoft Open Technologies, Inc. All rights reserved. See License.txt in the project root for license information.

namespace FunctionalTests.ProductivityApi.TemplateModels.CsAdvancedPatterns
{
    using System;
    using System.Collections.Generic;
    using System.Data.Entity;

    internal class AdvancedPatternsModelFirstInitializer : DropCreateDatabaseAlways<AdvancedPatternsModelFirstContext>
    {
        private static readonly Guid _knownBuildingGuid = new Guid("21EC2020-3AEA-1069-A2DD-08002B30309D");

        public static Guid KnownBuildingGuid
        {
            get { return _knownBuildingGuid; }
        }

        protected override void Seed(AdvancedPatternsModelFirstContext context)
        {
            context.Database.ExecuteSqlCommand(@"CREATE PROCEDURE dbo.AllOffices
                                                 AS
                                                 SET NOCOUNT ON;
                                                 SELECT Number, BuildingId, Description
                                                 FROM dbo.Offices");

            context.Database.ExecuteSqlCommand(@"CREATE PROCEDURE dbo.OfficesInBuilding
                                                 @BuildingId uniqueidentifier
                                                 AS 
                                                 SET NOCOUNT ON;
                                                 SELECT Number, BuildingId, Description
                                                 FROM dbo.Offices
                                                 WHERE BuildingId = @BuildingId");

            context.Database.ExecuteSqlCommand(
                @"CREATE PROCEDURE dbo.SkimOffLeaveBalance
                                                 @First nvarchar(4000),
                                                 @Last nvarchar(4000)
                                                 AS 
                                                 SET NOCOUNT ON;
                                                 UPDATE dbo.Employees
                                                 SET LeaveBalance = 0 
                                                 WHERE FirstName = @First And LastName = @Last");

            context.Database.ExecuteSqlCommand(
                @"CREATE PROCEDURE dbo.EmployeeIdsInOffice
                                                 @OfficeNumber nvarchar(128),
                                                 @BuildingId uniqueidentifier
                                                 AS 
                                                 SET NOCOUNT ON;
                                                 SELECT EmployeeId
                                                 FROM dbo.Employees
                                                 WHERE OfficeBuildingId = @BuildingId And OfficeNumber = @OfficeNumber");

            context.Database.ExecuteSqlCommand(@"CREATE PROCEDURE dbo.AllSiteInfo
                                                 AS 
                                                 SET NOCOUNT ON;
                                                 SELECT Zone, Environment
                                                 FROM dbo.Buildings");

            var buildings = new List<BuildingMf>
                                {
                                    new BuildingMf(
                                        _knownBuildingGuid, "Building One", 1500000m,
                                        new AddressMf("100 Work St", "Redmond", "WA", "98052", 1, "Clean")),
                                    new BuildingMf(
                                        Guid.NewGuid(), "Building Two", 1000000m,
                                        new AddressMf("200 Work St", "Redmond", "WA", "98052", 2, "Contaminated")),
                                };
            buildings.ForEach(b => context.Buildings.Add(b));

            var offices = new List<OfficeMf>
                              {
                                  new OfficeMf
                                      {
                                          BuildingId = buildings[0].BuildingId,
                                          Number = "1/1221"
                                      },
                                  new OfficeMf
                                      {
                                          BuildingId = buildings[0].BuildingId,
                                          Number = "1/1223"
                                      },
                                  new OfficeMf
                                      {
                                          BuildingId = buildings[1].BuildingId,
                                          Number = "2/1458"
                                      },
                                  new OfficeMf
                                      {
                                          BuildingId = buildings[1].BuildingId,
                                          Number = "2/1789"
                                      },
                              };
            offices.ForEach(o => context.Offices.Add(o));

            new List<EmployeeMf>
                {
                    new CurrentEmployeeMf("Rowan", "Miller")
                        {
                            EmployeeId = 1,
                            LeaveBalance = 45,
                            Office = offices[0]
                        },
                    new CurrentEmployeeMf("Arthur", "Vickers")
                        {
                            EmployeeId = 2,
                            LeaveBalance = 62,
                            Office = offices[1]
                        },
                    new PastEmployeeMf("John", "Doe")
                        {
                            EmployeeId = 3,
                            TerminationDate = new DateTime(2006, 1, 23)
                        },
                }.ForEach(e => context.Employees.Add(e));

            new List<WhiteboardMf>
                {
                    new WhiteboardMf
                        {
                            AssetTag = "WB1973",
                            iD = new byte[] { 1, 9, 7, 3 },
                            Office = offices[0]
                        },
                    new WhiteboardMf
                        {
                            AssetTag = "WB1977",
                            iD = new byte[] { 1, 9, 7, 7 },
                            Office = offices[0]
                        },
                    new WhiteboardMf
                        {
                            AssetTag = "WB1970",
                            iD = new byte[] { 1, 9, 7, 0 },
                            Office = offices[2]
                        },
                }.ForEach(w => context.Whiteboards.Add(w));
        }
    }
}