Projekt

Obecné

Profil

Stáhnout (3.93 KB) Statistiky
| Větev: | Tag: | Revize:
1
using Core.Contexts;
2
using Core.Entities;
3
using Core.Enums;
4
using Microsoft.EntityFrameworkCore;
5
using System;
6
using System.Collections.Generic;
7
using System.Linq;
8
using System.Text;
9
using System.Threading.Tasks;
10

    
11
namespace Core.Seeding
12
{
13
    public class Seeder
14
    {
15
        public static void SeedDevelopment(DatabaseContext context)
16
        {
17
            if (!context.Users.Any(u => u.Role == ERole.ADMINISTRATOR))
18
            {
19
                var users = AddUsers(context);
20
                var classes = AddClasses(context);
21
                DummyTags.AddDummyTags(context);
22
                context.SaveChanges();
23
            }
24
        }
25

    
26
        public static void SeedProduction(DatabaseContext context)
27
        {
28
            if (!context.Users.Any(u => u.Role == ERole.ADMINISTRATOR))
29
            {
30
                User admin = new User()
31
                {
32
                    Name = "Admin",
33
                    Surname = "Admin",
34
                    Role = ERole.ADMINISTRATOR,
35
                    Username = "admin",
36
                    Password = BCrypt.Net.BCrypt.HashPassword("123a456b789c")
37
                };
38
                context.Users.Add(admin);
39
                context.SaveChanges();
40
            }
41
        }
42

    
43
        private static List<Class> AddClasses(DatabaseContext context)
44
        {
45
            List<Class> classes = new List<Class>();
46
            Class class1 = new Class()
47
            {
48
                Name = "Class1",
49
                Description = "Class1 description",
50
                Color = "Class 1 color"
51
            };
52
            context.Classes.Add(class1);
53
            classes.Add(class1);
54
            return classes;
55
        }
56

    
57
        private static List<User> AddUsers(DatabaseContext context)
58
        {
59
            List<User> users = new List<User>();
60
            User annotator1 = new User()
61
            {
62
                Username = "annotator1",
63
                Name = "Anno",
64
                Surname = "Tator1",
65
                Password = BCrypt.Net.BCrypt.HashPassword("password"),
66
                Role = ERole.ANNOTATOR
67
            };
68
            context.Users.Add(annotator1);
69
            users.Add(annotator1);
70

    
71
            User annotator2 = new User()
72
            {
73
                Username = "annotator2",
74
                Name = "Anno",
75
                Surname = "Tator2",
76
                Password = BCrypt.Net.BCrypt.HashPassword("password"),
77
                Role = ERole.ANNOTATOR
78
            };
79
            context.Users.Add(annotator2);
80
            users.Add(annotator2);
81

    
82
            User annotator3 = new User()
83
            {
84
                Username = "annotator3",
85
                Name = "Anno",
86
                Surname = "Tator3",
87
                Password = BCrypt.Net.BCrypt.HashPassword("password"),
88
                Role = ERole.ANNOTATOR
89
            };
90
            context.Users.Add(annotator3);
91
            users.Add(annotator3);
92

    
93
            User annotator4 = new User()
94
            {
95
                Username = "annotator4",
96
                Name = "Anno",
97
                Surname = "Tator4",
98
                Password = BCrypt.Net.BCrypt.HashPassword("password"),
99
                Role = ERole.ANNOTATOR
100
            };
101
            context.Users.Add(annotator4);
102
            users.Add(annotator4);
103

    
104
            User annotator5 = new User()
105
            {
106
                Username = "annotator5",
107
                Name = "Anno",
108
                Surname = "Tator5",
109
                Password = BCrypt.Net.BCrypt.HashPassword("password"),
110
                Role = ERole.ANNOTATOR
111
            };
112
            context.Users.Add(annotator5);
113
            users.Add(annotator5);
114

    
115
            User admin = new User()
116
            {
117
                Username = "admin",
118
                Name = "Admin",
119
                Surname = "User",
120
                Password = BCrypt.Net.BCrypt.HashPassword("admin"),
121
                Role = ERole.ADMINISTRATOR
122
            };
123
            context.Users.Add(admin);
124
            users.Add(admin);
125

    
126
            return users;
127
        }
128
    }
129
}
    (1-1/1)