public static async Task <DerivativeViewModel> GetModel(IDataContext context, DerivativeFilter derivativeFilter) { DerivativeViewModel model = null; if (derivativeFilter.Action == DerivativeAction.Delete || derivativeFilter.Action == DerivativeAction.Derivative) { model = await GetFullAndPartialViewModelForDerivative(context, derivativeFilter); } else if (derivativeFilter.Action == DerivativeAction.Derivatives) { model = await GetFullAndPartialViewModelForDerivatives(context, derivativeFilter); } else if (derivativeFilter.Action == DerivativeAction.OxoDerivatives) { model = GetFullAndPartialViewModelForOxoDerivatives(context, derivativeFilter); } else { model = GetFullAndPartialViewModel(context, derivativeFilter); } if (derivativeFilter.Action != DerivativeAction.NotSet) { model.IdentifierPrefix = Enum.GetName(derivativeFilter.Action.GetType(), derivativeFilter.Action); } return(model); }
private static async Task<DerivativeViewModel> GetFullAndPartialViewModelForDerivative(IDataContext context, DerivativeFilter filter) { var model = new DerivativeViewModel() { PageIndex = filter.PageIndex.HasValue ? filter.PageIndex.Value : 1, PageSize = filter.PageSize.HasValue ? filter.PageSize.Value : Int32.MaxValue, Configuration = context.ConfigurationSettings }; var derivative = await context.Vehicle.GetFdpDerivative(filter); var programmeFilter = new ProgrammeFilter() { ProgrammeId = derivative.ProgrammeId, Gateway = derivative.Gateway }; HydrateModelWithCommonProperties(model, context, programmeFilter); if (!(derivative is EmptyFdpDerivative)) { derivative.Programme = model.Programmes.FirstOrDefault(p => p.Id == derivative.ProgrammeId.GetValueOrDefault()); derivative.Body = model.Bodies.FirstOrDefault(b => b.Id == derivative.BodyId); derivative.Engine = model.Engines.FirstOrDefault(e => e.Id == derivative.EngineId); derivative.Transmission = model.Transmissions.FirstOrDefault(t => t.Id == derivative.TransmissionId); } model.Derivative = derivative; return model; }
private static DerivativeViewModel GetFullAndPartialViewModelForOxoDerivatives(IDataContext context, DerivativeFilter filter) { var baseModel = GetBaseModel(context); var model = new DerivativeViewModel() { PageIndex = filter.PageIndex ?? 1, PageSize = filter.PageSize ?? int.MaxValue, Configuration = context.ConfigurationSettings, CurrentUser = baseModel.CurrentUser, CurrentVersion = baseModel.CurrentVersion }; var programmeFilter = new ProgrammeFilter() { ProgrammeId = filter.ProgrammeId, Gateway = filter.Gateway }; HydrateModelWithCommonProperties(model, context, programmeFilter); model.OxoDerivatives = context.Vehicle.ListDerivatives(filter); return(model); }
private static async Task <DerivativeViewModel> GetFullAndPartialViewModelForDerivative(IDataContext context, DerivativeFilter filter) { var model = new DerivativeViewModel() { PageIndex = filter.PageIndex.HasValue ? filter.PageIndex.Value : 1, PageSize = filter.PageSize.HasValue ? filter.PageSize.Value : Int32.MaxValue, Configuration = context.ConfigurationSettings }; var derivative = await context.Vehicle.GetFdpDerivative(filter); var programmeFilter = new ProgrammeFilter() { ProgrammeId = derivative.ProgrammeId, Gateway = derivative.Gateway }; HydrateModelWithCommonProperties(model, context, programmeFilter); if (!(derivative is EmptyFdpDerivative)) { derivative.Programme = model.Programmes.FirstOrDefault(p => p.Id == derivative.ProgrammeId.GetValueOrDefault()); derivative.Body = model.Bodies.FirstOrDefault(b => b.Id == derivative.BodyId); derivative.Engine = model.Engines.FirstOrDefault(e => e.Id == derivative.EngineId); derivative.Transmission = model.Transmissions.FirstOrDefault(t => t.Id == derivative.TransmissionId); } model.Derivative = derivative; return(model); }
private static void HydrateModelWithCommonProperties(DerivativeViewModel model, IDataContext context, ProgrammeFilter programmeFilter) { model.Programmes = context.Vehicle.ListProgrammes(programmeFilter); model.Bodies = context.Vehicle.ListBodies(programmeFilter); model.Engines = context.Vehicle.ListEngines(programmeFilter); model.Transmissions = context.Vehicle.ListTransmissions(programmeFilter); model.Gateways = model.Programmes.ListGateways(); model.CarLines = model.Programmes.ListCarLines(); model.ModelYears = model.Programmes.ListModelYears(); }
private static DerivativeViewModel GetFullAndPartialViewModel(IDataContext context, DerivativeFilter filter) { var model = new DerivativeViewModel(GetBaseModel(context)) { Configuration = context.ConfigurationSettings, }; HydrateModelWithCommonProperties(model, context); return model; }
private static DerivativeViewModel GetFullAndPartialViewModel(IDataContext context, DerivativeFilter filter) { var model = new DerivativeViewModel(GetBaseModel(context)) { Configuration = context.ConfigurationSettings, }; HydrateModelWithCommonProperties(model, context); return(model); }
private static async Task <DerivativeViewModel> GetFullAndPartialViewModelForDerivatives(IDataContext context, DerivativeFilter filter) { var baseModel = SharedModelBase.GetBaseModel(context); var model = new DerivativeViewModel() { PageIndex = filter.PageIndex.HasValue ? filter.PageIndex.Value : 1, PageSize = filter.PageSize.HasValue ? filter.PageSize.Value : Int32.MaxValue, Configuration = context.ConfigurationSettings, CurrentUser = baseModel.CurrentUser, CurrentVersion = baseModel.CurrentVersion }; var programmeFilter = new ProgrammeFilter() { ProgrammeId = filter.ProgrammeId, Gateway = filter.Gateway }; HydrateModelWithCommonProperties(model, context, programmeFilter); model.Derivatives = await context.Vehicle.ListFdpDerivatives(filter); model.TotalPages = model.Derivatives.TotalPages; model.TotalRecords = model.Derivatives.TotalRecords; model.TotalDisplayRecords = model.Derivatives.TotalDisplayRecords; foreach (var derivative in model.Derivatives.CurrentPage) { derivative.Programme = model.Programmes.FirstOrDefault(p => p.Id == derivative.ProgrammeId.GetValueOrDefault()); derivative.Body = model.Bodies.FirstOrDefault(b => b.Id == derivative.BodyId); derivative.Engine = model.Engines.FirstOrDefault(e => e.Id == derivative.EngineId); derivative.Transmission = model.Transmissions.FirstOrDefault(t => t.Id == derivative.TransmissionId); } return(model); }
private static void HydrateModelWithCommonProperties(DerivativeViewModel model, IDataContext context) { HydrateModelWithCommonProperties(model, context, new ProgrammeFilter()); }
private static void HydrateModelWithCommonProperties(DerivativeViewModel model, IDataContext context, ProgrammeFilter programmeFilter) { model.Programmes = context.Vehicle.ListProgrammes(programmeFilter); model.Bodies = context.Vehicle.ListBodies(programmeFilter); model.Engines = context.Vehicle.ListEngines(programmeFilter); model.Transmissions = context.Vehicle.ListTransmissions(programmeFilter); model.Gateways = model.Programmes.ListGateways(); model.CarLines = model.Programmes.ListCarLines(); model.ModelYears = model.Programmes.ListModelYears(); }
private static void HydrateModelWithCommonProperties(DerivativeViewModel model, IDataContext context) { HydrateModelWithCommonProperties(model, context, new ProgrammeFilter()); }
private static DerivativeViewModel GetFullAndPartialViewModelForOxoDerivatives(IDataContext context, DerivativeFilter filter) { var baseModel = GetBaseModel(context); var model = new DerivativeViewModel() { PageIndex = filter.PageIndex ?? 1, PageSize = filter.PageSize ?? int.MaxValue, Configuration = context.ConfigurationSettings, CurrentUser = baseModel.CurrentUser, CurrentVersion = baseModel.CurrentVersion }; var programmeFilter = new ProgrammeFilter() { ProgrammeId = filter.ProgrammeId, Gateway = filter.Gateway }; HydrateModelWithCommonProperties(model, context, programmeFilter); model.OxoDerivatives = context.Vehicle.ListDerivatives(filter); return model; }
private static async Task<DerivativeViewModel> GetFullAndPartialViewModelForDerivatives(IDataContext context, DerivativeFilter filter) { var baseModel = SharedModelBase.GetBaseModel(context); var model = new DerivativeViewModel() { PageIndex = filter.PageIndex.HasValue ? filter.PageIndex.Value : 1, PageSize = filter.PageSize.HasValue ? filter.PageSize.Value : Int32.MaxValue, Configuration = context.ConfigurationSettings, CurrentUser = baseModel.CurrentUser, CurrentVersion = baseModel.CurrentVersion }; var programmeFilter = new ProgrammeFilter() { ProgrammeId = filter.ProgrammeId, Gateway = filter.Gateway }; HydrateModelWithCommonProperties(model, context, programmeFilter); model.Derivatives = await context.Vehicle.ListFdpDerivatives(filter); model.TotalPages = model.Derivatives.TotalPages; model.TotalRecords = model.Derivatives.TotalRecords; model.TotalDisplayRecords = model.Derivatives.TotalDisplayRecords; foreach (var derivative in model.Derivatives.CurrentPage) { derivative.Programme = model.Programmes.FirstOrDefault(p => p.Id == derivative.ProgrammeId.GetValueOrDefault()); derivative.Body = model.Bodies.FirstOrDefault(b => b.Id == derivative.BodyId); derivative.Engine = model.Engines.FirstOrDefault(e => e.Id == derivative.EngineId); derivative.Transmission = model.Transmissions.FirstOrDefault(t => t.Id == derivative.TransmissionId); } return model; }