コード例 #1
0
ファイル: Chart.aspx.cs プロジェクト: zouliangxl/scada
        protected ChartDataBuilder chartDataBuilder; // объект, задающий данные графика

        protected void Page_Load(object sender, EventArgs e)
        {
            AppData  appData  = AppData.GetAppData();
            UserData userData = UserData.GetUserData();

#if DEBUG
            userData.LoginForDebug();
#endif

            // перевод веб-страницы
            Translator.TranslatePage(Page, "Scada.Web.Plugins.Chart.WFrmChart");

            // получение параметров запроса
            // получить номера как массивы для корректной работы в составе дэшборда
            int[]    cnlNums   = Request.QueryString.GetParamAsIntArray("cnlNum");
            int[]    viewIDs   = Request.QueryString.GetParamAsIntArray("viewID");
            int      cnlNum    = cnlNums.Length > 0 ? cnlNums[0] : 0;
            int      viewID    = viewIDs.Length > 0 ? viewIDs[0] : 0;
            DateTime startDate = Request.QueryString.GetParamAsDate(DateTime.Today);

            // проверка входа в систему и прав
            if (!userData.LoggedOn)
            {
                throw new ScadaException(WebPhrases.NotLoggedOn);
            }

            if (!userData.UserRights.GetUiObjRights(viewID).ViewRight)
            {
                throw new ScadaException(CommonPhrases.NoRights);
            }

#if !DEBUG
            // в режиме отладки невозможно получить представление, т.к. плагины не загружены
            BaseView view = userData.UserViews.GetView(viewID, true);

            if (!view.ContainsCnl(cnlNum))
            {
                throw new ScadaException(CommonPhrases.NoRights);
            }

            // вывод заголовков
            Title         = cnlNum + " - " + Title;
            lblTitle.Text = view.Title;
#endif

            // вывод дополнительной информации
            lblStartDate.Text = (string.IsNullOrEmpty(lblTitle.Text) ? "" : ", ") + startDate.ToLocalizedDateString();
            lblGenDT.Text     = DateTime.Now.ToLocalizedString();

            // подготовка данных графика
            chartDataBuilder = new ChartDataBuilder(
                new int[] { cnlNum }, startDate, 1, userData.WebSettings.ChartGap, appData.DataAccess);
            chartDataBuilder.FillData();
        }
コード例 #2
0
        protected void Page_Load(object sender, EventArgs e)
        {
            AppData  appData  = AppData.GetAppData();
            UserData userData = UserData.GetUserData();

#if DEBUG
            userData.LoginForDebug();
            string chartTitle = "Debug";
#endif

            // перевод веб-страницы
            Translator.TranslatePage(Page, "Scada.Web.Plugins.Chart.WFrmChart");

            // получение параметров запроса
            // получить номера как массивы для корректной работы в составе дэшборда
            int[]    cnlNums   = Request.QueryString.GetParamAsIntArray("cnlNum");
            int[]    viewIDs   = Request.QueryString.GetParamAsIntArray("viewID");
            int      cnlNum    = cnlNums.Length > 0 ? cnlNums[0] : 0;
            int      viewID    = viewIDs.Length > 0 ? viewIDs[0] : 0;
            DateTime startDate = Request.QueryString.GetParamAsDate(DateTime.Today);

            // проверка входа в систему и прав
            if (!userData.LoggedOn)
            {
                throw new ScadaException(WebPhrases.NotLoggedOn);
            }

            if (!userData.UserRights.GetUiObjRights(viewID).ViewRight)
            {
                throw new ScadaException(CommonPhrases.NoRights);
            }

#if !DEBUG
            // в режиме отладки невозможно получить представление, т.к. плагины не загружены
            BaseView view = userData.UserViews.GetView(viewID, true);

            if (!view.ContainsCnl(cnlNum))
            {
                throw new ScadaException(CommonPhrases.NoRights);
            }

            // вывод заголовка
            Title = cnlNum + " - " + Title;
            string chartTitle = view.Title;
#endif

            // вывод дополнительной информации
            chartTitle += (string.IsNullOrEmpty(chartTitle) ? "" : ", ") + startDate.ToLocalizedDateString();
            string chartStatus = DateTime.Now.ToLocalizedString();

            // подготовка данных графика
            ChartDataBuilder dataBuilder = new ChartDataBuilder(new int[] { cnlNum }, startDate, 1, appData.DataAccess);
            dataBuilder.FillCnlProps();
            dataBuilder.FillData();

            // build client script
            sbClientScript = new StringBuilder();
            dataBuilder.ToJs(sbClientScript);

            sbClientScript
            .AppendFormat("var locale = '{0}';", Localization.Culture.Name).AppendLine()
            .AppendFormat("var gapBetweenPoints = {0};", userData.WebSettings.ChartGap).AppendLine()
            .AppendFormat("var chartTitle = '{0}';", HttpUtility.JavaScriptStringEncode(chartTitle)).AppendLine()
            .AppendFormat("var chartStatus = '{0}';", chartStatus).AppendLine()
            .AppendLine();
        }