public bool OrderItem([FromBody]OrderModel data) { var result = false; if (data == null) return false; try { AaauctionEntities db = new AaauctionEntities(); var orderItem = new vehicle_order(); orderItem.stock_no = data.stockno; orderItem.customerid = data.customerid; orderItem.price = data.price; orderItem.order_date = DateTime.Now; orderItem.ispaid = false; db.vehicle_order.Add(orderItem); db.SaveChanges(); var product = db.vehicle_for_sale.Where(x => x.stock_no == data.stockno).Select(y => y).FirstOrDefault(); product.is_sold = true; db.SaveChanges(); } catch(Exception ex) { } return result; }
public bool OrderItem([FromBody] OrderModel data) { var result = false; if (data == null) { return(false); } try { AaauctionEntities db = new AaauctionEntities(); var orderItem = new vehicle_order(); orderItem.stock_no = data.stockno; orderItem.customerid = data.customerid; orderItem.price = data.price; orderItem.order_date = DateTime.Now; orderItem.ispaid = false; db.vehicle_order.Add(orderItem); db.SaveChanges(); var product = db.vehicle_for_sale.Where(x => x.stock_no == data.stockno).Select(y => y).FirstOrDefault(); product.is_sold = true; db.SaveChanges(); } catch (Exception ex) { } return(result); }
private static void AddFeature(AaauctionEntities db, string featureName, int stock_no) { var feaureId = db.vehicle_features.Where(x => x.feature_name == featureName).Select(y => y.featureid).FirstOrDefault(); if (feaureId == 0) { var feature = db.vehicle_features.Add(new vehicle_features() { feature_name = featureName }); db.SaveChanges(); feaureId = feature.featureid; } var vehicleFeature = db.features_on_vehicles_for_sale.Where(x => x.featureid == feaureId && x.stock_no == stock_no).Select(y => y).FirstOrDefault(); if (vehicleFeature == null) { db.features_on_vehicles_for_sale.Add(new features_on_vehicles_for_sale() { featureid = feaureId, stock_no = stock_no }); db.SaveChanges(); } }
public object GetProducts(int pageIndex = 0,int pageSize = 10) { try { AaauctionEntities db = new AaauctionEntities(); var products = db.vehicle_for_sale.Where(x => x.is_sold == false).OrderByDescending(x => x.last_modified_date).Select(x => x); var productQuery = (from product in products.Skip(pageIndex * pageSize).Take(pageSize) join model in db.models on product.model_id equals model.id into models from mod in models.DefaultIfEmpty() join make in db.makes on mod.make_id equals make.makeid into makes from mak in makes.DefaultIfEmpty() join img in db.images_on_vehicles_for_sale on product.stock_no equals img.stock_no into images from img in images.DefaultIfEmpty() join feature in db.features_on_vehicles_for_sale on product.stock_no equals feature.stock_no into featJoin from fj in featJoin.DefaultIfEmpty() join ft in db.vehicle_features on fj.featureid equals ft.featureid into featureJoin from f in featureJoin.DefaultIfEmpty() group new { Product = product, model = mod, make = mak, Image = img, Feature = f } by product.stock_no into grp select grp ).ToList(); List<Product> productsFromDB = new List<Product>(); foreach (var item in productQuery) { var productItem = item.FirstOrDefault().Product; var product = new Product(); product.Currency = "USD"; product.Stock_No = productItem.stock_no; product.Year = productItem.year; product.Month = productItem.month; product.KM_ran = productItem.KM_ran; //var model = db.models.Where(x => x.id == productItem.model_id).FirstOrDefault(); product.Model = item.FirstOrDefault().model.model_name;// model.model_name; product.Maker = item.FirstOrDefault().make.make_name;//db.makes.Where(x => x.makeid == model.make_id).Select(y => y.make_name).FirstOrDefault(); product.Price = productItem.price.HasValue == true ? productItem.price.Value : 0; product.CC = productItem.CC; product.chassis_no_1 = productItem.chassis_no_1; product.chassis_no_2 = productItem.chassis_no_2; product.Color = productItem.color; product.Fuel = productItem.fuel; product.Gear_m_at = productItem.gear_at.HasValue == true && productItem.gear_at.Value == true ? "A/T" : "Manual"; product.LastModifiedDate = productItem.last_modified_date.HasValue == true ? productItem.last_modified_date.Value.ToShortDateString() : ""; product.Images = item.Where(fI => fI.Image != null).OrderBy(o => o.Image.imageid).GroupBy(x => x.Image.imageurl).Select(y => y.Max(z => z.Image.imageurl)).ToArray(); var features = item.Where(fI => fI.Feature != null).GroupBy(x => x.Feature.feature_name).Select(y => y.Key).ToList(); product.Equipments = new Equipment(); foreach (var feature in features) { switch (feature) { case "A/C": product.Equipments.AC = true; break; case "PS": product.Equipments.PS = true; break; case "PW": product.Equipments.PW = true; break; case "4WD": product.Equipments.FourWheelDrive = true; break; case "WCAB": product.Equipments.WCAB = true; break; } } productsFromDB.Add(product); } ProductsResponse response = new ProductsResponse() { products = productsFromDB.ToArray(), count = products.Count() }; return Request.CreateResponse<ProductsResponse>(HttpStatusCode.OK, response); } catch (Exception ex) { return Request.CreateErrorResponse(HttpStatusCode.InternalServerError, ex.Message); } }
private static void SaveProducs(List<Product> productsTobeImported) { try { AaauctionEntities db = new AaauctionEntities(); foreach (var product in productsTobeImported) { var stock_no = db.vehicle_for_sale.Where(x => x.stock_no == product.Stock_No).Select(y => y.stock_no).FirstOrDefault(); if(stock_no > 0) { continue; } var makerId = db.makes.Where(x => x.make_name == product.Maker).Select(y => y.makeid).FirstOrDefault(); //break; if (makerId == 0) { var make = db.makes.Add(new make() { make_name = product.Maker }); db.SaveChanges(); makerId = make.makeid; } var modelId = db.models.Where(x => x.make_id == makerId && x.model_name == product.Model).Select(y => y.id).FirstOrDefault(); if(modelId == 0 ) { var model = db.models.Add(new model() { model_name = product.Model, make_id = makerId }); db.SaveChanges(); modelId = model.id; } var categoryId = db.vehicle_category.Where(x => x.category == product.ProductType).Select(y => y.categoryid).FirstOrDefault(); if(categoryId == 0) { var category = db.vehicle_category.Add(new vehicle_category() { category = product.ProductType }); db.SaveChanges(); categoryId = category.categoryid; } if(stock_no == 0) { var addProduct = new vehicle_for_sale(); addProduct.is_sold = false; addProduct.model_id = modelId; addProduct.vehicle_category_id = categoryId; addProduct.CC = product.CC; addProduct.chassis_no_1 = product.chassis_no_1; addProduct.chassis_no_2 = product.chassis_no_2; addProduct.color = product.Color; addProduct.ETD = product.ETD; addProduct.gear_at = product.Gear_m_at == "A/T" ? true : false; addProduct.grade = product.Grade; addProduct.KM_ran = product.KM_ran; addProduct.last_modified_date = DateTime.Now; addProduct.month = product.Month; addProduct.year = product.Year; addProduct.no_of_doors = product.NoOfDoors; addProduct.price = product.Price; addProduct.fuel = product.Fuel; addProduct.stock_no = product.Stock_No; var vehicleForSale = db.vehicle_for_sale.Add(addProduct); db.SaveChanges(); stock_no = vehicleForSale.stock_no; } if(product.Equipments.AC == true) { AddFeature(db, "AC",stock_no); } if(product.Equipments.FourWheelDrive == true) { AddFeature(db, "FourWheelDrive",stock_no); } if (product.Equipments.PS == true) { AddFeature(db, "PS", stock_no); } if (product.Equipments.PW == true) { AddFeature(db, "PW", stock_no); } if (product.Equipments.WCAB == true) { AddFeature(db, "WCAB", stock_no); } foreach(var image in product.Images) { var imageId = db.images_on_vehicles_for_sale.Where(x => x.stock_no == stock_no && x.imageurl == image).Select(y => y.imageid).FirstOrDefault(); if (imageId == 0) { db.images_on_vehicles_for_sale.Add(new images_on_vehicles_for_sale() { imageurl = image, stock_no = stock_no }); db.SaveChanges(); } } } db.SaveChanges(); } catch (Exception ex) { throw; } }
private static void AddFeature(AaauctionEntities db, string featureName,int stock_no) { var feaureId = db.vehicle_features.Where(x => x.feature_name == featureName).Select(y => y.featureid).FirstOrDefault(); if (feaureId == 0) { var feature = db.vehicle_features.Add(new vehicle_features() { feature_name = featureName }); db.SaveChanges(); feaureId = feature.featureid; } var vehicleFeature = db.features_on_vehicles_for_sale.Where(x => x.featureid == feaureId && x.stock_no == stock_no).Select(y => y).FirstOrDefault(); if (vehicleFeature == null) { db.features_on_vehicles_for_sale.Add(new features_on_vehicles_for_sale() { featureid = feaureId, stock_no = stock_no }); db.SaveChanges(); } }
public object GetProducts(int pageIndex = 0, int pageSize = 10) { try { AaauctionEntities db = new AaauctionEntities(); var products = db.vehicle_for_sale.Where(x => x.is_sold == false).OrderByDescending(x => x.last_modified_date).Select(x => x); var productQuery = (from product in products.Skip(pageIndex * pageSize).Take(pageSize) join model in db.models on product.model_id equals model.id into models from mod in models.DefaultIfEmpty() join make in db.makes on mod.make_id equals make.makeid into makes from mak in makes.DefaultIfEmpty() join img in db.images_on_vehicles_for_sale on product.stock_no equals img.stock_no into images from img in images.DefaultIfEmpty() join feature in db.features_on_vehicles_for_sale on product.stock_no equals feature.stock_no into featJoin from fj in featJoin.DefaultIfEmpty() join ft in db.vehicle_features on fj.featureid equals ft.featureid into featureJoin from f in featureJoin.DefaultIfEmpty() group new { Product = product, model = mod, make = mak, Image = img, Feature = f } by product.stock_no into grp select grp ).ToList(); List <Product> productsFromDB = new List <Product>(); foreach (var item in productQuery) { var productItem = item.FirstOrDefault().Product; var product = new Product(); product.Currency = "USD"; product.Stock_No = productItem.stock_no; product.Year = productItem.year; product.Month = productItem.month; product.KM_ran = productItem.KM_ran; //var model = db.models.Where(x => x.id == productItem.model_id).FirstOrDefault(); product.Model = item.FirstOrDefault().model.model_name; // model.model_name; product.Maker = item.FirstOrDefault().make.make_name; //db.makes.Where(x => x.makeid == model.make_id).Select(y => y.make_name).FirstOrDefault(); product.Price = productItem.price.HasValue == true ? productItem.price.Value : 0; product.CC = productItem.CC; product.chassis_no_1 = productItem.chassis_no_1; product.chassis_no_2 = productItem.chassis_no_2; product.Color = productItem.color; product.Fuel = productItem.fuel; product.Gear_m_at = productItem.gear_at.HasValue == true && productItem.gear_at.Value == true ? "A/T" : "Manual"; product.LastModifiedDate = productItem.last_modified_date.HasValue == true?productItem.last_modified_date.Value.ToShortDateString() : ""; product.Images = item.Where(fI => fI.Image != null).OrderBy(o => o.Image.imageid).GroupBy(x => x.Image.imageurl).Select(y => y.Max(z => z.Image.imageurl)).ToArray(); var features = item.Where(fI => fI.Feature != null).GroupBy(x => x.Feature.feature_name).Select(y => y.Key).ToList(); product.Equipments = new Equipment(); foreach (var feature in features) { switch (feature) { case "A/C": product.Equipments.AC = true; break; case "PS": product.Equipments.PS = true; break; case "PW": product.Equipments.PW = true; break; case "4WD": product.Equipments.FourWheelDrive = true; break; case "WCAB": product.Equipments.WCAB = true; break; } } productsFromDB.Add(product); } ProductsResponse response = new ProductsResponse() { products = productsFromDB.ToArray(), count = products.Count() }; return(Request.CreateResponse <ProductsResponse>(HttpStatusCode.OK, response)); } catch (Exception ex) { return(Request.CreateErrorResponse(HttpStatusCode.InternalServerError, ex.Message)); } }
private static void SaveProducs(List <Product> productsTobeImported) { try { AaauctionEntities db = new AaauctionEntities(); foreach (var product in productsTobeImported) { var stock_no = db.vehicle_for_sale.Where(x => x.stock_no == product.Stock_No).Select(y => y.stock_no).FirstOrDefault(); if (stock_no > 0) { continue; } var makerId = db.makes.Where(x => x.make_name == product.Maker).Select(y => y.makeid).FirstOrDefault(); //break; if (makerId == 0) { var make = db.makes.Add(new make() { make_name = product.Maker }); db.SaveChanges(); makerId = make.makeid; } var modelId = db.models.Where(x => x.make_id == makerId && x.model_name == product.Model).Select(y => y.id).FirstOrDefault(); if (modelId == 0) { var model = db.models.Add(new model() { model_name = product.Model, make_id = makerId }); db.SaveChanges(); modelId = model.id; } var categoryId = db.vehicle_category.Where(x => x.category == product.ProductType).Select(y => y.categoryid).FirstOrDefault(); if (categoryId == 0) { var category = db.vehicle_category.Add(new vehicle_category() { category = product.ProductType }); db.SaveChanges(); categoryId = category.categoryid; } if (stock_no == 0) { var addProduct = new vehicle_for_sale(); addProduct.is_sold = false; addProduct.model_id = modelId; addProduct.vehicle_category_id = categoryId; addProduct.CC = product.CC; addProduct.chassis_no_1 = product.chassis_no_1; addProduct.chassis_no_2 = product.chassis_no_2; addProduct.color = product.Color; addProduct.ETD = product.ETD; addProduct.gear_at = product.Gear_m_at == "A/T" ? true : false; addProduct.grade = product.Grade; addProduct.KM_ran = product.KM_ran; addProduct.last_modified_date = DateTime.Now; addProduct.month = product.Month; addProduct.year = product.Year; addProduct.no_of_doors = product.NoOfDoors; addProduct.price = product.Price; addProduct.fuel = product.Fuel; addProduct.stock_no = product.Stock_No; var vehicleForSale = db.vehicle_for_sale.Add(addProduct); db.SaveChanges(); stock_no = vehicleForSale.stock_no; } if (product.Equipments.AC == true) { AddFeature(db, "AC", stock_no); } if (product.Equipments.FourWheelDrive == true) { AddFeature(db, "FourWheelDrive", stock_no); } if (product.Equipments.PS == true) { AddFeature(db, "PS", stock_no); } if (product.Equipments.PW == true) { AddFeature(db, "PW", stock_no); } if (product.Equipments.WCAB == true) { AddFeature(db, "WCAB", stock_no); } foreach (var image in product.Images) { var imageId = db.images_on_vehicles_for_sale.Where(x => x.stock_no == stock_no && x.imageurl == image).Select(y => y.imageid).FirstOrDefault(); if (imageId == 0) { db.images_on_vehicles_for_sale.Add(new images_on_vehicles_for_sale() { imageurl = image, stock_no = stock_no }); db.SaveChanges(); } } } db.SaveChanges(); } catch (Exception ex) { throw; } }