示例#1
0
 public TR(trObj trObj)
 {
     this.trObjs.Add(trObj);
 }
示例#2
0
 public void GetFormValue(DateTime date, Form fm)
 {
     try
     {
         if (fm == null)
         {
             return;
         }
         // получим список тегов из формы, с учетом объектов
         List <int> lists = this.forms.GetIDTags(fm, this.trObjs.Cast <int>().Select(o => o).ToArray());
         // получим переменные для запроса на выборку
         TData.TDataSources t_data  = new TData.TDataSources();
         SQLParameter[]     sqlpars = new SQLParameter[] {
             new SQLParameter()
             {
                 where = type_where.DATE, value = date
             }
         };
         // получим значения тегов после выборки
         List <DataMeasurement> list_data_measurement = t_data.GetDataMeasurement(lists, sqlpars);
         // Заполним значениями форму
         foreach (Group ged in fm.Groups.OrderBy(g => g.position))
         {
             foreach (TReport.TRForms.Type ted in ged.Types.OrderBy(t => t.position))
             {
                 foreach (Item item in ted.Items.OrderBy(i => i.position))
                 {
                     foreach (ItemObject io in item.ItemObjects.OrderBy(o => o.trobj))
                     {
                         trObj obj = this.trObjs.Find(o => o == (trObj)io.trobj);
                         if (obj != trObj.not)
                         {
                             foreach (ItemValue iv in io.ItemValues)
                             {
                                 foreach (Value val in iv.Values)
                                 {
                                     try
                                     {
                                         DataMeasurement    dm    = val != null && val.tag > 0 ? list_data_measurement.Find(m => m.id == val.tag) : null;
                                         DBValueMeasurement param = dm != null ? (DBValueMeasurement)list_data_measurement.Find(m => m.id == val.tag).value_measurement : null;
                                         val.value = param != null && val.multiplier != null ? (DBValueMeasurement)param.ConvertMultiplier((Multiplier)val.multiplier) : param;
                                     }
                                     catch (Exception e)
                                     {
                                         e.WriteError(String.Format("Ошибка полученния параметра :{0}, объект: {1}, tag: {2}", item.name, io.Object, val.tag), eventID);
                                     }
                                 }
                             }
                         }
                         else
                         {
                             item.ItemObjects.Remove(io);  // Удалить объект
                         }
                     }
                 }
             }
         }
     }
     catch (Exception e)
     {
         e.WriteErrorMethod(String.Format("GetFormValue(date={0}, fm.name={1})", date, fm.name), eventID);
     }
 }
示例#3
0
 public TREnergy(trObj trObj, Report[] reports) : base(trObj)
 {
     this.reports = reports.ToList(); GetForms();
 }