Exemplo n.º 1
0
        public async Task <string> AddMetaFeilds(List <Product> products, string shopifyurl, string token)
        {
            foreach (var item in products)
            {
                long id      = Convert.ToInt64(item.Id);
                var  service = new MetaFieldService(shopifyurl, token);
                var  count   = await service.CountAsync(id, "products");

                var metafields = await service.ListAsync(id, "products");

                foreach (var item1 in metafields.Items)
                {
                    await service.DeleteAsync(Convert.ToInt64(item1.Id));
                }

                var metafield1 = new MetaField()
                {
                    Namespace     = "products/update",
                    Key           = "myKey",
                    Value         = "5",
                    ValueType     = "integer",
                    Description   = "This is a test meta field. It is an integer value.",
                    OwnerResource = "products/update",
                };
                //Create a new metafield on a product
                metafield1 = await service.CreateAsync(metafield1, id, "products");
            }

            return("");
        }
Exemplo n.º 2
0
        static public async Task UpdateMetafieldsAsync()
        {
            while (!AllGetQueueFilled || metafieldUpdateQueue.Count > 0)
            {
                if (metafieldUpdateQueue.Count == 0)
                {
                    await Task.Delay(500);
                }

                MetaField p = null;
                // SQLDone can become true whithout adding anything to Queue
                if (metafieldUpdateQueue.TryDequeue(out p))
                {
                    try
                    {
                        //var result = await updateMetafieldService.UpdateAsync((long)p.OwnerId, p);
                        var result = await updateMetafieldService.CreateAsync(p);

                        //GeneralAdapter.OutputString(result.ToString());
                    }
                    catch (Exception e)
                    {
                        /*
                         * try
                         * {*/
                        GeneralAdapter.OutputString($"{e.Message}");

                        /*
                         * var result = await updateMetafieldService.CreateAsync(p);
                         * GeneralAdapter.OutputString(result.ToString());*/
                        /*
                         * }
                         * catch (Exception e2)
                         * {
                         * GeneralAdapter.OutputString(e2.Message);
                         * }*/
                    }
                }
            }
            metafieldUpdateDone = true;
            GeneralAdapter.OutputString("metafieldUpdate Done.");
        }
Exemplo n.º 3
0
        static public bool CreateMetadata(string type, long id, string ns, string key, object value, string description = null)
        {
            if (value == null)
            {
                return(false);
            }
            string valueType;

            if (value is int)
            {
                valueType = "integer";
            }
            else if (value is string)
            {
                valueType = "string";
                if (string.IsNullOrEmpty(value as string))
                {
                    return(false);
                }
            }
            else
            {
                return(false);
            }
            MetaField meta = new MetaField()
            {
                Namespace = ns,
                Key       = key,
                Value     = value,
                ValueType = valueType
            };
            MetaField t = MetaFieldService.CreateAsync(meta, id, type).Result;
            IEnumerable <MetaField> metas = MetaFieldService.ListAsync(id, type).Result;

            return(true);
        }