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); }
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); }
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); }