Exemple #1
0
        static DataServiceFactory()
        {
            var container = UnityFactory.GetContainer();

            if (container != null)
            {
                if (container.IsRegistered <IDataService>("SyncDataService"))
                {
                    SyncDataService = container.Resolve <IDataService>("SyncDataService");
                }

                if (container.IsRegistered <IDataService>("AppDataService"))
                {
                    AppDataService = container.Resolve <IDataService>("AppDataService");
                }
            }

            if (AppDataService == null)
            {
                throw new Exception($"Не проинициализирован {nameof(AppDataService)}!");
            }

            if (SyncDataService == null)
            {
                throw new Exception($"Не проинициализирован {nameof(SyncDataService)}!");
            }
        }
        /// <summary>
        /// Получение представления по его имени и типу.
        /// Если представление не найдено среди статических, то есть возможность сформировать его динамически (используется в редакторе ограничений).
        /// </summary>
        /// <param name="viewName">Имя представления, которое требуется получить.</param>
        /// <param name="dataObjectType">Тип объекта, для которого нужно представление.</param>
        /// <returns>Найденное/сформированное представление или <c>null</c>.</returns>
        public static View GetPossibleDynamicView(string viewName, Type dataObjectType)
        {
            View resultView = Information.GetView(viewName, dataObjectType);

            if (resultView == null)
            {
                // Если не удалось получить представление для детейла стандартным методом, то пробуем сделать это другим способом.
                IUnityContainer container = UnityFactory.GetContainer();
                IViewGenerator  resolvedType;

                try
                {
                    resolvedType = container.Resolve <IViewGenerator>();
                }
                catch (ResolutionFailedException)
                {
                    resolvedType = null;
                }

                if (resolvedType != null)
                {
                    resultView = resolvedType.GenerateView(viewName, dataObjectType);
                }
            }

            return(resultView);
        }
Exemple #3
0
        /// <summary>
        /// Метод для конфигурации всех сервисов прилоежния.
        /// </summary>
        public static void ConfigureServices()
        {
            IUnityContainer container = UnityFactory.CreateContainer();

            // Сервис аудита.
            AuditSetter.InitAuditService(DataServiceProvider.DataService);

            // Сервис тем оформления.
            //ThemeService.Current = container.Resolve<IThemeService>();

            // Настройки лукапа.
            BaseMasterEditorLookUp.ChangeLookUpSettings = ChangeLookUpSettings;

            // Менеджер расширенных ограничений.

            /*if (container.IsRegistered<IAdvLimitManager>())
             *  AdvLimitManager.Current = container.Resolve<IAdvLimitManager>();*/

            // Сервис настроек пользователя.

            /*if (container.IsRegistered<IUserSettingsService>())
             *  UserSettingsService.Current = container.Resolve<IUserSettingsService>();
             * else
             *  LogService.LogWarn("IUserSettingsService не сконфигурирован в Unity. Будет использована реализация по умолчанию.");*/
        }
Exemple #4
0
        /// <summary>
        /// Метод для конфигурации всех сервисов прилоежния.
        /// </summary>
        public static void ConfigureServices()
        {
            IUnityContainer container = UnityFactory.CreateContainer();

            // Сервис аудита.
            // AuditSetter.InitAuditService(BridgeToDS.GetDataService());

            // Сервис тем оформления.
            ThemeService.Current = container.Resolve <IThemeService>();

            // Настройки лукапа.
            BaseMasterEditorLookUp.ChangeLookUpSettings = FormUtils.ChangeLookUpSettings;

            // Менеджер расширенных ограничений.
            if (container.IsRegistered <IAdvLimitManager>())
            {
                AdvLimitManager.Current = container.Resolve <IAdvLimitManager>();
            }

            // Сервис настроек пользователя.
            if (container.IsRegistered <IUserSettingsService>())
            {
                UserSettingsService.Current = container.Resolve <IUserSettingsService>();
            }
            else
            {
                LogService.LogWarn("IUserSettingsService не сконфигурирован в Unity. Будет использована реализация по умолчанию.");
            }
        }
        public static DateFunctions getDateFunctionsService()
        {
            IUnityContainer container      = UnityFactory.getUnityContainer();
            var             nepaliDateData = container.Resolve <NepaliDateData>();

            return(new DateFunctionsImpl(nepaliDateData));
        }
        public static FiscalYearFunctions getFiscalYearService()
        {
            IUnityContainer container      = UnityFactory.getUnityContainer();
            var             dateConverter  = container.Resolve <dateConverterService>();
            var             nepaliDateData = container.Resolve <NepaliDateData>();

            return(new FiscalYearFunctionsImpl(dateConverter, nepaliDateData));
        }
Exemple #7
0
        // This method gets called by the runtime. Use this method to add services to the container.
        public virtual void ConfigureServices(IServiceCollection services)
        {
            /*
             * // Configure Flexberry services (LockService and IDataService) via native DI.
             * {
             *  services.AddSingleton<IDataService>(provider =>
             *  {
             *      IDataService dataService = new PostgresDataService() { CustomizationString = CustomizationString };
             *      ExternalLangDef.LanguageDef.DataService = dataService;
             *
             *      return dataService;
             *  });
             *
             *  services.AddSingleton<ILockService, LockService>();
             * }
             */

            // Configure Flexberry services via Unity.
            {
                IUnityContainer unityContainer = UnityFactory.GetContainer();

                IDataService dataService = new PostgresDataService()
                {
                    CustomizationString = CustomizationString
                };

                unityContainer.RegisterInstance(dataService);
                ExternalLangDef.LanguageDef.DataService = dataService;

                unityContainer.RegisterInstance <ILockService>(new LockService(dataService));

                unityContainer.RegisterInstance <ISecurityManager>(new EmptySecurityManager());
            }

            services.AddMvcCore(options =>
            {
                options.Filters.Add <CustomExceptionFilter>();
                options.EnableEndpointRouting = false;
            })
            .AddFormatterMappings();

            services.AddOData();

            services.AddSingleton <IDataObjectFileAccessor>(provider =>
            {
                Uri baseUri = new Uri("http://localhost");

                if (ServerAddressesFeature != null && ServerAddressesFeature.Addresses != null)
                {
                    // This works with pure self-hosted service only.
                    baseUri = new Uri(ServerAddressesFeature.Addresses.Single());
                }

                var env = provider.GetRequiredService <IHostingEnvironment>();

                return(new DefaultDataObjectFileAccessor(baseUri, "api/File", "Uploads"));
            });
        }
Exemple #8
0
        public static dateConverterService getDateConverterService()
        {
            IUnityContainer container      = UnityFactory.getUnityContainer();
            var             dateFunctions  = container.Resolve <DateFunctions>();
            var             startDates     = container.Resolve <ConversionStartDateData>();
            var             nepaliDateData = container.Resolve <NepaliDateData>();

            return(new DateConverter.Core.Library.DateConverterImpl(startDates, dateFunctions, nepaliDateData));
        }
Exemple #9
0
        public UserEntities()
        {
            var userAdapter = UnityFactory.Resolve <IUserAdapter>();

            JohnDoe = userAdapter.AddUser(new UserEntityBuilder().John().Build());
            JaneDoe = userAdapter.AddUser(new UserEntityBuilder().Jane().Build());

            userAdapter.SaveChanges();
        }
Exemple #10
0
        void Start()
        {
            //read and parse skeleton josn into SkeletonData
            TextAsset  jsonReader = (TextAsset)Resources.Load("skeleton.json", typeof(TextAsset));
            TextReader reader     = new StringReader(jsonReader.text);
            Dictionary <String, System.Object> skeletonRawData = Json.Deserialize(reader) as Dictionary <String, System.Object>;
            SkeletonData skeletonData = ObjectDataParser.ParseSkeletonData(skeletonRawData);

            //read and parse texture atlas josn into TextureAtlas
            Texture _textures = Resources.Load <Texture>("texture");

            jsonReader = (TextAsset)Resources.Load("texture.json", typeof(TextAsset));
            reader     = new StringReader(jsonReader.text);
            Dictionary <String, System.Object> atlasRawData = Json.Deserialize(reader) as Dictionary <String, System.Object>;
            AtlasData    atlasData    = AtlasDataParser.ParseAtlasData(atlasRawData);
            TextureAtlas textureAtlas = new TextureAtlas(_textures, atlasData);

            //use the above data to make factory
            UnityFactory factory = new UnityFactory();

            factory.AddSkeletonData(skeletonData, skeletonData.Name);
            factory.AddTextureAtlas(textureAtlas);

            //add 20 centaur into scene at some random positions.
            System.Random random = new System.Random();
            for (int i = 0; i < 20; i++)
            {
                for (int j = 0; j < 20; j++)
                {
                    Armature armature = factory.BuildArmature("centaur/charactor", null, "charactor_all");
                    armature.AdvanceTime(0f);
                    float r0 = (float)random.NextDouble() + 0.5f;
                    float r1 = 0;                    //(float)random.NextDouble();
                    float r2 = (float)random.NextDouble();
                    ((armature.Display as UnityArmatureDisplay).Display as GameObject).transform.position = new Vector3((float)j + r0 * 20f, 1, r2 * 15f);
                    WorldClock.Clock.Add(armature);
                    armature.Animation.GotoAndPlay("run", -1, -1, 0);
                }
            }

            //add 20 bird into scene at some random positions.
            for (int i = 0; i < 20; i++)
            {
                for (int j = 0; j < 20; j++)
                {
                    Armature armature = factory.BuildArmature("bird/charactor", null, "charactor_all");
                    armature.AdvanceTime(0f);
                    float r0 = (float)random.NextDouble() + 0.5f;
                    float r1 = (float)random.NextDouble() + 1;
                    float r2 = (float)random.NextDouble();
                    ((armature.Display as UnityArmatureDisplay).Display as GameObject).transform.position = new Vector3((float)j + r0 * 20f, (float)i * 3f + r1 * 5f, r2 * 15f);
                    WorldClock.Clock.Add(armature);
                    armature.Animation.GotoAndPlay("fly", -1, -1, 0);
                }
            }
        }
 public void Initialize(UnityFactory factory, GuiInformation info, XmasModel engine, bool reversed)
 {
     this.Factory  = factory;
     this.GUIInfo  = info;
     this.Engine   = engine;
     this.reversed = reversed;
     Engine.EventManager.Register(new Trigger <ManaCrystalAddedEvent>(evt => evt.Owner == this.GUIInfo.Player, OnManaAdded));
     Engine.EventManager.Register(new Trigger <ManaCrystalSpentEvent>(evt => evt.Owner == this.GUIInfo.Player, OnManaSpent));
     Engine.EventManager.Register(new Trigger <ManaRechargedEvent>(evt => evt.Owner == this.GUIInfo.Player, OnManaRecharged));
 }
 public void Initialize(UnityFactory Factory, GuiInformation ginfo, bool isNotMainPlayer)
 {
     this.Factory = Factory;
     this.ginfo = ginfo;
     this.isNotMainPlayer = isNotMainPlayer;
     ginfo.Player.Register(new Trigger<PlayerGainedXPEvent>(OnXPGain));
     xpscaler = this.ginfo.XPBar.GetComponent<GUITextureAutoScaler>();
     initwidth = xpscaler.CurPlacement.width;
     CheckXp();
 }
 public void Initialize(UnityFactory factory, GuiInformation info, XmasModel engine, bool reversed)
 {
     this.Factory = factory;
     this.GUIInfo = info;
     this.Engine = engine;
     this.reversed = reversed;
     Engine.EventManager.Register(new Trigger<ManaCrystalAddedEvent>(evt=>evt.Owner==this.GUIInfo.Player,OnManaAdded));
     Engine.EventManager.Register(new Trigger<ManaCrystalSpentEvent>(evt => evt.Owner == this.GUIInfo.Player, OnManaSpent));
     Engine.EventManager.Register(new Trigger<ManaRechargedEvent>(evt => evt.Owner == this.GUIInfo.Player, OnManaRecharged));
 }
Exemple #14
0
        protected void Application_Start()
        {
            AreaRegistration.RegisterAllAreas();
            GlobalConfiguration.Configure(WebApiConfig.Register);
            FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
            RouteConfig.RegisterRoutes(RouteTable.Routes);
            BundleConfig.RegisterBundles(BundleTable.Bundles);

            UnityFactory.Initialize();
        }
 public void Initialize(UnityFactory Factory, GuiInformation ginfo, bool isNotMainPlayer)
 {
     this.Factory         = Factory;
     this.ginfo           = ginfo;
     this.isNotMainPlayer = isNotMainPlayer;
     ginfo.Player.Register(new Trigger <PlayerGainedXPEvent>(OnXPGain));
     xpscaler  = this.ginfo.XPBar.GetComponent <GUITextureAutoScaler>();
     initwidth = xpscaler.CurPlacement.width;
     CheckXp();
 }
Exemple #16
0
        static DataChangeMessageHandlerFactory()
        {
            var container = UnityFactory.GetContainer();

            DataMessageHandler = container.Resolve <IDataMessageHandler>();

            if (DataMessageHandler == null)
            {
                throw new Exception($"Не проинициализирован {nameof(DataMessageHandler)}!");
            }
        }
Exemple #17
0
 static void Main(string[] args)
 {
     using (UnityFactory uFactory = new UnityFactory())
     {
         IRoomBL RoomObj = uFactory.CreateRoomObject();
         Room    room    = new Room {
             Narration = "Test"
         };
         RoomObj.Add(room);
     }
 }
        private static bool Login(string login, string password)
        {
            IUserManager userManager = UnityFactory.GetContainer().Resolve <IUserManager>();

            if (userManager.IsUserExist(login, password))
            {
                FormsAuthentication.SetAuthCookie(login, true);
                return(true);
            }

            return(false);
        }
Exemple #19
0
        private static ICommandCoder GetCommandCoder(string protocolName)
        {
            if (CommandCoders.ContainsKey(protocolName))
            {
                return(CommandCoders[protocolName]);
            }
            var coder = UnityFactory.Resolve <ICommandCoder>(protocolName);

            CommandCoders.Add(protocolName, coder);

            return(CommandCoders[protocolName]);
        }
Exemple #20
0
    void Start()
    {
        UnitTemplate template = ScriptableObject.CreateInstance <UnitTemplate>();

        template.BaseState = Unit;
        template.AddAmmuniotion(Unit.Slots[0], Ammunition); //добавить аммуницию к подходящему слоту
        //через этот метод добавить шлем и перчатки

        UnityFactory.CreateUnit(template, Vector3.zero);

        StateText.text = string.Format("Speed - {0}\nHealth - {1}", template.CurrentState.Speed, template.CurrentState.Health);
    }
 public static ISecurityOrchestration CreateSecurityOrchestration(bool isStubbed = false, bool useDI = true)
 {
     if (!useDI)
     {
         return(isStubbed ? (ISecurityOrchestration) new SecurityOrchestrationStub() : (ISecurityOrchestration) new SecurityOrchestration());
     }
     else
     {
         // NOTE: This works locally but in Team City the DI does not resolve
         return(isStubbed ? UnityFactory.Resolve <ISecurityOrchestration>("StubbedVersion")
             : UnityFactory.Resolve <ISecurityOrchestration>("LatestVersion"));
     }
 }
Exemple #22
0
        public void GetConfigResolverTest()
        {
            // Arrange.
            IUnityContainer container = UnityFactory.GetContainer();

            // Act.
            IConfigResolver configResolver = container.Resolve <IConfigResolver>();

            configResolver.ResolveConnectionString("TestConnStr");

            // Assert.
            Assert.NotNull(configResolver);
        }
 static TGHelper()
 {
     try
     {
         DataBaseHelper = UnityFactory.GetContainer().Resolve <DataBaseHelper>("DataBaseHelper");
         ChainHelper    = UnityFactory.GetContainer().Resolve <DataBaseHelper>("ChainHelper");
         DataService    = UnityFactory.GetContainer().Resolve <IDataService>();
     }
     catch (Exception ex)
     {
         LogService.LogError(ex.Message);
         throw new Exception("Неверно сконфигурирован Unity", ex);
     }
 }
        // *** Start programmer edit section *** (DataLink CustomMembers)

        /// <summary>
        /// Создать/обновить триггеры в атрибутивной БД
        /// </summary>
        public void UpdateAttributiveTriggers(IDbCommand sqlCommand)
        {
            try
            {
                var attributiveTriggerGenerator = UnityFactory.GetContainer().Resolve <ITriggerGenerator>("AttributiveTriggerGenerator");
                attributiveTriggerGenerator.InitByDataLink(this);
                attributiveTriggerGenerator.DropTriggers(sqlCommand);
                attributiveTriggerGenerator.GenerateTriggers(sqlCommand);
            }
            catch (Exception exception)
            {
                throw new Exception(string.Format("Ошибка генерации триггеров атрибутивной БД для соединения со слоем {0}", LayerTable), exception);
            }
        }
 /// <summary>
 /// Создать/обновить триггеры в геоданных
 /// </summary>
 public void UpdateSpatialTriggers(IDbCommand sqlCommand)
 {
     try
     {
         var spatialTriggerGenerator = UnityFactory.GetContainer().Resolve <ITriggerGenerator>("SpatialTriggerGenerator");
         spatialTriggerGenerator.InitByDataLink(this);
         spatialTriggerGenerator.DropTriggers(sqlCommand);
         spatialTriggerGenerator.GenerateTriggers(sqlCommand);
     }
     catch (Exception exception)
     {
         throw new Exception(string.Format("Ошибка генерации триггеров геоданных для слоя {0}", LayerTable), exception);
     }
 }
Exemple #26
0
 /// <summary>
 /// 获取所有注册的客户端设备提供程序
 /// </summary>
 private static void ResolveClientSourceProvier()
 {
     try
     {
         var providers = UnityFactory.GetContainer().ResolveAll(typeof(IClientSourceProvider));
         foreach (var provider in providers)
         {
             ClientSourceProviders.Add((IClientSourceProvider)provider);
         }
     }
     catch (Exception ex)
     {
         LogService.Instance.Error("Load ClientSource Provider Failed.", ex);
     }
 }
Exemple #27
0
 /// <summary>
 /// 获取所有注册的业务处理程序
 /// </summary>
 private static void ResolveBuinessHandler()
 {
     try
     {
         var handlers = UnityFactory.GetContainer().ResolveAll(typeof(IBuinessHandler));
         foreach (var handler in handlers)
         {
             BuinessHandlers.Add((IBuinessHandler)handler);
         }
     }
     catch (Exception ex)
     {
         LogService.Instance.Error("Load BuinessHandler Failed.", ex);
     }
 }
        public void LeapYearTest()
        {
            UnityFactory.RegisterComponents();

            var datetimeProviderMock = new Mock <IDatetimeProvider>();

            datetimeProviderMock.SetupGet(dtp => dtp.UtcNow).Returns(new DateTime(2020, 6, 1));

            UnityFactory.container.RegisterType <DatetimeCalculator, DatetimeCalculator>
                (new InjectionConstructor(datetimeProviderMock.Object));

            DatetimeCalculator dtprocessor = UnityFactory.container.Resolve <DatetimeCalculator>();

            Assert.IsTrue(dtprocessor.IsLeapYear());
        }
Exemple #29
0
        private void ReplaceConfig(UnityFactory unityFactory, string newConfigName)
        {
            //Console.WriteLine($"Assembly.GetExecutingAssembly().CodeBase {Assembly.GetExecutingAssembly().CodeBase}");
            //Console.WriteLine($"Environment.CurrentDirectory {Environment.CurrentDirectory}");
            //Console.WriteLine($"TestContext.CurrentContext.TestDirectory {TestContext.CurrentContext.TestDirectory}");
            //Console.WriteLine($"TestContext.CurrentContext.WorkDirectory  {TestContext.CurrentContext.WorkDirectory }");


            var path    = Path.GetDirectoryName(TestContext.CurrentContext.TestDirectory);
            var newFile = Path.Combine(path, "Debug", newConfigName);
            var config  = new UnityCustomSection();

            config.LoadConfigurationFile(newFile);
            unityFactory.ReloadSection(config);
        }
Exemple #30
0
        public void ResolveConnectionStringTest()
        {
            // Arrange.
            IUnityContainer container      = UnityFactory.GetContainer();
            IConfigResolver configResolver = container.Resolve <IConfigResolver>();

            Assert.NotNull(configResolver);
            string connectionStringName = "TestConnStr";
            string expectedResult       = @"SERVER=.\SQLEXPRESS;Trusted_connection=yes;DATABASE=Test;";

            // Act.
            string actualResult = configResolver.ResolveConnectionString(connectionStringName);

            // Assert.
            Assert.Equal(expectedResult, actualResult);
        }
        /// <summary>
        ///     Инициализация сервиса сборщика изменений.
        /// </summary>
        static ChangePackageCollectorFactory()
        {
            var container = UnityFactory.GetContainer();

            if (container != null)
            {
                if (container.IsRegistered <IChangePackageCollector>("DefaultPackageCollector"))
                {
                    ChangePackageCollector = container.Resolve <IChangePackageCollector>("DefaultPackageCollector");
                }
            }

            if (ChangePackageCollector == null)
            {
                throw new Exception($"Не проинициализирован {nameof(ChangePackageCollector)}!");
            }
        }
Exemple #32
0
 /// <summary>
 /// 读取解码器类
 /// </summary>
 /// <param name="protocols"></param>
 public static void LoadEncoder(List <IProtocol> protocols)
 {
     foreach (var protocol in protocols)
     {
         try
         {
             var encoder = UnityFactory.Resolve <IProtocolEncoder>(protocol.ProtocolModule);
             encoder.Protocol = protocol;
             AllProtocols.Add(protocol);
             ProtocolEncoders.Add(protocol.ProtocolModule, encoder);
         }
         catch (Exception ex)
         {
             LogService.Instance.Error($"Load Encoder For Protocol {protocol.ProtocolModule} Failed.", ex);
         }
     }
 }
 public void Initialize(UnityFactory Factory)
 {
     this.Factory = Factory;
     Prepare();
 }