public void UploadVehicleInformationTest() { var vehicle = new VehicleInformationDto() { ItemID = 1, Lane = "A", Slot = "123", Start = "Yes", BranchCode = 123, StockNo = "12345678", VIN = "WBA8E9C5XGK646786", VehicleYear = "2000", VehicleMake = "Honda", VehicleModel = "Accord", Transmission = "AT", RunAndDrive = "Yes", OdoBrand = "Actual", Odometer = "10000", PrimaryDamage = "Front End", SecondaryDamage = "Front End", VehicleTitle = "Clear", LossType = "Water", SaleDocument = "Clear", AuctionDate = System.DateTime.Now }; vehicle.VehicleInformationImage = new VehicleInformationImage[10]; for (int image = 1; image <= 10; image++) { var large = "https://cvis.iaai.com/thumbnail?imageKeys=18693774~SID~I" + image; var thumb = "https://cvis.iaai.com/resizer?imageKeys=18693774~SID~I" + image; vehicle.VehicleInformationImage[image - 1] = new VehicleInformationImage() { ThumbnailURL = thumb, LargeURL = large }; } var vehicles = new List <VehicleInformationDto>(); vehicles.Add(vehicle); var request = new VehicleUploadRequest() { UserRequestInfo = User, VehicleInformationList = vehicles.ToArray() }; var uploadStockList = Client.UploadVehicleInformation(request); Assert.IsTrue(uploadStockList.WasSuccessful); }
public void PushData() { clsLog.LogInfo("Pushing Stocks to LKQ"); try { var vehicleList = new List<VehicleInformationDto>(); //Get a list of non DDR Stock from database //Create a stroed proc to return datatable, loop thru it and populate vehicleList. See sample below /* ItemID, Lane, Slot, Start, AuctionDate, BranchCode, StockNo, VIN, VehicleYear, VehicleMake, VehicleModel, Transmission, RunAndDrive, OdoBrand, Odometer, PrimaryDamage, SecondaryDamage, VehicleTitle, LossType, SaleDocument, ThumbnailURL, LargeURL => TALK TO SAURIN ON HOW TO GENERATE URL */ var connection = ConfigurationManager.ConnectionStrings["Connection"].ConnectionString; DataTable dt = new DataTable(); using (SqlConnection con = new SqlConnection(connection)) { using (SqlCommand cmd = new SqlCommand("dyndata.dbo.SP_PUSHDATA", con)) { using (SqlDataAdapter da = new SqlDataAdapter(cmd)) { cmd.CommandType = CommandType.StoredProcedure; da.Fill(dt); } } } for (int i = 0; i < dt.Rows.Count; i++) { var vehicle = new VehicleInformationDto() { ItemID = Convert.ToInt32(dt.Rows[i]["ItemID"]), Lane = dt.Rows[i]["Lane"].ToString().Trim(), Slot = dt.Rows[i]["Slot"].ToString().Trim(), Start = dt.Rows[i]["Start"].ToString(), BranchCode = Convert.ToInt32(dt.Rows[i]["BranchCode"]), StockNo = dt.Rows[i]["StockNo"].ToString().Trim(), VIN = dt.Rows[i]["VIN"].ToString().Trim(), VehicleYear = dt.Rows[i]["VehicleYear"].ToString().Trim(), VehicleMake = dt.Rows[i]["VehicleMake"].ToString().Trim(), VehicleModel = dt.Rows[i]["VehicleModel"].ToString().Trim(), Transmission = dt.Rows[i]["Transmission"].ToString().Trim(), RunAndDrive = dt.Rows[i]["RunAndDrive"].ToString().Trim(), OdoBrand = dt.Rows[i]["OdoBrand"].ToString().Trim(), Odometer = dt.Rows[i]["Odometer"].ToString().Trim(), PrimaryDamage = dt.Rows[i]["PrimaryDamage"].ToString().Trim(), SecondaryDamage = dt.Rows[i]["SecondaryDamage"].ToString().Trim(), VehicleTitle = dt.Rows[i]["VehicleTitle"].ToString().Trim(), LossType = dt.Rows[i]["LossType"].ToString().Trim(), SaleDocument = dt.Rows[i]["SaleDocument"].ToString().Trim() }; if (!dt.Rows[i]["livedate"].ToString().ToLower().Equals("tbd")) vehicle.AuctionDate = DateTimeOffset.Parse(dt.Rows[i]["livedate"].ToString()); var dbThumbURL = dt.Rows[i]["ThumbnailURL"].ToString(); if (dbThumbURL != "") { var reg = new Regex("~R(.+?)TH0"); var match = reg.Match(dbThumbURL); if (match.Success) dbThumbURL = dbThumbURL.Replace(match.Value, ""); dbThumbURL = dbThumbURL.Replace("vis.iaai.com", "cvis.iaai.com"); vehicle.VehicleInformationImage = new VehicleInformationImage[10]; for (int image = 1; image <= 10; image++) { var large = dbThumbURL.Replace("height=240", "height=480").Replace("width=320", "width=640").Replace("~I1", "~I" + image.ToString()); var thumb = dbThumbURL.Replace("resizer", "thumbnail").Replace("&height=240&width=320", "").Replace("~I1", "~I" + image.ToString()); vehicle.VehicleInformationImage[image - 1] = new VehicleInformationImage() { ThumbnailURL = thumb, LargeURL = large }; } } vehicleList.Add(vehicle); } clsLog.LogInfo("PushData - ready to push " + vehicleList.Count + " records to remote"); var index = 0; do { var request = new VehicleUploadRequest() { VehicleInformationList = vehicleList.Skip(index).Take(500).ToArray(), UserRequestInfo = User }; var response = Client.UploadVehicleInformation(request); if (!response.WasSuccessful) { clsLog.LogInfo("PushData - Error out while pushing data to remote from " + index.ToString()); } else { clsLog.LogInfo("PushData - Pushed data to remote from " + index.ToString() + " to " + request.VehicleInformationList.Count()); } index += 500; } while (index <= vehicleList.Count); } catch (Exception ex) { clsLog.LogInfo("PushData - Error ocurred while pushing data to remote. Error " + ex.Message); } }