public void AddOrderTest(int OrderNumber, string CustomerName, string State, decimal TaxRate, string ProductType, decimal Area, decimal CostPerSquareFoot, decimal LaborCostPerSquareFoot, decimal MaterialCost, decimal LaborCost, decimal Tax, decimal Total, string path) { DataManager manager = DataManagerFactory.Create(); DateTime OrderDate = new DateTime(2020, 6, 1); FileLookupRequest request = manager.FileLookup(OrderDate); Assert.AreEqual(path, request.path); Assert.IsFalse(request.success); Assert.AreEqual(null, request.orders); Order o = new Order(); o.OrderNumber = OrderNumber; o.CustomerName = CustomerName; o.State = State; o.TaxRate = TaxRate; o.ProductType = ProductType; o.Area = Area; o.CostPerSquareFoot = CostPerSquareFoot; o.LaborCostPerSquareFoot = LaborCostPerSquareFoot; o.MaterialCost = MaterialCost; o.LaborCost = LaborCost; o.Tax = Tax; o.Total = Total; manager.FileSave(o, request.path); request = manager.FileLookup(OrderDate); Assert.IsTrue(request.success); Assert.AreEqual(1, request.orders.Count); Assert.AreEqual(CustomerName, request.orders[0].CustomerName); Assert.AreEqual(Total, request.orders[0].Total); }
static void Main(string[] args) { // TODO: перенести в тесты. string query = "at"; //query = Console.ReadLine(); // TODO: Реализовать заполнение через фабрику. var dataManagers = new List <IDataManager>(); //DataManagerFactory dataManagerFactory = new DataManagerFactory(); // Заменил на статический класс // TODO: Реализовать перебор DataManagerType //foreach(var i in DataManagerType) { dataManagers.Add(DataManagerFactory.CreateDataManager(DataManagerType.Book)); dataManagers.Add(DataManagerFactory.CreateDataManager(DataManagerType.Book)); dataManagers.Add(DataManagerFactory.CreateDataManager(DataManagerType.Book)); dataManagers.Add(DataManagerFactory.CreateDataManager(DataManagerType.Book)); } foreach (DataManager dataManager in dataManagers) { dataManager.Search(query); } Console.ReadLine(); }
private void FetchTurn(int positionId, Action <string> callback) { DataManager <PositionTurn> turnDM = DataManagerFactory.GetManager <PositionTurn> (); TurnRequest request = new TurnRequest(User.Id, User.Code, positionId); request.Get((results, ex) => { if (results == null) { callback("Not found"); } else { IEnumerator <PositionTurn> i = results.GetEnumerator(); if (i.MoveNext()) { PositionTurn pt = i.Current; turnDM.SaveItem(pt); callback(pt.Content); } else { callback("Not Found"); } } }); }
public void Execute() { DataManager repository = DataManagerFactory.Create(); Console.Clear(); DateTime targetDate = ConsoleIO.GetDateTime("Enter the date of the order you'd like to remove:"); if (!repository.Orders.ContainsKey(targetDate)) { Console.WriteLine($"No orders were found on {targetDate.ToShortDateString()}"); Console.Write("Press any key to return to main menu..."); Console.ReadKey(); return; } int orderNumber = ConsoleIO.GetInteger("Enter the order number of the order to remove:"); OrderLookupResponse result = repository.LookupOrder(targetDate, orderNumber); if (result.Success) { Console.WriteLine(); ConsoleIO.DisplayOrderDetails(result.Order); if (ConsoleIO.GetBool("Would you like to delete this order?", "Y", "N", false)) { repository.RemoveOrder(targetDate, orderNumber); } } else { Console.WriteLine(result.Message); Console.Write("Press any key to return to main menu..."); Console.ReadKey(); } }
public void Test() { //var connectionString = "Data Source=lonweb1t.ashmore.local;Initial Catalog=AIMS_Data_QA;Persist Security Info=True;User ID=WPSuperUser;Password=Password1;MultipleActiveResultSets=True"; var connectionString = "Data Source=localhost\\SQLEXPRESS;Initial Catalog=Aims;Integrated Security=True"; var connectionFactory = new SqlConnectionFactory(connectionString); var dataManagerFactory = new DataManagerFactory(); var monitor = new Monitor(); var countryRepositoryStorage = new InMemoryStorage <CountryRepository>(); var countryManager = new CountryManager(countryRepositoryStorage); var securityStorage = new InMemoryStorage <SecurityRepository>(); var securityManager = new SecurityManager(securityStorage, monitor); var issuerRepositoryStorage = new InMemoryStorage <IssuerRepository>(); var issuerManager = new IssuerManager(monitor, issuerRepositoryStorage); var repositoryManager = new RepositoryManager(monitor, countryManager, securityManager, null, issuerManager); var modelBuilder = new ModelBuilder(); var manager = new Core.ModelManager(connectionFactory, dataManagerFactory, repositoryManager, modelBuilder); var commonSerializer = new Aims.Data.Server.Serializer(); var serializer = new Serializer(commonSerializer); var deserializer = new Deserializer(connectionFactory, dataManagerFactory, repositoryManager); var facade = new Facade(manager, commonSerializer, serializer, deserializer, connectionFactory, dataManagerFactory, repositoryManager); //ConfigurationManager.ConnectionStrings.Add(new ConnectionStringSettings("Aims", @"Data Source=localhost\SQLEXPRESS;Initial Catalog=Aims;Integrated Security=True")); //ConfigurationManager.ConnectionStrings.Add(new ConnectionStringSettings("AimsEntities", @"metadata=res://*/AimsModel.csdl|res://*/AimsModel.ssdl|res://*/AimsModel.msl;provider=System.Data.SqlClient;provider connection string='Data Source=lonweb1t.ashmore.local;Initial Catalog=AIMS_Data_QA;Persist Security Info=True;User ID=WPSuperUser;Password=Password1;MultipleActiveResultSets=True'")); //var found = facade.GetIssuerSecurities("SB", 1000, "RUSBERBPN __"); var model = facade.GetRootModel("RUSBERBPN"); //facade.GetIssuerSharesBySecurityShortName("RUSBERBPN"); }
static void Main(string[] args) { new ApplicationContext(new FileLog()); ILogger logger = LogManager.GetLogger(typeof(Program)); logger.Info("DBIndexer - start"); try { Console.WriteLine(); Console.Write("File ready? [y/n] : "); string line; do { line = Console.ReadLine(); } while (line != "y" && line != "n"); ConnectionStringHolder.Initialize(@"Server=MATESC-PC\SQLSERVER2012;Initial Catalog=StoreKeeper;User ID=StoreKeeperUser;Password=Welcome1;Integrated Security=false;MultipleActiveResultSets=True"); IDataManager dataManager = DataManagerFactory.CreateDataManager(); dataManager.IndexDatabase(line == "y"); } catch (Exception ex) { logger.Error(ex); } logger.Info("DBIndexer - end"); Console.WriteLine("Press ENTER to continue ..."); Console.ReadLine(); }
public void RunReport(ReportModel reportModel, DataTable dataTable, ReportParameters parameters) { if (reportModel == null) { throw new ArgumentNullException("reportModel"); } if (dataTable == null) { throw new ArgumentNullException("dataTable"); } RunReport(reportModel, DataManagerFactory.CreateDataManager(reportModel, dataTable)); }
public void RunReport(ReportModel reportModel, DataTable dataTable, ReportParameters parameters) { if (reportModel == null) { throw new ArgumentNullException("reportModel"); } if (dataTable == null) { throw new ArgumentNullException("dataTable"); } // ReportEngine.CheckForParameters(reportModel, parameters); IDataManager dataManager = DataManagerFactory.CreateDataManager(reportModel, dataTable); RunReport(reportModel, dataManager); }
public void RunReport(ReportModel reportModel, System.Collections.IList dataSource, ReportParameters parameters) { if (reportModel == null) { throw new ArgumentNullException("reportModel"); } if (dataSource == null) { throw new ArgumentNullException("dataSource"); } ReportEngine.CheckForParameters(reportModel, parameters); IDataManager dataManager = DataManagerFactory.CreateDataManager(reportModel, dataSource); RunReport(reportModel, dataManager); }
public void RemoveOrderTest() { DataManager manager = DataManagerFactory.Create(); DateTime OrderDate = new DateTime(2020, 6, 1); FileLookupRequest request = manager.FileLookup(OrderDate); Assert.AreEqual(1, request.orders.Count); Order o = request.orders[0]; manager.FileRemove(request.orders, o, request.path); request = manager.FileLookup(OrderDate); Assert.AreEqual(null, request.orders); }
public void Execute() { DataManager manager = DataManagerFactory.Create(); DateTime OrderDate = ConsoleIO.RequestAndValidateDate("edit"); FileLookupRequest request = manager.FileLookup(OrderDate); if (!request.success) { Console.WriteLine("Error: No orders found for that date."); Console.WriteLine(); return; } string path = request.path; int OrderNumber = ConsoleIO.RequestAndValidateOrderNumber(); List <Order> orders = request.orders; Order o; foreach (Order OrderToCheck in orders) { if (OrderToCheck.OrderNumber == OrderNumber) { o = OrderToCheck; ConsoleIO.PrintOrder(o, OrderDate); EditOrderInfo(o); ConsoleIO.PrintOrder(o, OrderDate); if (ConsoleIO.ConfirmEditOrRemoveOrder("save")) { manager.FileSave(o, OrderDate.ToString("MMddyyyy"), path); Console.WriteLine("Order saved."); return; } else { Console.WriteLine("Order not saved."); return; } } else { continue; } } Console.WriteLine("There is no order with that order number."); }
public void Execute() { DataManager repository = DataManagerFactory.Create(); Console.Clear(); // date DateTime date = ConsoleIO.GetDateTime("Order date (must be a future date):", false); Console.WriteLine(); // name Console.WriteLine("Customer name:"); Console.Write("> "); string name = Console.ReadLine(); Console.WriteLine(); // state State state = GetStateFrom(repository.States); if (state == null) { return; } Console.WriteLine(); // product Product product = GetProductsFrom(repository.Products); Console.WriteLine(); // area decimal area = ConsoleIO.GetDecimal("Floor area (square feet):"); Console.WriteLine(); // summary Console.Clear(); Order order = new Order(name, state, product, area); ConsoleIO.DisplayOrderDetails(order); if (ConsoleIO.GetBool("Would you like to save this order?", "Y", "N", false)) { repository.AddOrder(date, order); } }
private static IContainer InitContainer() { var builder = new ContainerBuilder(); builder.RegisterInstance(StubFactory.GetCurrentProvider()).SingleInstance(); builder.RegisterInstance(StubFactory.GetDbConfig()).SingleInstance(); builder.Register(c => { var dbConfig = c.Resolve <IDbConfig>(); return(new NHibernateSessionSource(() => DataManagerFactory.CreateSessionFactory(dbConfig))); }).As <IConnectionSource <ISession> >().SingleInstance(); builder.RegisterType <QueueRepository>().As <IQueueRepository>().As <IClearable>().SingleInstance(); builder.RegisterType <DbQueueService>().As <IQueueService>().SingleInstance(); return(builder.Build()); }
public void RunReport(ReportModel reportModel, ReportParameters parameters) { if (reportModel == null) { throw new ArgumentNullException("reportModel"); } Pages.Clear(); if (reportModel.DataModel == GlobalEnums.PushPullModel.FormSheet) { RunFormSheet(reportModel); } else { ReportEngine.CheckForParameters(reportModel, parameters); var dataManager = DataManagerFactory.CreateDataManager(reportModel, parameters); RunReport(reportModel, dataManager); } }
public void EditOrderTest() { DataManager manager = DataManagerFactory.Create(); DateTime OrderDate = new DateTime(2020, 6, 1); FileLookupRequest request = manager.FileLookup(OrderDate); Assert.AreEqual(1, request.orders.Count); Assert.AreEqual("Andrew", request.orders[0].CustomerName); Order o = request.orders[0]; o.CustomerName = "Galvin"; manager.FileSave(o, request.path); request = manager.FileLookup(OrderDate); Assert.AreEqual(1, request.orders.Count); Assert.AreEqual("Galvin", request.orders[0].CustomerName); }
public void RunReport(ReportModel reportModel, ReportParameters parameters) { if (reportModel == null) { throw new ArgumentNullException("reportModel"); } System.Console.WriteLine("RunReport"); this.SetupViewer(reportModel); if (reportModel.DataModel == GlobalEnums.PushPullModel.FormSheet) { RunFormSheet(reportModel); } else { ReportEngine.CheckForParameters(reportModel, parameters); this.dataManager = DataManagerFactory.CreateDataManager(reportModel, parameters); RunDataReport(reportModel, dataManager); } }
public void RunReport(ReportModel reportModel, DataTable dataTable, ReportParameters parameters) { if (reportModel == null) { throw new ArgumentNullException("reportModel"); } if (dataTable == null) { throw new ArgumentNullException("dataTable"); } ReportEngine.CheckForParameters(reportModel, parameters); IDataManager dataManager = DataManagerFactory.CreateDataManager(reportModel, dataTable); IReportCreator reportCreator = DataPageBuilder.CreateInstance(reportModel, dataManager); // reportCreator.SectionRendering += new EventHandler<SectionRenderEventArgs>(PushPrinting); // reportCreator.GroupHeaderRendering += new EventHandler<GroupHeaderEventArgs>(GroupHeaderRendering); // reportCreator.GroupFooterRendering += GroupFooterRendering; // // reportCreator.RowRendering += new EventHandler<RowRenderEventArgs>(RowRendering); reportCreator.BuildExportList(); }
public static void Start() { while (true) { Console.Clear(); var s = DataManagerFactory.Create().Orders; Console.WriteLine("Flooring Program"); Console.WriteLine(); Console.WriteLine("1. Display Orders"); Console.WriteLine("2. Add an Order"); Console.WriteLine("3. Edit an Order"); Console.WriteLine("4. Remove an Order"); Console.WriteLine("5. Quit"); Console.Write("> "); string input = Console.ReadLine(); switch (input) { case "1": new DisplayOrdersView().Execute(); break; case "2": new AddOrderView().Execute(); break; case "3": new EditOrderView().Execute(); break; case "4": new RemoveOrderView().Execute(); break; case "5": return; } } }
public void Execute() { DataManager manager = DataManagerFactory.Create(); DateTime OrderDate = ConsoleIO.RequestAndValidateDate("display"); while (true) { FileLookupRequest request = manager.FileLookup(OrderDate); if (!request.success) { Console.WriteLine(request.message); return; } for (int i = 0; i < request.orders.Count(); i++) { ConsoleIO.PrintOrder(request.orders[i], OrderDate); } Console.WriteLine(); return; } }
public void Execute() { DataManager repository = DataManagerFactory.Create(); Console.WriteLine(); Console.WriteLine(DIVIDER); foreach (var key in repository.Orders.Keys) { string dateString = key.ToShortDateString(); Console.WriteLine($"{{0, {(DIVIDER.Length / 2) + (dateString.Length / 2)}}}", dateString); var collection = repository.Orders[key]; foreach (var order in collection) { Console.WriteLine(DIVIDER); ConsoleIO.DisplayOrderDetails(order); } Console.WriteLine(DIVIDER); } Console.Write("Press any key to continue..."); Console.ReadKey(); }
/// <summary> /// Gets the turn report. /// </summary> /// <param name="positionId">Position identifier.</param> /// <param name="callback">Callback.</param> public async void GetTurnReport(int positionId, Action <string> callback) { DataManager <PositionTurn> turnDM = DataManagerFactory.GetManager <PositionTurn> (); PositionTurn pt = await turnDM.GetItem(positionId); if (pt == null) { FetchTurn(positionId, callback); } else { await Task.Factory.StartNew(() => { try { string content = Application.DocumentFolder.ReadFile(pt.TurnPath); callback(content); FetchTurn(positionId, callback); } catch { FetchTurn(positionId, callback); } }); } }
public void Execute() { DataManager repository = DataManagerFactory.Create(); Console.Clear(); DateTime targetDate = ConsoleIO.GetDateTime("Enter the date of the order you'd like to edit:"); if (!repository.Orders.ContainsKey(targetDate)) { Console.WriteLine($"No orders were found on {targetDate.ToShortDateString()}"); Console.Write("Press any key to return to main menu..."); Console.ReadKey(); return; } int orderNumber = ConsoleIO.GetInteger("Enter the order number of the order to edit:"); OrderLookupResponse result = repository.LookupOrder(targetDate, orderNumber); if (!result.Success) { Console.WriteLine(result.Message); Console.Write("Press any key to return to main menu..."); Console.ReadKey(); return; } Console.WriteLine(); // customer name Console.WriteLine($"Customer name ({result.Order.CustomerName}):"); Console.Write("> "); string name = Console.ReadLine(); Console.WriteLine(); // state Console.WriteLine($"State ({result.Order.State}):"); Console.Write("> "); string stateText; State state = null; do { stateText = Console.ReadLine(); if (stateText != "") { state = (from s in repository.States where s.StateAbbreviation == stateText || s.StateName == stateText select s).FirstOrDefault(); if (state == null) { Console.WriteLine($"We do not do business in {stateText}."); } } else { state = (from s in repository.States where s.StateAbbreviation == result.Order.State select s).FirstOrDefault(); } }while (state == null); Console.WriteLine(); // product Product product = null; do { for (int i = 0; i < repository.Products.Length; i++) { Console.WriteLine($"{i + 1})"); ConsoleIO.DisplayProductDetails(repository.Products[i]); Console.WriteLine(); } Console.WriteLine($"Enter a product by number ({result.Order.ProductType}):"); Console.Write("> "); if (int.TryParse(Console.ReadLine(), out int selection)) { if (selection <= repository.Products.Length && selection >= 0) { product = repository.Products[selection - 1]; } else { Console.WriteLine($"Invalid selection: {selection}"); Console.WriteLine($"Expected a number in the range 1-{repository.Products.Length}"); } } else { product = (from p in repository.Products where p.ProductType == result.Order.ProductType select p).FirstOrDefault(); } }while (product == null); Console.WriteLine(); // area decimal?area = null; do { Console.WriteLine($"Floor area ({result.Order.Area}):"); Console.Write("> "); string areaText = Console.ReadLine(); if (areaText == "") { area = result.Order.Area; } else if (decimal.TryParse(areaText, out decimal value)) { area = value; } }while (!area.HasValue); Console.WriteLine(); // summary Console.Clear(); Order order = new Order(name == "" ? result.Order.CustomerName : name, state, product, area.Value); ConsoleIO.DisplayOrderDetails(order); if (ConsoleIO.GetBool("Would you like to save this order?", "Y", "N", false)) { repository.UpdateOrder(order, targetDate, orderNumber); } }
private DataManager <User> GetDataManager() { return(DataManagerFactory.GetManager <User> ()); }
/// <summary> /// Gets the data manager. /// </summary> /// <returns>The data manager.</returns> protected DataManager <T> GetDataManager() { return(DataManagerFactory.GetManager <T> ()); }
public void Execute() { DataManager manager = DataManagerFactory.Create(); while (true) { DateTime OrderDate = ConsoleIO.RequestAndValidateDate("add"); if (OrderDate < DateTime.Now) { Console.WriteLine("Date must be in the future."); continue; } Order o = new Order(); Console.WriteLine("Customer Name?"); o.CustomerName = Console.ReadLine(); while (true) { Console.WriteLine("State?"); string UserState = Console.ReadLine(); bool StateOK = Controllers.FindStateInTaxFile(o, UserState); if (!StateOK) { continue; } break; } while (true) { ProductTypeRequest productRequest = Controllers.ShowProductTypes(); if (!productRequest.success) { continue; } while (true) { if (!GetProductType(o, productRequest.rows)) { continue; } break; } break; } while (true) { Console.WriteLine("Area?"); string UserArea = Console.ReadLine(); bool AreaOK = Controllers.CheckUserArea(o, UserArea); if (!AreaOK) { continue; } break; } Controllers.CalculateRestOfOrder(o); ConsoleIO.PrintOrder(o, OrderDate); Console.WriteLine("Do you want to add this order? Y/N"); string AddOrNot = Console.ReadLine().ToUpper(); if (AddOrNot[0] != 'Y') { break; } FileLookupRequest request = manager.FileLookup(OrderDate); if (!request.success) { o.OrderNumber = 1; manager.FileSave(o, OrderDate.ToString("MMddyyyy"), request.path); Console.WriteLine($"Order file created for {OrderDate:MM/dd/yyyy}."); break; } else { List <Order> Orders = request.orders; o.OrderNumber = Orders[(Orders.Count() - 1)].OrderNumber + 1; manager.FileSave(o, OrderDate.ToString(), request.path); Console.WriteLine($"Order added to file for {OrderDate:MM/dd/yyyy}."); break; } } }
public DvdController() { _dvdRepository = DataManagerFactory.Create(); }
private static GreenField.Targeting.Server.FacadeSettings CreateFacadeSettingsUnsafe(String connectionString, String usersConnectionString, Boolean shouldDropRepositories) { var infoCopier = new InfoCopier(); var cache = MemoryCache.Default; var countryRepositoryStorage = new CacheStorage <CountryRepository>(cache); var countrySerializer = new CountryToJsonSerializer(); var countryManager = new CountryManager(countryRepositoryStorage); var basketRenderer = new BasketRenderer(); var securityRepositoryCache = new CacheStorage <SecurityRepository>(cache); var calculationRequester = new CalculationRequester(); var monitor = new Monitor(); var securitySerializer = new SecurityToJsonSerializer(countrySerializer); var securityManager = new SecurityManager(securityRepositoryCache, monitor); IDataManagerFactory dataManagerFactory = new DataManagerFactory(); IUsersDataManagerFactory usersDataManagerFactory = new UsersDataManagerFactory(); var connectionFactory = new SqlConnectionFactory(connectionString); var usersConnectionFactory = new SqlConnectionFactory(usersConnectionString); var portfolioRepositoryCache = new CacheStorage <PortfolioRepository>(cache); var portfolioSerialzer = new TopDown.Core.ManagingPortfolios.PortfolioToJsonSerializer(securitySerializer); var portfolioManager = new TopDown.Core.ManagingPortfolios.PortfolioManager( portfolioRepositoryCache, portfolioSerialzer ); var targetingTypeManager = new TargetingTypeManager( new TopDown.Core.ManagingTargetingTypes.InfoDeserializer(), new CacheStorage <TargetingTypeRepository>(cache), new CacheStorage <TargetingTypeGroupRepository>(cache) ); var taxonomyManager = new TaxonomyManager( new CacheStorage <TaxonomyRepository>(cache), new TopDown.Core.ManagingTaxonomies.InfoDeserializer( new TopDown.Core.ManagingTaxonomies.XmlDeserializer() ) ); var basketRepositoryStorage = new CacheStorage <BasketRepository>(cache); var basketManager = new BasketManager( basketRepositoryStorage, new TopDown.Core.ManagingBaskets.XmlDeserializer(), new BasketSecurityRelationshipInvestigator() ); var benchmarkRepositoryStorage = new CacheStorage <BenchmarkRepository>(cache); var benchmarkManager = new BenchmarkManager(benchmarkRepositoryStorage); var portfolioSecurityTargetRepositoryCache = new CacheStorage <TopDown.Core.ManagingPst.PortfolioSecurityTargetRepository>(cache); var portfolioSecurityTargetRepositoryManager = new TopDown.Core.ManagingPst.RepositoryManager( infoCopier, portfolioSecurityTargetRepositoryCache ); var bpstCache = new CacheStorage <TopDown.Core.ManagingBpst.BasketSecurityPortfolioTargetRepository>(cache); var bpstManager = new TopDown.Core.ManagingBpst.BasketSecurityPortfolioTargetRepositoryManager(bpstCache); var ttgbsbvrCache = new CacheStorage <TopDown.Core.ManagingBpst.TargetingTypeGroupBasketSecurityBaseValueRepository>(cache); var ttgbsbvrManager = new TopDown.Core.ManagingBpst.TargetingTypeGroupBasketSecurityBaseValueRepositoryManager(ttgbsbvrCache); var issuerRepositoryStorage = new CacheStorage <IssuerRepository>(cache); var issuerManager = new IssuerManager(monitor, issuerRepositoryStorage); var repositoryManager = new TopDown.Core.RepositoryManager( monitor, basketManager, targetingTypeManager, countryManager, taxonomyManager, securityManager, portfolioManager, benchmarkManager, portfolioSecurityTargetRepositoryManager, bpstManager, ttgbsbvrManager, issuerManager ); if (shouldDropRepositories) { repositoryManager.DropEverything(); } var validationSerializer = new TopDown.Core.ValidationIssueToJsonSerializer(); var expressionSerializer = new ExpressionToJsonSerializer(validationSerializer); var expressionDeserializer = new ExpressionFromJsonDeserializer(); var defaultBreakdownValues = TopDown.Core.ManagingBpt.DefaultValues.CreateDefaultValues(); var picker = new ExpressionPicker(); var commonParts = new CommonParts(); var overlayModelBuilder = new TopDown.Core.Overlaying.ModelBuilder(null, commonParts); var overlayManager = new OverlayManager(overlayModelBuilder); var bptModelBuilder = new TopDown.Core.ManagingBpt.ModelBuilder( picker, commonParts, defaultBreakdownValues, overlayModelBuilder ); var globeTraverser = new GlobeTraverser(); var taxonomyTraverser = new TaxonomyTraverser(); var taxonomyToModelTransformer = new TaxonomyToModelTransformer(picker, bptModelBuilder, globeTraverser); var countriesDetector = new MissingCountriesDetector( new UnknownCountryIsoCodesDetector(), new TopDown.Core.ManagingTaxonomies.CountryIsoCodesExtractor(taxonomyTraverser), new TopDown.Core.Overlaying.CombinedCountryIsoCodesExtractor(new TopDown.Core.Overlaying.CountryIsoCodesExtractor()), new TopDown.Core.ManagingBenchmarks.CountryIsoCodesExtractor() ); var modelToTaxonomyTransformer = new ModelToTaxonomyTransformer(); var bptModelApplier = new TopDown.Core.ManagingBpt.ModelApplier( new TopDown.Core.ManagingBpt.ChangingBt.ChangesetApplier(dataManagerFactory, modelToTaxonomyTransformer), new TopDown.Core.ManagingBpt.ChangingBt.ModelToChangesetTransformer(globeTraverser), new TopDown.Core.ManagingBpt.ChangingPsto.ChangesetApplier(), new TopDown.Core.ManagingBpt.ChangingPsto.ModelToChangesetTransformer(), new TopDown.Core.ManagingBpt.ChangingTtbbv.ChangesetApplier(), new TopDown.Core.ManagingBpt.ChangingTtbbv.ModelToChangesetTransformer(globeTraverser), new TopDown.Core.ManagingBpt.ChangingTtbpt.ChangesetApplier(), new TopDown.Core.ManagingBpt.ChangingTtbpt.ModelToChangesetTransformer(globeTraverser), new TopDown.Core.ManagingBpt.ModelValidator(globeTraverser), dataManagerFactory, calculationRequester ); var targetsFlattener = new TargetsFlattener(infoCopier); var bptChangeDetector = new TopDown.Core.ManagingBpt.ModelChangeDetector( new TopDown.Core.ManagingBpt.ModelExpressionTraverser(globeTraverser) ); var bptManager = new TopDown.Core.ManagingBpt.ModelManager( globeTraverser, bptModelBuilder, taxonomyToModelTransformer, new BaseValueInitializer(globeTraverser), new BenchmarkValueInitializer(globeTraverser), new OverlayInitializer(globeTraverser, targetsFlattener), new PortfolioAdjustmentInitializer(globeTraverser), new TopDown.Core.ManagingBpt.ModelToJsonSerializer(expressionSerializer, portfolioSerialzer), new TopDown.Core.ManagingBpt.ModelFromJsonDeserializer( picker, bptModelBuilder, globeTraverser, expressionDeserializer ), repositoryManager, overlayManager, countriesDetector, bptModelApplier, bptChangeDetector ); var pstModelToChangeMapper = new TopDown.Core.ManagingPst.ModelToChangesetTransformer(); var pstChangeApplier = new TopDown.Core.ManagingPst.ChangesetApplier(); var pstModelBuilder = new TopDown.Core.ManagingPst.ModelBuilder(null, commonParts); var pstModelChangeDetector = new TopDown.Core.ManagingPst.ModelChangeDetector( new TopDown.Core.ManagingPst.ModelExpressionTraverser() ); var pstModelValidator = new TopDown.Core.ManagingPst.ModelValidator(); var pstManager = new PstManager( pstChangeApplier, pstModelValidator, pstModelToChangeMapper, new TopDown.Core.ManagingPst.ModelFromJsonDeserializer( pstModelBuilder, expressionDeserializer ), pstModelBuilder, portfolioSecurityTargetRepositoryManager, pstModelChangeDetector, dataManagerFactory, calculationRequester, new TopDown.Core.ManagingPst.ModelToJsonSerializer(expressionSerializer, securitySerializer) ); var portfiolioPickerManager = new ProtfolioPickerManager( new TopDown.Core.Gadgets.PortfolioPicker.ModelToJsonSerializer() ); var basketPickerManager = new TopDown.Core.Gadgets.BasketPicker.ModelManager( new TopDown.Core.Gadgets.BasketPicker.ModelBuilder( new BasketExtractor(taxonomyTraverser), new BasketRenderer() ), new TopDown.Core.Gadgets.BasketPicker.ModelToJsonSerializer() ); var bpstModelBuilder = new TopDown.Core.ManagingBpst.ModelBuilder( TopDown.Core.ManagingBpst.DefaultValues.CreateDefaultValues(), commonParts ); var bpstBenchmarkInitializer = new TopDown.Core.ManagingBpst.BenchmarkInitializer(); var bpstModelValidator = new TopDown.Core.ManagingBpst.ModelValidator(); var bpstModelChangeDetector = new TopDown.Core.ManagingBpst.ModelChangeDetector(new TopDown.Core.ManagingBpst.ModelExpressionTraverser()); var bpstModelManager = new TopDown.Core.ManagingBpst.ModelManager( new TopDown.Core.ManagingBpst.ModelToJsonSerializer(expressionSerializer, securitySerializer), bpstModelBuilder, new TopDown.Core.ManagingBpst.ModelFromJsonDeserializer( expressionDeserializer, bpstModelBuilder, bpstBenchmarkInitializer ), new TopDown.Core.ManagingBpst.ModelApplier( dataManagerFactory, new TopDown.Core.ManagingBpst.ChangingTtgbsbv.ChangesetApplier(), new TopDown.Core.ManagingBpst.ChangingTtgbsbv.ModelToChangesetTransformer(), new TopDown.Core.ManagingBpst.ChangingBpst.PortfolioTargetChangesetApplier(), new TopDown.Core.ManagingBpst.ChangingBpst.ModelToChangesetTransformter(), calculationRequester, bpstModelValidator, repositoryManager ), bpstModelValidator, bpstBenchmarkInitializer, bpstModelChangeDetector, repositoryManager ); var validationManager = new ValidationManager(validationSerializer); var hopper = new TopDown.Core.ManagingCalculations.Hopper( repositoryManager, bptManager, bpstModelManager, basketRenderer ); var commentManager = new TopDown.Core.ManagingComments.CommentManager(); var facade = new Facade( connectionFactory, usersConnectionFactory, dataManagerFactory, usersDataManagerFactory, repositoryManager, bptManager, picker, commonParts, pstManager, basketManager, portfiolioPickerManager, basketPickerManager, bpstModelManager, portfolioManager, hopper, commentManager ); var serializer = new Server.Serializer(); var bgaSerializer = new GreenField.Targeting.Server.BroadGlobalActive.Serializer( serializer, bptChangeDetector ); var deserializer = new Server.Deserializer(connectionFactory, dataManagerFactory, repositoryManager); var bgaDeserializer = new GreenField.Targeting.Server.BroadGlobalActive.Deserializer( deserializer, bptModelBuilder, globeTraverser ); var btSerializer = new GreenField.Targeting.Server.BasketTargets.Serializer(serializer, bpstModelChangeDetector); var btDeserializer = new GreenField.Targeting.Server.BasketTargets.Deserializer(deserializer, bpstModelBuilder, bpstBenchmarkInitializer); var buSerializer = new GreenField.Targeting.Server.BottomUp.Serializer(serializer, pstModelChangeDetector); var buDeserializer = new GreenField.Targeting.Server.BottomUp.Deserializer(deserializer, pstModelBuilder); var result = new GreenField.Targeting.Server.FacadeSettings( facade, serializer, bgaSerializer, bgaDeserializer, btSerializer, btDeserializer, buSerializer, buDeserializer, ConfigurationSettings.ShouldDropRepositoriesOnEachReload ); return(result); }
private static void ConfigureServices(ServiceCollection services) { services.AddLogging(configure => configure.AddSerilog()) .AddTransient <Program>(); services.TryAdd(ServiceDescriptor.Singleton <IDataManager>(provider => DataManagerFactory.CreateFileSystemDataManager())); }