コード例 #1
0
ファイル: VinDecodeHelper.cs プロジェクト: ewin66/postcl
        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);
        }
コード例 #2
0
        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);
        }