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 "";
}
}
}
}
}