本文整理汇总了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");
}
示例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());
}
示例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);
//.........这里部分代码省略.........