Ejemplo n.º 1
0
    void Start()
    {
        var all = Resources.FindObjectsOfTypeAll(typeof(GameObject)) as GameObject[];

        foreach (var o in all.Where(o => o.activeInHierarchy && o.GetComponent <object>() != null))
        {
            InitializeManager.PerformInitialization(o.GetComponent <object>());
        }
    }
Ejemplo n.º 2
0
        private static void InstallMongoDb()
        {
            var initializer = new InitializeManager();

            initializer.RegisterPrintable(SignaloBotTestParameters.MongoDbConnection
                , SignaloBotTestParameters.MongoDbConnection.ToDetailsString());

            initializer.Builder.RegisterType<ShoutExceptionLogger>().As<ICommonLogger>();
            
            initializer.Builder.RegisterType<MongoDbUserDeliveryTypeSettingsQueries>().As<IUserDeliveryTypeSettingsQueries<ObjectId>>();
            initializer.Builder.RegisterType<MongoDbUserCategorySettingsQueries>().As<IUserCategorySettingsQueries<ObjectId>>();
            initializer.Builder.RegisterType<MongoDbUserTopicSettingsQueries>().As<IUserTopicSettingsQueries<ObjectId>>();

            initializer.RegisterModules(new List<Type>()
            {
                typeof(DropMongoDbModule),
                typeof(CreateMongoDbIndexModule),
                typeof(TestDataModule<ObjectId>),
                //typeof(MongoDbLoadTestDataModule)
            });

            initializer.Initialize();
        }        
Ejemplo n.º 3
0
        private static void InstallSql()
        {
            var initializer = new InitializeManager();

            initializer.RegisterPrintable(SignaloBotTestParameters.SqlConnetion
                , SignaloBotTestParameters.SqlConnetion.ToDetailsString());

            initializer.Builder.RegisterType<ShoutExceptionLogger>().As<ICommonLogger>();

            initializer.Builder.RegisterType<SqlUserDeliveryTypeSettingsQueries>().As<IUserDeliveryTypeSettingsQueries<Guid>>();
            initializer.Builder.RegisterType<SqlUserCategorySettingsQueries>().As<IUserCategorySettingsQueries<Guid>>();
            initializer.Builder.RegisterType<SqlUserTopicSettingsQueries>().As<IUserTopicSettingsQueries<Guid>>();
            
            initializer.RegisterModules(new List<Type>()
            {
                typeof(DropSqlDbModule),
                typeof(CreateSqlScriptsModule),
                typeof(CreateNotificationSqlScriptsModule),
                typeof(TestDataModule<Guid>),
            });

            initializer.Initialize();

        }
        private static void RegisterImageParameters(InitializeManager initializer)
        {
            initializer.Builder.RegisterInstance(new AvatarImageSettings()
            {
                DefaultImages = ContentProvider.GetAvatarNames(),
                TempDeleteAge = TimeSpan.FromDays(1),
                SizeLimit = 1124000,
                Targets = new List<ImageTargetParameters>()
                {
                    new ImageTargetParameters()
                    {
                        TargetFormat = ImageFormat.Jpeg,
                        ResizeType = ImageResizeType.FitAndFill,
                        RoundCorners = false,
                        Height = 100,
                        Width = 100,
                        PathCreator = new PathCreator()
                        {
                            TempRootFolder = Constants.IMAGE_TEMP_FOLDER_AVATAR,
                            TempFolderFormat = null,
                            TempNameFormat = "{0}{1}.jpeg",
                            StaticRootFolder = Constants.IMAGE_STATIC_FOLDER_AVATAR,
                            StaticFolderFormat = null,
                            StaticNameFormat = "{0}.jpeg"
                        }
                    }
                }
            });

            initializer.Builder.RegisterInstance(new ImageSettings()
            {
                Name = Constants.IMAGE_SETTINGS_NAME_PREVIEW,
                TempDeleteAge = TimeSpan.FromDays(1),
                SizeLimit = 5124000,
                Targets = new List<ImageTargetParameters>()
                {
                    new ImageTargetParameters()
                    {
                        TargetFormat = ImageFormat.Jpeg,
                        ResizeType = ImageResizeType.FitAndFill,
                        RoundCorners = false,
                        Width = 750,
                        Height = 420,
                        PathCreator = new PathCreator()
                        {
                            TempRootFolder = Constants.IMAGE_TEMP_FOLDER_PREVIEW,
                            TempFolderFormat = null,
                            TempNameFormat = "{0}{1}.jpeg",
                            StaticRootFolder = Constants.IMAGE_STATIC_FOLDER_PREVIEW,
                            StaticFolderFormat = null,
                            StaticNameFormat = "{0}.jpeg"
                        }
                    }
                }
            });

            initializer.Builder.RegisterInstance(new ImageSettings()
            {
                Name = Constants.IMAGE_SETTINGS_NAME_CONTENT,
                TempDeleteAge = TimeSpan.FromDays(1),
                SizeLimit = 1124000,
                Targets = new List<ImageTargetParameters>()
                {
                    new ImageTargetParameters()
                    {
                        TargetFormat = ImageFormat.Jpeg,
                        ResizeType = ImageResizeType.FitRatio,
                        RoundCorners = false,
                        Width = 600,
                        Height = 600,
                        PathCreator = new PathCreator()
                        {
                            TempRootFolder = Constants.IMAGE_TEMP_FOLDER_CONTENT,
                            TempFolderFormat = null,
                            TempNameFormat = "{0}{1}.jpeg",
                            StaticRootFolder = Constants.IMAGE_STATIC_FOLDER_CONTENT,
                            StaticFolderFormat = "{0}",
                            StaticNameFormat = "{0}.jpeg"
                        }
                    }
                }
            });
        }
        private static void RunInitializeModules()
        {
            var initializer = new InitializeManager();

            RegisterServices(initializer);
            RegisterImageParameters(initializer);
            RegisterParameters(initializer);

            initializer.RegisterModules(new List<Type>()
            {
                typeof(DropMongoDbModule),
                typeof(CreateMongoDbIndexModule<UserAccount>),
                //typeof(ESInstallModule),
                typeof(CategoriesModule),
                typeof(AdminUserModule),
                typeof(DemoContentModule),
                //typeof(ESInsertDataModule),
                typeof(ManualsModule),
                //typeof(AvatarsModule),
            });

            initializer.Initialize();
        }
        private static void RegisterServices(InitializeManager initializer)
        {
            initializer.Builder.RegisterType<ShoutExceptionLogger>().As<ICommonLogger>();

            initializer.Builder.RegisterType<ESQueries<ObjectId>>().As<ISearchQueries<ObjectId>>();
            initializer.Builder.RegisterType<MongoDbCategoryQueries>().As<ICategoryQueries<ObjectId>>();
            initializer.Builder.RegisterType<MongoDbContentQueries>().As<IContentQueries<ObjectId>>();

            initializer.Builder.RegisterType<IdentityMongoContext<UserAccount>>().AsSelf();
            initializer.Builder.RegisterType<MongoUserStore<UserAccount>>().As<IUserStore<UserAccount, ObjectId>>();
            initializer.Builder.RegisterType<MongoUserQueries<UserAccount>>().AsSelf();
            initializer.Builder.RegisterType<MongoUserManager>().AsSelf();

            initializer.Builder.RegisterType<AmazonFileStorage>().As<IFileStorage>();
            initializer.Builder.RegisterType<ImageSettingsFactory>().As<IImageSettingsFactory>();
            initializer.Builder.RegisterType<ContentImageQueries>().AsSelf();
            initializer.Builder.RegisterType<PreviewImageQueries>().AsSelf();
            initializer.Builder.RegisterType<AvatarImageQueries>().AsSelf();
        }
        private static void RegisterParameters(InitializeManager initializer)
        {
            //data
            List<Category<ObjectId>> categories = CategoriesProvider.GetCategories();
            Category<ObjectId> manualsCategory = categories.First(p =>
                p.Permissions.Any(a => a.Key == (int)CategoryPermission.View && a.Value == IdentityUserRole.Author.ToString()));

            var admin = new UserEssentials()
            {
                ID = ObjectId.GenerateNewId(),
                Email = "*****@*****.**",
                Name = "master",
                Password = "******",
                Roles = new List<string>() { IdentityUserRole.Author.ToString(), IdentityUserRole.Moderator.ToString(), IdentityUserRole.Admin.ToString() }
            };
            var author = new UserEssentials()
            {
                ID = ObjectId.GenerateNewId(),
                Email = "*****@*****.**",
                Name = "author1",
                Password = "******",
                Roles = new List<string>() { IdentityUserRole.Author.ToString() }
            };

            var mongoConnection = MongoDbConnectionSettings.FromConfig();
            var esConnection = ESSettings.FromConfig();
            var amazonConnection = AmazonS3Settings.FromConfig();
            initializer.RegisterPrintable(mongoConnection, mongoConnection.ToDetailsString());
            initializer.RegisterPrintable(esConnection, esConnection.ToDetailsString());
            initializer.RegisterPrintable(amazonConnection, amazonConnection.ToDetailsString());

            initializer.Builder.RegisterInstance(new CategoriesSettings()
            {
                Categories = categories
            });
            initializer.Builder.RegisterInstance(new DemoContentSettings()
            {
                CreatePreviewImages = false,
                MarkAsIndexedInSearch = true,
                CategoryID = categories.First(p => p.ParentCategoryID != null).CategoryID,
                PostCount = 50,
                PostContentPath = "Content\\demo posts"
            });
            initializer.Builder.RegisterInstance(new AdminModuleSettings()
            {
                Users = new List<UserEssentials>()
                {
                    admin,
                    author
                }
            });
            initializer.Builder.RegisterInstance(new ManualsSettings()
            {
                CategoryID = manualsCategory.CategoryID,
                PostContentPath = "Content\\manual posts",
                Author = admin
            });
        }