public object PostLogout(Postloginreq _login) { try { using (newconecommerce dataContext = new newconecommerce()) { dataContext.Database.Connection.Open(); tbl_OTP _logoutInput = dataContext.tbl_OTP.Single(e => e.int_user_id == _login.intloginId && e.dt_logout_time == null); _logoutInput.dt_logout_time = DateTime.Now; dataContext.SaveChanges(); dataContext.Database.Connection.Close(); return(new ResponseModel { StatusCode = (int)CCommon.StatusCode.Success, StatusMessaage = CCommon.StatusCode.Success.ToString(), data = "" }); } } catch (Exception ex) { CMail.SendSystemGeneratedMailSync(CCommon.strAdminEmailID, "TRACKING-ERROR-MAIL", ex.ToString(), CCommon.strEmailFrom, true); return(new ResponseModel { StatusCode = (int)CCommon.StatusCode.ExceptionOccured, StatusMessaage = CCommon.StatusCode.ExceptionOccured.ToString(), data = "" }); } }
public object PostLogin(Postloginreq _login) { try { Random generator = new Random(); string number = generator.Next(1, 10000).ToString("D4"); string strMessage = "Your OTP for Just Cool App is :" + number + ". Regards Corvi.com"; using (newconecommerce dataContext = new newconecommerce()) { var query = (from x in dataContext.tbl_OTP where x.int_user_id == _login.intloginId && x.dt_logout_time == null select x.int_user_id).FirstOrDefault(); if (query != null) { return(new ResponseModel { StatusCode = (int)CCommon.StatusCode.Fail, StatusMessaage = CCommon.StatusCode.Fail.ToString(), data = "Already logged in with other device." }); } else { dataContext.Database.Connection.Open(); tbl_OTP _objLoginInput = new tbl_OTP(); _objLoginInput.int_moduleType_id = _login.intModuleTypeId; _objLoginInput.int_user_id = _login.intloginId; _objLoginInput.int_OTP = Convert.ToInt32(number); _objLoginInput.dt_OTP_created = DateTime.Now; _objLoginInput.dt_login_time = DateTime.Now; _objLoginInput.v_device_id = _login.strDeviceId; _objLoginInput.v_device_token = _login.strDevicetoken; _objLoginInput.v_device_token = _login.strDevicemode; _objLoginInput.dt_created_on = DateTime.Now; dataContext.tbl_OTP.Add(_objLoginInput); dataContext.SaveChanges(); dataContext.Database.Connection.Close(); return(new ResponseModel { StatusCode = (int)CCommon.StatusCode.Success, StatusMessaage = CCommon.StatusCode.Success.ToString(), data = "Login success" }); } } } catch (Exception ex) { CMail.SendSystemGeneratedMailSync(CCommon.strAdminEmailID, "TRACKING-ERROR-MAIL", ex.ToString(), CCommon.strEmailFrom, true); return(new ResponseModel { StatusCode = (int)CCommon.StatusCode.ExceptionOccured, StatusMessaage = CCommon.StatusCode.ExceptionOccured.ToString(), data = "Failed to login." }); } }
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; } }
public BaseOutput VerifyOTPByNumber(string phoneNumber, string otptext, out bool verify) { CRUDOperation cRUDOperation = new CRUDOperation(); BaseOutput baseOutput; try { if (string.IsNullOrEmpty(phoneNumber)) { verify = false; return(baseOutput = new BaseOutput(true, CustomError.PhoneNumberErrorCode, CustomError.PhoneNumberErrorDesc, "")); } else if (string.IsNullOrEmpty(otptext)) { verify = false; return(baseOutput = new BaseOutput(true, CustomError.EmptyOTPCodeErrorCode, CustomError.EmptyOTPCodeErrorDesc, "")); } else { byte[] bytes = System.Text.Encoding.UTF8.GetBytes(phoneNumber); var totp = new Totp(bytes, step: 300); var input = otptext; long timeStepMatched; verify = totp.VerifyTotp(input, out timeStepMatched, window: null); tbl_OTP OTPObj = cRUDOperation.GetOTPByOtpCode(otptext, phoneNumber); if (verify) { OTPObj.ISsuccess = 1; tbl_OTP OTPupdate = cRUDOperation.UpdateOTP(OTPObj); } else { OTPObj.ISsuccess = 2; tbl_OTP OTPupdate = cRUDOperation.UpdateOTP(OTPObj); } return(baseOutput = new BaseOutput(true, BOResultTypes.Success.GetHashCode(), BOBaseOutputResponse.SuccessResponse, "")); } } catch (Exception) { throw; } }
public BaseOutput VerifyOTP(string userName, string otptext, out bool verify) { CRUDOperation cRUDOperation = new CRUDOperation(); BaseOutput baseOutput; try { if (string.IsNullOrEmpty(userName)) { verify = false; return(baseOutput = new BaseOutput(true, CustomError.EmptyUserNameErrorCode, CustomError.EmptyUserNameErrorDesc, "")); } else if (string.IsNullOrEmpty(otptext)) { verify = false; return(baseOutput = new BaseOutput(true, CustomError.EmptyOTPCodeErrorCode, CustomError.EmptyOTPCodeErrorDesc, "")); } tbl_User user = cRUDOperation.GetUserByUserName(userName); if (user == null) { verify = false; return(baseOutput = new BaseOutput(true, CustomError.UserNameNotFoundCode, CustomError.UserNameNotFoundDesc, "")); } else { string phoneNumber = string.Empty; if (user.UserType_EVID == (long)UserType.Customer) { phoneNumber = userName; } else if (user.UserType_EVID == (long)UserType.Provider) { tbl_Provider customer = cRUDOperation.GetProviderByUserName(user.UserName); phoneNumber = customer.RelatedPersonPhone; } else if (user.UserType_EVID == (long)UserType.ProviderBranch) { tbl_Provider customer = cRUDOperation.GetProviderByUserName(user.UserName); phoneNumber = customer.RelatedPersonPhone; } if (string.IsNullOrEmpty(phoneNumber)) { verify = false; return(baseOutput = new BaseOutput(true, CustomError.PhoneNumberErrorCode, CustomError.PhoneNumberErrorDesc, "")); } byte[] bytes = System.Text.Encoding.UTF8.GetBytes(userName); var totp = new Totp(bytes, step: 300); var input = otptext; long timeStepMatched; verify = totp.VerifyTotp(input, out timeStepMatched, window: null); tbl_OTP OTPObj = cRUDOperation.GetOTPByOtpCode(otptext, phoneNumber); if (verify) { OTPObj.ISsuccess = 1; tbl_OTP OTPupdate = cRUDOperation.UpdateOTP(OTPObj); } else { OTPObj.ISsuccess = 2; tbl_OTP OTPupdate = cRUDOperation.UpdateOTP(OTPObj); } return(baseOutput = new BaseOutput(true, BOResultTypes.Success.GetHashCode(), BOBaseOutputResponse.SuccessResponse, "")); } } catch (Exception) { throw; } }