Пример #1
0
        public static async Task Counter(
            [EntityTrigger] IDurableEntityContext ctx,
            [CosmosDB(
                 databaseName: "Ratings",
                 collectionName: "Rating",
                 ConnectionStringSetting = "connectionStringSetting")]
            IAsyncCollector <dynamic> ratingsCollection,
            ILogger log)
        {
            int cpt;

            log.LogWarning("Start");

            cpt = ctx.GetState <int>() + 1;
            ctx.SetState(cpt);

            log.LogInformation(cpt.ToString());
            log.LogWarning($"WIP {cpt} !");

            if (cpt == 3)
            {
                log.LogError("youpi !");

                using (HttpClient httpClient = new HttpClient())
                {
                    var entityId = ctx.EntityId.EntityKey;
                    var json     = JsonConvert.SerializeObject(new DTO
                    {
                        orderHeaderDetailsCSVUrl = $"https://challenge06.blob.core.windows.net/csv/{entityId}-OrderHeaderDetails.csv",
                        orderLineItemsCSVUrl     = $"https://challenge06.blob.core.windows.net/csv/{entityId}-OrderLineItems.csv",
                        productInformationCSVUrl = $"https://challenge06.blob.core.windows.net/csv/{entityId}-ProductInformation.csv",
                    });
                    var stringContent = new StringContent(json, UnicodeEncoding.UTF8, "application/json");

                    log.LogTrace(json.ToString());

                    var res = await httpClient.PostAsync("https://serverlessohmanagementapi.trafficmanager.net/api/order/combineOrderContent", stringContent);

                    if (res.IsSuccessStatusCode)
                    {
                        var tmp = await res.Content.ReadAsStringAsync();

                        log.LogWarning(tmp);

                        // dynamic data = JsonSerializer.DeserializeObject<dynamic>(tmp);
                        List <dynamic> data = JsonConvert.DeserializeObject <List <dynamic> >(tmp);
                        // dynamic data = JsonConvert.DeserializeObject<List<dynamic>>(tmp);
                        // dynamic data = JObject.Parse(tmp);
                        data.ForEach(async d => await ratingsCollection.AddAsync(d));

                        //  await ratingsCollection.AddAsync(data);// .Result;
                        log.LogError("youpi youpi !");
                        // log.LogError($"{res.StatusCode}\n\t" + res.Content.ReadAsStringAsync().Result);
                    }
                    else
                    {
                        log.LogError($"nop :( {res.StatusCode}\n\t" + res.Content.ReadAsStringAsync().Result);
                    }

                    log.LogError(res.IsSuccessStatusCode.ToString());
                }
            }
            else if (cpt > 3)
            {
                throw new Exception($"cpt = {cpt}");
            }
        }
Пример #2
0
 public static Task Run([EntityTrigger] IDurableEntityContext ctx)
 => ctx.DispatchAsync <Tank>();
Пример #3
0
 public static Task counter([EntityTrigger] IDurableEntityContext ctx)
 => ctx.DispatchAsync <Counter>();
Пример #4
0
 internal EntityContextProxy(IDurableEntityContext context, DateTime scheduledTimeForSignal)
 {
     this.context = context;
     this.scheduledTimeForSignal = scheduledTimeForSignal;
 }
Пример #5
0
 public static Task HandleEntityOperation([EntityTrigger] IDurableEntityContext context)
 {
     return(context.DispatchAsync <ShoppingCart>());
 }
Пример #6
0
 public static Task HandleEntityOperation([EntityTrigger] IDurableEntityContext context)
 {
     return(context.DispatchAsync <Inventory>());
 }
 internal static void SetContext(IDurableEntityContext context)
 {
     EntityContext.Value = context;
 }
 public static Task Run(
     [EntityTrigger] IDurableEntityContext ctx)
 {
     return(ctx.DispatchAsync <HostAggregator>());
 }
 /// <summary>
 /// Signals an entity to perform an operation.
 /// </summary>
 /// <param name="context">entity context.</param>
 /// <param name="entityKey">The target entity key.</param>
 /// <param name="operation">A delegate that performs the desired operation on the entity.</param>
 /// <typeparam name="TEntityInterface">Entity interface.</typeparam>
 public static void SignalEntity <TEntityInterface>(this IDurableEntityContext context, string entityKey, Action <TEntityInterface> operation)
 {
     SignalEntity <TEntityInterface>(context, new EntityId(ResolveEntityName <TEntityInterface>(), entityKey), operation);
 }
Пример #10
0
 public static Task Run(
     [EntityTrigger] IDurableEntityContext ctx,
     [DurableClient] IDurableOrchestrationClient client)
 => ctx.DispatchAsync <ComputeSet>(client);
 public static Task Run([EntityTrigger] IDurableEntityContext ctx) => ctx.DispatchAsync <CanoeHealth>();
 public static Task Run([EntityTrigger] IDurableEntityContext ctx)
 => ctx.DispatchAsync <ContainerInstanceStatusEntity>();
Пример #13
0
        public void Run([EntityTrigger] IDurableEntityContext ctx)
        {
            var newValue = ctx.GetInput <UserData>();

            ctx.SetState(newValue);
        }
Пример #14
0
 public static Task Run([EntityTrigger] IDurableEntityContext context) =>
 context.DispatchAsync <LastChargeState>();
 public static async Task Run(
     [EntityTrigger] IDurableEntityContext context,
     ILogger log)
 => await context.DispatchAsync <Entity>(log);
 /// <summary>
 /// Signals an entity to perform an operation.
 /// </summary>
 /// <param name="context">entity context.</param>
 /// <param name="entityId">The target entity.</param>
 /// <param name="operation">A delegate that performs the desired operation on the entity.</param>
 /// <typeparam name="TEntityInterface">Entity interface.</typeparam>
 public static void SignalEntity <TEntityInterface>(this IDurableEntityContext context, EntityId entityId, Action <TEntityInterface> operation)
 {
     operation(EntityProxyFactory.Create <TEntityInterface>(new EntityContextProxy(context), entityId));
 }
Пример #17
0
 public DeviceEntity(string id, ILogger logger, IAsyncCollector <SignalRMessage> signalRMessages, IDurableEntityContext context)
 {
     this.Id              = id;
     this.logger          = logger;
     this.signalRMessages = signalRMessages;
     this.context         = context;
 }
 public static Task Run([EntityTrigger] IDurableEntityContext ctx, ILogger logger)
 => ctx.DispatchAsync <StandardDeviceEntity>(logger);
Пример #19
0
        public static Task Run([EntityTrigger] IDurableEntityContext ctx)
        {
            ctx.DispatchAsync <Counter>();

            return(Task.CompletedTask);
        }
 public static Task ChatRoomFunction([EntityTrigger] IDurableEntityContext context)
 {
     return(context.DispatchAsync <ChatRoom>());
 }
Пример #21
0
 internal EntityContextProxy(IDurableEntityContext context)
 {
     this.context = context;
 }
 public static Task CounterFunction([EntityTrigger] IDurableEntityContext context)
 {
     return(context.DispatchAsync <CounterWithProxy>());
 }
Пример #23
0
 public static Task Run([EntityTrigger] IDurableEntityContext ctx)
 => ctx.DispatchAsync <SteamAppList>();
 public static Task StorageBackedCounterFunction([EntityTrigger] IDurableEntityContext context, [Blob(BlobContainerPath)] CloudBlobContainer blobContainer)
 {
     return(context.DispatchAsync <StorageBackedCounter>(blobContainer));
 }
Пример #25
0
 public static Task Dispatch([EntityTrigger] IDurableEntityContext context) => context.DispatchAsync <Account>();
        public static Task FaultyEntityFunctionWithoutDispatch([EntityTrigger] IDurableEntityContext context)
        {
            switch (context.OperationName)
            {
            case "exists":
                context.Return(context.HasState);
                break;

            case "deletewithoutreading":
                context.DeleteState();
                break;

            case "Get":
                if (!context.HasState)
                {
                    context.Return(0);
                }
                else
                {
                    context.Return(context.GetState <FaultyEntity>().Value);
                }

                break;

            case "GetNumberIncrementsSent":
                context.Return(context.GetState <FaultyEntity>().NumberIncrementsSent);
                break;

            case "Set":
                var state = context.GetState <FaultyEntity>() ?? new FaultyEntity();
                state.Value = context.GetInput <int>();
                context.SetState(state);
                break;

            case "SetToUnserializable":
                var state1 = context.GetState <FaultyEntity>() ?? new FaultyEntity();
                state1.SetToUnserializable();
                context.SetState(state1);
                break;

            case "SetToUnDeserializable":
                var state2 = context.GetState <FaultyEntity>() ?? new FaultyEntity();
                state2.SetToUnDeserializable();
                context.SetState(state2);
                break;

            case "SetThenThrow":
                var state3 = context.GetState <FaultyEntity>() ?? new FaultyEntity();
                state3.Value = context.GetInput <int>();
                context.SetState(state3);
                throw new FaultyEntity.SerializableKaboom();

            case "Send":
                var state4 = context.GetState <FaultyEntity>() ?? new FaultyEntity();
                state4.Send(context.GetInput <EntityId>());
                context.SetState(state4);
                return(Task.CompletedTask);

            case "SendThenThrow":
                var state5 = context.GetState <FaultyEntity>() ?? new FaultyEntity();
                state5.Send(context.GetInput <EntityId>());
                context.SetState(state5);
                throw new FaultyEntity.SerializableKaboom();

            case "SendThenMakeUnserializable":
                var state6 = context.GetState <FaultyEntity>() ?? new FaultyEntity();
                state6.Send(context.GetInput <EntityId>());
                context.SetState(state6);
                state6.SetToUnserializable();
                return(Task.CompletedTask);

            case "Delete":
                context.DeleteState();
                break;

            case "DeleteThenThrow":
                context.DeleteState();
                throw new FaultyEntity.SerializableKaboom();

            case "Throw":
                throw new FaultyEntity.SerializableKaboom();

            case "ThrowUnserializable":
                throw new FaultyEntity.UnserializableKaboom();

            case "ThrowUnDeserializable":
                throw new FaultyEntity.UnDeserializableKaboom();
            }

            return(Task.CompletedTask);
        }
Пример #27
0
 public static Task store([EntityTrigger] IDurableEntityContext ctx)
 => ctx.DispatchAsync <Store>();
 public static Task Run(
     [EntityTrigger] IDurableEntityContext context)
 {
     return(context.DispatchAsync <JobWithProxyMultiInterface>());
 }
Пример #29
0
 public static Task Run(
     [EntityTrigger] IDurableEntityContext ctx,
     ILogger log)
 => ctx.DispatchAsync <Light>(log);
Пример #30
0
 public static Task Run([EntityTrigger] IDurableEntityContext ctx) => ctx.DispatchAsync <LongRunningProcessOrchestrator>(ctx);