public async Task <ActionResult> ListMarketMappings(MarketMappingParameters parameters)
        {
            ValidateMarketMappingParameters(parameters, MarketMappingParametersValidator.NoValidation);

            var filter = new MarketMappingFilter()
            {
                FilterMessage = parameters.FilterMessage,
                CarLine       = parameters.CarLine,
                ModelYear     = parameters.ModelYear,
                Gateway       = parameters.Gateway,
                Action        = MarketMappingAction.Mappings
            };

            filter.InitialiseFromJson(parameters);

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

            var jQueryResult = new JQueryDataTableResultModel(results);

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

            return(Json(jQueryResult));
        }
        public ActionResult ModalAction(MarketMappingParameters parameters)
        {
            ValidateMarketMappingParameters(parameters, MarketMappingParametersValidator.MarketIdentifierWithAction);
            ValidateMarketMappingParameters(parameters, Enum.GetName(parameters.Action.GetType(), parameters.Action));

            return(RedirectToAction(Enum.GetName(parameters.Action.GetType(), parameters.Action), parameters.GetActionSpecificParameters()));
        }
 public static MarketMappingFilter FromMarketMappingParameters(MarketMappingParameters parameters)
 {
     return(new MarketMappingFilter()
     {
         MarketMappingId = parameters.MarketMappingId,
         Action = parameters.Action
     });
 }
        public async Task <ActionResult> ModalContent(MarketMappingParameters parameters)
        {
            ValidateMarketMappingParameters(parameters, MarketMappingParametersValidator.Action);

            var filter = MarketMappingFilter.FromMarketMappingParameters(parameters);
            var derivativeMappingView = await MarketMappingViewModel.GetModel(DataContext, filter);

            return(PartialView(GetContentPartialViewName(parameters.Action), derivativeMappingView));
        }
 public static FdpMarketMapping FromParameters(MarketMappingParameters parameters)
 {
     return(new FdpMarketMapping()
     {
         FdpMarketMappingId = parameters.MarketMappingId,
         ProgrammeId = parameters.ProgrammeId,
         Gateway = parameters.Gateway
     });
 }
        public async Task <ActionResult> MarketMappingPage(MarketMappingParameters parameters)
        {
            var filter = new MarketMappingFilter()
            {
                PageIndex = PageIndex,
                PageSize  = PageSize
            };

            return(View(await MarketMappingViewModel.GetModel(DataContext, filter)));
        }
        private void ValidateMarketMappingParameters(MarketMappingParameters parameters, string ruleSetName)
        {
            var validator = new MarketMappingParametersValidator();
            var result    = validator.Validate(parameters, ruleSet: ruleSetName);

            if (!result.IsValid)
            {
                throw new ValidationException(result.Errors);
            }
        }
        public async Task <ActionResult> ContextMenu(MarketMappingParameters parameters)
        {
            ValidateMarketMappingParameters(parameters, MarketMappingParametersValidator.MarketMappingIdentifier);

            var filter = MarketMappingFilter.FromMarketMappingParameters(parameters);

            filter.Action = MarketMappingAction.Mapping;

            var derivativeMappingView = await MarketMappingViewModel.GetModel(DataContext, filter);

            return(PartialView("_ContextMenu", derivativeMappingView));
        }
        public async Task <ActionResult> CopyAll(MarketMappingParameters parameters)
        {
            var derivativeMappingView = await GetModelFromParameters(parameters);

            if (derivativeMappingView.MarketMapping is EmptyFdpMarketMapping)
            {
                return(JsonGetFailure("MarketMapping does not exist"));
            }

            derivativeMappingView.MarketMapping = await DataContext.Market.CopyFdpMarketMappingsToGateway(FdpMarketMapping.FromParameters(parameters), parameters.CopyToGateways);

            if (derivativeMappingView.MarketMapping is EmptyFdpMarketMapping)
            {
                return(JsonGetFailure(string.Format("MarketMappings could not be copied", derivativeMappingView.MarketMapping.ImportMarket)));
            }

            return(JsonGetSuccess());
        }
        public async Task <ActionResult> Delete(MarketMappingParameters parameters)
        {
            var derivativeMappingView = await GetModelFromParameters(parameters);

            if (derivativeMappingView.MarketMapping is EmptyFdpMarketMapping)
            {
                return(JsonGetFailure("MarketMapping does not exist"));
            }

            derivativeMappingView.MarketMapping = await DataContext.Market.DeleteFdpMarketMapping(FdpMarketMapping.FromParameters(parameters));

            if (derivativeMappingView.MarketMapping is EmptyFdpMarketMapping)
            {
                return(JsonGetFailure(string.Format("MarketMapping '{0}' could not be deleted", derivativeMappingView.MarketMapping.ImportMarket)));
            }

            return(JsonGetSuccess());
        }
 private async Task <MarketMappingViewModel> GetModelFromParameters(MarketMappingParameters parameters)
 {
     return(await MarketMappingViewModel.GetModel(DataContext, MarketMappingFilter.FromMarketMappingParameters(parameters)));
 }