コード例 #1
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);
        }
コード例 #2
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);
        }