public static AppraisalViewFormModel GetVehicleInfoFromChromeDecode(VehicleDescription vehicleInfo) { if (vehicleInfo == null) { return(null); } var appraisal = new AppraisalViewFormModel { VinDecodeSuccess = true, AppraisalDate = DateTime.Now.ToShortDateString(), VinNumber = vehicleInfo.vinDescription != null ? vehicleInfo.vinDescription.vin : string.Empty, AppraisalModel = vehicleInfo.bestModelName, Make = vehicleInfo.bestMakeName, Trim = vehicleInfo.bestTrimName, SelectedModel = vehicleInfo.bestModelName, //TODO: get Chrom Model ID ModelYear = vehicleInfo.modelYear.ToString(), ExteriorColorList = SelectListHelper.InitalExteriorColorList(vehicleInfo.exteriorColor), InteriorColorList = SelectListHelper.InitalInteriorColorList(vehicleInfo.interiorColor) }; if (vehicleInfo.style != null && vehicleInfo.style.Any()) { Style firstStyle = vehicleInfo.style.FirstOrDefault(); if (firstStyle != null) { appraisal.Door = firstStyle.passDoors.ToString(); appraisal.MSRP = firstStyle.basePrice.msrp.ToString("C"); appraisal.DriveTrainList = SelectListHelper.InitalDriveTrainList(firstStyle.drivetrain.ToString()); bool existed; appraisal.TrimList = SelectListHelper.InitalTrimList(appraisal, firstStyle.trim, vehicleInfo.style, firstStyle.id, out existed); if (firstStyle.stockImage != null) { appraisal.DefaultImageUrl = firstStyle.stockImage.url; } } } var chromeAutoService = new ChromeAutoService(); List <ExtendedFactoryOptions> listPackageOptions = chromeAutoService.GetPackageOptions(vehicleInfo); List <ExtendedFactoryOptions> listNonInstalledOptions = chromeAutoService.GetNonInstalledOptions(vehicleInfo); var builder = new StringBuilder(); if (vehicleInfo.standard != null && vehicleInfo.standard.Any()) { foreach (Standard fo in vehicleInfo.standard) { builder.Append(fo.description + ","); } if (!String.IsNullOrEmpty(builder.ToString())) { builder.Remove(builder.Length - 1, 1); } appraisal.StandardInstalledOption = builder.ToString(); } appraisal.FactoryPackageOptions = SelectListHelper.InitalFactoryPackagesOrOption(listPackageOptions); appraisal.FactoryNonInstalledOptions = SelectListHelper.InitalFactoryPackagesOrOption(listNonInstalledOptions); if (vehicleInfo.vinDescription != null && !String.IsNullOrEmpty(vehicleInfo.vinDescription.bodyType)) { appraisal.BodyTypeList = SelectListHelper.InitialBodyTypeList(vehicleInfo.vinDescription.bodyType); } else { StyleBodyType[] bodyType = vehicleInfo.style.Last().bodyType; appraisal.BodyTypeList = SelectListHelper.InitialBodyTypeList(vehicleInfo.style != null ? (bodyType != null ? bodyType.Last().Value : vehicleInfo.bestStyleName) : vehicleInfo.bestStyleName); if (appraisal.CylinderList == null) { appraisal.CylinderList = new BindingList <SelectListItem>(); } if (appraisal.LitersList == null) { appraisal.LitersList = new BindingList <SelectListItem>(); } if (appraisal.FuelList == null) { appraisal.FuelList = new BindingList <SelectListItem>(); } } if (vehicleInfo.engine != null) { appraisal.FuelList = SelectListHelper.InitialFuelList(vehicleInfo.engine); appraisal.CylinderList = SelectListHelper.InitialCylinderList(vehicleInfo.engine); appraisal.LitersList = SelectListHelper.InitialLitterList(vehicleInfo.engine); Engine firstEngine = vehicleInfo.engine.FirstOrDefault(); if (firstEngine != null && firstEngine.fuelEconomy != null) { appraisal.FuelEconomyCity = firstEngine.fuelEconomy.city.low.ToString(); appraisal.FuelEconomyHighWay = firstEngine.fuelEconomy.hwy.low.ToString(); } } if (vehicleInfo.vinDescription != null && vehicleInfo.vinDescription.marketClass != null) { if ( vehicleInfo.vinDescription.marketClass.Any( tmp => tmp.Value.Contains("Truck") || tmp.Value.Contains("Cargo Vans"))) { appraisal.IsTruck = true; } } return(appraisal); }
public static AppraisalViewFormModel UpdateSuccessfulAppraisalModel(AppraisalViewFormModel viewModel, AppraisalViewFormModel row, VehicleDescription vehicleInfo, int dealershipId, string location, bool decodeSuccessfully) { viewModel.AppraisalGenerateId = row.AppraisalID.ToString(); viewModel.FactoryPackageOptions = SelectListHelper.InitalFactoryPackagesOrOption(viewModel.FactoryPackageOptionsEdit); viewModel.FactoryNonInstalledOptions = SelectListHelper.InitalFactoryPackagesOrOption(viewModel.FactoryNonInstalledOptionsEdit); if (String.IsNullOrEmpty(row.SalePrice)) { viewModel.SalePrice = "NA"; } else { double priceFormat; bool flag = Double.TryParse(row.SalePrice, out priceFormat); if (flag) { viewModel.SalePrice = priceFormat.ToString("#,##0"); } } if (String.IsNullOrEmpty(row.DealerCost)) { viewModel.DealerCost = "NA"; } else { double priceFormat; bool flag = Double.TryParse(row.DealerCost, out priceFormat); if (flag) { viewModel.DealerCost = priceFormat.ToString("#,##0"); } } if (String.IsNullOrEmpty(row.ACV)) { viewModel.ACV = "NA"; } else { double priceFormat; bool flag = Double.TryParse(row.ACV, out priceFormat); if (flag) { viewModel.ACV = priceFormat.ToString("#,##0"); } } viewModel.OrginalName = viewModel.ModelYear + " " + viewModel.Make + " " + viewModel.SelectedModel; if (!String.IsNullOrEmpty(viewModel.Trim) && !viewModel.Trim.Equals("NA")) { viewModel.OrginalName += " " + viewModel.Trim; } viewModel.Mileage = row.Mileage ?? "0"; viewModel.DefaultImageUrl = row.DefaultImageUrl ?? string.Empty; viewModel.Descriptions = row.Descriptions ?? string.Empty; viewModel.VehicleTypeList = SelectListHelper.InitalVehicleTypeList(); viewModel.DealershipId = dealershipId; viewModel.StockNumber = row.StockNumber ?? string.Empty; viewModel.VinNumber = row.VinNumber ?? string.Empty; viewModel.ModelYear = row.ModelYear; viewModel.Make = row.Make ?? string.Empty; viewModel.SelectedModel = row.AppraisalModel ?? string.Empty; viewModel.AppraisalModel = row.AppraisalModel ?? string.Empty; viewModel.AppraisalDate = row.AppraisalDate ?? DateTime.Now.ToString("MM/dd/yyyy"); viewModel.Location = location; viewModel.Trim = row.SelectedTrim ?? string.Empty; viewModel.SelectedTrim = row.SelectedTrim ?? string.Empty; viewModel.ChromeStyleId = row.ChromeStyleId; viewModel.ChromeModelId = row.ChromeModelId; if (SessionHandler.ChromeTrimList == null) { int styleId; if (viewModel.ChromeStyleId != null && Int32.TryParse(viewModel.ChromeStyleId, out styleId)) { bool existed; viewModel.TrimList = SelectListHelper.InitalTrimList(viewModel, viewModel.Trim, vehicleInfo.style, styleId, out existed); if (!existed) { viewModel.CusTrim = viewModel.Trim; } } else if (!String.IsNullOrEmpty(viewModel.Trim)) { bool existed; viewModel.TrimList = SelectListHelper.InitalTrimList(viewModel, vehicleInfo.style, viewModel.Trim, out existed); if (!existed) { viewModel.CusTrim = viewModel.Trim; } } else { viewModel.TrimList = SelectListHelper.InitalTrimList(vehicleInfo.style); } } else { foreach (var item in viewModel.TrimList) { item.Selected = item.Text.Equals(row.Trim); } var selectedTrim = viewModel.TrimList.FirstOrDefault(i => i.Selected); if (selectedTrim != null) { viewModel.Trim = selectedTrim.Text; viewModel.SelectedTrimItem = selectedTrim.Value; } else { selectedTrim = viewModel.TrimList.FirstOrDefault(i => i.Text.Equals("Base/Other Trims")); viewModel.Trim = selectedTrim.Text; viewModel.SelectedTrimItem = selectedTrim.Value; viewModel.CusTrim = row.Trim; } } viewModel.SelectedExteriorColorCode = row.SelectedExteriorColorCode ?? string.Empty; viewModel.SelectedExteriorColorValue = row.SelectedExteriorColorValue ?? string.Empty; viewModel.SelectedInteriorColor = row.SelectedInteriorColor ?? string.Empty; viewModel.ExteriorColorList = viewModel.ExteriorColorListForEdit != null && viewModel.ExteriorColorListForEdit.Any() ? SelectListHelper.InitalExteriorColorList(viewModel.ExteriorColorListForEdit.ToArray(), viewModel.SelectedExteriorColorCode, viewModel.SelectedExteriorColorValue.Trim()) : SelectListHelper.InitalExteriorColorList(null, viewModel.SelectedExteriorColorCode, viewModel.SelectedExteriorColorValue.Trim()); viewModel.InteriorColorList = viewModel.InteriorColorListForEdit != null && viewModel.InteriorColorListForEdit.Any() ? SelectListHelper.InitalInteriorColorList(viewModel.InteriorColorListForEdit.ToArray(), viewModel.SelectedInteriorColor) : SelectListHelper.InitalInteriorColorList(null, viewModel.SelectedInteriorColor); if (viewModel.ExteriorColorListForEdit != null && viewModel.ExteriorColorListForEdit.Any()) { var list = viewModel.ExteriorColorListForEdit.Where(t => t.colorName.Equals(viewModel.SelectedExteriorColorValue.Trim())); if (!list.Any()) { viewModel.CusExteriorColor = row.ExteriorColor ?? string.Empty; } else { viewModel.CusExteriorColor = string.Empty; } } else { viewModel.CusExteriorColor = row.ExteriorColor ?? string.Empty; } if (viewModel.InteriorColorListForEdit != null && viewModel.InteriorColorListForEdit.Any()) { var list = viewModel.InteriorColorListForEdit.Where(t => t.colorName.Equals(viewModel.SelectedInteriorColor)); if (!list.Any()) { viewModel.CusInteriorColor = row.InteriorColor ?? string.Empty; } else { viewModel.CusInteriorColor = string.Empty; } } else { viewModel.CusInteriorColor = row.InteriorColor ?? string.Empty; } viewModel.DriveTrainList = SelectListHelper.InitalEditDriveTrainList(viewModel.WheelDrive); viewModel.ExistOptions = String.IsNullOrEmpty(row.SelectedFactoryOptions) ? null : (from data in CommonHelper.GetArrayFromString(row.SelectedFactoryOptions) select data).ToList(); viewModel.ExistPackages = String.IsNullOrEmpty(row.SelectedPackageOptions) ? null : (from data in CommonHelper.GetArrayFromString(row.SelectedPackageOptions) select data).ToList(); viewModel.VehicleType = row.VehicleType; viewModel.Notes = row.Notes; if (!String.IsNullOrEmpty(row.MSRP)) { double msrpFormat; bool msrpFlag = Double.TryParse(row.MSRP, out msrpFormat); if (msrpFlag) { viewModel.MSRP = msrpFormat.ToString("c0"); } } viewModel.CustomerFirstName = row.CustomerFirstName ?? string.Empty; viewModel.CustomerLastName = row.CustomerLastName ?? string.Empty; viewModel.CustomerAddress = row.CustomerAddress ?? string.Empty; viewModel.CustomerCity = row.CustomerCity ?? string.Empty; viewModel.CustomerState = row.CustomerState ?? string.Empty; viewModel.CustomerZipCode = row.CustomerZipCode ?? string.Empty; viewModel.Door = row.Door ?? string.Empty; viewModel.SelectedBodyType = row.SelectedBodyType ?? string.Empty; viewModel.SelectedCylinder = row.SelectedCylinder ?? string.Empty; viewModel.SelectedDriveTrain = row.SelectedDriveTrain ?? string.Empty; viewModel.SelectedTranmission = row.SelectedTranmission ?? string.Empty; viewModel.SelectedLiters = row.SelectedLiters ?? string.Empty; viewModel.SelectedFuel = row.SelectedFuel ?? string.Empty; viewModel.VinDecodeSuccess = decodeSuccessfully; return(viewModel); }