Ejemplo n.º 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 PortalAuthorizationProvider())
                                  .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();
            }
        }
Ejemplo n.º 2
0
        public void RedeemPasswordToken_TokenDoesntMatchEmailAddressReturnsValidation()
        {
            var userId = 1;

            _mockContext.Users.AddRange(new List <User>
            {
                new User {
                    Id = userId, GivenName = "Test", FamilyName = "User", Email = "Email", Password = "******", DateAdded = DateTime.Now, DateUpdated = DateTime.Now
                }
            });

            _mockContext.UserTokens.AddRange(new List <UserToken>
            {
                new UserToken {
                    UserTokenId = 1, Token = "12345", DateAdded = DateTime.Now, DateRedeemed = DateTime.Now, UserTokenType = UserTokenType.ForgottenPassword, UserId = userId
                }
            });

            _mockContext.SaveChanges();

            var result = _tokenService.RedeemPasswordTokenAsync("12345", "*****@*****.**", "test");

            Assert.IsNotNull(result);
            Assert.AreEqual(result, "Invalid Token. This Token does not match the Email Address you entered...");
        }
Ejemplo n.º 3
0
        public async Task UpdateMenuAsync(string appId, List <Menu> menus)
        {
            var app = await _context.Apps.FirstAsync(a => a.Id == appId);

            app.Menus = menus;

            _context.SaveChanges();
        }
Ejemplo n.º 4
0
        /// <summary>
        /// Adds an entity to be saved but, its not exists on database yet.
        /// </summary>
        /// <param name="entity"></param>
        public void Insert <TEntity>(TEntity entity, bool CommitAllChangesOnSuccess = true) where TEntity : class
        {
            DbSet <TEntity> dbSet = _context.Set <TEntity>();

            dbSet.Add(entity);
            _context.SaveChanges(CommitAllChangesOnSuccess);
            //_context.Entry<TEntity>(entity).State = EntityState.Added;
        }
Ejemplo n.º 5
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 PortalAuthorizationProvider())
                .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();
            }
        }
        private void CreateRolesAndUsers()
        {
            //Admin role

            var adminRole = _context.Roles.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
                });
                _context.SaveChanges();

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

                foreach (var permission in permissions)
                {
                    if (!permission.IsGrantedByDefault)
                    {
                        _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, "*****@*****.**", "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();
            }
        }
Ejemplo n.º 7
0
        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... */
            }
        }
Ejemplo n.º 8
0
        static void Main(string[] args)
        {
            PortalDbContext portal = new PortalDbContext();

            Person person = new Person();

            Console.WriteLine("First Name: ");
            person.FirstName = Console.ReadLine();
            Console.WriteLine("Middle Name: ");
            person.MiddleName = Console.ReadLine();
            Console.WriteLine("Last Name: ");
            person.LastName = Console.ReadLine();
            Console.WriteLine("Father Name: ");
            person.FatherName = Console.ReadLine();
            Console.WriteLine("Grandfather Name: ");
            person.GrandFatherName = Console.ReadLine();
            Console.WriteLine("Date: ");
            person.BirthDate = Convert.ToDateTime(Console.ReadLine());
            Console.WriteLine("Citizen No: ");
            person.CitizenshipNumber = Console.ReadLine();
            person.AddressId         = 1;
            Console.WriteLine("\nPress Enter to save to database.");
            Console.ReadLine();

            portal.Persons.Add(person);
            Console.WriteLine("\nSuccessfully added to the database");
            portal.SaveChanges();
        }
Ejemplo n.º 9
0
        public Task UpsertEntitySchemasAsync(
            IEnumerable <EntitySchema> entitySchemas,
            string databaseId,
            bool isKeptSameName = false)
        {
            foreach (var entitySchema in entitySchemas)
            {
                var isExisted = false;

                // Hotfix for MySQL issue: https://bugs.mysql.com/bug.php?id=92987
                if (_context.ConnectionType == ConnectionType.MySQL)
                {
                    var exist = _context.EntitySchemas.FirstOrDefault(a => a.Name == entitySchema.Name && a.DatabaseId == databaseId);
                    isExisted = exist != null;
                }
                else
                {
                    isExisted = _context.EntitySchemas.Any(a => a.Name == entitySchema.Name && a.DatabaseId == databaseId);
                }

                if ((isExisted && isKeptSameName) == false)
                {
                    entitySchema.Id         = DataUtil.GenerateUniqueId();
                    entitySchema.DatabaseId = databaseId;
                    _context.EntitySchemas.Add(entitySchema);
                }
            }

            _context.SaveChanges();

            return(Task.CompletedTask);
        }
Ejemplo n.º 10
0
        public void Create()
        {
            new TestOrganizationUnitsBuilder(_context, _tenantId).Create();
            new TestSubscriptionPaymentBuilder(_context, _tenantId).Create();
            new TestEditionsBuilder(_context).Create();

            _context.SaveChanges();
        }
        public void Create()
        {
            new DefaultEditionCreator(_context).Create();
            new DefaultLanguagesCreator(_context).Create();
            new HostRoleAndUserCreator(_context).Create();
            new DefaultSettingsCreator(_context).Create();

            _context.SaveChanges();
        }
Ejemplo n.º 12
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();
        }
        private void AddSettingIfNotExists(string name, string value, int?tenantId = null)
        {
            if (_context.Settings.Any(s => s.Name == name && s.TenantId == tenantId && s.UserId == null))
            {
                return;
            }

            _context.Settings.Add(new Setting(tenantId, null, name, value));
            _context.SaveChanges();
        }
        private OrganizationUnit CreateOrganizationUnit(string displayName, string code, long?parentId = null)
        {
            var organizationUnit = _context.OrganizationUnits.Add(new OrganizationUnit(_tenantId, displayName, parentId)
            {
                Code = code
            }).Entity;

            _context.SaveChanges();

            return(organizationUnit);
        }
Ejemplo n.º 15
0
        private void CreateUserAndRoles()
        {
            //Default tenant

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

            if (defaultTenant == null)
            {
                _context.Tenants.Add(new Core.MultiTenancy.Tenant {
                    TenancyName = Core.MultiTenancy.Tenant.DefaultTenantName, Name = Core.MultiTenancy.Tenant.DefaultTenantName
                });
                _context.SaveChanges();
            }
        }
Ejemplo n.º 16
0
        private void CreateUserAndRoles()
        {
            //Default tenant

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

            if (defaultTenant == null)
            {
                _context.Tenants.Add(new Tenant {
                    TenancyName = "Default", Name = "Default"
                });
                _context.SaveChanges();
            }
        }
Ejemplo n.º 17
0
 public IActionResult RegistrarNoticia(Noticia n)
 {
     if (ModelState.IsValid)
     {
         //cuando el modelo es valido
         //agrega la notica al contexto (en memoria)
         _context.Add(n);
         //Persiste el cambio
         _context.SaveChanges();
         //Redirigir al index
         return(RedirectToAction("Index"));
     }
     return(View(n));
 }
 public static void Initialize(PortalDbContext context)
 {
     context.Database.EnsureCreated();
     if (!context.Foods.Any())
     {
         context.Foods.Add(new Food("Desert", new Mony(1000), FoodType.Desert)
         {
             TimeCreated = DateTime.Now, IsEnable = true, Description = "Description1"
         });
         context.Foods.Add(new Food("kola", new Mony(2000), FoodType.Drink)
         {
             TimeCreated = DateTime.Now, IsEnable = true, Description = "Description2"
         });
         context.Foods.Add(new Food("chicken", new Mony(3000), FoodType.Meal)
         {
             TimeCreated = DateTime.Now, IsEnable = true, Description = "Description3"
         });
         context.SaveChanges();
     }
     if (!context.Users.Any())
     {
         context.Users.Add(new User
         {
             Email         = "*****@*****.**",
             FirstName     = "admin",
             LastName      = "admin",
             IsEnable      = true,
             Password      = "******",
             Phone         = "999999",
             TimeCreated   = DateTime.Now,
             UserName      = "******",
             SocialAddress = new SocialMedia(instageram: "ins_admin", telegramCanal: "telchanal_admin", telegramGroup: "telgroup_admin"),
             Address       = new Domain.Address(street: "monzeviler", city: "cankaya", state: "ankara", country: "Turkiye", zipcode: "12345")
         });
         context.SaveChanges();
     }
 }
 public IActionResult AddEvent(PaymentAddModel model)
 {
     model.UserId = 4;
     _db.Payments.Add(new Domain.Payment
     {
         Amount            = model.Amount,
         BankName          = model.BankName,
         BankTransactionId = model.BankTransactionId,
         UserId            = model.UserId,
         EventType         = model.EventType,
         TimeStamp         = DateTime.Now
     });
     _db.SaveChanges();
     return(Ok("done"));
 }
        private void CreateSomeDummyData()
        {
            if (AllowMongoDB)
            {
                MongoClient    mongoClient   = new MongoClient(MongoDatabaseConenction.ConnectionString);
                IMongoDatabase mongoDatabase = mongoClient.GetDatabase(MongoDatabaseConenction.DataSource);
                IMongoCollection <DatabaseConnection> mongoCollection = mongoDatabase.GetCollection <DatabaseConnection>("databases");
                mongoCollection.InsertOne(MongoDatabaseConenction);

                IMongoCollection <App> mongoAppCollection = mongoDatabase.GetCollection <App>("apps");
                mongoAppCollection.InsertOne(SampleApp());
            }

            if (AllowPostgreSQL)
            {
                PortalDbContext postgreContext = GetPostgreSQLContext();
                postgreContext.Database.EnsureCreated();
                postgreContext.Databases.Add(PostgreSqlDatabaseConnection);
                postgreContext.Apps.Add(SampleApp());
                postgreContext.SaveChanges();
                postgreContext.Dispose();
            }

            if (AllowSQLServer)
            {
                PortalDbContext sqlContext = GetSQLServerContext();
                sqlContext.Database.EnsureCreated();
                sqlContext.Databases.Add(SqlServerDatabaseConnection);
                sqlContext.Apps.Add(SampleApp());
                // Sql Server must create a table for storing file
                sqlContext.Database.ExecuteSqlRaw("Create table [dbo].[uploadFiles] ([id] [nvarchar](450) NOT NULL, [file] [varbinary](max) NULL, CONSTRAINT [PK_uploadFiles] PRIMARY KEY CLUSTERED ( [id] ASC )WITH(PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON[PRIMARY]) ON[PRIMARY] TEXTIMAGE_ON[PRIMARY]");
                sqlContext.SaveChanges();
                sqlContext.Dispose();
            }

            if (AllowMySQL)
            {
                PortalDbContext mysqlContext = GetMySQLContext();
                mysqlContext.Database.EnsureCreated();
                mysqlContext.Databases.Add(MySqlDatabaseConnection);
                mysqlContext.Apps.Add(SampleApp());
                mysqlContext.Database.ExecuteSqlRaw("Create table `uploadFiles`(`id` varchar(255) NOT NULL,  `file` mediumblob NULL, PRIMARY KEY(`id`)) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci");
                mysqlContext.SaveChanges();
                mysqlContext.Dispose();
            }
        }
        public void Create()
        {
            var catalogs = _context.Set <BookCatalog>();

            var programming = new BookCatalog
            {
                Name      = "Programming",
                Order     = 1,
                Childrens = new List <BookCatalog>
                {
                    new BookCatalog {
                        Name = ".NET", Order = 1
                    },
                    new BookCatalog {
                        Name = "Python", Order = 3
                    },
                    new BookCatalog {
                        Name = "JavaScript", Order = 2
                    }
                }
            };

            var webDesign = new BookCatalog
            {
                Name      = "Web Design",
                Order     = 2,
                Childrens = new List <BookCatalog>
                {
                    new BookCatalog {
                        Name = "HTML", Order = 1
                    },
                    new BookCatalog {
                        Name = "CSS", Order = 2
                    }
                }
            };

            var other = new BookCatalog
            {
                Name  = "Other",
                Order = 3
            };

            catalogs.AddOrUpdate(x => x.Name, programming, webDesign, other);
            _context.SaveChanges();
        }
        private static void SeedData(PortalDbContext context)
        {
            var lang1 = new UserLanguage()
            {
                Description = "Deutsch"
            };
            var lang2 = new UserLanguage()
            {
                Description = "English"
            };

            context.UserLanguages.Add(lang1);
            context.UserLanguages.Add(lang2);
            context.UserDateTimeFormats.Add(new UserDateTimeFormat()
            {
                Description = "dd.MM.yyyy"
            });
            context.UserDateTimeFormats.Add(new UserDateTimeFormat()
            {
                Description = "dd/MM/yyyy"
            });
            context.UserDateTimeFormats.Add(new UserDateTimeFormat()
            {
                Description = "dd-MM-yyyy"
            });
            context.UserDateTimeFormats.Add(new UserDateTimeFormat()
            {
                Description = "MM/dd/yyyy"
            });
            context.UserDateTimeFormats.Add(new UserDateTimeFormat()
            {
                Description = "yyyy-MM-dd"
            });
            context.PortalLinks.Add(new PortalLink()
            {
                IsAdmin = false, Language = lang1, Title = "UserManagement", Link = "/EventManagement/UserManagement"
            });
            context.PortalLinks.Add(new PortalLink()
            {
                IsAdmin = false, Language = lang2, Title = "UserManagement", Link = "/EventManagement/UserManagement"
            });
            context.SaveChanges();
        }
Ejemplo n.º 23
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();
            }
        }
Ejemplo n.º 24
0
        public static void Seed(PortalDbContext context)
        {
            if (!context.Menus.Any(x => x.MenuName == "Main Menu"))
            {
                var menuItems = new List <MenuItem>();

                menuItems.Add(new MenuItem {
                    LinkText = "Home", LinkURL = "/Home/Index", LinkIcon = "fa-home"
                });
                menuItems.Add(new MenuItem {
                    LinkText = "Blog", LinkURL = "/Blog/Read/Index", LinkIcon = "fa-book"
                });

                context.Menus.Add(new MenuSystem {
                    MenuName = "Main Menu", MenuItems = menuItems
                });

                context.SaveChanges();
            }
        }
Ejemplo n.º 25
0
        public IActionResult AddEvent(PaymenrAddModel model)
        {
            //model.UserId = GetUserId(User.Identity.Name);

            _db.Payments.Add(new Domain.Payment
            {
                Amount            = model.Amount,
                BankName          = model.BankName,
                BankTransactionId = model.BankTransactionId,
                UserId            = model.UserId,

                EventType = model.EventType,
                Id        = Guid.NewGuid(),
                TimeStamp = DateTime.Now
            });

            _db.SaveChanges();

            // Add credit
            return(Ok("done"));
        }
Ejemplo n.º 26
0
        private void CreateEditions()
        {
            var defaultEdition = _context.Editions.IgnoreQueryFilters().FirstOrDefault(e => e.Name == EditionManager.DefaultEditionName);

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

                /* Add desired features to the standard edition, if wanted... */
            }

            if (defaultEdition.Id > 0)
            {
                CreateFeatureIfNotExists(defaultEdition.Id, AppFeatures.ChatFeature, true);
                CreateFeatureIfNotExists(defaultEdition.Id, AppFeatures.TenantToTenantChatFeature, true);
                CreateFeatureIfNotExists(defaultEdition.Id, AppFeatures.TenantToHostChatFeature, true);
            }
        }
Ejemplo n.º 27
0
 public virtual ActionResult DeleteConfirmed(string id)
 {
     var Db = new PortalDbContext();
     var user = Db.Users.First(u => u.UserName == id);
     Db.Users.Remove(user);
     Db.SaveChanges();
     return RedirectToAction("Index");
 }
Ejemplo n.º 28
0
        public void CreateUserAndRoles(PortalDbContext context)
        {
            //var adminRoleForTenancyOwner = context.Roles.FirstOrDefault(r => r.TenantId == null && r.Name == "Admin");
            //if (adminRoleForTenancyOwner == null)
            //{
            //    adminRoleForTenancyOwner = context.Roles.Add(new Role(null, "Admin", "Admin"));
            //    context.SaveChanges();
            //}

            //var adminUserForTenancyOwner = context.Users.FirstOrDefault(u => u.TenantId == null && u.UserName == "admin");

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

            //    context.SaveChanges();

            //    context.UserRoles.Add(new UserRole(adminUserForTenancyOwner.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("Default", "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(defaultTenant.Id, "Admin", "Admin"));
                context.SaveChanges();
                context.Permissions.Add(new RolePermissionSetting { RoleId = adminRoleForDefaultTenant.Id, Name = "CanAccessAdministrator", IsGranted = false });
                context.Permissions.Add(new RolePermissionSetting { RoleId = adminRoleForDefaultTenant.Id, Name = "CanAccessLogistic", IsGranted = false});
                context.Permissions.Add(new RolePermissionSetting { RoleId = adminRoleForDefaultTenant.Id, Name = "CanAccessAccounting", IsGranted = false });
                context.Permissions.Add(new RolePermissionSetting { RoleId = adminRoleForDefaultTenant.Id, Name = "CanAccessMarketing", IsGranted = false });
                context.Permissions.Add(new RolePermissionSetting { RoleId = adminRoleForDefaultTenant.Id, Name = "CanAccessRetailer", IsGranted = false });
                context.SaveChanges();
            }

            //User role for 'Default' tenant

            var userRoleForDefaultTenant = context.Roles.FirstOrDefault(r => r.TenantId == defaultTenant.Id && r.Name == "User");
            if (userRoleForDefaultTenant == null)
            {
                var roleLogistic = context.Roles.Add(new Role(defaultTenant.Id, "Logistic", "Logistic"));
                context.SaveChanges();

                var roleAccounting = context.Roles.Add(new Role(defaultTenant.Id, "Accounting", "Accounting"));
                context.SaveChanges();

                var roleMarketing = context.Roles.Add(new Role(defaultTenant.Id, "Marketing", "Marketing"));
                context.SaveChanges();

                userRoleForDefaultTenant = context.Roles.Add(new Role(defaultTenant.Id, "Retailer", "Retailer")
                {
                    IsDefault = true
                });
                context.SaveChanges();

                context.Permissions.Add(new RolePermissionSetting { RoleId = roleAccounting.Id, Name = "CanAccessAccounting", IsGranted = true });
                context.Permissions.Add(new RolePermissionSetting { RoleId = roleMarketing.Id, Name = "CanAccessMarketing", IsGranted = true });
                context.Permissions.Add(new RolePermissionSetting { RoleId = roleLogistic.Id, Name = "CanAccessLogistic", IsGranted = true });
                context.Permissions.Add(new RolePermissionSetting { RoleId = userRoleForDefaultTenant.Id, Name = "CanAccessRetailer", IsGranted = true });
                context.SaveChanges();

            }

            //Admin for 'Default' tenant

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

                context.UserRoles.Add(new UserRole(adminUserForDefaultTenant.Id, adminRoleForDefaultTenant.Id));
               //// context.UserRoles.Add(new UserRole(adminUserForDefaultTenant.Id, userRoleForDefaultTenant.Id));
                context.SaveChanges();
            }
        }
Ejemplo n.º 29
0
        public static void Seed(PortalDbContext context)
        {
            var fonts = new List <Font>();

            if (!context.Fonts.Any())
            {
                fonts.Add(new Font {
                    FontName = "Portal", FontPath = "/Content/Fonts/Emeric.ttf", FontType = "truetype", DateAdded = DateTime.Now, DateUpdated = DateTime.Now
                });
                fonts.Add(new Font {
                    FontName = "AllerDisplay", FontPath = "/Content/Fonts/AllerDisplay.ttf", FontType = "truetype", DateAdded = DateTime.Now, DateUpdated = DateTime.Now
                });
                fonts.Add(new Font {
                    FontName = "Anagram", FontPath = "/Content/Fonts/Anagram.ttf", FontType = "truetype", DateAdded = DateTime.Now, DateUpdated = DateTime.Now
                });
                fonts.Add(new Font {
                    FontName = "Architect", FontPath = "/Content/Fonts/ArchitectsDaughter.ttf", FontType = "truetype", DateAdded = DateTime.Now, DateUpdated = DateTime.Now
                });
                fonts.Add(new Font {
                    FontName = "Blackout", FontPath = "/Content/Fonts/Blackout-2am.ttf", FontType = "truetype", DateAdded = DateTime.Now, DateUpdated = DateTime.Now
                });
                fonts.Add(new Font {
                    FontName = "BreeSerif", FontPath = "/Content/Fonts/BreeSerif-regular.otf", FontType = "opentype", DateAdded = DateTime.Now, DateUpdated = DateTime.Now
                });
                fonts.Add(new Font {
                    FontName = "Bubblegum", FontPath = "/Content/Fonts/BubblegumSans-Regular.otf", FontType = "opentype", DateAdded = DateTime.Now, DateUpdated = DateTime.Now
                });
                fonts.Add(new Font {
                    FontName = "CarbonType", FontPath = "/Content/Fonts/carbontype.ttf", FontType = "truetype", DateAdded = DateTime.Now, DateUpdated = DateTime.Now
                });
                fonts.Add(new Font {
                    FontName = "DancingScript", FontPath = "/Content/Fonts/dancingscript-regular.otf", FontType = "opentype", DateAdded = DateTime.Now, DateUpdated = DateTime.Now
                });
                fonts.Add(new Font {
                    FontName = "GrandHotel-Regular", FontPath = "/Content/Fonts/grandhotel-regular.otf", FontType = "opentype", DateAdded = DateTime.Now, DateUpdated = DateTime.Now
                });
                fonts.Add(new Font {
                    FontName = "Organo", FontPath = "/Content/Fonts/Organo.ttf", FontType = "truetype", DateAdded = DateTime.Now, DateUpdated = DateTime.Now
                });
                fonts.Add(new Font {
                    FontName = "Railway", FontPath = "/Content/Fonts/Railway.otf", FontType = "opentype", DateAdded = DateTime.Now, DateUpdated = DateTime.Now
                });
                fonts.Add(new Font {
                    FontName = "Roboto-Bold", FontPath = "/Content/Fonts/roboto-bold.ttf", FontType = "truetype", DateAdded = DateTime.Now, DateUpdated = DateTime.Now
                });
                fonts.Add(new Font {
                    FontName = "Sniglet", FontPath = "/Content/Fonts/sniglet-regular.otf", FontType = "opentype", DateAdded = DateTime.Now, DateUpdated = DateTime.Now
                });
                fonts.Add(new Font {
                    FontName = "OpenSans-Regular", FontPath = "/Content/Fonts/OpenSans-Regular.ttf", FontType = "truetype", DateAdded = DateTime.Now, DateUpdated = DateTime.Now
                });

                context.Fonts.AddRange(fonts);
            }

            context.SaveChanges();

            var themes = new List <CustomTheme>();

            if (!context.Themes.Any())
            {
                var fontList = context.Fonts.ToList();

                var defaultFont      = fontList.First(x => x.FontName == "Portal");
                var allerDisplayFont = fontList.First(x => x.FontName == "AllerDisplay");
                var snigletFont      = fontList.First(x => x.FontName == "Sniglet");

                themes.Add(new CustomTheme {
                    ThemeName = "Portal", TitleFontId = defaultFont.FontId, TextFontId = defaultFont.FontId, IsDefault = true, DateAdded = DateTime.Now, DateUpdated = DateTime.Now, TitleLargeFontSize = 35, TitleMediumFontSize = 35, TitleSmallFontSize = 24, TitleTinyFontSize = 22, TextStandardFontSize = 20, PageBackgroundColour = "#000000", MenuBackgroundColour = "#000000", MenuTextColour = "#9d9d9d"
                });
                themes.Add(new CustomTheme {
                    ThemeName = "Impact", TitleFontId = allerDisplayFont.FontId, TextFontId = snigletFont.FontId, IsDefault = false, DateAdded = DateTime.Now, DateUpdated = DateTime.Now, TitleLargeFontSize = 35, TitleMediumFontSize = 35, TitleSmallFontSize = 24, TitleTinyFontSize = 22, TextStandardFontSize = 20, PageBackgroundColour = "#000000", MenuBackgroundColour = "#000000", MenuTextColour = "#9d9d9d"
                });

                context.Themes.AddRange(themes);
            }

            context.SaveChanges();
        }
Ejemplo n.º 30
0
        private void CreateRolesAndUsers()
        {
            //admin role

            var adminRole =
                _context.Roles.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
                });
                _context.SaveChanges();

                //Grant all permissions to admin role
                var permissions = PermissionFinder
                                  .GetAllPermissions(new AppAuthorizationProvider())
                                  .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();
            }

            //approver role

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

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

                //Grant permissions to approver role

                _context.Permissions.Add(
                    new RolePermissionSetting
                {
                    TenantId  = _tenantId,
                    Name      = PermissionNames.ContentChange,
                    IsGranted = true,
                    RoleId    = approverRole.Id
                });

                _context.Permissions.Add(
                    new RolePermissionSetting
                {
                    TenantId  = _tenantId,
                    Name      = PermissionNames.ContentAdd,
                    IsGranted = true,
                    RoleId    = approverRole.Id
                });
            }

            //user role

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

            if (userRole == null)
            {
                userRole = _context.Roles.Add(new Role(_tenantId, StaticRoleNames.Tenants.User,
                                                       StaticRoleNames.Tenants.User)
                {
                    IsStatic = true, IsDefault = true
                });
                _context.SaveChanges();

                //Grant permissions to user role

                _context.Permissions.Add(
                    new RolePermissionSetting
                {
                    TenantId  = _tenantId,
                    Name      = PermissionNames.ContentAdd,
                    IsGranted = true,
                    RoleId    = userRole.Id
                });
            }

            //admin user

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

            if (adminUser == null)
            {
                adminUser = User.CreateTenantAdminUser(_tenantId, CoreConsts.DefaultAdminEmailAddress, CoreConsts.DefaultAdminUserName, CoreConsts.DefaultAdminPassword);
                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();
            }
        }
Ejemplo n.º 31
0
        public void Create()
        {
            #region Authors

            var authors = _context.Set <Author>();

            var author1 = new Author {
                Name = "AuthorName#1"
            };
            var author2 = new Author {
                Name = "AuthorName#2"
            };
            var author3 = new Author {
                Name = "AuthorName#3"
            };

            authors.AddOrUpdate(x => x.Name, author1, author2, author3);

            #endregion

            #region Tags

            var tags = _context.Set <Tag>();

            var tag1 = new Tag {
                Name = "TagName#1"
            };
            var tag2 = new Tag {
                Name = "TagName#2"
            };
            var tag3 = new Tag {
                Name = "TagName#3"
            };
            var tag4 = new Tag {
                Name = "TagName#4"
            };

            tags.AddOrUpdate(x => x.Name, tag1, tag2, tag3, tag4);

            #endregion

            #region Language

            var languages = _context.Set <Language>();
            var language  = new Language {
                Name = "LanguageName"
            };

            languages.AddOrUpdate(x => x.Name, language);

            #endregion

            #region Publisher

            var publishers = _context.Set <Publisher>();
            var publisher  = new Publisher {
                Name = "PublisherName"
            };

            publishers.AddOrUpdate(x => x.Name, publisher);

            #endregion

            #region Issue

            var issues = _context.Set <Issue>();
            var issue  = new Issue {
                Name = "IssueName"
            };

            issues.AddOrUpdate(x => x.Name, issue);

            #endregion

            AddBooks(
                catalogName: ".NET",
                size: 15,
                authors: new List <Author> {
                author1, author3
            },
                tags: new List <Tag>(),
                language: null,
                publisher: publisher,
                issue: issue
                );

            AddBooks(
                catalogName: "Python",
                size: 5,
                authors: new List <Author>(),
                tags: new List <Tag> {
                tag1, tag4
            },
                language: language,
                publisher: null,
                issue: issue
                );

            AddBooks(
                catalogName: "HTML",
                size: 12,
                authors: new List <Author> {
                author2, author1
            },
                tags: new List <Tag> {
                tag3, tag2, tag1
            },
                language: language,
                publisher: publisher,
                issue: null
                );

            AddBooks(
                catalogName: "Other",
                size: 2,
                authors: new List <Author> {
                author3
            },
                tags: new List <Tag> {
                tag3, tag2, tag1, tag4
            },
                language: language,
                publisher: publisher,
                issue: issue
                );

            _context.SaveChanges();
        }
Ejemplo n.º 32
0
        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 PortalAuthorizationProvider())
                              .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();
            }
        }