当前位置: 首页>>代码示例>>C#>>正文


C# RepositoryFactory.RegisterSpecificationTranslator方法代码示例

本文整理汇总了C#中RepositoryFactory.RegisterSpecificationTranslator方法的典型用法代码示例。如果您正苦于以下问题:C# RepositoryFactory.RegisterSpecificationTranslator方法的具体用法?C# RepositoryFactory.RegisterSpecificationTranslator怎么用?C# RepositoryFactory.RegisterSpecificationTranslator使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在RepositoryFactory的用法示例。


在下文中一共展示了RepositoryFactory.RegisterSpecificationTranslator方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: Main

        static void Main()
        {
            // Load Config.xml to setup log4net
            string path = Path.GetDirectoryName(
                System.Reflection.Assembly.GetExecutingAssembly()
               .GetModules()[0].FullyQualifiedName)
               + "\\log4net.xml";
            if (File.Exists(path))
            {
                XmlConfigurator.Configure(new FileInfo(path));
            }

            // Setup storage manager
            string configsPath = Path.Combine(Environment.Environment.AppPath, @"Config");
            var configurationManager = new ConfigurationManager(configsPath);
            var databaseName =
                configurationManager.GetConfig("Common").GetSection("Database").GetSetting("FileName").Value;
            var schemaScript =
                configurationManager.GetConfig("Common").GetSection("Database").GetSetting("SchemaScript").Value;
            IStorageManager storageManager = new SqLiteStorageManager();
            storageManager.CreateOrOpenStorage(
                string.Concat(Environment.Environment.AppPath, databaseName),
                string.Concat(Environment.Environment.AppPath, schemaScript));

            // Setup localization
            string localizationsPath = Path.Combine(Environment.Environment.AppPath, @"Resources\Localizations");
            ILocalizationManager localizationManager = new LocalizationManager(localizationsPath);
            try {
                var localization = configurationManager.GetConfig("Common")
                                                       .GetSection("Localization")
                                                       .GetSetting("Current")
                                                       .Value;

                List<ILocalization> localizations =
                    localizationManager.GetAvailableLocalizations();
                ILocalization current = null;
                if (!string.IsNullOrEmpty(localization)) {
                    current = localizations.FirstOrDefault(
                                l => l.FileInfo.Name.ToUpper() == localization.ToUpper());
                }

                if (current == null) {
                    current =
                        localizations.LastOrDefault();
                }
                localizationManager.SetupLocalization(current);
            }
            catch (Exception exception) {
                Log.Error(exception);
            }

            // Setup repositories
            var repositoryFactory = new RepositoryFactory(storageManager);
            repositoryFactory.RegisterSpecificationTranslator(new CustomerSpecTranslator())
                             .RegisterSpecificationTranslator(new ShippingAddressSpecTranslator())
                             .RegisterSpecificationTranslator(new CategorySpecTranslator())
                             .RegisterSpecificationTranslator(new PriceListSpecTranslator())
                             .RegisterSpecificationTranslator(new CommonTranslator<Product>())
                             .RegisterSpecificationTranslator(new OrderSpecTranslator())
                             .RegisterSpecificationTranslator(new OrderItemSpecTranslator())
                             .RegisterSpecificationTranslator(new ProductPriceSpecTranslator())
                             .RegisterSpecificationTranslator(
                                 new ProductsUnitOfMeasureSpecTranslator())
                             .RegisterSpecificationTranslator(new RoutePointSpecTranslator())
                             .RegisterSpecificationTranslator(new RouteSpecTranslator())
                             .RegisterSpecificationTranslator(
                                 new RoutePointTemplateSpecTranslator())
                             .RegisterSpecificationTranslator(new RouteTemplateSpecTranslator())
                             .RegisterSpecificationTranslator(new CommonTranslator<Status>())
                             .RegisterSpecificationTranslator(new CommonTranslator<UnitOfMeasure>())
                             .RegisterSpecificationTranslator(new WarehouseSpecTranslator());

            IModelsFactory modelsFactory = new ModelsFactory(repositoryFactory);

            var main = new Main(localizationManager);
            var presentersFactory = new PresentersFactory(storageManager, repositoryFactory,
                                                          modelsFactory, main, configurationManager, localizationManager);

            string userName = configurationManager.GetConfig("Common").GetSection("Server").GetSetting("Username").Value;
            string password = configurationManager.GetConfig("Common").GetSection("Server").GetSetting("Password").Value;

            if (string.IsNullOrEmpty(userName) ||
                string.IsNullOrEmpty(password)) {
                main.SetView(new LogonView(presentersFactory, localizationManager));
            }
            else {
                main.SetView(new MenuView(presentersFactory, localizationManager));
            }

            Log.Info("Application start");
            System.Windows.Forms.Application.Run(main);
            Log.Info("Application finish");
        }
开发者ID:galievruslan,项目名称:mss-mobile,代码行数:93,代码来源:Program.cs

示例2: MyTestInitialize

        public void MyTestInitialize()
        {
            const string dbScriptFileName = @"\schema.sql";
            string databaseScriptFullPath = TestEnvironment.GetApplicationDirectory() + dbScriptFileName;
            var storageManager = new SqLiteStorageManager();

            _sqliteDtabase = storageManager.InitializeInMemoryStorage(databaseScriptFullPath);
            _repositoryFactory = new RepositoryFactory(storageManager);
            _repositoryFactory.RegisterSpecificationTranslator(new CommonTranslator<Customer>())
                             .RegisterSpecificationTranslator(new ShippingAddressSpecTranslator());
        }
开发者ID:galievruslan,项目名称:mss-mobile,代码行数:11,代码来源:CustomerRepositoryTest.cs

示例3: SynchronizeTest

        public void SynchronizeTest()
        {
            var webServer = new WebServer("http://mss.alkotorg.com", "manager", "423200");
            const int bathSize = 300;
            var storageManager = new SqLiteStorageManager();
            var unitOfWorkFactory = new SqLiteUnitOfWorkFactory(storageManager);

            // Initialization
            const string dbScriptFileName = @"\schema.sql";
            string databaseScriptFullPath = TestEnvironment.GetApplicationDirectory() + dbScriptFileName;
            string databaseFileFullPath = TestEnvironment.GetApplicationDirectory() + @"\storage.sqlite";
            var database = storageManager.CreateOrOpenStorage(databaseFileFullPath, databaseScriptFullPath);

            var repositoryFactory = new RepositoryFactory(storageManager);
            repositoryFactory.RegisterSpecificationTranslator(new CommonTranslator<Customer>())
                             .RegisterSpecificationTranslator(new ShippingAddressSpecTranslator())
                             .RegisterSpecificationTranslator(new CommonTranslator<Category>())
                             .RegisterSpecificationTranslator(new CommonTranslator<PriceList>())
                             .RegisterSpecificationTranslator(new CommonTranslator<Product>())
                             .RegisterSpecificationTranslator(new OrderSpecTranslator())
                             .RegisterSpecificationTranslator(new OrderItemSpecTranslator())
                             .RegisterSpecificationTranslator(new ProductPriceSpecTranslator())
                             .RegisterSpecificationTranslator(
                                 new ProductsUnitOfMeasureSpecTranslator())
                             .RegisterSpecificationTranslator(new RoutePointSpecTranslator())
                             .RegisterSpecificationTranslator(new RouteSpecTranslator())
                             .RegisterSpecificationTranslator(
                                 new RoutePointTemplateSpecTranslator())
                             .RegisterSpecificationTranslator(new RouteTemplateSpecTranslator())
                             .RegisterSpecificationTranslator(new CommonTranslator<Status>())
                             .RegisterSpecificationTranslator(new CommonTranslator<UnitOfMeasure>())
                             .RegisterSpecificationTranslator(new CommonTranslator<Warehouse>());

                // Customers synchronization
                var customerDtoRepository = new WebRepository<CustomerDto>(webServer);
                var customerSqLiteRepository = repositoryFactory.CreateRepository<Customer>();
                DtoTranslator<Customer, CustomerDto> customerTranslator =
                    new CustomerTranslator(repositoryFactory);

                var customerSyncCmd =
                    new SynchronizationCommand<CustomerDto, Customer>(customerDtoRepository,
                                                                      customerSqLiteRepository,
                                                                      customerTranslator, unitOfWorkFactory,
                                                                      bathSize);

                customerSyncCmd.Execute();

                // Shipping addresses synchronization
                var shippingAddressDtoRepository =
                    new WebRepository<ShippingAddressDto>(webServer);
                var shippingAddressSqLiteRepository = repositoryFactory.CreateRepository<ShippingAddress>();
                DtoTranslator<ShippingAddress, ShippingAddressDto> shippingAddressdTranslator =
                    new ShippingAddressdTranslator();

                var shippingAddressSyncCmd =
                    new SynchronizationCommand<ShippingAddressDto, ShippingAddress>(
                        shippingAddressDtoRepository, shippingAddressSqLiteRepository,
                        shippingAddressdTranslator, unitOfWorkFactory, bathSize);
                shippingAddressSyncCmd.Execute();

                // Categories synchronization
                var categoriesDtoRepository = new WebRepository<CategoryDto>(webServer);
                var categorySqLiteRepository = repositoryFactory.CreateRepository<Category>();
                DtoTranslator<Category, CategoryDto> categoriesTranslator = new CategoryTranslator();
                var categoriesSyncCmd = new CategotiesSynchronization(categoriesDtoRepository,
                                                                      categorySqLiteRepository,
                                                                      categoriesTranslator,
                                                                      unitOfWorkFactory, bathSize);

                categoriesSyncCmd.Execute();

                // Statuses synchronization
                var statusDtoRepository = new WebRepository<StatusDto>(webServer);
                var statusSqLiteRepository = repositoryFactory.CreateRepository<Status>();
                DtoTranslator<Status, StatusDto> statusTranslator = new StatusTranslator();

                var statusSyncCommand =
                    new SynchronizationCommand<StatusDto, Status>(statusDtoRepository,
                                                                  statusSqLiteRepository,
                                                                  statusTranslator, unitOfWorkFactory,
                                                                  bathSize);

                statusSyncCommand.Execute();

                // Warehouses synchronization
                var warehouseDtoRepository = new WebRepository<WarehouseDto>(webServer);
                var warehouseSqLiteRepository = repositoryFactory.CreateRepository<Warehouse>();
                DtoTranslator<Warehouse, WarehouseDto> warehouseTranslator =
                    new WarehouseTranslator();

                var warehouseSyncCommand =
                    new SynchronizationCommand<WarehouseDto, Warehouse>(warehouseDtoRepository,
                                                                        warehouseSqLiteRepository,
                                                                        warehouseTranslator,
                                                                        unitOfWorkFactory, bathSize);

                warehouseSyncCommand.Execute();

                // Price lists synchronization
                var priceListDtoRepository = new WebRepository<PriceListDto>(webServer);
//.........这里部分代码省略.........
开发者ID:galievruslan,项目名称:mss-mobile,代码行数:101,代码来源:SynchronizationCommandTest.cs


注:本文中的RepositoryFactory.RegisterSpecificationTranslator方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。