/// <summary> /// Calls Der_Select_ById or Der_S_AllInModelById to create a derivative /// </summary> /// <param name="id">The derivative id</param> /// <param name="hintModel">If true, precache all derivatives for this model if this derivative is not already cached</param> /// <returns>A car derivative</returns> private ICarDerivative GetDerivativeFromId(int id, bool hintModel) { if (id <= 0) { return(null); } CarDerivative result = null; Sproc procedure = new Sproc("Der_Select_ById", DatabaseName); procedure.Parameters.Add("@Id", SqlDbType.Int).Value = id; using (SqlDataReader dataReader = procedure.ExecuteReader()) { if (dataReader != null && dataReader.HasRows) { while (dataReader.Read()) { CarDerivative derivative = this.GetDerivativeFromDataReader(dataReader); if (derivative.Id == id) { result = derivative; } } } } return(result); }
/// <summary> /// Populates a valuation from a data reader /// </summary> /// <param name="reader">The datareader to use</param> /// <param name="valuation">The valuation to populate</param> private static void PopulateValuationFromDataReader(SqlDataReader reader, Valuation valuation) { valuation.Derivative = CarDerivative.FromId((int)reader["CARDerId"]); valuation.YearPlate = yearPlateProvider.FromId((short)reader["YearPlateId"]); valuation.Mileage = (int)reader["Mileage"]; valuation.OriginalPrice = (int)reader["New"]; valuation.FranchiseDealer = (int)reader["Franchise"]; valuation.IndependentDealer = (int)reader["Independent"]; valuation.PrivateGood = (int)reader["PrivateGood"]; valuation.PrivatePoor = (int)reader["PrivatePoor"]; valuation.PartExchange = (int)reader["PartExchange"]; }
/// <summary> /// Gets the derivatives by model and plate id. /// </summary> /// <param name="modelId">The model id.</param> /// <param name="plateId">The plate id.</param> /// <returns>List of car derivatives</returns> public List <ICarDerivative> GetDerivativesByModelAndPlateId(int modelId, int plateId) { Sproc sp = new Sproc("Used_Select_DerivsByModelAndPlate", DatabaseName); sp.Parameters.Add("@CARModId", SqlDbType.Int).Value = modelId; sp.Parameters.Add("@YearPlateId", SqlDbType.Int).Value = plateId; using (SqlDataReader reader = sp.ExecuteReader()) { if (reader != null && reader.HasRows) { List <ICarDerivative> result = new List <ICarDerivative>(); while (reader.Read()) { result.Add(CarDerivative.FromId((int)reader["CARDerId"])); } return(result); } } return(null); }
/// <summary> /// Creates a car derivative from a data reader /// </summary> /// <param name="dataReader">The data reader</param> /// <returns>CarDerivative representation of the data</returns> private CarDerivative GetDerivativeFromDataReader(SqlDataReader dataReader) { CarDerivative deriv = new CarDerivative(); deriv.Id = (int)dataReader["CARDerId"]; deriv._imageId = DataUtil.GetInt32(dataReader, "CapImageId"); deriv._modelId = (int)dataReader["CARModId"]; deriv.HasMPG = DataUtil.GetNullableInt(dataReader, "MPG").HasValue; deriv.HasSeats = DataUtil.GetNullableInt(dataReader, "Seats").HasValue; deriv.HasEngineSize = DataUtil.GetNullableInt(dataReader, "CC").HasValue; deriv.Name = (string)dataReader["Derivative"]; deriv.Trim = DataUtil.GetString(dataReader, "TrimName", String.Empty).Trim(); deriv.Engine = DataUtil.GetString(dataReader, "NameEngine", String.Empty).Trim(); deriv.FuelType = (string)dataReader["FuelType"]; deriv.HasTechData = DataUtil.GetBoolean(dataReader, "Tech"); deriv.HasOptionData = DataUtil.GetBoolean(dataReader, "Option"); deriv.OriginalBodystyle = DataUtil.GetString(dataReader, "BodyOriginal"); deriv.P11DPrice = DataUtil.GetInt32(dataReader, "P11DPrice"); deriv.ListPrice = DataUtil.GetInt32(dataReader, "ListPrice"); deriv.TargetPrice = DataUtil.GetInt32(dataReader, "TargetPrice"); deriv.ThreeYearValue = DataUtil.GetInt32(dataReader, "FRV36"); deriv.InsuranceGroup = DataUtil.GetInt32(dataReader, "IG"); deriv.Doors = DataUtil.GetInt32(dataReader, "Doors"); deriv.Seats = DataUtil.GetInt32(dataReader, "Seats"); deriv.CC = DataUtil.GetInt32(dataReader, "CC"); deriv.Cylinders = DataUtil.GetInt32(dataReader, "Cylinders"); deriv.Bhp = DataUtil.GetInt32(dataReader, "BHP"); deriv.TopSpeed = DataUtil.GetInt32(dataReader, "TopSpeed"); deriv.ZeroToSixty = DataUtil.GetDecimal(dataReader, "ZeroToSixty"); deriv.MilesPerGallon = DataUtil.GetInt32(dataReader, "MPG"); deriv.EuroEmissions = DataUtil.GetInt32(dataReader, "EuroEmissions"); deriv.Length = DataUtil.GetInt32(dataReader, "Length"); deriv.Width = DataUtil.GetInt32(dataReader, "Width"); deriv.Height = DataUtil.GetInt32(dataReader, "Height"); deriv.Weight = DataUtil.GetInt32(dataReader, "Weight"); deriv.FuelDelivery = DataUtil.GetString(dataReader, "FuelDelivery", "-"); deriv.Transmission = DataUtil.GetString(dataReader, "Transmission", "-"); deriv.Gears = DataUtil.GetString(dataReader, "Gears", "-"); deriv.Valves = DataUtil.GetInt32(dataReader, "Valves"); deriv.TorqueLbFt = DataUtil.GetInt32(dataReader, "TorqueLbFt"); deriv.TorqueNm = DataUtil.GetInt32(dataReader, "TorqueNm"); deriv.Wheelbase = DataUtil.GetInt32(dataReader, "Wheelbase"); deriv.LuggageCapacity = DataUtil.GetInt32(dataReader, "LuggageCapacity"); deriv.FuelCapacity = DataUtil.GetInt32(dataReader, "FuelCapacity"); deriv.TurningCircle = DataUtil.GetInt32(dataReader, "TurningCircle"); deriv.UnbrakedTowing = DataUtil.GetInt32(dataReader, "UnbrakedTowing"); deriv.BrakedTowing = DataUtil.GetInt32(dataReader, "BrakedTowing"); deriv.CO2Emissions = DataUtil.GetInt32(dataReader, "CO2"); deriv.VedBand = DataUtil.GetString(dataReader, "VEDBand", "-"); deriv.VedFull = DataUtil.GetDecimal(dataReader, "VEDFull"); deriv.Introduced = DataUtil.GetDateTime(dataReader, "Introduced", DateTime.MaxValue); deriv.Discontinued = DataUtil.GetDateTime(dataReader, "Discontinued", DateTime.MaxValue); IYearPlateProvider yearPlateProvider = ObjectFactory.GetInstance <IYearPlateProvider>(); deriv.FromYearPlate = yearPlateProvider.FromId(DataUtil.GetInt32(dataReader, "FromYearPlateId")); deriv.ToYearPlate = yearPlateProvider.FromId(DataUtil.GetInt32(dataReader, "ToYearPlateId")); deriv.CapCode = DataUtil.GetString(dataReader, "CAPCode"); deriv.ThisYearBasicRate = DataUtil.GetInt32(dataReader, "CompanyCarTaxThisYearBasicRate"); deriv.ThisYearHigherRate = DataUtil.GetInt32(dataReader, "CompanyCarTaxThisYearHigherRate"); deriv.NextYearBasicRate = DataUtil.GetInt32(dataReader, "CompanyCarTaxNextYearBasicRate"); deriv.NextYearHigherRate = DataUtil.GetInt32(dataReader, "CompanyCarTaxNextYearHigherRate"); deriv.CompanyCarTaxPercentage = DataUtil.GetInt32(dataReader, "CompanyCarTaxPercentage"); return(deriv); }