using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Web; using System.Web.SessionState; using DataLibrary; namespace CoreSavingLibrary { /// /// ใช้สำหรับดูสถานะของผู้ใช้ และ Web Browser /// public class WebState { private WebStateFactory state; public WebState() { //this.session = new Page().Session; this.session = HttpContext.Current.Session; this.request = HttpContext.Current.Request; } public WebState(HttpSessionState session, HttpRequest requeist) { //this.session = new Page().Session; this.session = session; this.request = requeist; } protected HttpSessionState session; protected HttpRequest request; //All state field protected string currentGroup = ""; protected string currentPage = ""; protected string currentPageName = ""; protected string currentPageId = ""; protected bool isLogin = false; protected bool isReadable = false; protected bool isWebSheet = false; protected bool isWritable = false; public String SsSelectedPrinter { get { String printer = ""; try { Sdt sdt=WebUtil.QuerySdt("select printer from ssotoken where token_id='"+this.SsTokenId+"'"); if(sdt.Next()) printer=sdt.GetString("printer"); } catch { } return printer; } } public int SsExpendSession { get { int expsession = 0; try { Sdt sdt = WebUtil.QuerySdt("select expsession from ssotoken where token_id='" + this.SsTokenId + "'"); if (sdt.Next()) expsession = sdt.GetInt32("expsession"); } catch { } return expsession; } } public string SsStoreId { get { string storeid = ""; try { Sdt sdt = null; if (Sta.IS_MYSQL_MODE) { sdt = WebUtil.QuerySdt("select ifnull(store_id,'001') as store_id from ssotoken where token_id='" + this.SsTokenId + "'"); } else { sdt = WebUtil.QuerySdt("select nvl(store_id,'001') as store_id from ssotoken where token_id='" + this.SsTokenId + "'"); } if (sdt.Next()) { storeid = sdt.GetString("store_id"); } } catch { } return storeid; } } public string SsTerminal { get { string terminal_no = ""; try { Sdt sdt = null; if (Sta.IS_MYSQL_MODE) { sdt = WebUtil.QuerySdt("select ifnull(terminal_no,'001') as terminal_no from ssotoken where token_id='" + this.SsTokenId + "'"); } else { sdt = WebUtil.QuerySdt("select nvl(terminal_no,'001') as terminal_no from ssotoken where token_id='" + this.SsTokenId + "'"); } if (sdt.Next()) { terminal_no = sdt.GetString("terminal_no"); } } catch { } return terminal_no; } } //All state Property public DateTime SsStartAccountYear_date { get { DateTime acc_year = new DateTime(1500, 1, 1); try { Sdt sdt = WebUtil.QuerySdt("select accstart_date from cmaccountyear where accsyscls_status=0 "); if (sdt.Next()) acc_year = sdt.GetDate("accstart_date"); } catch { } return acc_year; } } /// /// group ปัจจุบันของ page (group_code) /// public String CurrentGroup { get { return currentGroup; } } /// /// page ปัจจุบัน (win_object) /// public String CurrentPage { get { return currentPage; } } /// /// id ของ page ปัจจุบัน (window_id) /// public String CurrentPageId { get { return currentPageId; } } /// /// page ปัจจุบันภาษาไทย (description) /// public String CurrentPageName { get { return currentPageName; } } public bool IsLogin { get { return true; } } /// /// User ที่ Login อยู่ มีสิทธิ์ดูหน้าจอที่กำลังเปิดหรือไม่ /// public bool IsReadable { get { return isReadable; } } /// /// เป็น w_sheet หรือไม่ /// public bool IsWebSheet { get { return isWebSheet; } } /// /// User ที่ Login อยู่ มีสิทธิ์บันทึกหน้าจอที่กำลังเปิดหรือไม่ /// public bool IsWritable { get { return isWritable; } } /// /// ชื่อระบบ เช่น shrlon, ap_deposit, app_finance … /// public String SsApplication { get { try { return session["SsApplication"].ToString().Trim(); } catch { return ""; } } } /// /// ชื่อ application ภาษาไทย /// public String SsApplicationName { get { try { return session["SsApplicationName"].ToString().Trim(); } catch { return ""; } } } /// /// ใช้เฉพาะมหิดล จะต้องยกเลิกใช้แล้ว /// public String SsBookVersion { get { try { return session["SsBookVersion"].ToString().Trim(); } catch { return ""; } } set { try { session["SsBookVersion"] = value; } catch { session["SsBookVersion"] = ""; } } } /// /// IP Address ของเครื่อง client /// public String SsClientIp { get { try { return session["SsClientIp"].ToString().Trim(); } catch { return "0.0.0.0"; } } } /// /// สถานะปิดวัน 0 = เปิด, 1 = ปิด /// public int SsCloseDayStatus { get { try { return Convert.ToInt32(session["SsCloseDayStatus"]); } catch { return 0; } } } /// /// สถานะปิดเดือน 0 = เปิด, 1 = ปิด /// public int SsCloseMonthStatus { get { try { return Convert.ToInt32(session["SsCloseMonthStatus"]); } catch { return 0; } } } /// /// สถานะปิดปี 0 = เปิด, 1 = ปิด /// public int SsCloseYearStatus { get { try { return Convert.ToInt32(session["SsCloseYearStatus"]); } catch { return 0; } } } /// /// ID ของ Connection String ที่ใช้ปัจจุบัน /// public int SsConnectionIndex { get { try { return Convert.ToInt32(session["SsConnectionIndex"]); } catch { return 0; } } } /// /// Connection String ที่ใช้ปัจจุบัน /// public String SsConnectionString { get { try { return session["SsConnectionString"].ToString().Trim(); } catch { return ""; } } } /// /// coop_control ที่กำลัง Login อยู่ /// public String SsCoopControl { get { try { return session["SsCoopControl"].ToString().Trim(); } catch { return ""; } } } /// /// coop_working ที่กำลัง Login อยู่ /// public String SsCoopWorking { get { try { return session["SsCoopControl"].ToString().Trim(); } catch { return ""; } } } /// /// Coop_id ที่กำลัง Login อยู่ /// public String SsCoopId { get { try { return session["SsCoopId"].ToString().Trim(); } catch { return ""; } } } /// /// url logo แต่ละสาขา /// public String SsCoopLogo { get { try { return session["SsCoopLogo"].ToString().Trim(); } catch { return "Image/band_black.jpg"; } } } /// /// * ยังไม่มีฟิวส์ /// public String SsCoopNameEng { get { try { return session["SsCoopNameEng"].ToString().Trim(); } catch { return ""; } } } /// /// ชื่อสหกรณ์ภาษาไทย /// public String SsCoopName { get { try { return session["SsCoopName"].ToString().Trim(); } catch { return ""; } } } /// /// Transaction หลักแบบ auto commit /// public Sta SsOracleTA { get { try { return (Sta)session["SsOracleTA"]; } catch { return null; } } } /// /// ค่า Path ปัจจุบันเช่น C:\ICOOP\FSCT\Saving\WebSheet\shrlon\w_sheet_member\ /// public String SsPhysicalPath { get { try { return session["SsPhysicalPath"].ToString(); } catch { return ""; } } } public String SsPrinterSet { get { try { return session["SsPrinterSet"].ToString(); } catch { return ""; } } } /// /// Client เป็น IP ภายในวงแลน หรือไม่ /// public bool SsIsLocalIp { get { try { return Convert.ToBoolean(session["SsIsLocalIp"]); } catch { return false; } } } /// /// Password สำหรับ Login เข้าระบบ (ใช้ร่วมกับ SsUsername) /// public String SsPassword { get { try { return session["SsPassword"].ToString().Trim(); } catch { return ""; } } } /// /// Token ID /// public String SsTokenId { get { try { return session["SsTokenId"].ToString(); } catch { return ""; } } } /// /// Url จนถึง Saving CORE เช่น http://localhost/CORE/GCOOP/Saving/ /// public String SsUrl { get { try { return session["SsUrl"].ToString().Trim(); } catch { return ""; } } } /// /// User level /// public int SsUserLevel { get { try { return Convert.ToInt32(session["SsUserLevel"]); } catch { return 0; } } } /// /// Username สำหรับ Login เข้าระบบ หรือที่กำลัง Login อยู่ /// public String SsUsername { get { try { return session["SsUsername"].ToString().Trim(); } catch { return ""; } } } /// /// วันที่ทำการของระบบที่ Login อยู่ /// public DateTime SsWorkDate { get { try { return (DateTime)session["SsWorkDate"]; } catch { return new DateTime(1500, 1, 1); } } } /// /// password สำหรับใช้ WebService /// public String SsWsPass { get { try { return session["SsWsPass"].ToString().Trim(); } catch { return ""; } } } public String SsCsType { set{} get { try { //return session["SsCsType"].ToString().Trim(); return "9"; } catch { return ""; } } } public String SsBranchId { set { } get { try { //Sta ta = new Sta(state.SsConnectionString); //Sta ta = new Sta(sqlca.ConnectionString); //String sql = @"select dp_year, beginning_of_dp , ending_of_dp from acc_dp_year where coop_id ='" + state.SsCoopId + "' and dp_status = 0 "; //Sdt dt = ta.Query(sql); //if (dt.Next()) //{ // dp_year = int.Parse(dt.GetString("dp_year")); // start_of_dp = DateTime.Parse(dt.GetString("beginning_of_dp")); // ending_of_dp = DateTime.Parse(dt.GetString("ending_of_dp")); //} return "0000"; } catch { return ""; } } } } }