예제 #1
0
        public async Task Handle(MeasureAdded message, IMessageHandlerContext context)
        {
            float isBMIUpdated = await _subscriberService.UpdateBMIAsync(message);

            log.Info($"in Subscriber Saga, got measure/ id: {message.MeasureId}");

            if (isBMIUpdated != -1)
            {
                subscriber.Comment = "BMI updated. ";
                Data.IsBMIUpdated  = true;
                BMIUpdated bMIUpdated = new BMIUpdated
                {
                    MeasureId = message.MeasureId,
                    BMI       = isBMIUpdated,
                    CardId    = message.CardId,
                    Weight    = message.Weight
                };
                await context.Publish(bMIUpdated);
            }
            else
            {
                subscriber.Comment = "update BMI failed. ";
                //send to error queue
                Data.IsBMIUpdated = false;
            }

            await ProcessOrder(context);
        }
        public async Task Handle(UpdateBMI message, IMessageHandlerContext context)
        {
            log.Error($"Received UpdateBMI in subscriber, weight = {message.weight} ...");
            var successedUpdate = await _subscriberService.UpdateCard(message.cardId, message.weight);

            BMIUpdated bMIUpdated = new BMIUpdated()
            {
                isSucceeded = successedUpdate != -1 ? true : false,
                measureId   = message.measureId
            };
            await context.Publish(bMIUpdated)
            .ConfigureAwait(false);
        }
 public async Task Handle(BMIUpdated message, IMessageHandlerContext context)
 {
     Data.IsBMIUpdated = true;
     Data.BMISucceeded = message.isSucceeded;
     await sendCompleteResponse(context);
 }