protected void Page_Load(object sender, System.EventArgs e) { if (!IsPostBack) { StringBuilder sb = new StringBuilder(); if (Request.QueryString["tbl"] != null && Request.QueryString["key"] != null) { /* prevent manually constructed request that would lead to information leakage via hashing of * query string and session secret, only apply for database related retrieval which are all generated by the system */ ValidatedQS(); string dbConnectionString; if (Request.QueryString["sys"] != null) { sid = byte.Parse(Request.QueryString["sys"].ToString()); } else { throw new Exception("Please make sure '&sys=' is present and try again."); } if (new AdminSystem().IsMDesignDb(Request.QueryString["tbl"].ToString())) { dbConnectionString = base.SysConnectStr(sid); } else { dbConnectionString = base.AppConnectStr(sid); } if (Request.QueryString["multi"] != null) { SaveMultiDocUpload(dbConnectionString, base.AppPwd(sid), sid, true); } else { SaveUpload(dbConnectionString, sid); } return; /* To be Deleted: * DataTable dt = null; * try * { * if (Request.QueryString["knm"] != null && Request.QueryString["col"] != null) // ImageButton * { * dt = (new AdminSystem()).GetDbImg(Request.QueryString["key"].ToString(), Request.QueryString["tbl"].ToString(), Request.QueryString["knm"].ToString(), Request.QueryString["col"].ToString(), dbConnectionString, base.AppPwd(sid)); * Response.Buffer = true; Response.ClearHeaders(); Response.ClearContent(); * Response.ContentType = "image/jpeg"; * Response.AppendHeader("Content-Disposition", "Attachment; Filename="); * Response.BinaryWrite((byte[])dt.Rows[0][0]); * HttpContext.Current.ApplicationInstance.CompleteRequest(); * } * else // Document. * { * dt = (new AdminSystem()).GetDbDoc(Request.QueryString["key"].ToString(), Request.QueryString["tbl"].ToString(), dbConnectionString, base.AppPwd(sid)); * Response.Buffer = true; Response.ClearHeaders(); Response.ClearContent(); * Response.ContentType = dt.Rows[0]["MimeType"].ToString(); * Response.AppendHeader("Content-Disposition", "Attachment; Filename=" + dt.Rows[0]["DocName"].ToString()); * Response.BinaryWrite((byte[])dt.Rows[0]["DocImage"]); * Response.End(); * } * } * catch (Exception err) { ApplicationAssert.CheckCondition(false, "DnLoadModule", "", err.Message); } */ } else if (Request.QueryString["file"] != null) { /* file based download needs to be catered manually by webrule for protected contents * via access control in the IIS directory level(no access) and gated by dnloadmodule via server side transfer */ try { bool pub = true; if (LImpr != null) { string UsrGroup = (char)191 + base.LImpr.UsrGroups + (char)191; if (UsrGroup.IndexOf((char)191 + "25" + (char)191) < 0 && UsrGroup.IndexOf((char)191 + "5" + (char)191) < 0) { pub = true; } else { pub = false; } } string fileName = Request.QueryString["file"].ToString(); string key = Request.QueryString["key"].ToString(); string DownloadLinkCode = Session.SessionID; byte[] Download_code = System.Text.Encoding.ASCII.GetBytes(DownloadLinkCode); System.Security.Cryptography.HMACSHA256 bkup_hmac = new System.Security.Cryptography.HMACSHA256(Download_code); byte[] Download_hash = bkup_hmac.ComputeHash(System.Text.Encoding.ASCII.GetBytes(fileName)); string Download_hashString = BitConverter.ToString(Download_hash); bool allowDownload = Download_hashString == key; fileName = fileName.ToLower().ReplaceInsensitive("/guarded/", "/source/"); string url = fileName; string fullfileName = Server.MapPath(fileName); // we enforce everything file for download is under ../files System.IO.FileInfo file = new System.IO.FileInfo(fullfileName); string oname = file.Name; if (!allowDownload && pub && !(file.Name.StartsWith("Pub") || file.Name.StartsWith("pub"))) { if (file.Name.EndsWith(".wmv")) { file = new FileInfo(file.DirectoryName + "/PubMsg.wmv"); url = fileName.ReplaceInsensitive(oname, "PubMsg.wmv"); } else { if (LUser == null || LUser.LoginName == "Anonymous") { string loginUrl = System.Web.Security.FormsAuthentication.LoginUrl; if (string.IsNullOrEmpty(loginUrl)) { loginUrl = "MyAccount.aspx"; } this.Redirect(loginUrl + (loginUrl.IndexOf('?') > 0 ? "&" : "?") + "wrn=1&ReturnUrl=" + Server.UrlEncode(Request.Url.PathAndQuery)); } else { throw new Exception("Access Denied"); } } } Response.Buffer = true; Response.ClearHeaders(); Response.ClearContent(); Response.ContentType = GetMimeTypeFromExtension(file.Extension); Response.AddHeader("Content-Disposition", "Attachment; Filename=" + file.Name); Response.AddHeader("Content-Length", file.Length.ToString()); Server.Transfer(url); } catch (Exception err) { ApplicationAssert.CheckCondition(false, "DnLoadModule", "", err.Message); } } } }
protected void Page_Load(object sender, System.EventArgs e) { if (!IsPostBack) { StringBuilder sb = new StringBuilder(); if (!string.IsNullOrEmpty(Request.Form["_r"]) || !string.IsNullOrEmpty(Request.QueryString["_r"]) ) { DirectPost(); return; } if (Request.QueryString["tbl"] != null && Request.QueryString["key"] != null) { /* prevent manually constructed request that would lead to information leakage via hashing of * query string and session secret, only apply for database related retrieval which are all generated by the system */ if (!string.IsNullOrEmpty(Request.QueryString["_h"])) { ValidateQSV2(); } else { ValidatedQS(); } string dbConnectionString; if (Request.QueryString["sys"] != null) { sid = byte.Parse(Request.QueryString["sys"].ToString()); } else { throw new Exception("Please make sure '&sys=' is present and try again."); } if (new AdminSystem().IsMDesignDb(Request.QueryString["tbl"].ToString())) { dbConnectionString = base.SysConnectStr(sid); } else { dbConnectionString = base.AppConnectStr(sid); } DataTable dt = null; try { if (Request.QueryString["knm"] != null && Request.QueryString["col"] != null) // ImageButton { string emptyFile = "iVBORw0KGgoAAAANSUhEUgAAAhwAAAABCAQAAAA/IL+bAAAAFElEQVR42mN89p9hFIyCUTAKSAIABgMB58aXfLgAAAAASUVORK5CYII="; dt = (new AdminSystem()).GetDbImg(Request.QueryString["key"].ToString(), Request.QueryString["tbl"].ToString(), Request.QueryString["knm"].ToString(), Request.QueryString["col"].ToString(), dbConnectionString, base.AppPwd(sid)); if (Request.QueryString["ico"] != null) { string icon = RO.Common3.Utils.BlobPlaceHolder(dt.Rows[0][0] as byte[], true); if (icon != null) { icon = icon.Replace("data:application/base64;base64,", ""); } else { icon = emptyFile; } ReturnAsAttachment(Convert.FromBase64String(icon), ""); return; } Response.Buffer = true; Response.ClearHeaders(); Response.ClearContent(); string fileContent = dt.Rows[0][0] as byte[] == null ? emptyFile : RO.Common3.Utils.DecodeFileStream(dt.Rows[0][0] as byte[]); string fileName = ""; string mimeType = "application/octet"; string contentBase64 = ""; System.Web.Script.Serialization.JavaScriptSerializer jss = new System.Web.Script.Serialization.JavaScriptSerializer(); try { RO.Common3.FileUploadObj fileInfo = jss.Deserialize <RO.Common3.FileUploadObj>(fileContent); mimeType = fileInfo.mimeType; fileName = fileInfo.fileName; contentBase64 = fileInfo.base64; } catch { try { List <RO.Common3._ReactFileUploadObj> fileList = jss.Deserialize <List <RO.Common3._ReactFileUploadObj> >(fileContent); List <FileUploadObj> x = new List <FileUploadObj>(); foreach (var fileInfo in fileList) { mimeType = fileInfo.mimeType; fileName = fileInfo.fileName; contentBase64 = fileInfo.base64; break; } } catch { contentBase64 = fileContent; fileName = ""; mimeType = "image/jpeg"; } } string contentDisposition = "attachment"; if (!string.IsNullOrEmpty(Request.QueryString["inline"]) && Request.QueryString["inline"] == "Y") { contentDisposition = "inline"; } byte[] content = new byte[0]; try { content = (byte[])Convert.FromBase64String(contentBase64); Response.ContentType = mimeType; Response.AppendHeader("Content-Disposition", contentDisposition + "; Filename=" + fileName); } catch (Exception ex) { if (ex != null) { try { content = (byte[])dt.Rows[0][0]; Response.ContentType = "image/jpeg"; Response.AppendHeader("Content-Disposition", contentDisposition + "; Filename="); } catch { } } } Response.Flush(); Response.BinaryWrite(content); Response.End(); } else // Document. { dt = (new AdminSystem()).GetDbDoc(Request.QueryString["key"].ToString(), Request.QueryString["tbl"].ToString(), dbConnectionString, base.AppPwd(sid)); Response.Buffer = true; Response.ClearHeaders(); Response.ClearContent(); Response.ContentType = dt.Rows[0]["MimeType"].ToString(); string contentDisposition = "attachment"; if (!string.IsNullOrEmpty(Request.QueryString["inline"]) && Request.QueryString["inline"] == "Y") { contentDisposition = "inline"; } Response.AppendHeader("Content-Disposition", contentDisposition + "; Filename=" + dt.Rows[0]["DocName"].ToString()); //Response.AppendHeader("Content-Disposition", "Attachment; Filename=" + dt.Rows[0]["DocName"].ToString()); Response.BinaryWrite((byte[])dt.Rows[0]["DocImage"]); Response.End(); } } catch (Exception err) { if (!(err is ThreadAbortException)) { ApplicationAssert.CheckCondition(false, "DnLoadModule", "", err.Message); } } } else if (Request.QueryString["file"] != null) { /* file based download needs to be catered manually by webrule for protected contents * via access control in the IIS directory level(no access) and gated by dnloadmodule via server side transfer */ try { bool pub = true; if (LImpr != null) { string UsrGroup = (char)191 + base.LImpr.UsrGroups + (char)191; if (UsrGroup.IndexOf((char)191 + "25" + (char)191) < 0 && UsrGroup.IndexOf((char)191 + "5" + (char)191) < 0) { pub = true; } else { pub = false; } } string fileName = Request.QueryString["file"].ToString(); string key = Request.QueryString["key"].ToString(); string DownloadLinkCode = Session.SessionID; byte[] Download_code = System.Text.Encoding.ASCII.GetBytes(DownloadLinkCode); System.Security.Cryptography.HMACMD5 bkup_hmac = new System.Security.Cryptography.HMACMD5(Download_code); byte[] Download_hash = bkup_hmac.ComputeHash(System.Text.Encoding.ASCII.GetBytes(fileName)); string Download_hashString = BitConverter.ToString(Download_hash); bool allowDownload = Download_hashString == key; fileName = fileName.ToLower().Replace("/guarded/", "/source/"); string url = fileName; string fullfileName = Server.MapPath(fileName); // we enforce everything file for download is under ../files System.IO.FileInfo file = new System.IO.FileInfo(fullfileName); string oname = file.Name; if (!allowDownload && pub && !(file.Name.StartsWith("Pub") || file.Name.StartsWith("pub"))) { if (file.Name.EndsWith(".wmv")) { file = new FileInfo(file.DirectoryName + "/PubMsg.wmv"); url = fileName.Replace(oname, "PubMsg.wmv"); } else { if (LUser == null || LUser.LoginName == "Anonymous") { string loginUrl = System.Web.Security.FormsAuthentication.LoginUrl; if (string.IsNullOrEmpty(loginUrl)) { loginUrl = "MyAccount.aspx"; } this.Redirect(loginUrl + (loginUrl.IndexOf('?') > 0 ? "&" : "?") + "wrn=1&ReturnUrl=" + Server.UrlEncode(Request.Url.PathAndQuery)); } else { throw new Exception("Access Denied"); } } } Response.Buffer = true; Response.ClearHeaders(); Response.ClearContent(); Response.ContentType = GetMimeTypeFromExtension(file.Extension); Response.AddHeader("Content-Disposition", "Attachment; Filename=" + file.Name); Response.AddHeader("Content-Length", file.Length.ToString()); Server.Transfer(url); } catch (Exception err) { ApplicationAssert.CheckCondition(false, "DnLoadModule", "", err.Message); } } } }
public void UpdDshFldDtl(string PublicAccess, string DshFldDtlId, string DshFldId, string DshFldDtlName, string DshFldDtlDesc, Int32 UsrId, string SystemId, string dbConnectionString, string dbPassword) { if (da == null) { throw new System.ObjectDisposedException(GetType().FullName); } OleDbConnection cn = new OleDbConnection(dbConnectionString + DecryptString(dbPassword)); cn.Open(); OleDbTransaction tr = cn.BeginTransaction(); OleDbCommand cmd = new OleDbCommand("UpdDshFldDtl", cn); cmd.CommandType = CommandType.StoredProcedure; cmd.CommandTimeout = 1800; cmd.Transaction = tr; cmd.Parameters.Add("@PublicAccess", OleDbType.Char).Value = PublicAccess; if (DshFldDtlId == string.Empty) { cmd.Parameters.Add("@DshFldDtlId", OleDbType.Numeric).Value = System.DBNull.Value; } else { cmd.Parameters.Add("@DshFldDtlId", OleDbType.Numeric).Value = DshFldDtlId; } if (DshFldId == string.Empty) { ApplicationAssert.CheckCondition(false, "WebPartAccess", "UpdDshFldDtl", "Please select a folder and try again."); } else { cmd.Parameters.Add("@DshFldId", OleDbType.Numeric).Value = DshFldId; } if (DshFldDtlName == string.Empty) { ApplicationAssert.CheckCondition(false, "WebPartAccess", "UpdDshFldDtl", "Please enter a name for this memorized criteria and try again."); } else { cmd.Parameters.Add("@DshFldDtlName", OleDbType.VarWChar).Value = DshFldDtlName; } if (DshFldDtlDesc == string.Empty) { cmd.Parameters.Add("@DshFldDtlDesc", OleDbType.VarWChar).Value = System.DBNull.Value; } else { cmd.Parameters.Add("@DshFldDtlDesc", OleDbType.VarWChar).Value = DshFldDtlDesc; } cmd.Parameters.Add("@UsrId", OleDbType.Numeric).Value = UsrId; cmd.Parameters.Add("@SystemId", OleDbType.Numeric).Value = SystemId; try { da.UpdateCommand = cmd; cmd.ExecuteNonQuery(); tr.Commit(); } catch (Exception e) { tr.Rollback(); ApplicationAssert.CheckCondition(false, "", "", e.Message); } finally { cn.Close(); } return; }
public override void RestoreWaDb(string dbProviderCd, string connStr, string pwd, string waDb, string waFile, string waPath) { if (da == null) { throw new System.ObjectDisposedException(GetType().FullName); } OleDbConnection cn = new OleDbConnection(connStr + DecryptString(pwd)); cn.Open(); OleDbCommand cmd; if (dbProviderCd == "S") { cmd = new OleDbCommand("LOAD DATABASE " + waDb + " FROM '" + waFile + "'", cn); } else //Ms Windows only for now, not Linux { cmd = new OleDbCommand("RESTORE FILELISTONLY FROM DISK = '" + waFile + "'", cn); cmd.CommandType = CommandType.Text; da.SelectCommand = cmd; DataTable dt = new DataTable(); da.Fill(dt); ApplicationAssert.CheckCondition(dt.Rows.Count != 0, "DeployAccess.RestoreWaDb", "", "Resotre file does not have any logical file name:" + waFile); string restoreCmd = "RESTORE DATABASE " + waDb + " FROM DISK = '" + waFile + "' WITH "; foreach (DataRow dr in dt.Rows) { if (dr["Type"].ToString() == "L") { restoreCmd += "MOVE '" + dr["LogicalName"].ToString() + "' TO '" + waPath + waDb + ".ldf',"; } else { restoreCmd += "MOVE '" + dr["LogicalName"].ToString() + "' TO '" + waPath + waDb + ".mdf',"; } } if (restoreCmd.EndsWith(",")) { restoreCmd = restoreCmd.Remove(restoreCmd.Length - 1, 1); } cn.Close(); cn.Open(); cmd = new OleDbCommand(restoreCmd, cn); } cmd.CommandType = CommandType.Text; cmd.CommandTimeout = 10000; try { cmd.ExecuteNonQuery(); } catch (Exception e) { if (e.Message.IndexOf("No error information available") < 0) // Dump&Load always throw exception regardless. { ApplicationAssert.CheckCondition(false, "DeployAccess.RestoreWaDb", "", e.Message); } } finally { cn.Close(); cn = null; } return; }
private string WrGenericTranslate(string CrawlerCd, string TrlCode, string InStr, string dbConnectionString, string dbPassword) { HttpWebRequest request; string posttext; DataTable dt = null; string rtn = string.Empty; using (Access3.WebAccess dac = new Access3.WebAccess()) { dt = dac.WrGetCtCrawler(CrawlerCd); } try { if (CrawlerCd == "GA") { // Get: posttext = dt.Rows[0]["PreText"].ToString() + TrlCode + dt.Rows[0]["PostText"].ToString() + HttpUtility.UrlEncode(InStr.Replace("\\", "/")); request = (HttpWebRequest)WebRequest.Create(new Uri(dt.Rows[0]["CrawlerURL"].ToString() + posttext)); } else if (CrawlerCd == "GB") { // Get google translation paid api v2: string apiKey = base.DecryptString(Config.GoogleAPIKey); string[] fromTo = TrlCode.Split(new char[] { '|' }); posttext = dt.Rows[0]["PreText"].ToString() + apiKey + string.Format("&source={0}&target={1}", fromTo[0], fromTo[1]) + dt.Rows[0]["PostText"].ToString() + HttpUtility.UrlEncode(InStr.Replace("\\", "/")); request = (HttpWebRequest)WebRequest.Create(new Uri(dt.Rows[0]["CrawlerURL"].ToString() + posttext)); } else { // Post: request = (HttpWebRequest)WebRequest.Create(new Uri(dt.Rows[0]["CrawlerURL"].ToString())); posttext = dt.Rows[0]["PreText"].ToString() + TrlCode + dt.Rows[0]["PostText"].ToString() + HttpUtility.UrlEncode(InStr.Replace("\\", "/")); request.Method = "POST"; request.ContentType = "application/x-www-form-urlencoded"; request.ContentLength = posttext.Length; request.UserAgent = "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)"; Stream writeStream = request.GetRequestStream(); UTF8Encoding encoding = new UTF8Encoding(); byte[] bytes = encoding.GetBytes(posttext); writeStream.Write(bytes, 0, bytes.Length); writeStream.Close(); } request.Referer = dt.Rows[0]["CrawlerREF"].ToString(); HttpWebResponse response = (HttpWebResponse)request.GetResponse(); StreamReader readStream = new StreamReader(response.GetResponseStream(), Encoding.UTF8); string page = readStream.ReadToEnd(); Regex reg = new Regex(dt.Rows[0]["ResultRegex"].ToString(), RegexOptions.IgnoreCase | RegexOptions.Multiline); MatchCollection matches = reg.Matches(page); if (matches.Count == 1 && matches[0].Groups.Count == 2 && matches[0].Groups[1].Value != string.Empty) { rtn = matches[0].Groups[1].Value; } } catch (Exception err) { ApplicationAssert.CheckCondition(false, "WrGenericTranslate", dt.Rows[0]["CrawlerURL"].ToString() + ": " + err.Message, "Translation engine cannot handle \"" + InStr + "\". Please investigate and try again."); } if (CrawlerCd == "GA" || CrawlerCd == "GB") { // google translate API returns JSONEncode(htmlencoded(string)) and we need to reverse it var json_encoded = new System.Web.Script.Serialization.JavaScriptSerializer().Deserialize <System.Collections.Generic.Dictionary <string, string> >(string.Format("{{\"translatedText\":\"{0}\"}}", rtn)); rtn = System.Web.HttpUtility.HtmlDecode(json_encoded["translatedText"]); } return(rtn); }
public void ExecScript(string dbProviderCd, string Source, string CmdName, string IsqlFile, CurrSrc CSrc, CurrTar CTar, string dbConnectionString, string dbPassword) { StringBuilder sbError = new StringBuilder(""); Regex isqlWarningRule = new Regex(@"Level\s+([1-9],|1[0-1],)"); Regex isqlErrorRule = new Regex(@"(?i)(Level\s+(1[2-9]|2[0-9]))|(Library\serror:)|(not\srecognized\sas\san\sinternal)|(isql:\sunknown\soption)|(Syntax\sError\sin)"); Regex batErrorRule = new Regex(@"(?i)(\s+denied\.|\s+msg\s+|\s+error\s+|\s+failed)"); bool addToError = false; bool addToWarning = false; sbWarning.Remove(0, sbWarning.Length); //OleDbDataReader drd; Func <object, string, bool> processResult = (v, s) => { if (!v.Equals(System.DBNull.Value)) { if (IsqlFile == string.Empty) // batch bcp { if (batErrorRule.IsMatch(s)) { addToError = true; } if (addToError) { sbError.Append(Regex.Replace(s, @"(-P\s*\w*\s|-U\s*\w*\s)", "") + "\r\n"); } } else { if (isqlErrorRule.IsMatch(s)) { addToError = true; addToWarning = false; } else if (isqlWarningRule.IsMatch(s)) { addToError = false; addToWarning = true; } if (addToError) { sbError.Append(Regex.Replace(s, @"(-P\s*\w*\s|-U\s*\w*\s)", "") + "\r\n"); } else if (addToWarning) { sbWarning.Append(Regex.Replace(s, @"(-P\s*\w*\s|-U\s*\w*\s)", "") + "\r\n"); } } } return(true); }; using (DbScriptAccessBase dac = GetDbScriptAccess()) { dac.ExecScript(dbProviderCd, CmdName, IsqlFile, dbProviderCd == string.Empty, CSrc, CTar, dbConnectionString, dbPassword, processResult); } //while (drd.Read()) //{ // if (!drd.GetValue(0).Equals(System.DBNull.Value)) // { // if (IsqlFile == string.Empty) // batch bcp // { // if (batErrorRule.IsMatch(drd.GetString(0))) { addToError = true; } // if (addToError) { sbError.Append(Regex.Replace(drd.GetString(0), @"(-P\s*\w*\s|-U\s*\w*\s)", "") + "\r\n"); } // } // else // { // if (isqlErrorRule.IsMatch(drd.GetString(0))) // { // addToError = true; // addToWarning = false; // } // else if (isqlWarningRule.IsMatch(drd.GetString(0))) // { // addToError = false; // addToWarning = true; // } // if (addToError) // { // sbError.Append(Regex.Replace(drd.GetString(0), @"(-P\s*\w*\s|-U\s*\w*\s)", "") + "\r\n"); // } // else if (addToWarning) // { // sbWarning.Append(Regex.Replace(drd.GetString(0), @"(-P\s*\w*\s|-U\s*\w*\s)", "") + "\r\n"); // } // } // } //} if (IsqlFile == string.Empty) // batch bcp { ApplicationAssert.CheckCondition(!batErrorRule.IsMatch(sbError.ToString()), Source, "DbScript.ExecScript()", sbError.ToString()); } else { ApplicationAssert.CheckCondition(!isqlErrorRule.IsMatch(sbError.ToString()), Source, "DbScript.ExecScript()", sbError.ToString()); } if (sbWarning.ToString() != "") { sbWarning.Insert(0, Source + ": DbScript.ExecScript(): "); } }
public string CreateProgC(bool Overwrite, DataView dv, CurrSrc CSrc, string ProgramPath, string AppNameSpace, string ObjectTypeCd, string FrameworkCd) { StreamWriter sw; BinaryWriter bw; FileInfo fi; bool ErrFound; StringBuilder sb = new StringBuilder(); string Framewk; foreach (DataRowView drv in dv) { if (drv["FrameworkCd"].ToString() == string.Empty) { Framewk = string.Empty; } else if (drv["FrameworkCd"].ToString() == "1") { Framewk = "Dotnet 1.1 "; } else { Framewk = "Dotnet 2.0 "; } ErrFound = false; fi = new FileInfo(ProgramPath + drv["RelativePath"].ToString() + drv["ProgramName"].ToString()); if (!Overwrite && fi.LastWriteTime > Convert.ToDateTime(drv["ModifiedOn"].ToString())) { ErrFound = true; sb.Append("<br />" + Framewk + drv["RelativePath"].ToString() + drv["ProgramName"].ToString() + " is more recent and not over-written;"); } if (!ErrFound) { if (drv["CustomCode"].ToString().Trim() != string.Empty) { sw = new StreamWriter(ProgramPath + drv["RelativePath"].ToString() + drv["ProgramName"].ToString()); try { sw.Write(drv["CustomCode"].ToString().Replace("[[" + "?]]", AppNameSpace)); } //avoid being replaced by iteself. catch (Exception err) { ApplicationAssert.CheckCondition(false, "", "", err.Message); } finally { sw.Close(); } } else if (drv["CustomBin"] != null && drv["CustomBin"].ToString() != string.Empty) { bw = new BinaryWriter(File.Open(ProgramPath + drv["RelativePath"].ToString() + drv["ProgramName"].ToString(), FileMode.Create, FileAccess.ReadWrite)); try { bw.Write((Byte[])drv["CustomBin"]); } catch (Exception err) { ApplicationAssert.CheckCondition(false, "", "", err.Message); } finally { bw.Close(); } } else { ErrFound = true; sb.Append("<br />" + drv["RelativePath"].ToString() + drv["ProgramName"].ToString() + " is ignored;"); } } if (!ErrFound) { if (ObjectTypeCd == "C") // Client tier { if (FrameworkCd == "1") { Robot.ModifyCsproj(false, ProgramPath + "Web.csproj", drv["RelativePath"].ToString() + drv["ProgramName"].ToString(), FrameworkCd, string.Empty); } } else if (ObjectTypeCd == "R") // Rule tier { if (drv["RelativePath"].ToString() == "Common" + CSrc.SrcSystemId.ToString() + "\\Data\\") { Robot.ModifyCsproj(false, ProgramPath + "Common" + CSrc.SrcSystemId.ToString() + "\\Common" + CSrc.SrcSystemId.ToString() + ".csproj", @"Data\" + drv["ProgramName"].ToString(), string.Empty, FrameworkCd); } else if (drv["RelativePath"].ToString().Length > 1) { Robot.ModifyCsproj(false, ProgramPath + drv["RelativePath"].ToString() + drv["RelativePath"].ToString().Substring(0, drv["RelativePath"].ToString().Length - 1) + ".csproj", drv["ProgramName"].ToString(), string.Empty, FrameworkCd); } } using (Access3.GenCustomsAccess dac = new Access3.GenCustomsAccess()) { dac.SetLastGenDt(drv["CustomDtlId"].ToString(), CSrc); } } } return(sb.ToString()); }
public void LoadDataSource() { ApplicationAssert.CheckCondition(ApplicationConfiguration.DataSourceConfigFile != null, "DataSourceConfigFile参数没有设置!", ApplicationAssert.LineNumber); _dataSources = DataSource.GetAllDataSources(ApplicationConfiguration.DataSourceConfigFile); }