行 1: #ExternalChecksum("C:\inetpub\wwwrootMy\common\TrgUtil.aspx","{ff1816ec-aa5e-4d10-87f7-6f4963833460}","B2D6361DDBB4B8CFC4866977B92ED0A3A1EA1404")
行 2: '------------------------------------------------------------------------------
行 3: ' <auto-generated>
行 4: ' このコードはツールによって生成されました。
行 5: ' ランタイム バージョン:4.0.30319.42000
行 6: '
行 7: ' このファイルへの変更は、以下の状況下で不正な動作の原因になったり、
行 8: ' コードが再生成されるときに損失したりします。
行 9: ' </auto-generated>
行 10: '------------------------------------------------------------------------------
行 11:
行 12: Option Strict Off
行 13: Option Explicit On
行 14:
行 15: Imports Microsoft.VisualBasic
行 16: Imports System
行 17: Imports System.Collections
行 18: Imports System.Collections.Generic
行 19: Imports System.Collections.Specialized
行 20: Imports System.ComponentModel.DataAnnotations
行 21: Imports System.Configuration
行 22: Imports System.Data
行 23: Imports System.Data.SqlClient
行 24: Imports System.Diagnostics
行 25: Imports System.Globalization
行 26: Imports System.IO
行 27: Imports System.Linq
行 28: Imports System.Reflection
行 29: Imports System.Runtime.Serialization
行 30: Imports System.Runtime.Serialization.Formatters.Binary
行 31: Imports System.Text
行 32: Imports System.Text.RegularExpressions
行 33: Imports System.Web
行 34: Imports System.Web.Caching
行 35: Imports System.Web.DynamicData
行 36: Imports System.Web.Profile
行 37: Imports System.Web.Security
行 38: Imports System.Web.SessionState
行 39: Imports System.Web.UI
行 40: Imports System.Web.UI.HtmlControls
行 41: Imports System.Web.UI.WebControls
行 42: Imports System.Web.UI.WebControls.WebParts
行 43: Imports System.Xml.Linq
行 44:
行 45: Namespace ASP
行 46:
行 47: <System.Runtime.CompilerServices.CompilerGlobalScopeAttribute()> _
行 48: Public Class common_trgutil_aspx
行 49: Inherits Global.System.Web.UI.Page
行 50: Implements System.Web.SessionState.IRequiresSessionState, System.Web.IHttpHandler
行 51:
行 52: Private Shared __initialized As Boolean
行 53:
行 54: Private Shared __fileDependencies As Object
行 55:
行 56:
行 57: #ExternalSource("C:\inetpub\wwwrootMy\common\TrgUtil.aspx",15)
行 58:
行 59: public class TrgUtil {
行 60: public const string LOG_FILE = @"F:\logs\web_app.log";
行 61: public const string DEBUG_FLG = "1";
行 62:
行 63: /// <summary>
行 64: /// JavaScriptのAlertを使ってメッセージボックスを出す
行 65: /// </summary>
行 66: /// <param name="page"></param>
行 67: /// <param name="msg"></param>
行 68: public static void ShowMsgBox(Page page,string msg) {
行 69: ShowMsgBox(page,"msgbox",msg);
行 70: }
行 71:
行 72: /// <summary>
行 73: /// JavaScriptのAlertを使ってメッセージボックスを出す
行 74: /// </summary>
行 75: /// <param name="page"></param>
行 76: /// <param name="msg"></param>
行 77: public static void ShowMsgBox(Page page,string id,string msg) {
行 78: StringBuilder sb = new StringBuilder();
行 79: sb.Append("<script language=\"javascript\">");
行 80: sb.Append("alert(\"");
行 81: sb.Append(msg);
行 82: sb.Append("\");");
行 83: sb.Append("</" + "script>");
行 84:
行 85: ClientScriptManager cs = page.ClientScript;
行 86: cs.RegisterStartupScript(page.GetType(), id,sb.ToString());
行 87: }
行 88:
行 89: ///<summary>
行 90: /// 年月を整える。
行 91: /// </summary>
行 92: public static string ym(object str) {
行 93: if (str == null) return "";
行 94: return ym(str.ToString(), true);
行 95: }
行 96:
行 97: ///<summary>
行 98: /// 年月を整える。
行 99: /// </summary>
行 100: public static string ym(string str, bool slash) {
行 101: if (str == null || str.Length == 0) return "";
行 102: //yyyy/mm
行 103: Regex r0 = new Regex("[1-2][0-9]{3}/[0-1]{0,1}[0-9]");
行 104: if (r0.IsMatch(str)) {
行 105: StringBuilder sb = new StringBuilder();
行 106: string [] split = str.Split('/');
行 107: sb.Append(split[0]);
行 108: if (slash) sb.Append("/");
行 109: if (split[1].Length == 1) sb.Append("0");
行 110: sb.Append(split[1]);
行 111: return sb.ToString();
行 112: }
行 113: //yyyymmdd
行 114: Regex r2 = new Regex("(?<year>[1-2][0-9]{3})(?<month>[0-1][0-9])");
行 115: Match m2 = r2.Match(str);
行 116: if (m2.Success) {
行 117: StringBuilder sb = new StringBuilder();
行 118: sb.Append(m2.Groups["year"]);
行 119: if (slash) sb.Append("/");
行 120: sb.Append(m2.Groups["month"]);
行 121: return sb.ToString();
行 122: }
行 123: //mmdd
行 124: Regex r3 = new Regex("(?<month>[0-1][0-9])");
行 125: Match m3 = r3.Match(str);
行 126: if (m3.Success) {
行 127: StringBuilder sb = new StringBuilder();
行 128: sb.Append(DateTime.Today.Year);
行 129: if (slash) sb.Append("/");
行 130: sb.Append(m3.Groups["month"]);
行 131: return sb.ToString();
行 132: }
行 133: return "";
行 134: }
行 135:
行 136: ///<summary>
行 137: /// 日付を整える。
行 138: /// </summary>
行 139: public static string ymd(object str) {
行 140: if(str == null)return "";
行 141: return ymd(str.ToString(),true);
行 142: }
行 143:
行 144: ///<summary>
行 145: /// 日付を整える。
行 146: /// yyyymmddやyymmddなどの形の日付を入れると、]
行 147: /// slashがtrueのときには、yyyy/mm/dd型の日付を戻す。
行 148: /// slashがfalseのときには、yyyymmdd型の日付を戻す。
行 149: /// </summary>
行 150: public static string ymd(string str,bool slash) {
行 151: if(str == null || str.Length==0)return "";
行 152: //yyyy/mm/dd yyyy/m/dd yyyy/m/d
行 153: Regex r0 = new Regex("[1-2][0-9]{3}/[0-1]{0,1}[0-9]/[0-3]{0,1}[0-9]");
行 154: if(r0.IsMatch(str))
行 155: {
行 156: StringBuilder sb = new StringBuilder();
行 157: string [] split = str.Split('/');
行 158: sb.Append(split[0]);
行 159: if(slash)sb.Append("/");
行 160: if(split[1].Length==1)sb.Append("0");
行 161: sb.Append(split[1]);
行 162: if(slash)sb.Append("/");
行 163: if(split[2].Length==1)sb.Append("0");
行 164: sb.Append(split[2]);
行 165: return sb.ToString();
行 166: }
行 167: //mm/dd m/dd mm/d
行 168: Regex r1 = new Regex("[0-1]{0,1}[0-9]/[0-3]{0,1}[0-9]");
行 169: if(r1.IsMatch(str))
行 170: {
行 171: StringBuilder sb = new StringBuilder();
行 172: sb.Append(DateTime.Today.Year);
行 173: string [] split = str.Split('/');
行 174: if(slash)sb.Append("/");
行 175: if(split[0].Length==1)sb.Append("0");
行 176: sb.Append(split[0]);
行 177: if(slash)sb.Append("/");
行 178: if(split[1].Length==1)sb.Append("0");
行 179: sb.Append(split[1]);
行 180: return sb.ToString();
行 181: }
行 182: //yyyymmdd
行 183: Regex r2 = new Regex("(?<year>[1-2][0-9]{3})(?<month>[0-1][0-9])(?<day>[0-3][0-9])");
行 184: Match m2 = r2.Match(str);
行 185: if(m2.Success)
行 186: {
行 187: StringBuilder sb = new StringBuilder();
行 188: sb.Append(m2.Groups["year"]);
行 189: if(slash)sb.Append("/");
行 190: sb.Append(m2.Groups["month"]);
行 191: if(slash)sb.Append("/");
行 192: sb.Append(m2.Groups["day"]);
行 193: return sb.ToString();
行 194: }
行 195: //mmdd
行 196: Regex r3 = new Regex("(?<month>[0-1][0-9])(?<day>[0-3][0-9])");
行 197: Match m3 = r3.Match(str);
行 198: if(m3.Success)
行 199: {
行 200: StringBuilder sb = new StringBuilder();
行 201: sb.Append(DateTime.Today.Year);
行 202: if(slash)sb.Append("/");
行 203: sb.Append(m3.Groups["month"]);
行 204: if(slash)sb.Append("/");
行 205: sb.Append(m3.Groups["day"]);
行 206: return sb.ToString();
行 207: }
行 208: return "";
行 209: }
行 210:
行 211: ///<summary>
行 212: /// 日付を整える。
行 213: /// </summary>
行 214: public static void makeCombo(Control control, string kbnname, bool required) {
行 215: ListControl lctrl = control as ListControl;
行 216: if (lctrl != null) {
行 217: // コントロールの設定
行 218: lctrl.DataValueField = "cd";
行 219: lctrl.DataTextField = "nm";
行 220:
行 221: // SQLを作成
行 222: StringBuilder strSQL = new StringBuilder();
行 223: if (kbnname.StartsWith("SELECT")) {
行 224: strSQL.Append(kbnname);
行 225: } else {
行 226: // KBNC
行 227: strSQL.Append("SELECT DISP_JNI,KBNC AS CD,KBNC_NM AS NM");
行 228: strSQL.Append(" FROM KBNC WITH(NOLOCK)");
行 229: strSQL.Append(" WHERE KBN_ENM='");
行 230: strSQL.Append(kbnname);
行 231: strSQL.Append("'");
行 232: strSQL.Append(" ORDER BY DISP_JNI");
行 233: }
行 234:
行 235: // 選択必須では無い場合、空行を追加
行 236: if (!required) {
行 237: strSQL.Insert(0, "SELECT -9999999999 AS DISP_JNI,'' AS CD,'' AS NM UNION ");
行 238: }
行 239:
行 240: // コントロールへの反映
行 241: TrgDb dbKbnc = new TrgDb(strSQL.ToString());
行 242: lctrl.DataSource = dbKbnc.executeDataSet();
行 243: if (control is DropDownList) {
行 244: lctrl.SelectedIndex = -1;
行 245: } else if (control is RadioButtonList) {
行 246: lctrl.SelectedIndex = -1;
行 247: }
行 248: lctrl.DataBind();
行 249: }
行 250: }
行 251:
行 252: ///<summary>
行 253: /// 金額を整える。
行 254: /// </summary>
行 255: public static string money(object str)
行 256: {
行 257: if(str == null)return "";
行 258: if(str is DBNull) return "";
行 259: if(str.Equals(decimal.MinValue)) return "";
行 260: if(str.Equals(decimal.MaxValue)) return "";
行 261: if(str.Equals(int.MinValue)) return "";
行 262: if(str.Equals(int.MaxValue)) return "";
行 263: if(str.Equals(decimal.MinValue.ToString())) return "";
行 264: if(str.Equals(int.MinValue.ToString())) return "";
行 265: if(str.Equals(decimal.MaxValue.ToString())) return "";
行 266: if(str.Equals(int.MaxValue.ToString())) return "";
行 267: return money(str.ToString(),true);
行 268: }
行 269: /// <summary>
行 270: /// 金額を整える。
行 271: /// </summary>
行 272: /// <param name="str"></param>
行 273: /// <returns></returns>
行 274: public static string money(string str,bool slash)
行 275: {
行 276: bool minus = false;
行 277: if(str == null || str.Length==0)return "";
行 278: string num = str;
行 279: //ピリオドがあったら、そこで切って上位だけにする。
行 280: if(num.IndexOf(".") != -1)
行 281: {
行 282: num = num.Substring(0,num.IndexOf("."));
行 283: }
行 284: //マイナスで始まっている。
行 285: if(num.StartsWith("-"))
行 286: {
行 287: minus = true;
行 288: }
行 289: Regex r1 = new Regex("[0-9]");
行 290: MatchCollection mc = r1.Matches(num);
行 291: object[] arr = new object[mc.Count];
行 292: mc.CopyTo(arr,0);
行 293: int cnt = 0;
行 294: StringBuilder sb = new StringBuilder();
行 295: for(int ii=arr.Length-1;ii>=0;ii--)
行 296: {
行 297: if(cnt==3)
行 298: {
行 299: cnt = 0;
行 300: if(slash)
行 301: {
行 302: sb.Insert(0,",");
行 303: }
行 304: }
行 305: cnt++;
行 306:
行 307: sb.Insert(0,arr[ii]);
行 308: }
行 309: if(minus)
行 310: {
行 311: sb.Insert(0,"-");
行 312: }
行 313: return sb.ToString();
行 314: }
行 315: public static void DebugLog(string msg) {
行 316: // デバッグチェック
行 317: string debug = DEBUG_FLG;
行 318:
行 319: if ("1".Equals(debug)) {
行 320: // ログ内容生成
行 321: StringBuilder sb = new StringBuilder();
行 322: sb.Append("DEB");
行 323: sb.Append("\t");
行 324: sb.Append(msg);
行 325:
行 326: // 書き出し
行 327: try {
行 328: string logfile = LOG_FILE;
行 329: Log(logfile, sb.ToString());
行 330: } catch (Exception ex) {
行 331: // なにもしない。
行 332: }
行 333: }
行 334: }
行 335:
行 336: public static void DebugLog(string prgrmNm, string msg) {
行 337: // デバッグチェック
行 338: string debug = DEBUG_FLG;
行 339:
行 340: if ("1".Equals(debug)) {
行 341: // ログ内容生成
行 342: StringBuilder sb = new StringBuilder();
行 343: sb.Append("DEB");
行 344: sb.Append("\t");
行 345: sb.Append("[");
行 346: sb.Append(prgrmNm);
行 347: sb.Append("]");
行 348: sb.Append("\t");
行 349: sb.Append(msg);
行 350:
行 351: // 書き出し
行 352: try {
行 353: string logfile = LOG_FILE;
行 354: Log(logfile, sb.ToString());
行 355: } catch (Exception ex) {
行 356: // なにもしない。
行 357: }
行 358: }
行 359: }
行 360:
行 361: public static void InfoLog(string msg) {
行 362: // ログ内容生成
行 363: StringBuilder sb = new StringBuilder();
行 364: sb.Append("INF");
行 365: sb.Append("\t");
行 366: sb.Append(msg);
行 367:
行 368: // 書き出し
行 369: try {
行 370: string logfile = LOG_FILE;
行 371: Log(logfile, sb.ToString());
行 372: } catch (Exception ex) {
行 373: // なにもしない。
行 374: }
行 375: }
行 376:
行 377: public static void InfoLog(string prgrmNm, string msg) {
行 378: // ログ内容生成
行 379: StringBuilder sb = new StringBuilder();
行 380: sb.Append("INF");
行 381: sb.Append("\t");
行 382: sb.Append("[");
行 383: sb.Append(prgrmNm);
行 384: sb.Append("]");
行 385: sb.Append("\t");
行 386: sb.Append(msg);
行 387:
行 388: // 書き出し
行 389: try {
行 390: string logfile = LOG_FILE;
行 391: Log(logfile, sb.ToString());
行 392: } catch (Exception ex) {
行 393: // なにもしない。
行 394: }
行 395: }
行 396:
行 397: public static void ErrorLog(string msg) {
行 398: // ログ内容生成
行 399: StringBuilder sb = new StringBuilder();
行 400: sb.Append("ERR");
行 401: sb.Append("\t");
行 402: sb.Append(msg);
行 403:
行 404: // 書き出し
行 405: try {
行 406: string logfile = LOG_FILE;
行 407: Log(logfile, sb.ToString());
行 408: } catch (Exception ex) {
行 409: // なにもしない。
行 410: }
行 411: }
行 412:
行 413: public static void ErrorLog(string prgrmNm, string msg) {
行 414: // ログ内容生成
行 415: StringBuilder sb = new StringBuilder();
行 416: sb.Append("ERR");
行 417: sb.Append("\t");
行 418: sb.Append("[");
行 419: sb.Append(prgrmNm);
行 420: sb.Append("]");
行 421: sb.Append("\t");
行 422: sb.Append(msg);
行 423:
行 424: // 書き出し
行 425: try {
行 426: string logfile = LOG_FILE;
行 427: Log(logfile, sb.ToString());
行 428: } catch (Exception ex) {
行 429: // なにもしない。
行 430: }
行 431: }
行 432:
行 433: public static void ErrorLog(string msg, Exception ex) {
行 434: // ログ内容生成
行 435: StringBuilder sb = new StringBuilder();
行 436: sb.Append("ERR");
行 437: sb.Append("\t");
行 438: sb.Append(msg);
行 439: sb.Append("\t");
行 440: sb.Append(ex.Message);
行 441: sb.Append("\t");
行 442: sb.Append("\"");
行 443: sb.Append(ex.StackTrace);
行 444: sb.Append("\"");
行 445:
行 446: // 書き出し
行 447: try {
行 448: string logfile = LOG_FILE;
行 449: Log(logfile, sb.ToString());
行 450: } catch (Exception ex2) {
行 451: // なにもしない。
行 452: }
行 453: }
行 454:
行 455: public static void ErrorLog(string prgrmNm, string msg, Exception ex) {
行 456: // ログ内容生成
行 457: StringBuilder sb = new StringBuilder();
行 458: sb.Append("ERR");
行 459: sb.Append("\t");
行 460: sb.Append("[");
行 461: sb.Append(prgrmNm);
行 462: sb.Append("]");
行 463: sb.Append("\t");
行 464: sb.Append(msg);
行 465: sb.Append("\t");
行 466: sb.Append(ex.Message);
行 467: sb.Append("\t");
行 468: sb.Append("\"");
行 469: sb.Append(ex.StackTrace);
行 470: sb.Append("\"");
行 471:
行 472: // 書き出し
行 473: try {
行 474: string logfile = LOG_FILE;
行 475: Log(logfile, sb.ToString());
行 476: } catch (Exception ex2) {
行 477: // なにもしない。
行 478: }
行 479: }
行 480:
行 481: /// <summary>
行 482: /// データベース出力ログ
行 483: /// </summary>
行 484: /// <param name="db"></param>
行 485: /// <param name="begin"></param>
行 486: /// <param name="end"></param>
行 487: public static void DbLog(TrgDb db, DateTime begin, DateTime end) {
行 488: // デバッグチェック
行 489: string debug = DEBUG_FLG;
行 490:
行 491: if ("1".Equals(debug)) {
行 492: StringBuilder sb = new StringBuilder();
行 493: sb.Append("DB");
行 494: sb.Append("\t");
行 495: sb.Append(begin.ToString("yyyy/MM/dd HH:mm:ss.f", DateTimeFormatInfo.InvariantInfo));
行 496: sb.Append("\t");
行 497: sb.Append(end.ToString("yyyy/MM/dd HH:mm:ss.f", DateTimeFormatInfo.InvariantInfo));
行 498: sb.Append("\t");
行 499: TimeSpan span = end - begin;
行 500: sb.Append(span.TotalMilliseconds.ToString("0"));
行 501: sb.Append("\t");
行 502: sb.Append(db.ExecutableString().Replace("\n", " ").Replace("\r", " ").Replace("\t", " ").Replace(" ", " ").Replace(" ", " ").Replace(" ", " "));
行 503:
行 504: try {
行 505: string logfile = LOG_FILE;
行 506: Log(logfile, sb.ToString());
行 507: } catch (Exception ex2) {
行 508: // なにもしない。
行 509: }
行 510: }
行 511: }
行 512:
行 513: public static void Log(string logfile, string msg) {
行 514: try {
行 515: // ログの書き出し
行 516: using (StreamWriter sw = new StreamWriter(logfile, true, System.Text.Encoding.GetEncoding("shift-jis"))) {
行 517: sw.Write("///\t");
行 518: sw.Write(DateTime.Now);
行 519: sw.Write("\t");
行 520: sw.WriteLine(msg.Replace("\n", " "));
行 521: }
行 522: } catch (Exception ex) {
行 523: // なにもしない。
行 524: }
行 525: }
行 526:
行 527:
行 528: /// <summary>
行 529: /// SQL文の無害化
行 530: /// </summary>
行 531: /// <param name="page"></param>
行 532: /// <param name="sql"></param>
行 533: /// <param name="cd"></param>
行 534: /// <returns></returns>
行 535: public static string CheckSQL(string sql) {
行 536: string ret = "";
行 537: if (string.IsNullOrEmpty(sql)) {
行 538: return ret;
行 539: }
行 540: ret = sql.Replace(";", " ");
行 541: return ret;
行 542: }
行 543: }
行 544:
行 545: #End ExternalSource
行 546:
行 547:
行 548: <System.Diagnostics.DebuggerNonUserCodeAttribute()> _
行 549: Public Sub New()
行 550: MyBase.New
行 551: Dim dependencies() As String
行 552: CType(Me,Global.System.Web.UI.Page).AppRelativeVirtualPath = "~/common/TrgUtil.aspx"
行 553: If (Global.ASP.common_trgutil_aspx.__initialized = false) Then
行 554: dependencies = New String(0) {}
行 555: dependencies(0) = "~/common/TrgUtil.aspx"
行 556: Global.ASP.common_trgutil_aspx.__fileDependencies = Me.GetWrappedFileDependencies(dependencies)
行 557: Global.ASP.common_trgutil_aspx.__initialized = true
行 558: End If
行 559: Me.Server.ScriptTimeout = 30000000
行 560: End Sub
行 561:
行 562: Protected ReadOnly Property Profile() As System.Web.Profile.DefaultProfile
行 563: Get
行 564: Return CType(Me.Context.Profile,System.Web.Profile.DefaultProfile)
行 565: End Get
行 566: End Property
行 567:
行 568: Protected ReadOnly Property ApplicationInstance() As System.Web.HttpApplication
行 569: Get
行 570: Return CType(Me.Context.ApplicationInstance,System.Web.HttpApplication)
行 571: End Get
行 572: End Property
行 573:
行 574: <System.Diagnostics.DebuggerNonUserCodeAttribute()> _
行 575: Private Sub __BuildControlTree(ByVal __ctrl As common_trgutil_aspx)
行 576:
行 577: #ExternalSource("C:\inetpub\wwwrootMy\common\TrgUtil.aspx",1)
行 578: Me.InitializeCulture
行 579:
行 580: #End ExternalSource
行 581: End Sub
行 582:
行 583: <System.Diagnostics.DebuggerNonUserCodeAttribute()> _
行 584: Protected Overrides Sub FrameworkInitialize()
行 585: MyBase.FrameworkInitialize
行 586: Me.__BuildControlTree(Me)
行 587: Me.AddWrappedFileDependencies(Global.ASP.common_trgutil_aspx.__fileDependencies)
行 588: Me.Request.ValidateInput
行 589: End Sub
行 590:
行 591: <System.Diagnostics.DebuggerNonUserCodeAttribute()> _
行 592: Public Overrides Function GetTypeHashCode() As Integer
行 593: Return 5381
行 594: End Function
行 595:
行 596: <System.Diagnostics.DebuggerNonUserCodeAttribute()> _
行 597: Public Overrides Sub ProcessRequest(ByVal context As System.Web.HttpContext)
行 598: MyBase.ProcessRequest(context)
行 599: End Sub
行 600: End Class
行 601: End Namespace
行 602:
|