public async Task <Intervention> Update(string interventionId, Intervention intervention) { var odsApi = await _odsApiClientProvider.NewResourcesClient(); var interventionv3 = intervention.MapToInterventionModelv3(); interventionv3.Id = null; var response = await odsApi.Put($"interventions/{interventionId}", interventionv3); await odsApi.HandleHttpResponse(response); var updatedInterventionv2 = interventionv3.MapToInterventionV2(); updatedInterventionv2.Id = interventionId; var cachedInterventions = await _cache.GetOrDefault <IList <Intervention> >(CacheKeys.Interventions); if (cachedInterventions != null) { cachedInterventions = cachedInterventions .Where(i => i.Id != interventionId) .ToList(); cachedInterventions.Add(updatedInterventionv2); await _cache.TrySet(CacheKeys.Interventions, cachedInterventions); } return(updatedInterventionv2); }
public async Task <object> Create(Intervention intervention) { var odsApi = await _odsApiClientProvider.NewResourcesClient(); var interventionv3 = intervention.MapToInterventionModelv3(); interventionv3.Id = null; var response = await odsApi.Post("interventions", interventionv3); var createdInterventionId = await odsApi.HandleHttpResponseGetCreatedResourceId(response); var createdInterventionv3 = await odsApi.Get <InterventionModelv3>($"interventions/{createdInterventionId}"); var createdInterventionv2 = createdInterventionv3.MapToInterventionV2(); var cachedInterventions = await _cache.GetOrDefault <IList <Intervention> >(CacheKeys.Interventions); if (cachedInterventions != null) { cachedInterventions.Add(createdInterventionv2); await _cache.TrySet(CacheKeys.Interventions, cachedInterventions); } return(createdInterventionv2); }