コード例 #1
0
        private static async Task WriteFulfillmentResponseAsync(FulfillmentResponse fulfillmentResponse, HttpContext httpContext)
        {
            var rawFulfillmentResponse = JsonConvert.SerializeObject(fulfillmentResponse);

            httpContext.Response.ContentType = "application/json";
            await httpContext.Response.WriteAsync(rawFulfillmentResponse);
        }
コード例 #2
0
        public static FulfillmentResponse AssertOutgoingContextHasParameter(
            this FulfillmentResponse fulfillmentResponse, string contextName, string parameterName)
        {
            var context = fulfillmentResponse.GetContext(contextName);

            Assert.IsTrue(context.Parameters.ContainsKey(parameterName));
            return(fulfillmentResponse);
        }
コード例 #3
0
        public static FulfillmentResponse AssertOutgoingContextHasLifespanOf(
            this FulfillmentResponse fulfillmentResponse, string contextName, int lifespan)
        {
            var context = fulfillmentResponse.GetContext(contextName);

            Assert.AreEqual(lifespan, context.Lifespan);
            return(fulfillmentResponse);
        }
コード例 #4
0
        private void LogResponse(FulfillmentRequest fulfillmentRequest, FulfillmentResponse fulfillmentResponse)
        {
            var actionName = fulfillmentRequest.ConversationResult.ActionName;
            var logTag     = $"{actionName}:{fulfillmentRequest.Id}";

            var serlializedResponse = ConvertToPrettyJson(fulfillmentResponse);

            _logger.LogInfo($"{logTag} Raw Response\n{serlializedResponse}");
        }
コード例 #5
0
        public async Task <FulfillmentResponse> FulfillAsync(FulfillmentRequest fulfillmentRequest, IJobberClient jobberClient)
        {
            var response = new FulfillmentResponse
            {
                Speech      = "Sorry, I'm not sure what you're asking for.",
                DisplayText = "Sorry, I'm not sure what you're asking for."
            };

            return(await Task.FromResult(response));
        }
コード例 #6
0
        public static void Run(FulfillmentResponse responsemessage, ICollector <string> errormessage, TraceWriter log)
        {
            try
            {
                log.Verbose($"C# trigger queue function processed a request. inputmessage={responsemessage}", "JE.RMS.Services.OnRewardsResponseRecieved");
                #region Update Audit Fields
                //Update timestapm in Audit fields
                List <SqlParameter> AuditParam = new List <SqlParameter>();
                AuditParam.Add(new SqlParameter("@RMSRewardID", responsemessage.RMSRewardID));

                var RMSRewardID = MSSQLConnection.ExecuteStoredProcedure <string>(USPContstants.UpdateAuditFieldsInRewardsTrx, AuditParam);
                log.Verbose($"FulfillmentResponseTimestamp updated successfully. RMSRewardID={RMSRewardID[0]}", "JE.RMS.Services.OnRewardsResponseRecieved");
                string RewardTrxStatus = "Fulfillment completed";
                if (responsemessage.Status == "Fail")
                {
                    RewardTrxStatus = "Error";
                }

                List <SqlParameter> MessageLogParams = new List <SqlParameter>();
                MessageLogParams.Add(new SqlParameter("@RMSRewardID", responsemessage.RMSRewardID));
                MessageLogParams.Add(new SqlParameter("@MessageType", MessageType.RewardFulfillmentResponse.GetDescription()));
                MessageLogParams.Add(new SqlParameter("@IPAddress", responsemessage.ClientIP));
                MessageLogParams.Add(new SqlParameter("@Message", JsonConvert.SerializeObject(responsemessage)));
                MessageLogParams.Add(new SqlParameter("@RewardsTrxID", null));
                var ErrorMessageLogID = MSSQLConnection.ExecuteStoredProcedure <long>(USPContstants.SaveMessageLog, MessageLogParams);
                log.Verbose($"MessageLog stored successfully. MessageLogID={ErrorMessageLogID[0]}", "JE.RMS.Services.ProcessFulfillmentForEnergyEarth");

                ////Call stored procedure to Save RewardTrxChangeLog
                List <SqlParameter> RewardTrxChangeLogParams = new List <SqlParameter>();
                RewardTrxChangeLogParams.Add(new SqlParameter("@RMSRewardID", responsemessage.RMSRewardID));
                RewardTrxChangeLogParams.Add(new SqlParameter("@RewardTrxStatus", RewardTrxStatus));
                RewardTrxChangeLogParams.Add(new SqlParameter("@Comment", string.Empty));
                RewardTrxChangeLogParams.Add(new SqlParameter("@RewardsTrxID", null));

                var RewardTrxChangeLogID = MSSQLConnection.ExecuteStoredProcedure <long>(USPContstants.SaveRewardTrxChangeLog, RewardTrxChangeLogParams);
                log.Verbose($"RewardTrxChangeLog stored successfully. RewardTrxChangeLogID={RewardTrxChangeLogID[0]}", "JE.RMS.Services.OnRewardsResponseRecieved");
                #endregion
            }
            catch (Exception ex)
            {
                log.Error($"Exception ={ex}", ex, "JE.RMS.Services.OnRewardsRequestRecieved");
                errormessage.Add(JsonConvert.SerializeObject(ex).ToString());
            }
        }
コード例 #7
0
 public static FulfillmentResponse AssertContainsOutgoingContext(
     this FulfillmentResponse fulfillmentResponse, string contextName)
 {
     Assert.IsTrue(fulfillmentResponse.ContextOut.Any(c => c.Name.ToLower() == contextName.ToLower()));
     return(fulfillmentResponse);
 }
コード例 #8
0
 public static FulfillmentResponse AssertResponseSpeech(
     this FulfillmentResponse fulfillmentResponse, string expectedResponseSpeech)
 {
     Assert.AreEqual(fulfillmentResponse.Speech, expectedResponseSpeech);
     return(fulfillmentResponse);
 }
コード例 #9
0
        public void WhenISubmitTheFulfillment()
        {
            SetupData();

            _fulfillmentResponse = _warehouseFacade.FulfillOrder(_order.OrderId);
        }
コード例 #10
0
 private FulfillmentResponseBuilder()
 {
     _fulfillmentResponse = new FulfillmentResponse();
 }