//Check exist user in Users table //ChungNN 20/11/2008 public OutputLogoutInfo logout(string username, string sessionid) { OutputLogoutInfo lgoObj = new OutputLogoutInfo(); //check username and password is null? if (username != null || sessionid != null) { //check if sessionid is existed if (ServiceSessionManager.GetSessionInstance().IsExistedSession(username, sessionid)) { ServiceSessionManager.GetSessionInstance().DelSession(username); lgoObj.status = "0"; lgoObj.message = "Logout successfull."; } else { lgoObj.status = "1"; lgoObj.message = "Logout fail, session is not existed."; } } else { lgoObj.status = "1"; lgoObj.message = "Logout fail, username or password is invalid."; } return(lgoObj); }
public static ServiceSessionManager GetSessionInstance() { if (_instance == null) { _instance = new ServiceSessionManager(); } return(_instance); }
//ChungNN 05/01/2009 public OutputLoginInfo login(string username, string password) { OutputLoginInfo lgnObj = new OutputLoginInfo(); TransferProcess transObj = new TransferProcess(); Security SecObj = new Security(); //check username and password is null? if (username != null && password != null) { //check valid username and password if (SecObj.IsValidUser(username, password)) { //check if sessionid is existed if (ServiceSessionManager.GetSessionInstance().IsExistedSession(username)) { lgnObj.session_id = ServiceSessionManager.GetSessionInstance().GetSession(username); lgnObj.status = "0"; lgnObj.message = "Login Epay successfull."; } else { lgnObj.session_id = Guid.NewGuid().ToString(); lgnObj.status = "0"; lgnObj.message = "Login Epay successfull."; ServiceSessionManager.GetSessionInstance().AddSession(lgnObj.session_id, username); } } else { lgnObj.status = "1"; lgnObj.message = "Login Epay fail, invalid username or password"; lgnObj.session_id = "0"; } } else { lgnObj.status = "1"; lgnObj.message = "Login Epay fail, invalid username or password"; lgnObj.session_id = "0"; } transObj.WriteLog(lgnObj.message + ", username="******", IP=" + HttpContext.Current.Request.UserHostAddress); return(lgnObj); }
//Input: UserName, Session_ID //ChungNN - 01/2009 public OutputInfo CheckValid(string UserName, string Session_ID, string Request_ID, string MerchantID, string targetMsIsdn, Int32 amount, ref string ProviderCode) { OutputInfo outObj = new OutputInfo(); TransferProcess proObj = new TransferProcess(); HttpApplication appObj = new HttpApplication(); string strIPAddress = HttpContext.Current.Request.UserHostAddress; string strSession_ID = Session_ID; byte nErrorNum = 0; string strLogMessage = string.Empty; //0: Successful //1: Invalid userName or Session_ID //2: Invalid IP Address //3: Invalid targetMsIsdn or provider is not exist //4: Request_ID is exist //5: Invalid amount DataSet dsDataList = new DataSet(); DataTable tblResult = new DataTable(); #region Check username and Session_ID. nErrorNum = 1; //check username and password is null? if (UserName != null && Session_ID != null) { //check if sessionid is existed if (ServiceSessionManager.GetSessionInstance().IsExistedSession(UserName, Session_ID)) { nErrorNum = 0; } } #endregion Check username and Session_ID #region Check IP address if login successfull if (nErrorNum == 0) { nErrorNum = (byte)((Check_Valid_IPAddress(strIPAddress)? 0:2)); } #endregion Check IP address if login successfull #region Check valid targetMsIsdn if (nErrorNum == 0) { dsDataList = null; dsDataList = Xml_2_DateSet(HttpContext.Current.Server.MapPath("") + "\\" + AppConfiguration.AppData_FileName); tblResult = dsDataList.Tables["ProviderList"]; HttpContext hc = HttpContext.Current; if (targetMsIsdn.Length < 10 || targetMsIsdn.Length > 15) { nErrorNum = 3; } //if no provider to check else if (tblResult.DefaultView.Count == 0) { nErrorNum = 3; } else { nErrorNum = 3; string strPrefix = string.Empty; for (int i = 0; i < tblResult.DefaultView.Count; i++) { strPrefix = tblResult.DefaultView[i].Row["Prefix"].ToString(); if (targetMsIsdn.IndexOf(strPrefix, 0, strPrefix.Length) != -1) { nErrorNum = 0; ProviderCode = tblResult.DefaultView[i].Row["ProviderCode"].ToString().Trim(); break; } } } tblResult = null; dsDataList = null; } #endregion Check valid targetMsIsdn #region Check valid acmount if (nErrorNum == 0) { if (Array.IndexOf(AppConfiguration.AppAmountArray, amount) == -1) { nErrorNum = 5; } } #endregion Check valid acmount #region Check valid Request_ID if (nErrorNum == 0) { if (UserName != null && Request_ID != null) { //check if Request_ID is existed if (ServiceRequestManager.GetInstance().IsContainRequest(Request_ID, UserName)) { nErrorNum = 4; } else { ServiceRequestManager.GetInstance().AddRequest(Request_ID, UserName); nErrorNum = 0; } } } #endregion Check valid Trans_ID #region return and log if (nErrorNum == 0) { outObj.status = "0"; //outObj.message = "Login successfull."; //strLogMessage = "Login EPay sucessfull. (RequestID=" + Request_ID + ", UserName="******", IPAddress=" + strIPAddress + ")"; } else { outObj.status = nErrorNum.ToString(); outObj.trans_id = "0"; if (nErrorNum == 1) { outObj.message = "Invalid user name or session_id."; strLogMessage = "Load fail, invalid user name or session_id. (RequestID=" + Request_ID + ", UserName="******", IPAddress=" + strIPAddress + ")"; } else if (nErrorNum == 2) { outObj.message = "Invalid IP address."; strLogMessage = "Load failure, invalid IP address. (RequestID=" + Request_ID + ", UserName="******", IPAddress=" + strIPAddress + ")"; } else if (nErrorNum == 3) { outObj.message = "Invalid phone number or service provider not exist."; strLogMessage = "Load failure, invalid targetMsIsdn or provider is not exist. (RequestID=" + Request_ID + ", UserName="******", IPAddress=" + strIPAddress + ")"; } else if (nErrorNum == 4) { outObj.message = "Request_ID is exist."; strLogMessage = "Load failure, request_id is exist. (RequestID=" + Request_ID + ", UserName="******", IPAddress=" + strIPAddress + ")"; } else if (nErrorNum == 5) { outObj.message = "Invalid amount." + amount.ToString(); strLogMessage = "Load failure, ivalid amount. (RequestID=" + Request_ID + ", UserName="******", IPAddress=" + strIPAddress + ")"; } //write log if error proObj.WriteLog(strLogMessage); } #endregion return and log return(outObj); }