Esempio n. 1
0
        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);
        }
Esempio n. 2
0
        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);
        }