public async Task <OneOf <NotFound, Success> > Execute(
            DocumentClient client,
            Configuration configuration,
            UpdateProviderFromUkrlpData request)
        {
            var documentUri = UriFactory.CreateDocumentUri(
                configuration.DatabaseId,
                configuration.ProviderCollectionName,
                request.ProviderId.ToString());

            Provider provider;

            try
            {
                var response = await client.ReadDocumentAsync <Provider>(documentUri);

                provider = response.Document;
            }
            catch (DocumentClientException dex) when(dex.StatusCode == HttpStatusCode.NotFound)
            {
                return(new NotFound());
            }

            provider.ProviderName    = request.ProviderName;
            provider.ProviderAliases = request.Aliases.ToList();
            provider.ProviderContact = request.Contacts.ToList();
            provider.Alias           = request.Alias;
            provider.ProviderStatus  = request.ProviderStatus;
            provider.DateUpdated     = request.DateUpdated;
            provider.UpdatedBy       = request.UpdatedBy;

            await client.ReplaceDocumentAsync(documentUri, provider);

            return(new Success());
        }
Пример #2
0
        public OneOf <NotFound, Success> Execute(
            InMemoryDocumentStore inMemoryDocumentStore,
            UpdateProviderFromUkrlpData request)
        {
            var provider = inMemoryDocumentStore.Providers.All.SingleOrDefault(p => p.Id == request.ProviderId);

            if (provider == null)
            {
                return(new NotFound());
            }

            provider.ProviderName    = request.ProviderName;
            provider.ProviderAliases = request.Aliases.ToList();
            provider.ProviderContact = request.Contacts.ToList();
            provider.Alias           = request.Alias;
            provider.ProviderStatus  = request.ProviderStatus;
            provider.DateUpdated     = request.DateUpdated;
            provider.UpdatedBy       = request.UpdatedBy;

            inMemoryDocumentStore.Providers.Save(provider);

            return(new Success());
        }