示例#1
0
        public IActionResult getOtp([FromBody] loginModels req)
        {
            response _response = response.GetInstance();

            try
            {
                if (!ModelState.IsValid)
                {
                    _response.apiStatuscode = 400;
                    _response.error         = $"Invalid request:{JsonConvert.SerializeObject(this.ModelState.Values.SelectMany(m => m.Errors).Select(m => m.ErrorMessage))}";
                    _response.success       = false;
                    _response.data          = "";
                    _response.request       = req;
                    _response.appErrorcode  = 1001;
                    return(StatusCode(StatusCodes.Status400BadRequest, _response));
                }

                getOTPOperations _getOTPOperations = new getOTPOperations();
                _response = _getOTPOperations.getOTP(req, _config);
            }
            catch (Exception ex)
            {
                _response.error = ex.Message;
            }

            return(StatusCode(_response.apiStatuscode, _response));
        }
        public ActionResult <loginResult> GetTModels(loginModels login)
        {
            var result = new loginResult();

            result.token = jwt.GenerateToken(login.username);
            return(result);
        }
        public response getOTP(loginModels req, IConfiguration _config)
        {
            response _response = response.GetInstance();
            string   token     = string.Empty;

            try
            {
                Random     _rdm        = new Random();
                int        num         = _rdm.Next(1000, 9999);
                otpDetails _otpDetails = new otpDetails();
                _otpDetails.mobileNumber = req.mobileNumber;
                _otpDetails.otp          = num;


                //send otp using sms
                token = _config.GetValue <string>("token:value");
                if (!sendSMS(req.mobileNumber, num, token))
                {
                    _response.apiStatuscode = 500;
                    _response.error         = $"Error while Sending SMS OTP";
                    _response.success       = false;
                    _response.data          = "";
                    _response.request       = req;
                    _response.appErrorcode  = 1003;
                    return(_response);
                }
                otpDetailsDataBaseSettings _otpDetailsDataBaseSettings = new otpDetailsDataBaseSettings();
                _otpDetailsDataBaseSettings = _otpDetailsDataBaseSettings.setprops(_config);
                otpService _otpService     = new otpService(_otpDetailsDataBaseSettings);
                otpDetails _otpDetailsdata = _otpService.Get(req.mobileNumber);

                if (_otpDetailsdata == null)
                {
                    _otpDetails = _otpService.Create(_otpDetails);
                }
                else
                {
                    _otpDetails._id = _otpDetailsdata._id;
                    _otpService.Update(_otpDetailsdata._id, _otpDetails);
                }

                _response.data          = $"OTP sent on Mobile:{_otpDetails.mobileNumber}";
                _response.apiStatuscode = 200;
                _response.appErrorcode  = 0;
                _response.success       = true;
                _response.error         = "";
                _response.request       = req;
            }
            catch (Exception ex)
            {
                _response.error = ex.Message;
            }
            return(_response);
        }