public static SendVcodeResponse Unmarshall(UnmarshallerContext context)
        {
            SendVcodeResponse sendVcodeResponse = new SendVcodeResponse();

            sendVcodeResponse.HttpResponse = context.HttpResponse;
            sendVcodeResponse.RequestId    = context.StringValue("SendVcode.RequestId");

            return(sendVcodeResponse);
        }
Ejemplo n.º 2
0
        public async Task <IActionResult> Handle(SendVcodeRequest data)
        {
            ErrorResponse validationError = this.ValidateRequest(data);

            if (validationError != null)
            {
                return(new JsonErrorResult(validationError));
            }

            try
            {
                Guid   verificationId = Guid.NewGuid();
                string code           = "111111";

                using (SqlConnection conn = sqlServer.GetConnection())
                {
                    await conn.OpenAsync();

                    using (SqlCommand cmd = sqlServer.GetSpCommand("dbo.Employee_RegisterVerificationCode", conn))
                    {
                        cmd.AddUniqueIdentifierParam("@VerificationId", verificationId);
                        cmd.AddCharParam("@Code", 6, code);
                        SqlParameter retValParam = cmd.AddReturnValue();

                        await cmd.ExecuteNonQueryAsync();

                        int retVal = retValParam.GetInt32OrDefault();
                        if (retVal < 0)
                        {
                            ErrorResponse errorResponse = this.GetErrorResponse(retVal);
                            return(new JsonErrorResult(errorResponse));
                        }
                    }
                }

                // SEND SMS

                SendVcodeResponse response = new SendVcodeResponse();
                response.VerificationId = verificationId;
                return(new JsonResult(response));
            }
            catch (Exception ex)
            {
                return(new JsonErrorResult(this.GetExceptionResponse(ex)));
            }
        }