Example #1
0
        public async Task <ActionResult> GetInputPartialView(GroupCalcInput viewModel)
        {
            var rmsAdapter = await _BLManager.InitRmsAdapter(viewModel.Start, viewModel.End, viewModel.HotelId, _db);

            Session["rmsAdapter"] = rmsAdapter;
            ModelState.Clear();
            return(PartialView("GroupCalcInputList", _BLManager.GetInputPartialView(viewModel, rmsAdapter)));
        }
Example #2
0
        public GroupCalcInput GetCalcInputForIndex(RmsAdapter rmsAdapter, Dictionary <int, string> roomsNumber, Dictionary <int, string> mealsNumber)
        {
            var            result = rmsAdapter.GetGroupCalculationResult();
            GroupCalcInput gc     = new GroupCalcInput();

            gc.Start  = DateTime.Today;
            gc.End    = DateTime.Today;
            gc.Inputs = new List <GroupCalcDayInput> {
                GetNewInput(DateTime.Today, roomsNumber, mealsNumber, result)
            };
            return(gc);
        }
Example #3
0
        public async Task <ActionResult> GetOutputPartialView(GroupCalcInput viewModel)
        {
            IEnumerable <GroupCalculationResult> result = await
                                                          Task.Run(() =>
            {
                var rmsAdapter = (RmsAdapter)Session["rmsAdapter"];
                if (rmsAdapter != null)
                {
                    return(rmsAdapter.RunGroupCalculationPriceCalculation(viewModel));
                }
                return(null);
            });

            return(PartialView("GroupCalcOutputList", result));
        }
Example #4
0
        public GroupCalcInput GetInputPartialView(GroupCalcInput viewModel, RmsAdapter rmsAdapter)
        {
            var roomInfoResult = rmsAdapter.GetGroupCalculationResult();

            if (viewModel.Inputs != null && viewModel.Inputs.Any() && viewModel.Inputs[0].RoomTypes.Any())
            {
                var roomTotal = viewModel.Inputs[0].RoomTypes.ToDictionary(c => Convert.ToInt32(c.Key), c => c.Value.Name);
                var mealTotal = new Dictionary <int, string>();
                if (viewModel.Inputs[0].MealTypes != null && viewModel.Inputs[0].MealTypes.Any())
                {
                    mealTotal = viewModel.Inputs[0].MealTypes.ToDictionary(c => Convert.ToInt32(c.Key), c => c.Value.Name);
                }
                for (DateTime i = viewModel.Start; i <= viewModel.End; i = i.AddDays(1))
                {
                    if (!viewModel.Inputs.Any(c => c.Date == i))
                    {
                        viewModel.Inputs.Add(GetNewInput(i, roomTotal, mealTotal, roomInfoResult.Where(c => c.Date == i)));
                    }
                }
                viewModel.Inputs.RemoveAll(c => c.Date < viewModel.Start || viewModel.End < c.Date);
            }
            viewModel.Inputs = viewModel.Inputs.OrderBy(c => c.Date).ToList();
            return(viewModel);
        }
Example #5
0
 public IEnumerable <GroupCalculationResult> RunGroupCalculationPriceCalculation(GroupCalcInput input)
 {
     return(groupSolver.CalculatePrices(input));
 }
Example #6
0
 public IEnumerable <GroupCalculationResult> RunGroupCalculationPriceCalculation(GroupCalcInput input)
 {
     return(null);
 }