public async Task <Feedback> ExecuteAsync(IRestCollection collection, IEndpointContext context, ResourceBody body) { var collectionBody = body as CollectionBody; if (collectionBody != null) { var feedbackItems = new List <Feedback>(); foreach (RestItemData itemData in collectionBody.Items) { CreatedItemAcknowledgment acknowledgment = await collection.AddAsync(itemData); feedbackItems.Add(new AcknowledgmentFeedback(acknowledgment)); // TODO: catch exceptions } return(new MultiFeedback(feedbackItems)); } var itemBody = body as ItemBody; if (itemBody != null) { CreatedItemAcknowledgment acknowledgment = await collection.AddAsync(itemBody.Item); return(new AcknowledgmentFeedback(acknowledgment)); } throw new ItemBodyNotSupportedException(body.ResourceType); }
public IRestEndpoint GetFromResource(IEndpointContext endpointContext, [NotNull] IRestResource resource) { if (resource == null) { throw new ArgumentNullException(nameof(resource)); } switch (resource) { case IRestCollection collection: return(new RestCollectionEndpoint(endpointContext, collection)); case IRestItem item: return(new RestItemEndpoint(endpointContext, item)); case IRestScalar scalar: return(new RestScalarEndpoint(endpointContext, scalar)); case IRestDictionary dictionary: return(new RestDictionaryEndpoint(endpointContext, dictionary)); case IRestDirectory directory: return(new RestDirectoryEndpoint(endpointContext, directory)); default: throw new IncorrectResourceTypeException(resource.GetType()); } }
public async Task <long> CreateExampleEntity(IEndpointContext context, DataModel.ExampleEntity entityData) { var request = new Messages.CreateExampleEntityDataRequest(entityData); var response = await context.ExecuteAsync <Messages.CreateExampleEntityDataResponse>(request).ConfigureAwait(false); return(response.CreatedId); }
public async Task <bool> DeleteExampleEntity(IEndpointContext context, [EntityKey] long key) { var request = new Messages.DeleteExampleEntityDataRequest(key); var response = await context.ExecuteAsync <Messages.DeleteExampleEntityDataResponse>(request).ConfigureAwait(false); return(response.Success); }
public async Task <GasPump> UpdatePumpState(IEndpointContext context, string StoreNumber, long id, GasPumpState state) { var request = new UpdatePumpStateDataRequest(StoreNumber, id, state); var response = await context.ExecuteAsync <UpdatePumpStateDataResponse>(request).ConfigureAwait(false); return(response.Pump); }
public async Task <bool> UpdateExampleEntity(IEndpointContext context, [EntityKey] long key, CommerceRuntime.Entities.DataModel.ExampleEntity updatedEntity) { var request = new Messages.UpdateExampleEntityDataRequest(key, updatedEntity); var response = await context.ExecuteAsync <Messages.UpdateExampleEntityDataResponse>(request).ConfigureAwait(false); return(response.Success); }
public async Task <PagedResult <GasPump> > StartAllPumps(IEndpointContext context, string StoreNumber) { var request = new StartAllPumpsDataRequest(StoreNumber); var response = await context.ExecuteAsync <StartAllPumpsDataResponse>(request).ConfigureAwait(false); return(new PagedResult <GasPump>(response.Pumps.AsReadOnly())); }
public async Task <GasStationDetails> GetGasStationDetailsByStore(IEndpointContext context, string StoreNumber) { var request = new GetGasStationDetailsDataRequest(StoreNumber); var response = await context.ExecuteAsync <GetGasStationDetailsDataResponse>(request).ConfigureAwait(false); return(response.Details); }
public async Task <PagedResult <GasPump> > GetGasPumpsByStore(IEndpointContext context, string StoreNumber, QueryResultSettings queryResultSettings) { var request = new GetGasPumpsDataRequest(StoreNumber); var response = await context.ExecuteAsync <GetGasPumpsDataResponse>(request).ConfigureAwait(false); return(new PagedResult <GasPump>(response.GasPumps.AsReadOnly())); }
public async Task <Feedback> ExecuteAsync(IRestItem item, IEndpointContext context, ResourceBody body) { var itemBody = body as ItemBody; if (itemBody == null) { throw new ItemBodyNotSupportedException(body.ResourceType); } Acknowledgment acknowledgment = await item.EditAsync(itemBody.Item); return(new AcknowledgmentFeedback(acknowledgment)); }
public async Task <Feedback> ExecuteAsync(IRestScalar scalar, IEndpointContext context, ResourceBody body) { var scalarBody = body as ScalarBody; if (scalarBody == null) { throw new InvalidCastException("Request body type must be a scalar value for this endpoint."); } Acknowledgment acknowledgment = await scalar.EditAsync(scalarBody.Scalar); return(new AcknowledgmentFeedback(acknowledgment)); }
internal RestCollectionEndpoint(IEndpointContext endpointContext, IRestCollection collection) { Context = endpointContext; Collection = collection; }
public async Task <Feedback> ExecuteAsync(IRestItem item, IEndpointContext context, ResourceBody body) { Acknowledgment acknowledgment = await item.DeleteAsync(); return(new AcknowledgmentFeedback(acknowledgment)); }
public async Task <PagedResult <DataModel.ExampleEntity> > GetAllExampleEntities(IEndpointContext context) { var queryResultSettings = QueryResultSettings.SingleRecord; queryResultSettings.Paging = new PagingInfo(10); var request = new Messages.ExampleEntityDataRequest() { QueryResultSettings = queryResultSettings }; var response = await context.ExecuteAsync <Messages.ExampleEntityDataResponse>(request).ConfigureAwait(false); return(response.ExampleEntities); }
internal RestItemEndpoint(IEndpointContext endpointContext, IRestItem item) { Context = endpointContext; Item = item; }
public async Task <Feedback> ExecuteAsync(IRestCollection collection, IEndpointContext context, ResourceBody body) { var ack = await collection.DeleteAllAsync(null); // TODO query return(new AcknowledgmentFeedback(ack)); }
public async Task <Feedback> ExecuteAsync(IRestScalar scalar, IEndpointContext context, ResourceBody body) { Acknowledgment acknowledgment = await scalar.EditAsync(null); return(new AcknowledgmentFeedback(acknowledgment)); }
internal RestDictionaryEndpoint(IEndpointContext endpointContext, IRestDictionary dictionary) { Context = endpointContext; Dictionary = dictionary; }
internal RestScalarEndpoint(IEndpointContext endpointContext, IRestScalar scalar) { Context = endpointContext; Scalar = scalar; }
internal RestDirectoryEndpoint(IEndpointContext endpointContext, IRestDirectory directory) { Context = endpointContext; Directory = directory; }