Escali License control 1
DataGenerator.cs
Gå til dokumentasjonen til denne filen.
3using Microsoft.EntityFrameworkCore;
4using Microsoft.Extensions.DependencyInjection;
5using System;
6using System.Collections.Generic;
7using System.Linq;
8using System.Text;
9using System.Threading.Tasks;
10
12{
13
14public class DataGenerator
15{
16
17 public static void Initialize(IServiceProvider serviceProvider)
18 {
19 using (var context = new DataContext(
20 serviceProvider.GetRequiredService<DbContextOptions<DataContext>>()))
21 {
22 if (context.Modules.Any())
23 {
24 return;
25 }
26
27 // Users
28 context.Users.AddRange(
29 new User
30 {
31 UserEmail = "rune@gmail.com",
32 UserConsulentName = "Rune"
33 },
34 new User
35 {
36 UserEmail = "simen@gmail.com",
37 UserConsulentName = "Simen"
38 },
39 new User
40 {
41 UserEmail = "gerdt@gmail.com",
42 UserConsulentName = "Gerdt"
43 }
44 );
45
46 // Products
47 context.Products.AddRange(
48 new Product
49 {
50 ProductName = "Escali Supervision"
51 },
52 new Product
53 {
54 ProductName = "Escali Financials"
55 }
56 );
57
58 // Currencies
59 context.Currencies.AddRange(
60 new Currency
61 {
62 CurrencyName = "NOK"
63 },
64 new Currency
65 {
66 CurrencyName = "SEK"
67 },
68 new Currency
69 {
70 CurrencyName = "EUR"
71 }
72 );
73
74 // Priorities
75 context.Priorities.AddRange(
76 new Priority
77 {
78 PriorityName = Priority.PriorityLevel.SILVER
79 },
80 new Priority
81 {
82 PriorityName = Priority.PriorityLevel.GOLD
83 },
84 new Priority
85 {
86 PriorityName = Priority.PriorityLevel.PLATINUM
87 }
88 );
89
90 // Mainsegments
91 context.MainSegments.AddRange(
92 new MainSegment
93 {
94 MainSegmentName = "Store virksomheter"
95 },
96 new MainSegment
97 {
98 MainSegmentName = "Bank og finans"
99 },
100 new MainSegment
101 {
102 MainSegmentName = "Offentlig forvaltning"
103 }
104
105 );
106
107 // Segments
108 context.Segments.AddRange(
109 new Segment
110 {
111 SegmentName = "Pensjonskasser",
112 MainSegmentSeq = 2
113 },
114 new Segment
115 {
116 SegmentName = "Skadeforsikringsselskaper",
117 MainSegmentSeq = 2
118 },
119 new Segment
120 {
121 SegmentName = "Banker",
122 MainSegmentSeq = 2
123 },
124 new Segment
125 {
126 SegmentName = "Shippingselskaper",
127 MainSegmentSeq = 1
128 },
129 new Segment
130 {
131 SegmentName = "Eieidomsselskaper",
132 MainSegmentSeq = 1
133 },
134 new Segment
135 {
136 SegmentName = "Offshoreselskaper",
137 MainSegmentSeq = 1
138 },
139 new Segment
140 {
141 SegmentName = "Kommuner",
142 MainSegmentSeq = 3
143 },
144 new Segment
145 {
146 SegmentName = "Fylkeskommuner",
147 MainSegmentSeq = 3
148 },
149 new Segment
150 {
151 SegmentName = "Annen offentlig forvaltning",
152 MainSegmentSeq = 3
153 }
154 );
155
156 // Regions
157 context.Regions.AddRange(
158 new Region
159 {
160 Country = "Norge",
161 Area = "Oslo og omegn"
162 },
163 new Region
164 {
165 Country = "Norge",
166 Area = "Bergen og omegn"
167 },
168 new Region
169 {
170 Country = "Norge",
171 Area = "Nordvest og omegn"
172 },
173 new Region
174 {
175 Country = "Norge",
176 Area = "Indre østland"
177 },
178 new Region
179 {
180 Country = "Sverige",
181 Area = "Stockholm"
182 },
183 new Region
184 {
185 Country = "Norge",
186 Area = "Midtnorge"
187 }
188 );
189
190 // Customers
191 context.Customers.AddRange(
192 new Customer
193 {
194 OrganizationNumber = "10278",
195 CustomerName = "Ferde AS",
196 LedgerNumber = 22222,
197 Connection = "ferde:connection",
198 DBName = "ferde:db",
199 CustomerUsername = "userFerde",
200 CustomerPassword = "passFerde",
201 API = "ferdeAPI",
202 CustomerSince = DateTime.Now,
203 IsActive = true,
204 PrioritySeq = 3,
205 SegmentSeq = 9,
206 RegionSeq = 2,
207 UserSeq = 3
208 }
209 );
210
211 // Modules
212 context.Modules.AddRange(
213 new Module
214 {
215 ModuleName = "Shares and funds",
216 IsActive = true,
217 ProductSeq = 2,
218 },
219 new Module
220 {
221 ModuleName = "Bonds",
222 IsActive = true,
223 ProductSeq = 2,
224 },
225 new Module
226 {
227 ModuleName = "Depts",
228 IsActive = false,
229 ProductSeq = 2,
230 },
231 new Module
232 {
233 ModuleName = "Supervision",
234 IsActive = true,
235 ProductSeq = 1,
236 },
237 new Module
238 {
239 ModuleName = "Supervision - General",
240 IsActive = false,
241 ProductSeq = 1,
242 }
243 );
244
245 // ModuleLevels
246 context.ModuleLevels.AddRange(
247 new ModuleLevel
248 {
249 ModuleLevelName = "EF Aksje-/fondsmodul 1",
250 ModuleLevelRestriction = "MAX 250M/100tr",
251 ModuleSeq = 1,
252 IsActive = true
253 },
254 new ModuleLevel
255 {
256 ModuleLevelName = "EF Aksje-/fondsmodul 2",
257 ModuleLevelRestriction = "MAX 250M/250tr",
258 ModuleSeq = 1,
259 IsActive = true
260 },
261 new ModuleLevel
262 {
263 ModuleLevelName = "EF Aksje-/fondsmodul 3",
264 ModuleLevelRestriction = "MAX 500M/500tr",
265 ModuleSeq = 1,
266 IsActive = true
267 },
268 new ModuleLevel
269 {
270 ModuleLevelName = "EF Aksje-/fondsmodul 4",
271 ModuleLevelRestriction = "MAX 1MRD/1000tr",
272 ModuleSeq = 1,
273 IsActive = true
274 },
275 new ModuleLevel
276 {
277 ModuleLevelName = "EF Bonds 1",
278 ModuleLevelRestriction = "MAX 250M/100tr",
279 ModuleSeq = 2,
280 IsActive = true
281 },
282 new ModuleLevel
283 {
284 ModuleLevelName = "EF Bonds 2",
285 ModuleLevelRestriction = "MAX 250M/250tr",
286 ModuleSeq = 2,
287 IsActive = true
288 },
289 new ModuleLevel
290 {
291 ModuleLevelName = "EF Bonds 3",
292 ModuleLevelRestriction = "MAX 1MRD/500tr",
293 ModuleSeq = 2,
294 IsActive = true
295 },
296 new ModuleLevel
297 {
298 ModuleLevelName = "EF Bonds 4",
299 ModuleLevelRestriction = "MAX 2.5MRD/1000tr",
300 ModuleSeq = 2,
301 IsActive = true
302 },
303 new ModuleLevel
304 {
305 ModuleLevelName = "EF Debt 1",
306 ModuleLevelRestriction = "MAX 10 loans",
307 ModuleSeq = 3,
308 IsActive = true
309 },
310 new ModuleLevel
311 {
312 ModuleLevelName = "EF Debt 2",
313 ModuleLevelRestriction = "MAX 25 loans",
314 ModuleSeq = 3,
315 IsActive = true
316 },
317 new ModuleLevel
318 {
319 ModuleLevelName = "EF Debt 3",
320 ModuleLevelRestriction = "MAX 50 loans",
321 ModuleSeq = 3,
322 IsActive = true
323 },
324 new ModuleLevel
325 {
326 ModuleLevelName = "EF Debt 4",
327 ModuleLevelRestriction = "MAX 100 loans",
328 ModuleSeq = 3,
329 IsActive = true
330 },
331 new ModuleLevel
332 {
333 ModuleLevelName = "Escali Supervision",
334 ModuleLevelRestriction = "EIOPA",
335 ModuleSeq = 4,
336 IsActive = true
337 },
338 new ModuleLevel
339 {
340 ModuleLevelName = "Escali Supervision2",
341 ModuleLevelRestriction = "Integrasjonsmodul eksternt porteføljesystem",
342 ModuleSeq = 4,
343 IsActive = true
344 },
345 new ModuleLevel
346 {
347 ModuleLevelName = "Supervision Finans Modul",
348 ModuleLevelRestriction = "500-1000 posisjoner",
349 ModuleSeq = 5,
350 IsActive = true
351 },
352 new ModuleLevel
353 {
354 ModuleLevelName = "Supervision Fondsinnholdmodul",
355 ModuleLevelRestriction = "None",
356 ModuleSeq = 5,
357 IsActive = true
358 },
359 new ModuleLevel
360 {
361 ModuleLevelName = "Supervision Fort",
362 ModuleLevelRestriction = "None",
363 ModuleSeq = 5,
364 IsActive = true
365 }
366 );
367
368 // PriceLists
369 context.PriceLists.AddRange(
370 new PriceList
371 {
372 PriceListName = "Prisliste 2021",
373 DateFrom = DateTime.Parse("2021-01-01 12:00:00"),
374 DateTo = DateTime.Parse("2021-12-31 12:00:00"),
375 IsActive = false,
376 CurrencySeq = 1,
377 ProductSeq = 2
378 },
379 new PriceList
380 {
381 PriceListName = "Prisliste 2022",
382 DateFrom = DateTime.Parse("2022-01-01 12:00:00"),
383 DateTo = DateTime.Parse("2022-12-31 12:00:00"),
384 IsActive = true,
385 CurrencySeq = 1,
386 ProductSeq = 2
387 },
388 new PriceList
389 {
390 PriceListName = "Prisliste Super 2021",
391 DateFrom = DateTime.Parse("2021-01-01 12:00:00"),
392 DateTo = DateTime.Parse("2021-12-31 12:00:00"),
393 IsActive = false,
394 CurrencySeq = 1,
395 ProductSeq = 1
396 },
397 new PriceList
398 {
399 PriceListName = "Prisliste Super 2022",
400 DateFrom = DateTime.Parse("2022-01-01 12:00:00"),
401 DateTo = DateTime.Parse("2022-12-31 12:00:00"),
402 IsActive = true,
403 CurrencySeq = 1,
404 ProductSeq = 1
405 }
406 );
407
408 // PriceElements
409 context.PriceElements.AddRange(
410 // 1
411 new PriceElement
412 {
413 Price = 450,
414 IsActive = true,
415 ModuleLevelSeq = 1,
416 PriceListSeq = 1
417 },
418 new PriceElement
419 {
420 Price = 750,
421 IsActive = true,
422 ModuleLevelSeq = 2,
423 PriceListSeq = 1
424 },
425 new PriceElement
426 {
427 Price = 900,
428 IsActive = true,
429 ModuleLevelSeq = 3,
430 PriceListSeq = 1
431 },
432 new PriceElement
433 {
434 Price = 1250,
435 IsActive = true,
436 ModuleLevelSeq = 4,
437 PriceListSeq = 1
438 },
439
440 // 2
441 new PriceElement
442 {
443 Price = 500,
444 IsActive = true,
445 ModuleLevelSeq = 1,
446 PriceListSeq = 2
447 },
448 new PriceElement
449 {
450 Price = 800,
451 IsActive = true,
452 ModuleLevelSeq = 2,
453 PriceListSeq = 2
454 },
455 new PriceElement
456 {
457 Price = 1000,
458 IsActive = true,
459 ModuleLevelSeq = 3,
460 PriceListSeq = 2
461 },
462 new PriceElement
463 {
464 Price = 1300,
465 IsActive = true,
466 ModuleLevelSeq = 4,
467 PriceListSeq = 2
468 },
469
470 // 3
471 new PriceElement
472 {
473 Price = 450,
474 IsActive = true,
475 ModuleLevelSeq = 5,
476 PriceListSeq = 1
477 },
478 new PriceElement
479 {
480 Price = 750,
481 IsActive = true,
482 ModuleLevelSeq = 6,
483 PriceListSeq = 1
484 },
485 new PriceElement
486 {
487 Price = 900,
488 IsActive = true,
489 ModuleLevelSeq = 7,
490 PriceListSeq = 1
491 },
492 new PriceElement
493 {
494 Price = 1250,
495 IsActive = true,
496 ModuleLevelSeq = 8,
497 PriceListSeq = 1
498 },
499
500 // 4
501 new PriceElement
502 {
503 Price = 500,
504 IsActive = true,
505 ModuleLevelSeq = 5,
506 PriceListSeq = 2
507 },
508 new PriceElement
509 {
510 Price = 800,
511 IsActive = true,
512 ModuleLevelSeq = 6,
513 PriceListSeq = 2
514 },
515 new PriceElement
516 {
517 Price = 1000,
518 IsActive = true,
519 ModuleLevelSeq = 7,
520 PriceListSeq = 2
521 },
522 new PriceElement
523 {
524 Price = 1300,
525 IsActive = true,
526 ModuleLevelSeq = 8,
527 PriceListSeq = 2
528 },
529
530 // 5
531 new PriceElement
532 {
533 Price = 450,
534 IsActive = true,
535 ModuleLevelSeq = 9,
536 PriceListSeq = 1
537 },
538 new PriceElement
539 {
540 Price = 750,
541 IsActive = true,
542 ModuleLevelSeq = 10,
543 PriceListSeq = 1
544 },
545 new PriceElement
546 {
547 Price = 900,
548 IsActive = true,
549 ModuleLevelSeq = 11,
550 PriceListSeq = 1
551 },
552 new PriceElement
553 {
554 Price = 1250,
555 IsActive = true,
556 ModuleLevelSeq = 12,
557 PriceListSeq = 1
558 },
559
560 // 6
561 new PriceElement
562 {
563 Price = 500,
564 IsActive = true,
565 ModuleLevelSeq = 9,
566 PriceListSeq = 2
567 },
568 new PriceElement
569 {
570 Price = 800,
571 IsActive = true,
572 ModuleLevelSeq = 10,
573 PriceListSeq = 2
574 },
575 new PriceElement
576 {
577 Price = 1000,
578 IsActive = true,
579 ModuleLevelSeq = 11,
580 PriceListSeq = 2
581 },
582 new PriceElement
583 {
584 Price = 1300,
585 IsActive = true,
586 ModuleLevelSeq = 12,
587 PriceListSeq = 2
588 },
589
590 // 7
591 new PriceElement
592 {
593 Price = 500,
594 IsActive = true,
595 ModuleLevelSeq = 13,
596 PriceListSeq = 3
597 },
598 new PriceElement
599 {
600 Price = 800,
601 IsActive = true,
602 ModuleLevelSeq = 14,
603 PriceListSeq = 3
604 },
605 new PriceElement
606 {
607 Price = 500,
608 IsActive = true,
609 ModuleLevelSeq = 15,
610 PriceListSeq = 3
611 },
612 new PriceElement
613 {
614 Price = 800,
615 IsActive = true,
616 ModuleLevelSeq = 16,
617 PriceListSeq = 3
618 },
619 new PriceElement
620 {
621 Price = 1300,
622 IsActive = true,
623 ModuleLevelSeq = 17,
624 PriceListSeq = 3
625 },
626
627 // 8
628 new PriceElement
629 {
630 Price = 550,
631 IsActive = true,
632 ModuleLevelSeq = 13,
633 PriceListSeq = 4
634 },
635 new PriceElement
636 {
637 Price = 900,
638 IsActive = true,
639 ModuleLevelSeq = 14,
640 PriceListSeq = 4
641 },
642 new PriceElement
643 {
644 Price = 600,
645 IsActive = true,
646 ModuleLevelSeq = 15,
647 PriceListSeq = 4
648 },
649 new PriceElement
650 {
651 Price = 850,
652 IsActive = true,
653 ModuleLevelSeq = 16,
654 PriceListSeq = 4
655 },
656 new PriceElement
657 {
658 Price = 1500,
659 IsActive = true,
660 ModuleLevelSeq = 17,
661 PriceListSeq = 4
662 }
663 );
664 context.SaveChanges();
665 }
666 }
667
668 }
669}
670
var context
Definition: Program.cs:49
static void Initialize(IServiceProvider serviceProvider)