private void Page_Load(object sender, System.EventArgs e) { Response.BufferOutput = true; SetPageTitle(L10n.Term("Schedulers.LBL_MODULE_TITLE")); // 06/04/2006 Paul. Visibility is already controlled by the ASPX page, but it is probably a good idea to skip the load. this.Visible = SplendidCRM.Security.IS_ADMIN; if (!this.Visible) { return; } try { DbProviderFactory dbf = DbProviderFactories.GetFactory(); using (IDbConnection con = dbf.CreateConnection()) { string sSQL; sSQL = "select * " + ControlChars.CrLf + " , '' as DATE_RANGE" + ControlChars.CrLf + " from vwSCHEDULERS " + ControlChars.CrLf + " where 1 = 1 " + ControlChars.CrLf; using (IDbCommand cmd = con.CreateCommand()) { cmd.CommandText = sSQL; if (bDebug) { RegisterClientScriptBlock("SQLCode", Sql.ClientScriptBlock(cmd)); } using (DbDataAdapter da = dbf.CreateDataAdapter()) { ((IDbDataAdapter)da).SelectCommand = cmd; using (DataTable dt = new DataTable()) { da.Fill(dt); foreach (DataRow row in dt.Rows) { string sJOB_INTERVAL = Sql.ToString(row["JOB_INTERVAL"]); DateTime dtDATE_TIME_START = Sql.ToDateTime(row["DATE_TIME_START"]); DateTime dtDATE_TIME_END = Sql.ToDateTime(row["DATE_TIME_END"]); DateTime dtLAST_RUN = Sql.ToDateTime(row["LAST_RUN"]); row["JOB_INTERVAL"] = sJOB_INTERVAL + "<br>" + SchedulerUtils.CronDescription(L10n, sJOB_INTERVAL); if (dtDATE_TIME_START != DateTime.MinValue) { row["DATE_RANGE"] = T10n.FromServerTime(dtDATE_TIME_START).ToString() + "-"; } if (dtDATE_TIME_END == DateTime.MinValue) { row["DATE_RANGE"] += L10n.Term("Schedulers.LBL_PERENNIAL"); } else { row["DATE_RANGE"] += T10n.FromServerTime(dtDATE_TIME_END).ToString(); } if (dtLAST_RUN != DateTime.MinValue) { row["LAST_RUN"] = T10n.FromServerTime(dtLAST_RUN); } row["STATUS"] = L10n.Term(".scheduler_status_dom.", row["STATUS"]); } vwMain = dt.DefaultView; grdMain.DataSource = vwMain; if (!IsPostBack) { grdMain.SortColumn = "NAME"; grdMain.SortOrder = "asc"; grdMain.ApplySort(); grdMain.DataBind(); } } } } } } catch (Exception ex) { SplendidError.SystemError(new StackTrace(true).GetFrame(0), ex); lblError.Text = ex.Message; } }
private void Page_Load(object sender, System.EventArgs e) { SetPageTitle(L10n.Term(".moduleList.Schedulers")); // 06/04/2006 Paul. Visibility is already controlled by the ASPX page, but it is probably a good idea to skip the load. this.Visible = SplendidCRM.Security.IS_ADMIN; if (!this.Visible) { return; } try { gID = Sql.ToGuid(Request["ID"]); // 11/28/2005 Paul. We must always populate the table, otherwise it will disappear during event processing. //if ( !IsPostBack ) { if (!Sql.IsEmptyGuid(gID)) { DbProviderFactory dbf = DbProviderFactories.GetFactory(); using (IDbConnection con = dbf.CreateConnection()) { string sSQL; sSQL = "select * " + ControlChars.CrLf + " from vwSCHEDULERS" + ControlChars.CrLf + " where ID = @ID " + ControlChars.CrLf; using (IDbCommand cmd = con.CreateCommand()) { cmd.CommandText = sSQL; Sql.AddParameter(cmd, "@ID", gID); con.Open(); if (bDebug) { RegisterClientScriptBlock("SQLCode", Sql.ClientScriptBlock(cmd)); } using (IDataReader rdr = cmd.ExecuteReader(CommandBehavior.SingleRow)) { if (rdr.Read()) { ctlModuleHeader.Title = Sql.ToString(rdr["NAME"]); SetPageTitle(L10n.Term(".moduleList.Schedulers") + " - " + ctlModuleHeader.Title); string sJOB_INTERVAL = Sql.ToString(rdr["JOB_INTERVAL"]); DateTime dtDATE_TIME_START = Sql.ToDateTime(rdr["DATE_TIME_START"]); DateTime dtDATE_TIME_END = Sql.ToDateTime(rdr["DATE_TIME_END"]); DateTime dtTIME_FROM = Sql.ToDateTime(rdr["TIME_FROM"]); DateTime dtTIME_TO = Sql.ToDateTime(rdr["TIME_TO"]); DateTime dtLAST_RUN = Sql.ToDateTime(rdr["LAST_RUN"]); JOB.Text = Sql.ToString(rdr["JOB"]); STATUS.Text = Sql.ToString(L10n.Term(".scheduler_status_dom.", rdr["STATUS"])); DATE_TIME_START.Text = (dtDATE_TIME_START == DateTime.MinValue) ? L10n.Term("Schedulers.LBL_PERENNIAL") : T10n.FromServerTime(dtDATE_TIME_START).ToString(); DATE_TIME_END.Text = (dtDATE_TIME_END == DateTime.MinValue) ? L10n.Term("Schedulers.LBL_PERENNIAL") : T10n.FromServerTime(dtDATE_TIME_END).ToString(); LAST_RUN.Text = (dtLAST_RUN == DateTime.MinValue) ? L10n.Term("Schedulers.LBL_NEVER") : T10n.FromServerTime(dtLAST_RUN).ToString(); TIME_FROM.Text = (dtTIME_FROM == DateTime.MinValue) ? L10n.Term("Schedulers.LBL_ALWAYS") : dtTIME_FROM.ToShortTimeString(); TIME_TO.Text = (dtTIME_TO == DateTime.MinValue) ? L10n.Term("Schedulers.LBL_ALWAYS") : dtTIME_TO.ToShortTimeString(); CATCH_UP.Text = Sql.ToBoolean(rdr["CATCH_UP"]) ? L10n.Term("Schedulers.LBL_ALWAYS") : L10n.Term("Schedulers.LBL_NEVER"); JOB_INTERVAL.Text = sJOB_INTERVAL + "<br>" + SchedulerUtils.CronDescription(L10n, sJOB_INTERVAL); DATE_ENTERED.Text = T10n.FromServerTime(Sql.ToDateTime(rdr["DATE_ENTERED"])).ToString() + " " + L10n.Term(".LBL_BY") + " " + Sql.ToString(rdr["CREATED_BY"]); DATE_MODIFIED.Text = T10n.FromServerTime(Sql.ToDateTime(rdr["DATE_MODIFIED"])).ToString() + " " + L10n.Term(".LBL_BY") + " " + Sql.ToString(rdr["MODIFIED_BY"]); } } } } } } // 06/09/2006 Paul. Remove data binding in the user controls. Binding is required, but only do so in the ASPX pages. //Page.DataBind(); } catch (Exception ex) { SplendidError.SystemError(new StackTrace(true).GetFrame(0), ex); ctlDetailButtons.ErrorText = ex.Message; } }