Beispiel #1
0
        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);
        }
Beispiel #2
0
        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);
        }
Beispiel #3
0
        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);
        }
Beispiel #4
0
        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));
        }