private static DealerDetails DealerFromBB(BB_Dealership dealer) { var pageIDs = ""; if (dealer.FBAnnotations?.Data != null) { pageIDs = string.Join("|", dealer.FBAnnotations.Data.Select(a => a.FBPageID)); } return(new DealerDetails() { PartitionKey = "", RowKey = dealer.ID, Agency_ID = dealer.Agency_ID, Name = dealer.Name, Site_Provider_ID = dealer.Site_Provider_ID, Site_Provider = dealer.Site_Provider, Address = dealer.Address, City = dealer.City, State = dealer.State, Zip = dealer.Zip, Phone = dealer.Phone, Country_Code = dealer.Country_Code, FB_PageIDs = pageIDs }); }
private static CarDetails CarFromBB(BB_Dealership dealer, BB_Car car) { //Cleanup color entries a bit string cleanColor = "Unknown"; if (!string.IsNullOrEmpty(car.Exterior_Color)) { string[] colors = new string[] { "Black", "White", "Red", "Green", "Blue", "Silver", "Gray", "Grey", "Brown", "Orange", "Steel", "Platinum", "Tan" }; var matchingColor = colors.FirstOrDefault(c => car.Exterior_Color.Contains(c, StringComparison.OrdinalIgnoreCase)); if (matchingColor != null) { cleanColor = matchingColor; } else { switch (car.Exterior_Color) { case null: break; case "Bl": cleanColor = "Black"; break; case "Wh": cleanColor = "White"; break; case "Gy": cleanColor = "Gray"; break; case "Tn": cleanColor = "Tan"; break; } } } //TODO: Cleanup features here? return(new CarDetails() { PartitionKey = dealer.ID, RowKey = car.VIN, Make = car.Make_Name_Raw, Model = car.Model_Name_Raw, Color = cleanColor, Color_Raw = car.Exterior_Color, Year = car.Year, Body = car.Body_Name, Display_Name = car.Display_Name, Stock_Number = car.Stock_Number, Price = car.Price ?? 0, Mileage = car.Mileage ?? 0, Engine = car.Engine, Transmission = car.Transmission, Doors = car.Doors, Used = car.Used, URL = car?.Dealer_Vehicle?.Data?.FirstOrDefault()?.Vdp_Url ?? "", Image_URL = car?.Images?.Data?.FirstOrDefault(i => i.Order == 0)?.Original_Url ?? "", Description = car.Description, Features = car.Features }); }