Ejemplo n.º 1
0
        /// <summary>
        /// Gets the derivatives by model and plate id.
        /// </summary>
        /// <param name="modelId">The model id.</param>
        /// <param name="plateId">The plate id.</param>
        /// <param name="section">The section.</param>
        /// <returns> List of van derivatives </returns>
        public List <IVanDerivative> GetDerivativesByModelAndPlateId(int modelId, int plateId, VanValuationSection section)
        {
            if (plateId >= GetYearPlateFromForSection(section) && plateId <= GetYearPlateToForSection(section))
            {
                Sproc sp = new Sproc("Used_Select_DerivsByModelAndPlate", Database);
                sp.Parameters.Add("@VANModId", SqlDbType.Int).Value    = modelId;
                sp.Parameters.Add("@YearPlateId", SqlDbType.Int).Value = plateId;

                using (SqlDataReader dr = sp.ExecuteReader())
                {
                    if (dr != null && dr.HasRows)
                    {
                        List <IVanDerivative> result = new List <IVanDerivative>();

                        IVanProvider vanProvider = ObjectFactory.GetInstance <IVanProvider>();

                        while (dr.Read())
                        {
                            result.Add(vanProvider.GetDerivativeFromId((int)dr["VANDerId"]));
                        }
                        return(result);
                    }
                }
                return(null);
            }
            else
            {
                return(null);
            }
        }
Ejemplo n.º 2
0
        /// <summary>
        /// Gets the plates by model id.
        /// </summary>
        /// <param name="modelId">The model id.</param>
        /// <param name="section">The section.</param>
        /// <returns> List of year plates </returns>
        public List <IYearPlate> GetPlatesByModelId(int modelId, VanValuationSection section)
        {
            int                sectionFrom       = GetYearPlateFromForSection(section);
            int                sectionTo         = GetYearPlateToForSection(section);
            IVanProvider       vanProvider       = ObjectFactory.GetInstance <IVanProvider>();
            IYearPlateProvider yearPlateProvider = ObjectFactory.GetInstance <IYearPlateProvider>();

            IVanModel m = vanProvider.GetModelFromId(modelId);

            if (m.FromYearPlate == null || m.ToYearPlate == null)
            {
                return(null);
            }

            int plateFrom = m.FromYearPlate.Id;
            int plateTo   = m.ToYearPlate.Id;

            if (sectionFrom > plateFrom)
            {
                plateFrom = sectionFrom;
            }
            if (sectionTo < plateTo)
            {
                plateTo = sectionTo;
            }

            return(yearPlateProvider.GetRange(plateFrom, plateTo));
        }
Ejemplo n.º 3
0
        /// <summary>
        /// Populates the mileage adjusted valuation.
        /// </summary>
        /// <param name="derivId">The deriv identifier.</param>
        /// <param name="plateId">The plate identifier.</param>
        /// <param name="section">The section.</param>
        /// <param name="valuation">The valuation.</param>
        private static void PopulateVanValuation(int derivId, int plateId, VanValuationSection section, VanValuation valuation)
        {
            if (plateId >= GetYearPlateFromForSection(section) && plateId <= GetYearPlateToForSection(section))
            {
                valuation.Result = ValuationResultType.Error;
                IVanProvider       vanProvider       = ObjectFactory.GetInstance <IVanProvider>();
                IYearPlateProvider yearPlateProvider = ObjectFactory.GetInstance <IYearPlateProvider>();

                valuation.Derivative = vanProvider.GetDerivativeFromId(derivId);
                valuation.YearPlate  = yearPlateProvider.FromId(plateId);

                valuation.ValuationSegments = new Dictionary <int, IVanValuationSegment>();

                valuation.OriginalPrice = GetOriginalPrice(derivId, plateId);

                Sproc sp = new Sproc("Used_Select_Valuation", Database);
                sp.Parameters.Add("@VANDerId", SqlDbType.Int).Value    = derivId;
                sp.Parameters.Add("@YearPlateId", SqlDbType.Int).Value = plateId;

                using (SqlDataReader dataReader = sp.ExecuteReader())
                {
                    if (dataReader != null)
                    {
                        while (dataReader.Read())
                        {
                            PopulateValuationSegmentFromDataReader(dataReader, valuation);
                        }

                        valuation.Result = ValuationResultType.VanEstimatedMileage;
                    }
                }
            }
        }
        /// <summary>
        /// Gets the tech data derivatives from id.
        /// </summary>
        /// <param name="modelId">The model id.</param>
        /// <returns>List of van derivatives</returns>
        public List <IVanDerivative> GetTechDataDerivativesFromId(int modelId)
        {
            Sproc sp = new Sproc("Review_Select_DerivativesByModel", DatabaseName);

            sp.Parameters.Add("@VANModId", SqlDbType.Int).Value = modelId;
            using (SqlDataReader dr = sp.ExecuteReader())
            {
                if (dr != null && dr.HasRows)
                {
                    List <IVanDerivative> result = new List <IVanDerivative>();

                    IVanProvider vanProvider = ObjectFactory.GetInstance <IVanProvider>();

                    while (dr.Read())
                    {
                        IVanDerivative d = vanProvider.GetDerivativeFromId((int)dr["VANDerId"]);
                        if (d.HasTechData)
                        {
                            result.Add(d);
                        }
                    }

                    return(result);
                }
            }

            return(null);
        }
        /// <summary>
        /// Backs the base.Model property
        /// </summary>
        /// <returns>The model</returns>
        protected override IModel GetModel()
        {
            IVanProvider vanProvider = ObjectFactory.GetInstance <IVanProvider>();

            return(vanProvider.GetModelFromId(_modelId));
        }
        /// <summary>
        /// Get a VanDerivative from a VANDerId
        /// </summary>
        /// <param name="id">The id</param>
        /// <returns>The van derivative</returns>
        internal static IVanDerivative FromId(int id)
        {
            IVanProvider vanProvider = ObjectFactory.GetInstance <IVanProvider>();

            return(vanProvider.GetDerivativeFromId(id));
        }
        /// <summary>
        /// Get a VanManufacturer from a VANManId
        /// </summary>
        /// <param name="id"></param>
        /// <returns></returns>
        internal static IVanManufacturer FromId(int id)
        {
            IVanProvider vanProvider = ObjectFactory.GetInstance <IVanProvider>();

            return(vanProvider.GetManufacturerFromId(id));
        }
        /// <summary>
        /// Backs the base.Models property
        /// </summary>
        /// <returns></returns>
        protected override List <IModel> GetAllModels()
        {
            IVanProvider vanProvider = ObjectFactory.GetInstance <IVanProvider>();

            return((ListOfModel)vanProvider.GetModelsByManufacturerId(_id));
        }
        /// <summary>
        /// Backs the base.Manufacturer property
        /// </summary>
        /// <returns></returns>
        protected override IManufacturer GetManufacturer()
        {
            IVanProvider vanProvider = ObjectFactory.GetInstance <IVanProvider>();

            return(vanProvider.GetManufacturerFromId(_manufacturerId));
        }