Пример #1
0
        public static async Task CreateRoles(ConFutureNceContext context)
        {
            var userManager = context.GetService <UserManager <ApplicationUser> >();
            var roleManager = context.GetService <RoleManager <IdentityRole> >();

            // Add roles to app
            string[] roleNames =
            {
                "Admin",
                "Author",
                "Organizer",
                "ProgrammeCommitteeMember",
                "Reviewer"
            };
            IdentityResult roleResult;

            foreach (var roleName in roleNames)
            {
                var roleExist = await roleManager.RoleExistsAsync(roleName);

                if (!roleExist)
                {
                    roleResult = await roleManager.CreateAsync(new IdentityRole(roleName));
                }
            }
            var myUser = await userManager.FindByEmailAsync("*****@*****.**");

            if (myUser != null && !await userManager.IsInRoleAsync(myUser, "Author"))
            {
                // Assigne user to role
                await userManager.AddToRoleAsync(myUser, "Author");
            }
        }
Пример #2
0
        // This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
        public void Configure(IApplicationBuilder app, IHostingEnvironment env, ConFutureNceContext context)
        {
            if (env.IsDevelopment())
            {
                app.UseBrowserLink();
                app.UseDeveloperExceptionPage();
                app.UseDatabaseErrorPage();
            }
            else
            {
                app.UseExceptionHandler("/Home/Error");
            }

            app.UseStaticFiles();

            app.UseAuthentication();

            app.UseMvc(routes =>
            {
                routes.MapRoute(
                    name: "default",
                    template: "{controller=Home}/{action=Index}/{id?}");
            });

            DbInitializer.Initialize(context);
            AccountRolesManagement.CreateRoles(context).Wait();
        }
Пример #3
0
 public AccountController(
     UserManager <ApplicationUser> userManager,
     SignInManager <ApplicationUser> signInManager,
     IEmailSender emailSender,
     ILogger <AccountController> logger,
     ConFutureNceContext context)
 {
     _userManager   = userManager;
     _signInManager = signInManager;
     _emailSender   = emailSender;
     _logger        = logger;
     _context       = context;
 }
Пример #4
0
 public PapersController(ConFutureNceContext context, UserManager <ApplicationUser> userManager)
 {
     _context     = context;
     _userManager = userManager;
 }
Пример #5
0
        public void InitContext()
        {
            if (context != null)
            {
                return;
            }
            // UserManager initialization
            var userStore = new Mock <IUserStore <ApplicationUser> >();

            userManager = new UserManager <ApplicationUser>(userStore.Object, null, null, null, null, null, null, null, null);
            // DB in memory initialization
            var option = new DbContextOptionsBuilder <ConFutureNceContext>().UseInMemoryDatabase("db").Options;

            context = new ConFutureNceContext(option);
            // DB data creation if ApplicationUser table is empty
            if (context.ApplicationUser.Any())
            {
                return;
            }

            #region DB content

            var languages = new Language[]
            {
                new Language {
                    LanguageName = "Afrikanns"
                },
                new Language {
                    LanguageName = "Albanian"
                },
                new Language {
                    LanguageName = "Arabic"
                },
                new Language {
                    LanguageName = "Armenian"
                },
                new Language {
                    LanguageName = "Basque"
                },
                new Language {
                    LanguageName = "Bengali"
                },
                new Language {
                    LanguageName = "Bulgarian"
                },
                new Language {
                    LanguageName = "Catalan"
                },
                new Language {
                    LanguageName = "Cambodian"
                },
                new Language {
                    LanguageName = "Chinese (Mandarin)"
                },
                new Language {
                    LanguageName = "Croation"
                },
                new Language {
                    LanguageName = "Czech"
                },
                new Language {
                    LanguageName = "Danish"
                },
                new Language {
                    LanguageName = "Dutch"
                },
                new Language {
                    LanguageName = "English"
                },
                new Language {
                    LanguageName = "Estonian"
                },
                new Language {
                    LanguageName = "Fiji"
                },
                new Language {
                    LanguageName = "Finnish"
                },
                new Language {
                    LanguageName = "French"
                },
                new Language {
                    LanguageName = "Georgian"
                },
                new Language {
                    LanguageName = "German"
                },
                new Language {
                    LanguageName = "Greek"
                },
                new Language {
                    LanguageName = "Gujarati"
                },
                new Language {
                    LanguageName = "Hebrew"
                },
                new Language {
                    LanguageName = "Hindi"
                },
                new Language {
                    LanguageName = "Hungarian"
                },
                new Language {
                    LanguageName = "Icelandic"
                },
                new Language {
                    LanguageName = "Indonesian"
                },
                new Language {
                    LanguageName = "Irish"
                },
                new Language {
                    LanguageName = "Italian"
                },
                new Language {
                    LanguageName = "Japanese"
                },
                new Language {
                    LanguageName = "Javanese"
                },
                new Language {
                    LanguageName = "Korean"
                },
                new Language {
                    LanguageName = "Latin"
                },
                new Language {
                    LanguageName = "Latvian"
                },
                new Language {
                    LanguageName = "Lithuanian"
                },
                new Language {
                    LanguageName = "Macedonian"
                },
                new Language {
                    LanguageName = "Malay"
                },
                new Language {
                    LanguageName = "Malayalam"
                },
                new Language {
                    LanguageName = "Maltese"
                },
                new Language {
                    LanguageName = "Maori"
                },
                new Language {
                    LanguageName = "Marathi"
                },
                new Language {
                    LanguageName = "Mongolian"
                },
                new Language {
                    LanguageName = "Nepali"
                },
                new Language {
                    LanguageName = "Norwegian"
                },
                new Language {
                    LanguageName = "Persian"
                },
                new Language {
                    LanguageName = "Polish"
                },
                new Language {
                    LanguageName = "Portuguese"
                },
                new Language {
                    LanguageName = "Punjabi"
                },
                new Language {
                    LanguageName = "Quechua"
                },
                new Language {
                    LanguageName = "Romanian"
                },
                new Language {
                    LanguageName = "Russian"
                },
                new Language {
                    LanguageName = "Samoan"
                },
                new Language {
                    LanguageName = "Serbian"
                },
                new Language {
                    LanguageName = "Slovak"
                },
                new Language {
                    LanguageName = "Slovenian"
                },
                new Language {
                    LanguageName = "Spanish"
                },
                new Language {
                    LanguageName = "Swahili"
                },
                new Language {
                    LanguageName = "Swedish "
                },
                new Language {
                    LanguageName = "Tamil"
                },
                new Language {
                    LanguageName = "Tatar"
                },
                new Language {
                    LanguageName = "Telugu"
                },
                new Language {
                    LanguageName = "Thai"
                },
                new Language {
                    LanguageName = "Tibetan"
                },
                new Language {
                    LanguageName = "Tonga"
                },
                new Language {
                    LanguageName = "Turkish"
                },
                new Language {
                    LanguageName = "Ukranian"
                },
                new Language {
                    LanguageName = "Urdu"
                },
                new Language {
                    LanguageName = "Uzbek"
                },
                new Language {
                    LanguageName = "Vietnamese"
                },
                new Language {
                    LanguageName = "Welsh"
                },
                new Language {
                    LanguageName = "Xhosa"
                }
            };
            foreach (Language l in languages)
            {
                context.Language.Add(l);
            }
            context.SaveChanges();

            // 4 Applicaton Users in each UserType
            var users = new ApplicationUser[]
            {
                new ApplicationUser
                {
                    Name           = "Author", Email = "*****@*****.**", Address = "Plac Grunwaldzki 23, Wroc³aw, Polska", ConferenceName = "Great Conference",
                    EmailConfirmed = true, UserName = "******"
                },
                new ApplicationUser
                {
                    Name           = "Author2", Email = "*****@*****.**", Address = "Plac Grunwaldzki 23, Wroc³aw, Polska", ConferenceName = "Great Conference",
                    EmailConfirmed = true, UserName = "******"
                },
                new ApplicationUser
                {
                    Name           = "Reviewer", Email = "*****@*****.**", Address = "Koœciuszki 28, Wroc³aw, Polska", ConferenceName = "Great Conference",
                    EmailConfirmed = true, UserName = "******"
                },
                new ApplicationUser
                {
                    Name           = "Reviewer2", Email = "*****@*****.**", Address = "Koœciuszki 28, Wroc³aw, Polska", ConferenceName = "Great Conference",
                    EmailConfirmed = true, UserName = "******"
                },
                new ApplicationUser
                {
                    Name = "ProgrammeCommitteeMember", Email = "*****@*****.**", Address = "Kochanowskiego 21, Bogatynia, Polska", ConferenceName = "Great Conference", EmailConfirmed = true, UserName = "******"
                }, new ApplicationUser
                {
                    Name           = "Organizer", Email = "*****@*****.**", Address = "D³uga 28, Gdañsk, Polska", ConferenceName = "Great Conference",
                    EmailConfirmed = true, UserName = "******"
                }
            };
            foreach (ApplicationUser u in users)
            {
                context.ApplicationUser.Add(u);
            }
            context.SaveChanges();

            // UserType creation
            // 1 ApplicationUser = 1 UserType

            // 1 organizers
            var organizers = new Organizer[]
            {
                new Organizer
                {
                    ApplicationUserId = context.ApplicationUser.First(ap => ap.Name == "Organizer").Id,
                    EmployeePosition  = "Master Organizer"
                }
            };
            foreach (var organizer in organizers)
            {
                context.Organizer.Add(organizer);
            }
            context.SaveChanges();
            // 1 programmeCommitteeMembers
            var programmeCommitteeMembers = new ProgrammeCommitteeMember[]
            {
                new ProgrammeCommitteeMember
                {
                    ApplicationUserId = context.ApplicationUser.First(ap => ap.Name == "ProgrammeCommitteeMember").Id,
                    EmployeePosition  = "Slave Programme Committee Member"
                }
            };
            foreach (var programmeCommitteeMember in programmeCommitteeMembers)
            {
                context.ProgrammeCommitteeMember.Add(programmeCommitteeMember);
            }
            context.SaveChanges();
            // 1 author
            var authors = new Author[]
            {
                new Author
                {
                    ApplicationUserId = context.ApplicationUser.First(ap => ap.Name == "Author").Id,
                    ScTitle           = "MSc",
                    OrgName           = "Wroc³aw University of Science and Technology"
                },
                new Author
                {
                    ApplicationUserId = context.ApplicationUser.First(ap => ap.Name == "Author2").Id,
                    ScTitle           = "MSc",
                    OrgName           = "Wroc³aw University of Science and Technology"
                }
            };
            foreach (Author a in authors)
            {
                context.Author.Add(a);
            }
            context.SaveChanges();
            // 1 reviewer
            var reviewers = new Reviewer[]
            {
                new Reviewer
                {
                    ApplicationUserId = context.ApplicationUser.First(ap => ap.Name == "Reviewer").Id,
                    ScTitle           = "Ph.D.",
                    OrgName           = "Wroc³aw University of Science and Technology",
                    Language1Id       = 47,
                    Language2Id       = 15
                },
                new Reviewer
                {
                    ApplicationUserId = context.ApplicationUser.First(ap => ap.Name == "Reviewer2").Id,
                    ScTitle           = "Ph.D.",
                    OrgName           = "Wroc³aw University of Science and Technology",
                    Language1Id       = 47,
                    Language2Id       = 15
                }
            };
            foreach (Reviewer r in reviewers)
            {
                context.Reviewer.Add(r);
            }
            context.SaveChanges();

            var papers = new Paper[]
            {
                new Paper
                {
                    TitleENG   = "Test1",
                    TitleORG   = "Teœcik1",
                    Abstract   = "taki tam sobie test enuma",
                    Authors    = "Marek Granowicz",
                    LanguageId = 47,
                    OrgName    = "PWr",
                    Status     = Paper.ProcessStatus.Reviewed,
                    AuthorId   = context.Author.First().UserTypeId,
                    ReviewerId = context.Reviewer.First().UserTypeId
                },
                new Paper
                {
                    TitleENG       = "New Big Bang Theory",
                    TitleORG       = "Nowa teoria Wielkiego Wybuchu",
                    Authors        = "Wocjciech Pêciak, Robert Lewandowski",
                    Abstract       = "Skrót treœci - abstract",
                    OrgName        = "WAT",
                    SubmissionDate = DateTime.Now,
                    Status         = Paper.ProcessStatus.UnderReview,
                    LanguageId     = 15,
                    AuthorId       = context.Author.First().UserTypeId
                },
                new Paper
                {
                    TitleENG   = "Test1",
                    TitleORG   = "Teœcik1",
                    Abstract   = "taki tam sobie test enuma",
                    Authors    = "Marek Granowicz",
                    LanguageId = 47,
                    OrgName    = "PWr",
                    Status     = Paper.ProcessStatus.UnderReview,
                    AuthorId   = context.Author.First().UserTypeId,
                    ReviewerId = context.Reviewer.First().UserTypeId
                },
                new Paper
                {
                    TitleENG   = "Test2",
                    TitleORG   = "Teœcik2",
                    Abstract   = "taki tam sobie test enuma",
                    Authors    = "Marek Granowicz",
                    LanguageId = 47,
                    OrgName    = "PWr",
                    Status     = 0,
                    AuthorId   = context.Author.First().UserTypeId
                },
                new Paper
                {
                    TitleENG   = "Test3",
                    TitleORG   = "Teœcik3",
                    Abstract   = "taki tam sobie test enuma",
                    Authors    = "Marek Granowicz",
                    LanguageId = 47,
                    OrgName    = "PWr",
                    Status     = 0,
                    AuthorId   = context.Author.First().UserTypeId
                }
            };
            foreach (Paper p in papers)
            {
                context.Paper.Add(p);
            }
            context.SaveChanges();

            var keywords = new PaperKeyword[]
            {
                new PaperKeyword
                {
                    KeyWord = "physics",
                    PaperId = context.Paper.FirstOrDefault(p => p.PaperId == 1).PaperId
                },
                new PaperKeyword
                {
                    KeyWord = "frog",
                    PaperId = context.Paper.FirstOrDefault(p => p.PaperId == 1).PaperId
                },
                new PaperKeyword
                {
                    KeyWord = "wood",
                    PaperId = context.Paper.FirstOrDefault(p => p.PaperId == 1).PaperId
                },
                new PaperKeyword
                {
                    KeyWord = "rock",
                    PaperId = context.Paper.FirstOrDefault(p => p.PaperId == 1).PaperId
                },
                new PaperKeyword
                {
                    KeyWord = "music",
                    PaperId = context.Paper.FirstOrDefault(p => p.PaperId == 2).PaperId
                },
                new PaperKeyword
                {
                    KeyWord = "lake",
                    PaperId = context.Paper.FirstOrDefault(p => p.PaperId == 2).PaperId
                },
                new PaperKeyword
                {
                    KeyWord = "mutant",
                    PaperId = context.Paper.FirstOrDefault(p => p.PaperId == 2).PaperId
                },
                new PaperKeyword
                {
                    KeyWord = "leaf",
                    PaperId = context.Paper.FirstOrDefault(p => p.PaperId == 2).PaperId
                },
            };
            foreach (var keyword in keywords)
            {
                context.PaperKeyword.Add(keyword);
            }
            context.SaveChanges();
            // Make payment for each paper
            foreach (var paper in papers)
            {
                context.Payment.Add(new Payment
                {
                    IsDone  = true,
                    PaperId = paper.PaperId
                });
            }
            context.SaveChanges();

            var reviews = new Review[]
            {
                new Review
                {
                    Problems        = "What was the problem?",
                    WhyProblems     = "Why it was a problem?",
                    Solution        = "What is a proposed solution?",
                    Achievements    = "What is outcome?",
                    NotMentioned    = "Gaps?",
                    Grade           = "On scale 0 to 10.",
                    GeneralComments = "It was lovely day.",
                    Date            = DateTime.Now,
                    PaperId         = context.Paper.First(p => p.Status == Paper.ProcessStatus.Reviewed).PaperId
                }
            };
            foreach (var review in reviews)
            {
                context.Review.Add(review);
            }
            context.SaveChanges();

            #endregion
        }