public static async Task<TrimMappingViewModel> GetModel(IDataContext context, TrimMappingFilter filter) { TrimMappingViewModel model = null; if (filter.Action == TrimMappingAction.Delete || filter.Action == TrimMappingAction.Mapping || filter.Action == TrimMappingAction.Copy) { model = await GetFullAndPartialViewModelForTrimMapping(context, filter); } else if (filter.Action == TrimMappingAction.Mappings || filter.Action == TrimMappingAction.CopyAll) { model = await GetFullAndPartialViewModelForTrimMappings(context, filter); } else if (filter.Action == TrimMappingAction.DPCKCodes) { model = await GetFullAndPartialViewModelForDPCKCodes(context, filter); } else { model = GetFullAndPartialViewModel(context, filter); } if (filter.Action != TrimMappingAction.NotSet) { model.IdentifierPrefix = Enum.GetName(filter.Action.GetType(), filter.Action); } return model; }
private static async Task<TrimMappingViewModel> GetFullAndPartialViewModelForDPCKCodes ( IDataContext context, TrimMappingFilter filter ) { var baseModel = GetBaseModel(context); var model = new TrimMappingViewModel(baseModel) { 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); filter.IncludeAllTrim = false; filter.IgnoreBMC = true; model.OxoTrim = await context.Vehicle.ListOxoTrim(filter); model.TotalPages = model.OxoTrim.TotalPages; model.TotalRecords = model.OxoTrim.TotalRecords; model.TotalDisplayRecords = model.OxoTrim.TotalDisplayRecords; foreach (var oxoTrim in model.OxoTrim.CurrentPage) { oxoTrim.Document = model.Documents .FirstOrDefault(d => d.Id == oxoTrim.DocumentId); oxoTrim.Programme = model.Programmes .FirstOrDefault(p => p.Id == oxoTrim.ProgrammeId); } return model; }
private static async Task<ImportViewModel> GetFullAndPartialViewModelForException(IDataContext context, ImportQueueFilter filter) { var model = new ImportViewModel(GetBaseModel(context)) { PageIndex = filter.PageIndex ?? 1, PageSize = filter.PageSize ?? int.MaxValue, Configuration = context.ConfigurationSettings, CurrentException = await context.Import.GetException(filter) }; var programmeFilter = new ProgrammeFilter(model.CurrentException.ProgrammeId) { DocumentId = model.CurrentException.DocumentId }; var featureFilter = new FeatureFilter { ProgrammeId = model.CurrentException.ProgrammeId, DocumentId = model.CurrentException.DocumentId }; model.Programme = context.Vehicle.GetProgramme(programmeFilter); programmeFilter.VehicleId = model.Programme.VehicleId; model.Gateway = model.CurrentException.Gateway; model.AvailableDocuments = context.Vehicle.ListPublishedDocuments(programmeFilter); model.AvailableEngines = context.Vehicle.ListEngines(programmeFilter); model.AvailableTransmissions = context.Vehicle.ListTransmissions(programmeFilter); model.AvailableBodies = context.Vehicle.ListBodies(programmeFilter); model.AvailableSpecialFeatures = await context.TakeRate.ListSpecialFeatures(programmeFilter); model.AvailableMarkets = await context.Market.ListAvailableMarkets(); model.AvailableFeatures = await context.Vehicle.ListFeatures(featureFilter); model.AvailableFeatureGroups = context.Vehicle.ListFeatureGroups(programmeFilter); model.AvailableTrimLevels = context.Vehicle.ListTrimLevels(programmeFilter); var derivativeFilter = new DerivativeFilter { CarLine = model.Programme.VehicleName, ModelYear = model.Programme.ModelYear, Gateway = model.Gateway, ProgrammeId = model.CurrentException.ProgrammeId, }; model.AvailableDerivatives = context.Vehicle.ListDerivatives(derivativeFilter); model.AvailableImportDerivatives = await ListImportDerivatives(model.CurrentException.ImportQueueId, context); model.AvailableImportTrimLevels = await ListImportTrimLevels(model.CurrentException.ImportQueueId, context); model.AvailableImportFeatures = await ListImportFeatures(model.CurrentException.ImportQueueId, context); derivativeFilter.Bmc = model.CurrentException.ImportDerivativeCode; var trimFilter = new TrimMappingFilter { CarLine = model.Programme.VehicleName, ModelYear = model.Programme.ModelYear, Gateway = model.Gateway, DocumentId = model.CurrentException is EmptyOxoDocument ? (int?) null : model.CurrentException.DocumentId, IncludeAllTrim = false }; model.AvailableTrim = (await context.Vehicle.ListOxoTrim(trimFilter)).CurrentPage; model.Document = model.AvailableDocuments.FirstOrDefault(d => d.Id == model.CurrentException.DocumentId); return model; }
public async Task<PagedResults<OxoTrim>> ListOxoTrim(TrimMappingFilter filter) { filter.IncludeAllTrim = true; filter.OxoTrimOnly = true; filter.PageSize = 0; return await Task.FromResult(_trimDataStore.FdpOxoTrimGetMany(filter)); }
public async Task<PagedResults<FdpTrimMapping>> ListFdpTrimMappings(TrimMappingFilter filter) { return await Task.FromResult(_trimDataStore.FdpTrimMappingGetMany(filter)); }
public async Task<FdpTrimMapping> GetFdpTrimMapping(TrimMappingFilter filter) { return await Task.FromResult(_trimDataStore.FdpTrimMappingGet(filter)); }
private static async Task<TrimMappingViewModel> GetFullAndPartialViewModelForTrimMappings ( IDataContext context, TrimMappingFilter filter ) { var baseModel = SharedModelBase.GetBaseModel(context); var model = new TrimMappingViewModel(baseModel) { 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.TrimMappings = await context.Vehicle.ListFdpTrimMappings(filter); model.TotalPages = model.TrimMappings.TotalPages; model.TotalRecords = model.TrimMappings.TotalRecords; model.TotalDisplayRecords = model.TrimMappings.TotalDisplayRecords; foreach (var trimMapping in model.TrimMappings.CurrentPage) { trimMapping.Programme = model.Programmes.FirstOrDefault(p => p.Id == trimMapping.ProgrammeId); } return model; }
private static async Task<TrimMappingViewModel> GetFullAndPartialViewModelForTrimMapping ( IDataContext context, TrimMappingFilter filter ) { var baseModel = SharedModelBase.GetBaseModel(context); var model = new TrimMappingViewModel() { 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 trimMapping = await context.Vehicle.GetFdpTrimMapping(filter); var programmeFilter = new ProgrammeFilter() { ProgrammeId = trimMapping.ProgrammeId, Gateway = trimMapping.Gateway, //Code = model.TrimMapping.Programme.VehicleName // In order to filter the gateways specific to the programme }; HydrateModelWithCommonProperties(model, context, programmeFilter); model.Gateways = context.Vehicle.ListGateways(programmeFilter); if (!(trimMapping is EmptyFdpTrimMapping)) { trimMapping.Programme = model.Programmes.FirstOrDefault(p => p.Id == trimMapping.ProgrammeId); } model.TrimMapping = trimMapping; return model; }
private static TrimMappingViewModel GetFullAndPartialViewModel(IDataContext context, TrimMappingFilter filter) { var model = new TrimMappingViewModel(SharedModelBase.GetBaseModel(context)) { Configuration = context.ConfigurationSettings, }; HydrateModelWithCommonProperties(model, context); return model; }
public PagedResults<OxoTrim> FdpOxoTrimGetMany(TrimMappingFilter filter) { var results = FdpTrimMappingGetMany(filter); var page = results.CurrentPage.Select(result => new OxoTrim(result)).ToList(); return new PagedResults<OxoTrim> { PageIndex = results.PageIndex, PageSize = results.PageSize, TotalDisplayRecords = results.TotalDisplayRecords, TotalFail = results.TotalFail, TotalRecords = results.TotalRecords, TotalSuccess = results.TotalSuccess, CurrentPage = page }; }
public FdpTrimMapping FdpTrimMappingGet(TrimMappingFilter filter) { FdpTrimMapping retVal = new EmptyFdpTrimMapping(); using (IDbConnection conn = DbHelper.GetDBConnection()) { try { var para = new DynamicParameters(); para.Add("@FdpTrimMappingId", filter.TrimMappingId.GetValueOrDefault(), DbType.Int32); var results = conn.Query<FdpTrimMapping>("Fdp_TrimMapping_Get", para, commandType: CommandType.StoredProcedure); if (results.Any()) { retVal = results.First(); } } catch (Exception ex) { Log.Error(ex); throw; } } return retVal; }