/// <summary> /// 构造函数 /// </summary> public WorkFlowApiController() { //获取AppInfo值 头部信息记录 #region 设置当前线程数据库 var base64EncodedBytes = Convert.FromBase64String(HttpContext.Current.Request.Headers.GetValues("AppInfo").First()); var jsonText = Encoding.UTF8.GetString(base64EncodedBytes); var AppInfo = JsonConvert.DeserializeObject <ApiControllerBase.Models.AppInfoBase>(jsonText); if (AppInfo != null) { DBConnectionStringBuilder dbbuilder = new DBConnectionStringBuilder(); string result, userConn; var pubConn = dbbuilder.GetMainConnStringElement(0, out result, false); string defaultConn = dbbuilder.GetDefaultConnString(); if (AppInfo.DbName.ToLower() == "ngsoft") { userConn = pubConn; } else { userConn = string.IsNullOrWhiteSpace(AppInfo.DbName) ? defaultConn : dbbuilder.GetAccConnstringElement(0, AppInfo.DbName, pubConn, out result); } //设置当前数据库连接信息 ConnectionInfoService.SetCallContextConnectString(userConn); MultiDelegatingDbProvider.CurrentDbProviderName = AppInfo.DbName; } #endregion service = new WorkFlowServiceProxy(); }
//初始化数据库 private void InitDb() { //数据库连接方式取值方法一:固定链接串 //string connectionString=@"ConnectType=SqlClient;Server=10.0.16.168\upty;Database=NG0054;User ID=sa;Password=123456"; //string connectionString = "ConnectType=SqlClient;Server=10.0.18.21;Database=NG0008;User ID=sa;Password="******"ConnectType=SqlClient;Server=10.0.17.118;Database=NG0004;User ID=sa;Password=psoft"; //二:从web.config取值 //string connectionString = System.Web.Configuration.WebConfigurationManager.ConnectionStrings["DefaultConnection"].ToString(); //三:从config目录下文件DataBases.xml中取值 DBConnectionStringBuilder dbbuilder = new DBConnectionStringBuilder(); //var userConn = dbbuilder.GetDefaultConnString(); //主帐套连接串 var result = string.Empty; var dbname = dbbuilder.DefaultDB; var pubConn = dbbuilder.GetMainConnStringElement(0, out result, false); //获取主数据库连接串 NGSoft var userConn = dbbuilder.GetAccConnstringElement(0, dbname, pubConn, out result); //获取默认数据库连接串 NG0001 ConnectionInfoService.SetSessionConnectString(userConn); I6WebAppInfo appInfo = new I6WebAppInfo(); appInfo.PubConnectString = pubConn; appInfo.UserConnectString = userConn; appInfo.LoginID = "xyp"; appInfo.UserName = "******"; appInfo.OCode = "001"; appInfo.UCode = dbname.Substring(2); appInfo.DbName = dbname; //appInfo.UserID = 2; //appInfo.OrgID = 1; string uid = DbHelper.GetString(userConn, string.Format("select phid from fg3_user where userno='{0}'", appInfo.LoginID)); string oid = DbHelper.GetString(userConn, string.Format("select phid from fg_orglist where ocode='{0}'", appInfo.OCode)); if (!string.IsNullOrWhiteSpace(uid)) { appInfo.UserID = Convert.ToInt64(uid); } else { appInfo.UserID = 1; } if (!string.IsNullOrWhiteSpace(oid)) { appInfo.OrgID = Convert.ToInt64(oid); } else { appInfo.OrgID = 1; } System.Web.HttpContext.Current.Session["NGWebAppInfo"] = appInfo; }
/// <summary> /// 解析数据库连接串 /// </summary> /// <param name="conStr"></param> /// <returns></returns> public static string GetDatabaseByConStr(string conStr) { if (string.IsNullOrEmpty(conStr)) { conStr = ConnectionInfoService.GetSessionConnectString(); } string dataBase = dataBase = NG.NGKeyValueUtility.GetValue(conStr, "Database", "Initial Catalog"); if (string.IsNullOrEmpty(dataBase) || dataBase.Length < 1) { dataBase = NG.NGKeyValueUtility.GetValue(conStr, "User ID"); } return(dataBase); }
private string WebCheck(out string msg, out bool loginflag, string svrName, string database, string logid, string pwd, string isOnlineCheck = "") { var appInfo = new I6WebAppInfo(); var userConn = proxy.WebCheck(out msg, out loginflag, svrName, database, logid, pwd, appInfo, isOnlineCheck); if (!string.IsNullOrEmpty(userConn)) { if (msg == "UserNoHaveOrg") { System.Web.HttpContext.Current.Session[WebNGWebAppInfo] = appInfo; SimulateWebLogin(appInfo.UCode.Replace("NG", ""), appInfo.OCode, appInfo.LoginID, appInfo); string guid = string.Empty; if (appInfo.UserType != UserType.System) { if (!proxy.SetLoginUsers("", ref guid, ref msg))//注册在线用户 { loginflag = false; } } else { guid = Guid.NewGuid().ToString(); } System.Web.HttpContext.Current.Session[LoginMark] = guid; } else if (string.IsNullOrEmpty(msg)) { System.Web.HttpContext.Current.Session[UPAppInfoNameInSession] = appInfo; System.Web.HttpContext.Current.Session[WebNGWebAppInfo] = appInfo; ConnectionInfoService.SetSessionConnectString(userConn);//初始化2.0的dbhelper SimulateWebLogin(appInfo.UCode.Replace("NG", ""), appInfo.OCode, appInfo.LoginID, appInfo); string guid = string.Empty; if (appInfo.UserType != UserType.System) { if (!proxy.SetLoginUsers("", ref guid, ref msg))//注册在线用户 { loginflag = false; } } else { guid = Guid.NewGuid().ToString(); } System.Web.HttpContext.Current.Session[LoginMark] = guid; } } return(userConn); }
public static bool IsOracleDB() { string callStr = ConnectionInfoService.GetCallContextConnectString(); if (string.IsNullOrEmpty(callStr) || callStr == DbHelper.ConnectString) { DbHelper.Open(); } else { DbHelper.Open(callStr); } var res = DbHelper.Vendor == DbVendor.Oracle || DbHelper.Vendor == DbVendor.Oracle11 || DbHelper.Vendor == DbVendor.Oracle10 || DbHelper.Vendor == DbVendor.Oracle9; return(res); }
public override void OnActionExecuting(HttpActionContext actionContext) { //获取AppInfo值 头部信息记录 var base64EncodedBytes = Convert.FromBase64String(HttpContext.Current.Request.Headers.GetValues("AppInfo").First()); var jsonText = Encoding.UTF8.GetString(base64EncodedBytes); var AppInfo = JsonConvert.DeserializeObject <AppInfoBase>(jsonText); if (AppInfo != null) { string curConnect = DbHelper.ConnectString; if (curConnect.IndexOf(AppInfo.DbName, StringComparison.CurrentCultureIgnoreCase) > 0) { //连接串包含了当前数据库 } else { DBConnectionStringBuilder dbbuilder = new DBConnectionStringBuilder(); string result, userConn; var pubConn = dbbuilder.GetMainConnStringElement(0, out result, false); string defaultConn = dbbuilder.GetDefaultConnString(); if (AppInfo.DbName.ToLower() == "ngsoft") { userConn = pubConn; } else { userConn = string.IsNullOrWhiteSpace(AppInfo.DbName) ? defaultConn : dbbuilder.GetAccConnstringElement(0, AppInfo.DbName, pubConn, out result); } //设置当前数据库连接信息 ConnectionInfoService.SetCallContextConnectString(userConn); MultiDelegatingDbProvider.CurrentDbProviderName = AppInfo.DbName; } } base.OnActionExecuting(actionContext); }
public static void MyClassInitialize(TestContext testContext) { HttpSimulator hs = new HttpSimulator("/", @"E:\Enterprise\Enterprise3\Enterprise3.Test\Enterprise3.NHORM.Test"); hs.SimulateRequest(); I6WebAppInfo appInfo = new I6WebAppInfo { UserType = UserType.OrgUser, PubConnectString = ConfigHelper.GetString("PubConnectString"), UserConnectString = ConfigHelper.GetString("UserConnectString"), LoginID = "007", UserName = "******", OCode = "001", OrgName = "001组织", UCode = "NG0003" //Northwind }; //MockHttpContext.Init(); System.Web.HttpContext.Current.Session["NGWebAppInfo"] = appInfo; ConnectionInfoService.SetSessionConnectString(ConfigHelper.GetString("UserConnectString")); }
/// <summary> /// 初始化 /// </summary> /// <param name="requestContext">请求上下文</param> protected override void Initialize(System.Web.Routing.RequestContext requestContext) { var isSso = System.Web.HttpContext.Current.Request.Params["issso"] == null ? "" : System.Web.HttpContext.Current.Request.Params["issso"].ToString(); if (isSso == "1") { var logId = System.Web.HttpContext.Current.Request.Params["logno"] == null ? "" : System.Web.HttpContext.Current.Request.Params["logno"].ToString(); var logName = System.Web.HttpContext.Current.Request.Params["logname"] == null ? "" : System.Web.HttpContext.Current.Request.Params["logname"].ToString(); var oCode = System.Web.HttpContext.Current.Request.Params["ocode"] == null ? "" : System.Web.HttpContext.Current.Request.Params["ocode"].ToString(); var uCode = System.Web.HttpContext.Current.Request.Params["ucode"] == null ? "" : System.Web.HttpContext.Current.Request.Params["ucode"].ToString(); //comment by ljy 2018.01.17 特变要求预览能跟正式发布单据一样操作 //ViewBag.IsSso = "true"; ViewBag.IsSso = "false"; try { //设置NG3的i6WebInfoBase对象 var dbbuilder = new DBConnectionStringBuilder(); var dbName = string.Empty; //没有传帐套号过来 if (string.IsNullOrWhiteSpace(uCode)) { dbName = dbbuilder.DefaultDB; //如NG0001 uCode = dbName.Substring(2); //如0001 } else { dbName = "NG" + uCode; } var result = string.Empty; var pubConn = dbbuilder.GetMainConnStringElement(0, out result, false); //获取主数据库连接串 NGSoft var userConn = dbbuilder.GetAccConnstringElement(0, dbName, pubConn, out result); //获取默认数据库连接串 NG0001 var i6AppInfo = new I6WebAppInfo() { UserType = UserType.OrgUser, PubConnectString = pubConn, UserConnectString = userConn, LoginID = logId, UserName = logName, OCode = oCode, UCode = uCode, DbName = dbName, UserID = Convert.ToInt64(DbHelper.GetString(userConn, string.Format("select phid from fg3_user where userno='{0}'", logId))), OrgID = Convert.ToInt64(DbHelper.GetString(userConn, string.Format("select phid from fg_orglist where ocode='{0}'", oCode))) }; System.Web.HttpContext.Current.Session["NGWebAppInfo"] = i6AppInfo; ConnectionInfoService.SetSessionConnectString(i6AppInfo.UserConnectString); } catch (Exception e) { throw new Exception(e.Message); //应该加入日志,设置i6WebAppInfo异常。 } } base.Initialize(requestContext); //调老丰AFCommonController的InitialAF(),里面含WorkFlowHandling() string dbnameStr = NG3.AppInfoBase.DbName; if (string.IsNullOrWhiteSpace(dbnameStr)) { dbnameStr = base.NGPreCompileHandling(); } base.InitialAF(dbnameStr); }
/// <summary> /// 获取所有审批种类对应的审批单据的总数量 /// </summary> /// <returns>返回Json串</returns> public string GetRecordListNum() { long Uid = Convert.ToInt64(System.Web.HttpContext.Current.Request.Params["Uid"]); long Orgid = Convert.ToInt64(System.Web.HttpContext.Current.Request.Params["Orgid"]); string Year = System.Web.HttpContext.Current.Request.Params["Year"]; if (Uid == 0) { return(DCHelper.ErrorMessage("用户id为空!")); } if (Orgid == 0) { return(DCHelper.ErrorMessage("组织id为空!")); } if (string.IsNullOrEmpty(Year)) { return(DCHelper.ErrorMessage("年度为空!")); } //设置当前数据库连接信息 ConnectionInfoService.SetCallContextConnectString(NG3.AppInfoBase.UserConnectString); MultiDelegatingDbProvider.CurrentDbProviderName = NG3.AppInfoBase.DbName; BillRequestModel billRequest = new BillRequestModel(); billRequest.Uid = Uid; billRequest.Orgid = Orgid; billRequest.Year = Year; var YNum = 0; //已审数量 var NNum = 0; //待审数量 try { //获取审批所有类型 List <QTSysSetModel> procTypes = QTSysSetService.GetProcTypes(); if (procTypes != null && procTypes.Count > 0) { foreach (var sysSet in procTypes) { billRequest.BType = sysSet.Value; billRequest.Splx_Phid = sysSet.PhId; int total = 0; List <AppvalRecordVo> recordVos = GAppvalRecordService.GetDoneRecordList(billRequest, out total); int total2 = 0; List <AppvalRecordVo> recordVos2 = GAppvalRecordService.GetUnDoRecordList(billRequest, out total2); YNum += total; NNum += total2; } } var dic = new Dictionary <string, object>(); new CreateCriteria(dic).Add(ORMRestrictions <Int64> .NotEq("PhId", 0)); new CreateCriteria(dic).Add(ORMRestrictions <List <Int32> > .In("FState", new List <int>() { 2, 0 })); new CreateCriteria(dic).Add(ORMRestrictions <Int64> .Eq("OrgPhid", Orgid)); new CreateCriteria(dic).Add(ORMRestrictions <string> .Eq("FYear", Year)); //var Query = GKPaymentMstService.GetPaymentFailure(dic); var Query = GKPaymentMstService.Find(dic).Data; return(DataConverterHelper.SerializeObject(new { Status = "success", YNum = YNum, NNum = NNum, PaymentState = Query.Count//【待支付】信息提醒需求 })); } catch (Exception e) { return(DCHelper.ErrorMessage(e.Message)); } }