示例#1
0
        private void CreateHostRoleAndUsers()
        {
            //Admin role for host

            var adminRoleForHost = _context.Roles.FirstOrDefault(r => r.TenantId == null && r.Name == StaticRoleNames.Host.Admin);

            if (adminRoleForHost == null)
            {
                adminRoleForHost = _context.Roles.Add(new Role {
                    Name = StaticRoleNames.Host.Admin, DisplayName = StaticRoleNames.Host.Admin, IsStatic = true
                });
                _context.SaveChanges();

                //Grant all tenant permissions
                var permissions = PermissionFinder
                                  .GetAllPermissions(new MyProjectAuthorizationProvider())
                                  .Where(p => p.MultiTenancySides.HasFlag(MultiTenancySides.Host))
                                  .ToList();

                foreach (var permission in permissions)
                {
                    if (!permission.IsGrantedByDefault)
                    {
                        _context.Permissions.Add(
                            new RolePermissionSetting
                        {
                            Name      = permission.Name,
                            IsGranted = true,
                            RoleId    = adminRoleForHost.Id
                        });
                    }
                }

                _context.SaveChanges();
            }

            //Admin user for tenancy host

            var adminUserForHost = _context.Users.FirstOrDefault(u => u.TenantId == null && u.UserName == User.AdminUserName);

            if (adminUserForHost == null)
            {
                adminUserForHost = _context.Users.Add(
                    new User
                {
                    UserName         = User.AdminUserName,
                    Name             = "System",
                    Surname          = "Administrator",
                    EmailAddress     = "*****@*****.**",
                    IsEmailConfirmed = true,
                    Password         = new PasswordHasher().HashPassword(User.DefaultPassword)
                });

                _context.SaveChanges();

                _context.UserRoles.Add(new UserRole(null, adminUserForHost.Id, adminRoleForHost.Id));

                _context.SaveChanges();
            }
        }
示例#2
0
        private void CreateRolesAndUsers()
        {
            //Admin role

            var adminRole = _context.Roles.FirstOrDefault(r => r.TenantId == _tenantId && r.Name == StaticRoleNames.Tenants.Admin);

            if (adminRole == null)
            {
                adminRole = new Role(_tenantId, StaticRoleNames.Tenants.Admin, StaticRoleNames.Tenants.Admin)
                {
                    IsStatic = true
                };

                adminRole.SetNormalizedName();

                _context.Roles.Add(adminRole);
                _context.SaveChanges();

                //Grant all permissions to admin role
                var permissions = PermissionFinder
                                  .GetAllPermissions(new MyProjectAuthorizationProvider())
                                  .Where(p => p.MultiTenancySides.HasFlag(MultiTenancySides.Tenant))
                                  .ToList();

                foreach (var permission in permissions)
                {
                    _context.Permissions.Add(
                        new RolePermissionSetting
                    {
                        TenantId  = _tenantId,
                        Name      = permission.Name,
                        IsGranted = true,
                        RoleId    = adminRole.Id
                    });
                }

                _context.SaveChanges();
            }

            //admin user

            var adminUser = _context.Users.FirstOrDefault(u => u.TenantId == _tenantId && u.UserName == User.AdminUserName);

            if (adminUser == null)
            {
                adminUser = User.CreateTenantAdminUser(_tenantId, "*****@*****.**", User.DefaultPassword);
                adminUser.IsEmailConfirmed = true;
                adminUser.IsActive         = true;

                _context.Users.Add(adminUser);
                _context.SaveChanges();

                //Assign Admin role to admin user
                _context.UserRoles.Add(new UserRole(_tenantId, adminUser.Id, adminRole.Id));
                _context.SaveChanges();
            }
        }
        private void CreateEditions()
        {
            var defaultEdition = _context.Editions.IgnoreQueryFilters().FirstOrDefault(e => e.Name == EditionManager.DefaultEditionName);

            if (defaultEdition == null)
            {
                defaultEdition = new Edition {
                    Name = EditionManager.DefaultEditionName, DisplayName = EditionManager.DefaultEditionName
                };
                _context.Editions.Add(defaultEdition);
                _context.SaveChanges();

                /* Add desired features to the standard edition, if wanted... */
            }
        }
        public async Task <IActionResult> Register([FromBody] RegisterViewModel model)
        {
            CreateRoles(_MyProjectDbContext);

            if (ModelState.IsValid)
            {
                //var user = new ApplicationUser { UserName = model.Email, Email = model.Email,FirstName = model.FirstName,LastName = model.LastName,PhoneNumber = model.PhoneNumber,DateJoined = model.DateJoined, Department = model.Department, Position = model.Position, Terminal = model.Terminal,};
                var user = new ApplicationUser {
                    UserName = model.Email, Email = model.Email, FirstName = model.FirstName, LastName = model.LastName, PhoneNumber = model.PhoneNumber, UserType = model.UserType
                };
                var employee = new Employee
                {
                    EmployeeCode   = model.EmployeeCode,
                    PartnerName    = model.PartnerName,
                    DepartmentName = model.DepartmentName,
                    PositionName   = model.PositionName,
                    TerminalName   = model.TerminalName,
                    DateJoined     = model.DateJoined,
                    FirstName      = model.FirstName,
                    LastName       = model.LastName,
                    MiddleName     = model.MiddleName,
                    Gender         = model.Gender,
                    Email          = model.Email,
                    PhoneNumber    = model.PhoneNumber,
                    Address        = model.Address,
                    NextOfKin      = model.NextOfKin,
                    NextOfKinPhone = model.NextOfKinPhone
                };
                var result = await _userManager.CreateAsync(user, model.Password);

                if (result.Succeeded)
                {
                    foreach (var role in model.Roles)
                    {
                        var isAddedToRole = await _userManager.AddToRoleAsync(user, role);

                        if (isAddedToRole.Succeeded)
                        {
                            await _signInManager.SignInAsync(user, isPersistent : false);
                        }
                    }
                    var getUser = await _userManager.FindByEmailAsync(model.Email);

                    var userId = "";
                    if (getUser != null)
                    {
                        employee.ApplicationUserId = userId = getUser.Id;
                    }

                    _MyProjectDbContext.Employees.Add(employee);
                    _MyProjectDbContext.SaveChanges();
                    return(Ok());
                }
                return(BadRequest("Unable to register user,please try using a different email."));
                //AddErrors(result);
            }

            // If we got this far, something failed, redisplay form
            return(BadRequest("model state is invalid"));
        }
示例#5
0
        public void Build()
        {
            _context.Addresses.AddRange(
                new Domains.Address {
                Address1 = "123 Straight Way", City = "Arlington", State = 17, Zip = "76012"
            },
                new Domains.Address {
                Address1 = "123 Park Blvd", City = "Dallas", State = 17, Zip = "76213"
            }

                );
            _context.SaveChanges();
            _context.Municipalities.AddRange(
                new Municipalities()
            {
                Name           = "Test NameOne",
                PointOfContact = "Tom Jerry",
                Email          = "*****@*****.**",
                CreationTime   = Clock.Now,
                //CreatedBy = "Clark Kent",
                LastModificationTime = null,
                //ModifiedBy = "Jessica",
                IsActive  = true,
                AddressId = 1
            },
                new Municipalities()
            {
                Name           = "Test NameTwo",
                PointOfContact = "Kevin Hart",
                Email          = "*****@*****.**",
                CreationTime   = Clock.Now,
                //CreatedBy = "Christina Pham",
                LastModificationTime = null,
                //ModifiedBy = "Dominic Young",
                IsActive  = true,
                AddressId = 2
            }

                );

            _context.SaveChanges();


            //create test data here...
        }
示例#6
0
        public void Create()
        {
            new DefaultEditionCreator(_context).Create();
            new DefaultLanguagesCreator(_context).Create();
            new HostRoleAndUserCreator(_context).Create();
            new DefaultSettingsCreator(_context).Create();

            _context.SaveChanges();
        }
        private void AddSettingIfNotExists(string name, string value, int?tenantId = null)
        {
            if (_context.Settings.IgnoreQueryFilters().Any(s => s.Name == name && s.TenantId == tenantId && s.UserId == null))
            {
                return;
            }

            _context.Settings.Add(new Setting(tenantId, null, name, value));
            _context.SaveChanges();
        }
示例#8
0
        private void AddLanguageIfNotExists(ApplicationLanguage language)
        {
            if (_context.Languages.IgnoreQueryFilters().Any(l => l.TenantId == language.TenantId && l.Name == language.Name))
            {
                return;
            }

            _context.Languages.Add(language);
            _context.SaveChanges();
        }
示例#9
0
 public void Create()
 {
     foreach (var task in _tasks)
     {
         if (_context.Tasks.FirstOrDefault(t => t.Title == task.Title) == null)
         {
             _context.Tasks.Add(task);
         }
         _context.SaveChanges();
     }
 }
示例#10
0
        private void AddUserInfoIfNotExists(Mic_Type mic_Type)
        {
            if (_context.mic_Type.Any(l => l.type_name == mic_Type.type_name && l.parent_id == mic_Type.parent_id))
            {
                return;
            }

            _context.mic_Type.Add(mic_Type);

            _context.SaveChanges();
        }
示例#11
0
        private void AddUserInfoIfNotExists(Mic_Admin mic_Admin)
        {
            if (_context.Mic_Admin.Any(l => l.UserName == mic_Admin.UserName && l.PassWord == mic_Admin.PassWord))
            {
                return;
            }

            _context.Mic_Admin.Add(mic_Admin);

            _context.SaveChanges();
        }
 public void Create()
 {
     foreach (var item in _courseModels)
     {
         if (_context.StudentModels.FirstOrDefault(t => t.Name == item.Name) == null)
         {
             _context.StudentModels.Add(item);
         }
         _context.SaveChanges();
     }
 }
示例#13
0
        private void CreateUserAndRoles()
        {
            //Default tenant

            var defaultTenant = _context.Tenants.FirstOrDefault(t => t.TenancyName == Tenant.DefaultTenantName);

            if (defaultTenant == null)
            {
                _context.Tenants.Add(new Tenant {
                    TenancyName = Tenant.DefaultTenantName, Name = Tenant.DefaultTenantName
                });
                _context.SaveChanges();
            }
        }
 public void SaveProblem(Problem problem)
 {
     if (problem.ProblemId == 0)
     {
         context.problems.Add(problem);
     }
     else
     {
         Problem dbEntry = context.problems
                           .FirstOrDefault(p => p.ProblemId == problem.ProblemId);
         if (dbEntry != null)
         {
             dbEntry.Name        = problem.Name;
             dbEntry.Description = problem.Description;
             dbEntry.SurName     = problem.SurName;
             dbEntry.Email       = problem.Email;
         }
     }
     context.SaveChanges();
 }
示例#15
0
        private void CreateDefaultTenant()
        {
            // Default tenant

            var defaultTenant = _context.Tenants.IgnoreQueryFilters().FirstOrDefault(t => t.TenancyName == AbpTenantBase.DefaultTenantName);

            if (defaultTenant == null)
            {
                defaultTenant = new Tenant(AbpTenantBase.DefaultTenantName, AbpTenantBase.DefaultTenantName);

                var defaultEdition = _context.Editions.IgnoreQueryFilters().FirstOrDefault(e => e.Name == EditionManager.DefaultEditionName);
                if (defaultEdition != null)
                {
                    defaultTenant.EditionId = defaultEdition.Id;
                }

                _context.Tenants.Add(defaultTenant);
                _context.SaveChanges();
            }
        }
示例#16
0
        public void CreateUserAndRoles()
        {
            //Admin role for tenancy owner
            var adminRoleForTenancyOwner = _context.Roles.FirstOrDefault(r => r.TenantId == null && r.Name == "Amdin");

            if (adminRoleForTenancyOwner == null)
            {
                adminRoleForTenancyOwner = _context.Roles.Add(new Role()
                {
                    Name = "Amdin", DisplayName = "Amdin"
                });
                _context.SaveChanges();
            }

            //Admin user for tenancy owner
            var adminUserForTenancyOwer = _context.Users.FirstOrDefault(u => u.TenantId == null && u.UserName == "admin");

            if (adminUserForTenancyOwer == null)
            {
                adminUserForTenancyOwer = _context.Users.Add(new Users.User()
                {
                    TenantId         = null,
                    UserName         = "******",
                    Name             = "System",
                    Surname          = "Administrator",
                    EmailAddress     = "*****@*****.**",
                    IsEmailConfirmed = true,
                    Password         = "******" //123qwe
                });
                _context.SaveChanges();
                _context.UserRoles.Add(new UserRole(null, adminUserForTenancyOwer.Id, adminRoleForTenancyOwner.Id));
                _context.SaveChanges();
            }

            //Default tenant
            var defaultTenant = _context.Tenants.FirstOrDefault(t => t.TenancyName == "Default");

            if (defaultTenant == null)
            {
                defaultTenant = _context.Tenants.Add(new Tenant()
                {
                    TenancyName = "Default", Name = "Default"
                });
                _context.SaveChanges();
            }

            //Admin role for 'Default' tenant
            var adminRoleForDefaultTenant = _context.Roles.FirstOrDefault(r => r.TenantId == defaultTenant.Id && r.Name == "Admin");

            if (adminRoleForDefaultTenant == null)
            {
                adminRoleForDefaultTenant = _context.Roles.Add(new Role()
                {
                    TenantId = defaultTenant.Id, Name = "Admin", DisplayName = "Admin"
                });
                _context.SaveChanges();
            }

            //Admin for 'Default' tenant
            var adminUserForDefaultTenant = _context.Users.FirstOrDefault(u => u.TenantId == defaultTenant.Id && u.UserName == "Amdin");

            if (adminUserForDefaultTenant == null)
            {
                adminUserForDefaultTenant = _context.Users.Add(new Users.User()
                {
                    TenantId         = defaultTenant.Id,
                    UserName         = "******",
                    Name             = "System",
                    Surname          = "Administrator",
                    EmailAddress     = "*****@*****.**",
                    IsEmailConfirmed = true,
                    Password         = "******" //123qwe
                });
                _context.SaveChanges();

                _context.UserRoles.Add(new UserRole(null, adminUserForDefaultTenant.Id, adminRoleForDefaultTenant.Id));

                _context.SaveChanges();
            }
        }
示例#17
0
        private void CreateRolesAndUsers()
        {
            // Admin role

            var adminRole = _context.Roles.IgnoreQueryFilters().FirstOrDefault(r => r.TenantId == _tenantId && r.Name == StaticRoleNames.Tenants.Admin);

            if (adminRole == null)
            {
                adminRole = _context.Roles.Add(new Role(_tenantId, StaticRoleNames.Tenants.Admin, StaticRoleNames.Tenants.Admin)
                {
                    IsStatic = true
                }).Entity;
                _context.SaveChanges();
            }

            // Grant all permissions to admin role

            var grantedPermissions = _context.Permissions.IgnoreQueryFilters()
                                     .OfType <RolePermissionSetting>()
                                     .Where(p => p.TenantId == _tenantId && p.RoleId == adminRole.Id)
                                     .Select(p => p.Name)
                                     .ToList();

            var permissions = PermissionFinder
                              .GetAllPermissions(new MyProjectAuthorizationProvider())
                              .Where(p => p.MultiTenancySides.HasFlag(MultiTenancySides.Tenant) &&
                                     !grantedPermissions.Contains(p.Name))
                              .ToList();

            if (permissions.Any())
            {
                _context.Permissions.AddRange(
                    permissions.Select(permission => new RolePermissionSetting
                {
                    TenantId  = _tenantId,
                    Name      = permission.Name,
                    IsGranted = true,
                    RoleId    = adminRole.Id
                })
                    );
                _context.SaveChanges();
            }

            // Admin user

            var adminUser = _context.Users.IgnoreQueryFilters().FirstOrDefault(u => u.TenantId == _tenantId && u.UserName == AbpUserBase.AdminUserName);

            if (adminUser == null)
            {
                adminUser                  = User.CreateTenantAdminUser(_tenantId, "*****@*****.**");
                adminUser.Password         = new PasswordHasher <User>(new OptionsWrapper <PasswordHasherOptions>(new PasswordHasherOptions())).HashPassword(adminUser, "123qwe");
                adminUser.IsEmailConfirmed = true;
                adminUser.IsActive         = true;

                _context.Users.Add(adminUser);
                _context.SaveChanges();

                // Assign Admin role to admin user
                _context.UserRoles.Add(new UserRole(_tenantId, adminUser.Id, adminRole.Id));
                _context.SaveChanges();
            }
        }
示例#18
0
        private void CreateRolesAndUsers()
        {
            // Admin role

            var adminRole = _context.Roles.IgnoreQueryFilters().FirstOrDefault(r => r.TenantId == _tenantId && r.Name == StaticRoleNames.Tenants.Admin);

            if (adminRole == null)
            {
                adminRole = _context.Roles.Add(new Role(_tenantId, StaticRoleNames.Tenants.Admin, StaticRoleNames.Tenants.Admin)
                {
                    IsStatic = true
                }).Entity;
                _context.SaveChanges();
            }

            var guidlineAdmin = _context.Roles.IgnoreQueryFilters().FirstOrDefault(r => r.TenantId == _tenantId && r.Name == "GLAdmin");

            if (guidlineAdmin == null)
            {
                guidlineAdmin = _context.Roles.Add(new Role(_tenantId, "GLAdmin", "Guideline Administrator")
                {
                    IsStatic = true
                }).Entity;
                _context.SaveChanges();
            }

            var drafter = _context.Roles.IgnoreQueryFilters().FirstOrDefault(r => r.TenantId == _tenantId && r.Name == "Draft");

            if (drafter == null)
            {
                drafter = _context.Roles.Add(new Role(_tenantId, "Draft", "Drafter")
                {
                    IsStatic = true
                }).Entity;
                _context.SaveChanges();
            }

            // Grant all permissions to admin role
            GrantPermissions(adminRole);
            //Grant permissions to guideline admin role
            GrantPermissions(guidlineAdmin);
            //Grant permissions to drafter role
            GrantPermissions(drafter);

            // Admin user

            var adminUser = _context.Users.IgnoreQueryFilters().FirstOrDefault(u => u.TenantId == _tenantId && u.UserName == AbpUserBase.AdminUserName);

            if (adminUser == null)
            {
                adminUser                  = User.CreateTenantAdminUser(_tenantId, "*****@*****.**");
                adminUser.Password         = new PasswordHasher <User>(new OptionsWrapper <PasswordHasherOptions>(new PasswordHasherOptions())).HashPassword(adminUser, "P@ssw0rd");
                adminUser.IsEmailConfirmed = true;
                adminUser.IsActive         = true;

                _context.Users.Add(adminUser);
                _context.SaveChanges();

                // Assign Admin role to admin user
                _context.UserRoles.Add(new UserRole(_tenantId, adminUser.Id, adminRole.Id));
                _context.SaveChanges();
            }
        }
        private void CreateHostRoleAndUsers()
        {
            // Admin role for host

            var adminRoleForHost = _context.Roles.IgnoreQueryFilters().FirstOrDefault(r => r.TenantId == null && r.Name == StaticRoleNames.Host.Admin);

            if (adminRoleForHost == null)
            {
                adminRoleForHost = _context.Roles.Add(new Role(null, StaticRoleNames.Host.Admin, StaticRoleNames.Host.Admin)
                {
                    IsStatic = true, IsDefault = true
                }).Entity;
                _context.SaveChanges();
            }

            // Grant all permissions to admin role for host

            var grantedPermissions = _context.Permissions.IgnoreQueryFilters()
                                     .OfType <RolePermissionSetting>()
                                     .Where(p => p.TenantId == null && p.RoleId == adminRoleForHost.Id)
                                     .Select(p => p.Name)
                                     .ToList();

            var permissions = PermissionFinder
                              .GetAllPermissions(new MyProjectAuthorizationProvider())
                              .Where(p => p.MultiTenancySides.HasFlag(MultiTenancySides.Host) &&
                                     !grantedPermissions.Contains(p.Name))
                              .ToList();

            if (permissions.Any())
            {
                _context.Permissions.AddRange(
                    permissions.Select(permission => new RolePermissionSetting
                {
                    TenantId  = null,
                    Name      = permission.Name,
                    IsGranted = true,
                    RoleId    = adminRoleForHost.Id
                })
                    );
                _context.SaveChanges();
            }

            // Admin user for host

            var adminUserForHost = _context.Users.IgnoreQueryFilters().FirstOrDefault(u => u.TenantId == null && u.UserName == AbpUserBase.AdminUserName);

            if (adminUserForHost == null)
            {
                var user = new User
                {
                    TenantId         = null,
                    UserName         = AbpUserBase.AdminUserName,
                    Name             = "admin",
                    Surname          = "admin",
                    EmailAddress     = "*****@*****.**",
                    IsEmailConfirmed = true,
                    IsActive         = true
                };

                user.Password = new PasswordHasher <User>(new OptionsWrapper <PasswordHasherOptions>(new PasswordHasherOptions())).HashPassword(user, "123qwe");
                user.SetNormalizedNames();

                adminUserForHost = _context.Users.Add(user).Entity;
                _context.SaveChanges();

                // Assign Admin role to admin user
                _context.UserRoles.Add(new UserRole(null, adminUserForHost.Id, adminRoleForHost.Id));
                _context.SaveChanges();

                _context.SaveChanges();
            }
        }