public async Task <ActionResult <Instance> > UpdatePresentationTexts(
            [FromRoute] int instanceOwnerPartyId,
            [FromRoute] Guid instanceGuid,
            [FromBody] PresentationTexts presentationTexts)
        {
            if (presentationTexts?.Texts == null)
            {
                return(BadRequest($"Missing parameter value: presentationTexts is misformed or empty"));
            }

            string   instanceId = $"{instanceOwnerPartyId}/{instanceGuid}";
            Instance instance   = await _instanceRepository.GetOne(instanceId, instanceOwnerPartyId);

            if (instance.PresentationTexts == null)
            {
                instance.PresentationTexts = new Dictionary <string, string>();
            }

            foreach (KeyValuePair <string, string> entry in presentationTexts.Texts)
            {
                if (string.IsNullOrEmpty(entry.Value))
                {
                    instance.PresentationTexts.Remove(entry.Key);
                }
                else
                {
                    instance.PresentationTexts[entry.Key] = entry.Value;
                }
            }

            Instance updatedInstance = await _instanceRepository.Update(instance);

            return(updatedInstance);
        }
Exemple #2
0
        public async Task <Instance> UpdatePresentationTexts(
            [FromRoute] int instanceOwnerPartyId,
            [FromRoute] Guid instanceGuid,
            [FromBody] PresentationTexts presentationTexts)
        {
            string   instanceId = $"{instanceOwnerPartyId}/{instanceGuid}";
            Instance instance   = await _instanceRepository.GetOne(instanceId, instanceOwnerPartyId);

            if (instance.PresentationTexts == null)
            {
                instance.PresentationTexts = new Dictionary <string, string>();
            }

            foreach (KeyValuePair <string, string> entry in presentationTexts.Texts)
            {
                if (string.IsNullOrEmpty(entry.Value))
                {
                    instance.PresentationTexts.Remove(entry.Key);
                }
                else
                {
                    instance.PresentationTexts[entry.Key] = entry.Value;
                }
            }

            Instance updatedInstance = await _instanceRepository.Update(instance);

            return(updatedInstance);
        }
Exemple #3
0
 public Task <Instance> UpdatePresentationTexts(int instanceOwnerPartyId, Guid instanceGuid, PresentationTexts presentationTexts)
 {
     throw new NotImplementedException();
 }
        public async Task <Instance> UpdatePresentationTexts(int instanceOwnerPartyId, Guid instanceGuid, PresentationTexts presentationTexts)
        {
            string instancePath = GetInstancePath(instanceOwnerPartyId, instanceGuid);

            if (File.Exists(instancePath))
            {
                string   content        = File.ReadAllText(instancePath);
                Instance storedInstance = (Instance)JsonConvert.DeserializeObject(content, typeof(Instance));

                storedInstance.PresentationTexts ??= new Dictionary <string, string>();

                foreach (KeyValuePair <string, string> entry in presentationTexts.Texts)
                {
                    if (string.IsNullOrEmpty(entry.Value))
                    {
                        storedInstance.PresentationTexts.Remove(entry.Key);
                    }
                    else
                    {
                        storedInstance.PresentationTexts[entry.Key] = entry.Value;
                    }
                }

                // mock does not set last changed by, but this is set by the platform.
                storedInstance.LastChangedBy = string.Empty;

                File.WriteAllText(instancePath, JsonConvert.SerializeObject(storedInstance));

                return(await GetInstance(storedInstance));
            }

            return(null);
        }
        /// <inheritdoc />
        public async Task <Instance> UpdatePresentationTexts(int instanceOwnerPartyId, Guid instanceGuid, PresentationTexts presentationTexts)
        {
            string apiUrl = $"instances/{instanceOwnerPartyId}/{instanceGuid}/presentationtexts";
            string token  = JwtTokenUtil.GetTokenFromContext(_httpContextAccessor.HttpContext, _settings.RuntimeCookieName);

            HttpResponseMessage response = await _client.PutAsync(token, apiUrl, new StringContent(JsonConvert.SerializeObject(presentationTexts), Encoding.UTF8, "application/json"));

            if (response.StatusCode == HttpStatusCode.OK)
            {
                string instanceData = await response.Content.ReadAsStringAsync();

                Instance instance = JsonConvert.DeserializeObject <Instance>(instanceData);
                return(instance);
            }

            throw await PlatformHttpException.CreateAsync(response);
        }