예제 #1
0
    public async void UpsertLanguageVariantWithElementBuilder()
    {
        // Remove next line in codesample
        var client = _fileSystemFixture.CreateMockClientWithResponse("ArticleLanguageVariantUpdatedResponse.json");

        var itemIdentifier = Reference.ById(Guid.Parse("9539c671-d578-4fd3-aa5c-b2d8e486c9b8"));
        var languageIdentifier = Reference.ByCodename("en-US");
        var identifier = new LanguageVariantIdentifier(itemIdentifier, languageIdentifier);

        // Elements to update
        var elements = ElementBuilder.GetElementsAsDynamic(new BaseElement[]
        {
            new TextElement()
            {
                // You can use `Reference.ById` if you don't have the model
                Element = Reference.ById(typeof(ArticleModel).GetProperty(nameof(ArticleModel.Title)).GetKontentElementId()),
                Value = "On Roasts - changed"
            },
            new DateTimeElement()
            {
                // You can use `Reference.ById` if you don't have the model
                Element = Reference.ById(typeof(ArticleModel).GetProperty(nameof(ArticleModel.PostDate)).GetKontentElementId()),
                Value = new DateTime(2018, 7, 4)
            },
        });

        var upsertModel = new LanguageVariantUpsertModel() { Elements = elements };

        // Upserts a language variant of a content item
        var response = await client.UpsertLanguageVariantAsync(identifier, upsertModel);
    }
예제 #2
0
    /// <inheritdoc />
    public async Task <LanguageVariantModel> UpsertLanguageVariantAsync(LanguageVariantIdentifier identifier, LanguageVariantModel languageVariant)
    {
        if (identifier == null)
        {
            throw new ArgumentNullException(nameof(identifier));
        }

        if (languageVariant == null)
        {
            throw new ArgumentNullException(nameof(languageVariant));
        }

        var languageVariantUpsertModel = new LanguageVariantUpsertModel(languageVariant);

        return(await UpsertLanguageVariantAsync(identifier, languageVariantUpsertModel));
    }
예제 #3
0
    public async Task ActionInvokerSerializeElementContainingZero_SerializedJsonContainsZero(decimal d, string s)
    {
        var httpClient    = new FakeManagementHttpClient();
        var actionInvoker = new _ActionInvoker(httpClient, new MessageCreator("{api_key}"));

        var languageVariantUpsertModel = new LanguageVariantUpsertModel()
        {
            Elements = new List <dynamic>
            {
                new
                {
                    zero    = d,
                    optZero = new decimal?(d),
                }
            },
        };

        await actionInvoker.InvokeMethodAsync <LanguageVariantUpsertModel, dynamic>("{endpoint_url}", HttpMethod.Get, languageVariantUpsertModel);

        Assert.Equal($"{{\"elements\":[{{\"zero\":{s},\"optZero\":{s}}}]}}", httpClient._requestBody);
    }
예제 #4
0
    /// <inheritdoc />
    public async Task <LanguageVariantModel> UpsertLanguageVariantAsync(LanguageVariantIdentifier identifier, LanguageVariantUpsertModel languageVariantUpsertModel)
    {
        if (identifier == null)
        {
            throw new ArgumentNullException(nameof(identifier));
        }

        if (languageVariantUpsertModel == null)
        {
            throw new ArgumentNullException(nameof(languageVariantUpsertModel));
        }

        var endpointUrl = _urlBuilder.BuildVariantsUrl(identifier);
        var response    = await _actionInvoker.InvokeMethodAsync <LanguageVariantUpsertModel, LanguageVariantModel>(endpointUrl, HttpMethod.Put, languageVariantUpsertModel);

        return(response);
    }