Added core pricing metafield and status check job

This commit is contained in:
2020-05-07 21:33:16 -04:00
parent ef5e4422c0
commit 9d3eac20dc
19 changed files with 341 additions and 119 deletions

View File

@@ -0,0 +1,73 @@
//using Newtonsoft.Json;
//using PartSource.Data.Shopify;
//using PartSource.Services.Integrations;
//using Ratermania.Shopify;
//using System;
//using System.Collections.Generic;
//using System.Diagnostics.CodeAnalysis;
//using System.Text;
//using System.Threading.Tasks;
//namespace PartSource.Services
//{
// public class MetafieldService
// {
// private readonly ShopifyClient _shopifyClient;
// public MetafieldService(ShopifyClient shopifyClient)
// {
// _shopifyClient = shopifyClient;
// }
// [SuppressMessage("Globalization", "CA1308:Normalize strings to uppercase", Justification = "Lowercase is expected by Shopify")]
// public async Task SaveMetafield<T>(T shopifyEntity, IList<int> vehicleIds, string @namespace) where T : ShopifyEntity
// {
// if (vehicleIds.Count == 0)
// {
// return;
// }
// string json = JsonConvert.SerializeObject(vehicleIds);
// if (json.Length >= 100000)
// {
// // TODO: Logging
// return;
// }
// string key = @namespace.ToLowerInvariant().Replace(" ", "_");
// if (key.Length > 20)
// {
// key = key.Substring(0, 20);
// }
// Metafield metafield = new Metafield
// {
// Namespace = "position",
// Key = key,
// Value = json,
// ValueType = "json_string",
// OwnerResource = "product",
// OwnerId = shopifyEntity.Id
// };
// await _shopifyClient.Metafields.Add(metafield);
// }
// public async Task DeleteMetafields<T>(long shopifyId) where T : ShopifyEntity
// {
// IDictionary<string, object> parameters = new Dictionary<string, object>
// {
// { "metafield[owner_id]", shopifyId},
// { "metafield[owner_resource]", "product" },
// { "namespace", "position" },
// };
// IEnumerable<Metafield> metafields = await _shopifyClient.Metafields.Get(parameters);
// foreach (Metafield metafield in metafields)
// {
// await _shopifyClient.Metafields.Delete(metafield);
// }
// }
// }
//}