Exemplo n.º 1
0
        public BaseOutput GenarateOTPByNumber(string phoneNumber, out string itemOut)
        {
            CRUDOperation cRUDOperation = new CRUDOperation();
            BaseOutput    baseOutput;

            try
            {
                if (string.IsNullOrEmpty(phoneNumber))
                {
                    itemOut = null;
                    return(baseOutput = new BaseOutput(true, CustomError.PhoneNumberErrorCode, CustomError.PhoneNumberErrorDesc, ""));
                }

                byte[] bytes  = System.Text.Encoding.UTF8.GetBytes(phoneNumber);
                var    window = new VerificationWindow(previous: 1, future: 1);
                var    totp   = new Totp(bytes, step: 300);
                var    result = totp.ComputeTotp(DateTime.UtcNow);
                poctgoyerciniSRV.smsservice srv = new poctgoyerciniSRV.smsservice();
                List <string> lists             = new List <string>();
                string[]      numbers           = new string[1];
                numbers[0] = phoneNumber;
                string[] resultArray = new string[1];
                resultArray = srv.SmsInsert_1_N(WebServiceUtil.SMSUserName, WebServiceUtil.SMSPassword, DateTime.Now, null, numbers, result);

                if (!string.IsNullOrEmpty(resultArray[0]))
                {
                    tbl_OTP _OTP = new tbl_OTP()
                    {
                        PhoneNumber = phoneNumber,
                        CreateTime  = DateTime.Now,
                        OTPCode     = result,
                        ISsuccess   = 0,
                    };

                    tbl_OTP oTP = cRUDOperation.AddOTP(_OTP);
                    itemOut = _OTP.OTPCode;
                    return(baseOutput = new BaseOutput(true, BOResultTypes.Success.GetHashCode(), BOBaseOutputResponse.SuccessResponse, ""));
                }
                else
                {
                    itemOut = null;
                    return(baseOutput = new BaseOutput(true, CustomError.OTPCodeNotSendSMSServiceCode, CustomError.OTPCodeNotSendSMSServiceDesc, ""));
                }
            }
            catch (Exception ex)
            {
                throw;
            }
        }