public static List <VEHICLE> GetAllUnsoldVehiclesForDealer(string DealershipName) { List <VEHICLE> retval = null; using (Mongo mongo = new Mongo(config.BuildConfiguration())) { mongo.Connect(); var db = mongo.GetDatabase(VehicleRecords.VEHICLE_DB.DataBaseName); IMongoCollection <Document> collVehicles = db.GetCollection <Document>(VEHICLE.TableName); Document qDealer = new Document(); qDealer["DEALERSHIP_NAME"] = DealershipName; qDealer["STILL_FOR_SALE"] = "YES"; VEHICLE[] foundvehicles = VEHICLE.GetVEHICLEsFromQueryDocument(collVehicles, qDealer); if (foundvehicles != null && foundvehicles.Count <VEHICLE>() > 0) { retval = foundvehicles.ToList <VEHICLE>(); } mongo.Disconnect(); } return(retval); }
public static List <string> GetModelsForMake(string Make) { List <string> retval = new List <string>(); using (Mongo mongo = new Mongo(config.BuildConfiguration())) { mongo.Connect(); var db = mongo.GetDatabase(VehicleRecords.VEHICLE_DB.DataBaseName); IMongoCollection <Document> collVehicles = db.GetCollection <Document>(VEHICLE.TableName); Document qVehicles = new Document(); qVehicles["MAKE"] = Make; qVehicles["STILL_FOR_SALE"] = "YES"; VEHICLE[] foundvehicles = VEHICLE.GetVEHICLEsFromQueryDocument(collVehicles, qVehicles); if (foundvehicles != null && foundvehicles.Count <VEHICLE>() > 0) { var result = foundvehicles.GroupBy(vehicles => vehicles.MODEL.ToUpper()) .Select(grp => grp.First()) .ToList(); foreach (VEHICLE ModelExample in result.OrderBy(c => c.MODEL)) { retval.Add(ModelExample.MODEL); } } mongo.Disconnect(); } return(retval); }
public static List <VEHICLE> GetVehiclesByMarketMakeModel(string market, string make, string model, string pricerange) { List <VEHICLE> retval = null; using (Mongo mongo = new Mongo(config.BuildConfiguration())) { mongo.Connect(); var db = mongo.GetDatabase(VehicleRecords.VEHICLE_DB.DataBaseName); IMongoCollection <Document> collPriceRange = db.GetCollection <Document>(PRICERANGE.TableName); Document qPriceRange = new Document(); qPriceRange["VALUENAME"] = pricerange; Document docPriceRange = collPriceRange.FindOne(qPriceRange); PRICERANGE pr = PRICERANGE.GetPRICERANGEFromDocument(docPriceRange); IMongoCollection <Document> collVehicles = db.GetCollection <Document>(VEHICLE.TableName); Document qVehicles = new Document(); qVehicles["MARKET"] = market; if (make.Length > 0 && make != "All") { qVehicles["MAKE"] = make; } if (model.Length > 0 && model != "All") { qVehicles["MODEL"] = model; } qVehicles["STILL_FOR_SALE"] = "YES"; string where = $"(this.CURRENT_PRICE >= {pr.LOWBOUND} && this.CURRENT_PRICE <= {pr.HIGHBOUND})"; qVehicles.Add("$where", new Code(where)); VEHICLE[] foundvehicles = VEHICLE.GetVEHICLEsFromQueryDocument(collVehicles, qVehicles); if (foundvehicles != null && foundvehicles.Count <VEHICLE>() > 0) { retval = foundvehicles.ToList <VEHICLE>(); } mongo.Disconnect(); } return(retval); }