Current state, whatever that means
This commit is contained in:
@@ -47,7 +47,14 @@ namespace PartSource.Automation.Jobs
|
||||
{
|
||||
try
|
||||
{
|
||||
ImportData importData = _partSourceContext.ImportData.FirstOrDefault(i => i.VariantSku == product.Variants[0].Sku);
|
||||
IEnumerable<Metafield> metafields = await _shopifyClient.Metafields.Get(new Dictionary<string, object> { { "metafield[owner_id]", product.Id }, { "metafield[owner_resource]", "product" } });
|
||||
|
||||
ImportData importData = new ImportData
|
||||
{
|
||||
LineCode = metafields.FirstOrDefault(m => m.Key == "custom_label_0").Value ?? string.Empty,
|
||||
PartNumber = product.Title.Split(' ')[0],
|
||||
VariantSku = product.Variants[0].Sku // They know we can't do fitment for variants
|
||||
};
|
||||
|
||||
if (importData == null || importData?.LineCode == "SVG") // Headlights go in front, DUH
|
||||
{
|
||||
@@ -87,40 +94,41 @@ namespace PartSource.Automation.Jobs
|
||||
await SavePositionMetafield(product, vehicleIds, currentPosition);
|
||||
|
||||
|
||||
IList<string> notes = fitments.Select(f => f.NoteText)
|
||||
.Distinct()
|
||||
.ToList();
|
||||
//IList<string> notes = fitments.Select(f => f.NoteText)
|
||||
|
||||
IList<object> vehicleNotes = new List<object>();
|
||||
// .Distinct()
|
||||
// .ToList();
|
||||
|
||||
foreach (string noteText in notes)
|
||||
{
|
||||
vehicleIds = fitments.Where(f => f.NoteText == noteText)
|
||||
.Select(f => new { f.EngineConfigId, f.BaseVehicleId })
|
||||
.SelectMany(f => vehicles.Where(v => v.BaseVehicleId == f.BaseVehicleId && v.EngineConfigId == f.EngineConfigId))
|
||||
.Select(v => v.VehicleToEngineConfigId)
|
||||
.ToList();
|
||||
//IList<object> vehicleNotes = new List<object>();
|
||||
|
||||
vehicleNotes.Add(new { noteText, vehicleIds });
|
||||
}
|
||||
//foreach (string noteText in notes)
|
||||
//{
|
||||
// vehicleIds = fitments.Where(f => f.NoteText == noteText)
|
||||
// .Select(f => new { f.EngineConfigId, f.BaseVehicleId })
|
||||
// .SelectMany(f => vehicles.Where(v => v.BaseVehicleId == f.BaseVehicleId && v.EngineConfigId == f.EngineConfigId))
|
||||
// .Select(v => v.VehicleToEngineConfigId)
|
||||
// .ToList();
|
||||
|
||||
string json = JsonConvert.SerializeObject(vehicleNotes);
|
||||
if (json.Length >= 100000)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
// vehicleNotes.Add(new { noteText, vehicleIds });
|
||||
//}
|
||||
|
||||
Metafield vehicleMetafield = new Metafield
|
||||
{
|
||||
Namespace = "fitment",
|
||||
Key = "note_text",
|
||||
Value = json,
|
||||
ValueType = "json_string",
|
||||
OwnerResource = "product",
|
||||
OwnerId = product.Id
|
||||
};
|
||||
//string json = JsonConvert.SerializeObject(vehicleNotes);
|
||||
//if (json.Length >= 100000)
|
||||
//{
|
||||
// continue;
|
||||
//}
|
||||
|
||||
await _shopifyClient.Metafields.Add(vehicleMetafield);
|
||||
//Metafield vehicleMetafield = new Metafield
|
||||
//{
|
||||
// Namespace = "fitment",
|
||||
// Key = "note_text",
|
||||
// Value = json,
|
||||
// ValueType = "json_string",
|
||||
// OwnerResource = "product",
|
||||
// OwnerId = product.Id
|
||||
//};
|
||||
|
||||
//await _shopifyClient.Metafields.Add(vehicleMetafield);
|
||||
|
||||
//importData.UpdatedAt = DateTime.Now;
|
||||
//importData.UpdateType = "Positioning";
|
||||
@@ -148,7 +156,7 @@ namespace PartSource.Automation.Jobs
|
||||
|
||||
private IList<Fitment> GetPositionOrderedFitments(string partNumber, string lineCode)
|
||||
{
|
||||
partNumber = Regex.Replace(partNumber, "[^a-zA-Z0-9]", string.Empty);
|
||||
partNumber = Regex.Replace(partNumber, "[^a-zA-Z0-9]\\-", string.Empty);
|
||||
|
||||
IQueryable<string> whiCodes = _fitmentContext.DcfMappings
|
||||
.Where(d => d.LineCode == lineCode)
|
||||
|
||||
Reference in New Issue
Block a user