示例#1
0
        public async Task <IActionResult> CreateAccountStatus(DfpCreateAccountStatusInputClaims input)
        {
            if (input == null || !input.Validate())
            {
                return(Conflict(new B2CErrorResponseContent("Cannot deserialize input claims")));
            }

            var correlationId = dfpService.NewCorrelationId;

            var response = await dfpService.CreateAccountStatus(input, correlationId);

            if (!response.Status)
            {
                return(Conflict(new B2CErrorResponseContent(response.Message, $"Correlation Id : {correlationId}")));
            }

            return(Ok(new DfpCreateAccountStatusOutputClaims()
            {
                CorrelationId = correlationId
            }));
        }
示例#2
0
        public async Task <(bool Status, string Message, DfpAccountStatusResponse Data)> CreateAccountStatus(DfpCreateAccountStatusInputClaims input, string correlationId)
        {
            var endpoint = $"/v1.0/observe/account/create/status/{input.SignUpId}";

            var createAccountInput = new
            {
                Metadata = new
                {
                    TrackingId        = Guid.NewGuid().ToString(),
                    SignUpId          = input.SignUpId,
                    MerchantTimeStamp = DateTime.Now,
                    UserId            = input.UserId ?? "UnKnown"
                },
                StatusDetails = new
                {
                    StatusType    = input.StatusType,
                    ReasonType    = input.ReasonType,
                    ChallengeType = input.ChallengeType,
                    StatusDate    = DateTime.Now
                },
                Name    = "AP.AccountCreation.Status",
                Version = "0.5"
            };

            return(await PostAsync <DfpAccountStatusResponse>(endpoint, createAccountInput, correlationId));
        }