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))); }
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); }
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)); }
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); }
public IEnumerable <GroupCalculationResult> RunGroupCalculationPriceCalculation(GroupCalcInput input) { return(groupSolver.CalculatePrices(input)); }
public IEnumerable <GroupCalculationResult> RunGroupCalculationPriceCalculation(GroupCalcInput input) { return(null); }