Esempio n. 1
0
        public IEnumerable <CarDetailsItem> GetDetails()
        {
            List <CarDetailsItem> cars = new List <CarDetailsItem>();

            using (var cn = new SqlConnection(Settings.GetConnectionString()))
            {
                SqlCommand cmd = new SqlCommand("CarSelectDetails", cn);
                cmd.CommandType = CommandType.StoredProcedure;

                cn.Open();

                using (SqlDataReader dr = cmd.ExecuteReader())
                {
                    while (dr.Read())
                    {
                        CarDetailsItem row = new CarDetailsItem();

                        row.CarId         = (int)dr["CarId"];
                        row.CarMakeId     = (int)dr["CarMakeId"];
                        row.CarModelId    = (int)dr["CarModelId"];
                        row.CarMakeName   = dr["CarMakeName"].ToString();
                        row.CarModelName  = dr["CarModelName"].ToString();
                        row.CarYear       = (int)dr["CarYear"];
                        row.BodyStyle     = dr["BodyStyle"].ToString();
                        row.InteriorColor = dr["InteriorColor"].ToString();
                        row.VinNumber     = dr["VinNumber"].ToString();
                        row.Transmission  = dr["Transmission"].ToString();
                        row.CarColor      = dr["CarColor"].ToString();
                        row.Mileage       = (int)dr["Mileage"];
                        row.CarPrice      = (decimal)dr["CarPrice"];
                        row.IsSold        = (bool)dr["IsSold"];

                        if (dr["ImageFileName"] != DBNull.Value)
                        {
                            row.ImageFileName = dr["ImageFileName"].ToString();
                        }

                        if (dr["CarDescription"] != DBNull.Value)
                        {
                            row.CarDescription = dr["CarDescription"].ToString();
                        }

                        if (dr["CarSalePrice"] != DBNull.Value)
                        {
                            row.CarSalePrice = (decimal)dr["CarSalePrice"];
                        }

                        cars.Add(row);
                    }
                }
            }

            return(cars);
        }
Esempio n. 2
0
        public IEnumerable <CarDetailsItem> SearchUsedInventory(CarSearchParameters parameters)
        {
            List <CarDetailsItem> cars = new List <CarDetailsItem>();

            using (var cn = new SqlConnection(Settings.GetConnectionString()))
            {
                string query = "SELECT TOP 20 CarId, CarMakeName, CarModelName, BodyStyle, VinNumber, CarYear, Transmission, " +
                               "CarColor, InteriorColor, Mileage, CarPrice, CarSalePrice, ImageFileName " +
                               "FROM Car c INNER JOIN CarModel cd ON c.CarModelId = cd.CarModelId INNER JOIN CarMake cm ON cd.CarMakeId = cm.CarMakeId " +
                               "WHERE 1 = 1 AND CategoryId = 1 ";
                SqlCommand cmd = new SqlCommand();
                cmd.Connection = cn;

                if (parameters.MinPrice.HasValue)
                {
                    query += "AND ((CarSalePrice >= @MinPrice) OR (CarPrice >= @MinPrice)) ";
                    cmd.Parameters.AddWithValue("@MinPrice", parameters.MinPrice.Value);
                }

                if (parameters.MaxPrice.HasValue)
                {
                    query += "AND ((CarPrice <= @MaxPrice) OR (CarSalePrice <= @MaxPrice)) ";
                    cmd.Parameters.AddWithValue("@MaxPrice", parameters.MaxPrice.Value);
                }

                if (parameters.MinYear.HasValue)
                {
                    query += "AND CarYear >= @MinYear ";
                    cmd.Parameters.AddWithValue("@MinYear", parameters.MinYear.Value);
                }

                if (parameters.MaxYear.HasValue)
                {
                    query += "AND CarYear <= @MaxYear ";
                    cmd.Parameters.AddWithValue("@MaxYear", parameters.MaxYear.Value);
                }

                if (!string.IsNullOrEmpty(parameters.CarMakeName))
                {
                    query += "AND CarMakeName LIKE @CarMakeName ";
                    cmd.Parameters.AddWithValue("@CarMakeName", parameters.CarMakeName + '%');
                }

                if (!string.IsNullOrEmpty(parameters.CarModelName))
                {
                    query += "OR CarModelName LIKE @CarModelName ";
                    cmd.Parameters.AddWithValue("@CarModelName", parameters.CarModelName + '%');
                }

                if (!string.IsNullOrEmpty(parameters.CarYear.ToString()))
                {
                    query += "OR CarYear LIKE @CarYear ";
                    cmd.Parameters.AddWithValue("@CarYear", parameters.CarYear + '%');
                }

                query          += "ORDER BY CarPrice DESC";
                cmd.CommandText = query;
                cn.Open();

                using (SqlDataReader dr = cmd.ExecuteReader())
                {
                    while (dr.Read())
                    {
                        CarDetailsItem row = new CarDetailsItem();

                        row.CarId         = (int)dr["CarId"];
                        row.CarYear       = (int)dr["CarYear"];
                        row.CarMakeName   = dr["CarMakeName"].ToString();
                        row.CarModelName  = dr["CarModelName"].ToString();
                        row.BodyStyle     = dr["BodyStyle"].ToString();
                        row.InteriorColor = dr["InteriorColor"].ToString();
                        row.VinNumber     = dr["VinNumber"].ToString();
                        row.Transmission  = dr["Transmission"].ToString();
                        row.CarColor      = dr["CarColor"].ToString();
                        row.Mileage       = (int)dr["Mileage"];
                        row.CarPrice      = (decimal)dr["CarPrice"];

                        if (dr["CarSalePrice"] != DBNull.Value)
                        {
                            row.CarSalePrice = (decimal)dr["CarSalePrice"];
                        }

                        if (dr["ImageFileName"] != DBNull.Value)
                        {
                            row.ImageFileName = dr["ImageFileName"].ToString();
                        }

                        cars.Add(row);
                    }
                }
            }

            return(cars);
        }