Example #1
0
        /// <summary>
        /// Установить значения таблиц для редактирования
        /// </summary>
        /// <param name="err">Идентификатор ошибки при выполнеинии функции</param>
        /// <param name="strErr">Строка текста сообщения при наличии ошибки</param>
        protected override void setValues(DateTimeRange[] arQueryRanges, out int err, out string strErr)
        {
            err    = 0;
            strErr = string.Empty;

            Session.New();
            //Запрос для получения архивных данных
            m_arTableOrigin[(int)TepCommon.HandlerDbTaskCalculate.INDEX_TABLE_VALUES.ARCHIVE] = new DataTable();
            //Запрос для получения автоматически собираемых данных
            m_arTableOrigin[(int)TepCommon.HandlerDbTaskCalculate.INDEX_TABLE_VALUES.SESSION] = HandlerDb.GetValuesVar(Type
                                                                                                                       , ActualIdPeriod
                                                                                                                       , CountBasePeriod
                                                                                                                       , arQueryRanges
                                                                                                                       , out err);
            //Проверить признак выполнения запроса
            if (err == 0)
            {
                //Заполнить таблицу данными вводимых вручную (значения по умолчанию)
                m_arTableOrigin[(int)TepCommon.HandlerDbTaskCalculate.INDEX_TABLE_VALUES.DEFAULT] = HandlerDb.GetValuesDef(ActualIdPeriod, out err);
                //Проверить признак выполнения запроса
                if (err == 0)
                {
                    //Начать новую сессию расчета
                    // , получить входные для расчета значения для возможности редактирования
                    HandlerDb.CreateSession(m_id_panel
                                            , CountBasePeriod
                                            , m_arTableDictPrjs[(int)INDEX_TABLE_DICTPRJ.PARAMETER]
                                            , ref m_arTableOrigin
                                            , new DateTimeRange(arQueryRanges[0].Begin, arQueryRanges[arQueryRanges.Length - 1].End)
                                            , out err, out strErr);
                }
                else
                {
                    strErr = @"ошибка получения данных по умолчанию с " + Session.m_rangeDatetime.Begin.ToString()
                             + @" по " + Session.m_rangeDatetime.End.ToString();
                }
            }
            else
            {
                strErr = @"ошибка получения автоматически собираемых данных с " + Session.m_rangeDatetime.Begin.ToString()
                         + @" по " + Session.m_rangeDatetime.End.ToString();
            }
        }
Example #2
0
        /// <summary>
        /// Установить значения таблиц для редактирования
        /// </summary>
        /// <param name="err">Идентификатор ошибки при выполнеинии функции</param>
        /// <param name="strErr">Строка текста сообщения при наличии ошибки</param>
        protected override void setValues(out int err, out string strErr)
        {
            err    = 0;
            strErr = string.Empty;

            int iRegDbConn = -1;

            DateTimeRange[] arQueryRanges = getDateTimeRangeValuesVar();

            m_handlerDb.RegisterDbConnection(out iRegDbConn);

            if (!(iRegDbConn < 0))
            {
                //Запрос для получения архивных данных
                m_arTableOrigin[(int)HandlerDbTaskCalculate.INDEX_TABLE_VALUES.ARCHIVE] = new DataTable();
                //Запрос для получения автоматически собираемых данных
                m_arTableOrigin[(int)HandlerDbTaskCalculate.INDEX_TABLE_VALUES.SESSION] = HandlerDb.GetValuesVar(Type
                                                                                                                 , _IdSession
                                                                                                                 , ActualIdPeriod
                                                                                                                 , CountBasePeriod
                                                                                                                 , arQueryRanges
                                                                                                                 , out err);
                //Проверить признак выполнения запроса
                if (err == 0)
                {
                    //Заполнить таблицу данными вводимых вручную (значения по умолчанию)
                    m_arTableOrigin[(int)HandlerDbTaskCalculate.INDEX_TABLE_VALUES.DEFAULT] = HandlerDb.GetValuesDef(ActualIdPeriod, out err);
                    //Проверить признак выполнения запроса
                    if (err == 0)
                    {
                        //Начать новую сессию расчета
                        // , получить входные для расчета значения для возможности редактирования
                        HandlerDb.CreateSession(_IdSession
                                                , _currIdPeriod
                                                , CountBasePeriod
                                                , _currIdTimezone
                                                , m_arTableDictPrjs[(int)INDEX_TABLE_DICTPRJ.PARAMETER]
                                                , ref m_arTableOrigin
                                                , new DateTimeRange(arQueryRanges[0].Begin, arQueryRanges[arQueryRanges.Length - 1].End)
                                                , out err, out strErr);
                        // создать копии для возможности сохранения изменений
                        for (HandlerDbTaskCalculate.INDEX_TABLE_VALUES indx = (HandlerDbTaskCalculate.INDEX_TABLE_VALUES.UNKNOWN + 1);
                             indx < HandlerDbTaskCalculate.INDEX_TABLE_VALUES.COUNT;
                             indx++)
                        {
                            m_arTableEdit[(int)indx] =
                                m_arTableOrigin[(int)indx].Copy();
                        }
                    }
                    else
                    {
                        strErr = @"ошибка получения данных по умолчанию с " + PanelManagement.m_dtRange.Begin.ToString()
                                 + @" по " + PanelManagement.m_dtRange.End.ToString();
                    }
                }
                else
                {
                    strErr = @"ошибка получения автоматически собираемых данных с " + PanelManagement.m_dtRange.Begin.ToString()
                             + @" по " + PanelManagement.m_dtRange.End.ToString();
                }
            }
            else
            {
                ;
            }

            if (!(iRegDbConn > 0))
            {
                m_handlerDb.UnRegisterDbConnection();
            }
            else
            {
                ;
            }
        }