コード例 #1
0
        protected override void Execute(CodeActivityContext executionContext)
        {
            #region "Load CRM Service from context"

            Common objCommon = new Common(executionContext);
            objCommon.tracingService.Trace("Load CRM Service from context --- OK");
            #endregion

            #region "Read Parameters"
            String _TargetRecordURL = this.TargetRecordURL.Get(executionContext);
            if (_TargetRecordURL == null || _TargetRecordURL == "")
            {
                return;
            }
            string[] urlParts             = _TargetRecordURL.Split("?".ToArray());
            string[] urlParams            = urlParts[1].Split("&".ToCharArray());
            string   ParentObjectTypeCode = urlParams[0].Replace("etc=", "");
            string   ParentId             = urlParams[1].Replace("id=", "");
            objCommon.tracingService.Trace("ParentObjectTypeCode=" + ParentObjectTypeCode + "--ParentId=" + ParentId);
            #endregion


            #region "ApplyRoutingRuleRequest Execution"
            string EntityName = objCommon.sGetEntityNameFromCode(ParentObjectTypeCode, objCommon.service);


            CalculatePriceRequest calcReq = new CalculatePriceRequest();
            EntityReference       target  = new EntityReference(EntityName, new Guid(ParentId));
            calcReq.Target = target;
            CalculatePriceResponse calcRes = (CalculatePriceResponse)objCommon.service.Execute(calcReq);

            #endregion
        }
コード例 #2
0
        public async Task <Response <CalculatePriceResponse> > CalculateAsync(PurchaseRequestContent content, CancellationToken cancellationToken = default)
        {
            Argument.AssertNotNull(content, nameof(content));

            using var message = CreateCalculateRequest(content);
            await _pipeline.SendAsync(message, cancellationToken).ConfigureAwait(false);

            switch (message.Response.Status)
            {
            case 200:
            {
                CalculatePriceResponse value = default;
                using var document = await JsonDocument.ParseAsync(message.Response.ContentStream, default, cancellationToken).ConfigureAwait(false);

                value = CalculatePriceResponse.DeserializeCalculatePriceResponse(document.RootElement);
                return(Response.FromValue(value, message.Response));
            }