public async Task <ActionResult> ListTrims(TrimParameters parameters)
        {
            ValidateTrimParameters(parameters, TrimParametersValidator.NoValidation);

            var filter = new TrimFilter()
            {
                FilterMessage = parameters.FilterMessage,
                CarLine       = parameters.CarLine,
                ModelYear     = parameters.ModelYear,
                Gateway       = parameters.Gateway,
                Action        = TrimAction.TrimLevels
            };

            filter.InitialiseFromJson(parameters);

            var results = await TrimViewModel.GetModel(DataContext, filter);

            var jQueryResult = new JQueryDataTableResultModel(results);

            foreach (var result in results.Trims.CurrentPage)
            {
                jQueryResult.aaData.Add(result.ToJQueryDataTableResult());
            }

            return(Json(jQueryResult));
        }
        public async Task <ActionResult> TrimPage(TrimParameters parameters)
        {
            var filter = new TrimFilter()
            {
                PageIndex = PageIndex,
                PageSize  = PageSize
            };

            return(View(await TrimViewModel.GetModel(DataContext, filter)));
        }
        public async Task <ActionResult> ContextMenu(TrimParameters parameters)
        {
            ValidateTrimParameters(parameters, TrimParametersValidator.TrimIdentifier);

            var filter = TrimFilter.FromParameters(parameters);

            filter.Action = TrimAction.Trim;

            var derivativeView = await TrimViewModel.GetModel(DataContext, filter);

            return(PartialView("_ContextMenu", derivativeView));
        }
 private async Task <TrimViewModel> GetModelFromParameters(TrimParameters parameters)
 {
     return(await TrimViewModel.GetModel(DataContext, TrimMappingFilter.FromParameters(parameters)));
 }