public async Task GenerateInputFilesAsync(int runInstanceId) { var dataRepository = DataRepositoryTool.GetDataRepository(); var runInstance = dataRepository.GetSingle <RunInstance>(r => r.run_instance_id == runInstanceId, r => r.RunInstance_Channel, r => r.RunInstance_Product, r => r.RunInstance_Region, r => r.Setup ); //mid-tier is easy to scare out, tranditional db is not, not try to put pressues on db, so here one by one await SaveInputProducts(runInstanceId, dataRepository, runInstance); await SaveInputChannels(runInstanceId, dataRepository, runInstance); await SaveInputRegions(runInstanceId, dataRepository, runInstance); }
public static async Task <IEnumerable <SelectListItem> > GetOptimizationGoals() { var _dataRepository = DataRepositoryTool.GetDataRepository(); var optimizationGoalListItems = await _dataRepository.GetListProjectedAsync <optimization_goal, SelectListItem>( g => new SelectListItem() { Text = g.optimization_goal1, Value = g.optimization_goal_id.ToString() } ); return(optimizationGoalListItems); }
private async Task <RunInstance> SaveInputsAsync(InputsViewModel inputs) { var runInstance = new RunInstance() { Setup = inputs.Setup.ToModel() }; foreach (var region in inputs.Regions.Where(r => r.Selected == true)) { runInstance.RunInstance_Region.Add( new RunInstance_Region() { region_code = region.Entity.region_code }); } foreach (var region in inputs.Products.Where(p => p.Selected == true)) { runInstance.RunInstance_Product.Add( new RunInstance_Product() { product_code = region.Entity.product_code }); } foreach (var channel in inputs.Chanlels.Where(c => c.Selected == true)) { runInstance.RunInstance_Channel.Add( new RunInstance_Channel() { channel_code = channel.Entity.channel_code }); } var dataRepository = DataRepositoryTool.GetDataRepository(); await dataRepository.AddAsync(runInstance); return(runInstance); }
public async Task <ActionResult> Index() { var vm = new InputsViewModel(); var dataRepository = DataRepositoryTool.GetDataRepository(); var regions = await dataRepository.GetListAsync <Region>(); var products = await dataRepository.GetListAsync <Product>(); var channels = await dataRepository.GetListAsync <Channel>(); vm.Regions = from r in regions select new SelectableRegion() { Entity = r }; vm.Products = from p in products select new SelectableProduct() { Entity = p }; vm.Chanlels = from c in channels select new SelectableChannel() { Entity = c }; return(View(vm)); }