Exemple #1
0
        internal async Task Write(CosmosCmsDataItem item, string cmsType, Guid id, string?lang)
        {
            Container container = GetContainer();

            item.Id      = id;
            item.CmsType = cmsType;


            //Read main item without language
            var cmsItem = await this.ReadCmsItem(cmsType, id).ConfigureAwait(false);

            if (cmsItem == null)
            {
                cmsItem = new CosmosCmsItem();
            }

            cmsItem.Id      = id;
            cmsItem.CmsType = cmsType;

            if (lang == null)
            {
                cmsItem.AdditionalProperties = item.AdditionalProperties;
            }
            else
            {
                cmsItem.Translations[lang] = item;
            }


            await container.UpsertItemAsync(cmsItem, new PartitionKey(cmsType)).ConfigureAwait(false);
        }
Exemple #2
0
        internal static CmsItem?ToCmsItem(this CosmosCmsItem item)
        {
            string json = JsonConvert.SerializeObject(item);

            return(System.Text.Json.JsonSerializer.Deserialize <CmsItem>(json));
        }