public override void RefreshInfo() { if (colLogic == null) { colString = BuildColumn(listInfo, null, "ToString"); colString.Editable = false; colOrder = BuildColumn(listInfo, null, "Order"); colOrder.Visible = false; colLogic = BuildColumn(listInfo, null, "Logic"); colParamTable = BuildColumn(listInfo, null, "Column.Table"); colParamTable.Editable = false; colParam = BuildColumn(listInfo, null, "Column"); colParam.Width = 200; colComparer = BuildColumn(listInfo, null, "Comparer"); colValue = BuildColumn(listInfo, null, "Value"); colValue.Width = 200; listInfo.Columns.Add(colLogic); listInfo.Columns.Add(colParamTable); listInfo.Columns.Add(colParam); listInfo.Columns.Add(colComparer); listInfo.Columns.Add(colValue); listInfo.Tree = true; listInfo.Sorters.Clear(); OnColumnSort(colOrder, ListSortDirection.Ascending); } base.RefreshInfo(); }
public UpdateTemplateResponse UpdateTemplate(UpdateTemplateRequest request) { var template = DataContext.DashboardTemplates .Include(x => x.LayoutRows) .Include(x => x.LayoutRows.Select(y => y.LayoutColumns)) .Single(x => x.Id == request.Id); template.Name = request.Name; template.RefershTime = request.RefershTime; template.Remark = request.Remark; template.IsActive = request.IsActive; foreach (var row in template.LayoutRows.ToList()) { foreach (var column in row.LayoutColumns.ToList()) { DataContext.LayoutColumns.Remove(column); } DataContext.LayoutRows.Remove(row); } var index = 0; foreach (var row in request.LayoutRows) { var layoutRow = new LayoutRow(); var colIndex = 0; layoutRow.Index = index; foreach (var col in row.LayoutColumns) { var layoutColumn = new LayoutColumn(); layoutColumn.Index = colIndex; layoutColumn.Width = col.Width; if (col.ArtifactId != 0) { if (DataContext.Artifacts.Local.FirstOrDefault(x => x.Id == col.ArtifactId) == null) { var artifact = new Artifact { Id = col.ArtifactId, GraphicType = "Unchanged", GraphicName = "Unchanged", HeaderTitle = "Unchanged" }; //DataContext.Entry(artifact).State = EntityState.Unchanged; DataContext.Artifacts.Attach(artifact); layoutColumn.Artifact = artifact; } else { layoutColumn.Artifact = DataContext.Artifacts.Local.FirstOrDefault(x => x.Id == col.ArtifactId); } } layoutRow.LayoutColumns.Add(layoutColumn); colIndex++; } template.LayoutRows.Add(layoutRow); index++; } DataContext.DashboardTemplates.Attach(template); DataContext.Entry(template).State = EntityState.Modified; DataContext.SaveChanges(); return(new UpdateTemplateResponse()); }
void HighlightLineNumberingArea(LayoutColumn column, int leftBoundary) { LayoutPage page = column.GetParentByType <LayoutPage>(); Rectangle marginBounds = new Rectangle(new Point(leftBoundary, 0), new Size(column.Bounds.X - leftBoundary, page.Bounds.Height)); Canvas.FillRectangle(new RichEditBrush(NumberingHighlightColor), marginBounds); }
public void WriteMapColumns(LayoutColumn map, int sc, int sr) { mc++; if (sc == 0) { writer.WriteElement(new Column() { Min = (uint)mc, Max = (uint)mc, Width = 8, CustomWidth = true }); } sc++; foreach (var column in map) { if (column.Visible) { map.GetVisibleIndex(column, out int c, out int r); c += sc; r += sr; if (column.Count > 0) { WriteMapColumns(column, c, r); } else if (c >= mc) { mc++; writer.WriteElement(new Column() { Min = (uint)mc, Max = (uint)mc, Width = column.Width / 6, CustomWidth = true }); } } } }
/// <summary> /// Клонирует описание столбца /// </summary> /// <param name="column"></param> /// <returns></returns> protected static LayoutColumn cloneLayoutColumn(LayoutColumn column) { return(new LayoutColumn( null, column.Title, column.RSFileldName, column.IsHidden, column.Align, column.VAlign, column.Width, column.CellCssClass, column.HeaderCssClass, column.TotalCssClass, column.SubTitleCssClass, column.SubTotalCssClass, column.ColumnIsCounter, column.CounterStart, column.CounterIncrement, column.AggregationFunction, column.AggregationString, column.AggregationStringSubTitle, column.AggregationStringSubTotals, column.AggregationColspan, column.RowspanBy, column.Encoding, vartypes.@string, column.Formatters )); }
public CreateTemplateResponse CreateTemplate(CreateTemplateRequest request) { var template = request.MapTo <DashboardTemplate>(); var index = 0; foreach (var row in request.LayoutRows) { var layoutRow = new LayoutRow(); var colIndex = 0; layoutRow.Index = index; foreach (var col in row.LayoutColumns) { var LayoutColumn = new LayoutColumn(); LayoutColumn.Index = colIndex; LayoutColumn.Width = col.Width; LayoutColumn.HighlightPeriodeType = col.HighlightPeriodeType; LayoutColumn.ColumnType = col.ColumnType; if (col.ArtifactId != 0) { if (DataContext.Artifacts.Local.Where(x => x.Id == col.ArtifactId).FirstOrDefault() == null) { var artifact = new Artifact { Id = col.ArtifactId, GraphicType = "Unchanged", GraphicName = "Unchanged", HeaderTitle = "Unchanged" }; //DataContext.Entry(artifact).State = EntityState.Unchanged; DataContext.Artifacts.Attach(artifact); LayoutColumn.Artifact = artifact; } else { LayoutColumn.Artifact = DataContext.Artifacts.Local.Where(x => x.Id == col.ArtifactId).FirstOrDefault(); } } if (col.HighlightTypeId != 0) { if (DataContext.SelectOptions.Local.Where(x => x.Id == col.HighlightTypeId).FirstOrDefault() == null) { var highlightType = new SelectOption { Id = col.HighlightTypeId }; DataContext.SelectOptions.Attach(highlightType); LayoutColumn.HighlightType = highlightType; } else { LayoutColumn.HighlightType = DataContext.SelectOptions.Local.Where(x => x.Id == col.HighlightTypeId).FirstOrDefault(); } } layoutRow.LayoutColumns.Add(LayoutColumn); colIndex++; } template.LayoutRows.Add(layoutRow); index++; } DataContext.DashboardTemplates.Add(template); DataContext.SaveChanges(); return(new CreateTemplateResponse()); }
private void ValidateColumnLayout(Value layout, ResultInfo result) { LayoutColumn column = _strictParser.Parse <LayoutColumn>(layout.StructValue.ToString()); // Each nested item should be a column foreach (LayoutColumn_Column col in column.Columns) { foreach (Value v in col.Contents) { ValidateContent(v, result); } } }
private LayoutColumn GetLayout(string sectionName) { LayoutColumn layout = new LayoutColumn(); if (!string.IsNullOrEmpty(sectionName)) { if (sectionName == "data_ora") { layout.Type = sectionName; } else { var array = sectionName.Split('\''); layout.Area = array[0]; layout.Type = array[1].ToLower(); // questa gestione è dovuta dal fatto che nei sensori mi aspetto il nome dei modelli di riferimento. if (array[2].Contains('-')) { var split = array[2].Split('-'); for (int i = 0; i < split.Length; i++) { if (i == 0) { layout.ModelName = split[i]; } else { if (layout.Father == null) { layout.Father = new List <string>(); } layout.Father.Add(split[i]); } } } else { layout.ModelName = array[2]; } layout.Value = array[3]; } } return(layout); }
private void AddGirdView(DataTable dt, string bjlx, string title) { try { if (dt != null) { Store store = new Store { ID = "StoreRow_" + bjlx + "_" + DateTime.Now.ToString("HHmmss") }; JsonReader reader = new JsonReader(); reader.IDProperty = "col0"; store.Reader.Add(reader); Ext.Net.Panel tp = new Ext.Net.Panel(); tp.ID = "Panel_" + bjlx + "_" + DateTime.Now.ToString("HHmmss"); tp.Title = title; ColumnLayout cl = new ColumnLayout(); cl.ID = "ColumnLayout_" + bjlx + "_" + DateTime.Now.ToString("HHmmss"); cl.Split = true; cl.FitHeight = true; LayoutColumn lc1 = new LayoutColumn(); lc1.ColumnWidth = (decimal)0.75; LayoutColumn lc2 = new LayoutColumn(); lc2.ColumnWidth = (decimal)0.25; cl.Columns.Add(lc1); cl.Columns.Add(lc2); GridPanel gridPanel = AddGridPanel(dt, store, bjlx, reader); lc1.Items.Add(gridPanel); FormPanel panel = AddFormPanel(bjlx, title); lc2.Items.Add(panel); tp.Items.Add(cl); gridlist = gridlist + tp.ID + ","; TabPanelGrid.Items.Add(tp); if (X.IsAjaxRequest) { tp.Render(); } } } catch (Exception ex) { ILog.WriteErrorLog(ex); logManager.InsertLogError("AlarmCarDeal.aspx-AddGirdView", ex.Message + ";" + ex.StackTrace, "AddGirdView has an exception"); } }
public override void DrawColumn(LayoutColumn column) { LayoutPageArea pageArea = column.GetParentByType <LayoutPageArea>(); if (pageArea != null) { int leftBoundary = 0; if (previousColumnIndex >= 0) { leftBoundary = pageArea.Columns[previousColumnIndex].Bounds.Right; } if (column.LineNumbers.Count > 0) { HighlightLineNumberingArea(column, leftBoundary); } previousColumnIndex++; } base.DrawColumn(column); }
private StrcutureSystem SetValueInCogeneratorValueList(LayoutColumn valueColumnSplitted, StrcutureSystem structure, string value, int index) { var cogeFound = structure.CogeneratorList.Find(c => c.ModelName == valueColumnSplitted.ModelName); if (cogeFound != null) { var valueBag = cogeFound.CogeneratorValue[index - 3]; if (valueBag != null) { switch (valueColumnSplitted.Value) { case "PotGe": valueBag.GeneratorePower = Convert.ToDouble(value); break; case "Cosfi": valueBag.Cosphi = Convert.ToDouble(value); break; case "CoGeL1": case "CoGeL2": case "CoGeL3": { if (valueBag.GeneratorCurrent == null) { valueBag.GeneratorCurrent = new List <double>(); } valueBag.GeneratorCurrent.Add(Convert.ToDouble(value)); } break; case "TeGeL1": case "TeGeL2": case "TeGeL3": { if (valueBag.GeneratorVoltage == null) { valueBag.GeneratorVoltage = new List <double>(); } valueBag.GeneratorVoltage.Add(Convert.ToDouble(value)); } break; } } } return(structure); }
private StrcutureSystem SetHeatPump(LayoutColumn valueSplitted, StrcutureSystem structure) { var heatPumpFund = structure.HeatPumpList.Find(c => c.ModelName == valueSplitted.ModelName); if (heatPumpFund == null) { var item = new HeatPump() { InstallationArea = valueSplitted.Area, ModelName = valueSplitted.ModelName }; if (!string.IsNullOrEmpty(valueSplitted.Value)) { if (item.HeatPumpValue == null) { item.HeatPumpValue = new List <HeatPumpValue>(); } if (item.HeatPumpValue.Count == 0) { HeatPumpValue heatPumpValue = new HeatPumpValue(); heatPumpValue.LabelValues = new List <string>() { valueSplitted.Value }; item.HeatPumpValue.Add(heatPumpValue); } } structure.HeatPumpList.Add(item); } else { if (!string.IsNullOrEmpty(valueSplitted.Value)) { var valueBag = heatPumpFund.HeatPumpValue.LastOrDefault(); if (valueBag != null && !valueBag.LabelValues.Contains(valueSplitted.Value)) { valueBag.LabelValues.Add(valueSplitted.Value); } } } return(structure); }
private StrcutureSystem SetCogeneratorList(LayoutColumn valueSplitted, StrcutureSystem structure) { var cogeFind = structure.CogeneratorList.Find(c => c.ModelName == valueSplitted.ModelName); if (cogeFind == null) { var item = new Cogenerator() { InstallationArea = valueSplitted.Area, ModelName = valueSplitted.ModelName }; if (!string.IsNullOrEmpty(valueSplitted.Value)) { if (item.CogeneratorValue == null) { item.CogeneratorValue = new List <CogeneratoreValue>(); } if (item.CogeneratorValue.Count == 0) { CogeneratoreValue cogVal = new CogeneratoreValue(); cogVal.LabelValues = new List <string>() { valueSplitted.Value }; item.CogeneratorValue.Add(cogVal); } } structure.CogeneratorList.Add(item); } else { if (!string.IsNullOrEmpty(valueSplitted.Value)) { var valueBag = cogeFind.CogeneratorValue.LastOrDefault(); if (valueBag != null && !valueBag.LabelValues.Contains(valueSplitted.Value)) { valueBag.LabelValues.Add(valueSplitted.Value); } } } return(structure); }
private StrcutureSystem SetBoilerList(LayoutColumn valueSplitted, StrcutureSystem structure) { var boilerFund = structure.BoilerList.Find(c => c.ModelName == valueSplitted.ModelName); if (boilerFund == null) { var item = new Boiler() { InstallationArea = valueSplitted.Area, ModelName = valueSplitted.ModelName }; if (!string.IsNullOrEmpty(valueSplitted.Value)) { if (item.BoilerValue == null) { item.BoilerValue = new List <BoilerValue>(); } if (item.BoilerValue.Count == 0) { BoilerValue boilerValue = new BoilerValue(); boilerValue.LabelValues = new List <string>() { valueSplitted.Value }; item.BoilerValue.Add(boilerValue); } } structure.BoilerList.Add(item); } else { if (!string.IsNullOrEmpty(valueSplitted.Value)) { var valueBag = boilerFund.BoilerValue.LastOrDefault(); if (valueBag != null && !valueBag.LabelValues.Contains(valueSplitted.Value)) { valueBag.LabelValues.Add(valueSplitted.Value); } } } return(structure); }
// get information about a current regular text block public static string GetInformationAboutRegularTextBlock(PlainTextBox currentTextBlock, Document currentDocument) { string returnedInformation = "!A REGULAR TEXT BLOCK IS SELECTED!\r\n"; returnedInformation += String.Format("Content: {0}\r\n", currentTextBlock.Text); LayoutRow currentRow = currentTextBlock.Parent as LayoutRow; LayoutColumn currentColumn = currentRow.Parent as LayoutColumn; int currentLineIndex = currentColumn.Rows.ToList().IndexOf(currentRow); returnedInformation += String.Format("Line index: {0}\r\n", currentLineIndex + 1); returnedInformation += String.Format("Start position: {0}\r\n", currentTextBlock.Range.Start); returnedInformation += String.Format("End position: {0}\r\n", currentTextBlock.Range.Start + currentTextBlock.Range.Length); int currentParagraphIndex = currentDocument.Paragraphs.ToList().IndexOf(currentDocument.Paragraphs.Get(currentDocument.CreatePosition(currentTextBlock.Range.Start))); returnedInformation += String.Format("Paragrpah index: {0}\r\n", currentParagraphIndex + 1); returnedInformation += String.Format("Text block bounds: {0}\r\n", currentTextBlock.Bounds); return(returnedInformation); }
private StrcutureSystem SetValueInHeatPupValueList(LayoutColumn valueColumnSplitted, StrcutureSystem structure, string value, int row) { var heatPump = structure.HeatPumpList.Find(c => c.ModelName == valueColumnSplitted.ModelName); if (heatPump != null) { var valueBag = heatPump.HeatPumpValue[row - 3]; if (valueBag != null) { switch (valueColumnSplitted.Value) { case "Amp": valueBag.CurrentAbsorbed = Convert.ToDouble(value); break; case "FlRate": valueBag.PompFlow = Convert.ToDouble(value); break; case "PwrLO": valueBag.InstantPower = Convert.ToDouble(value); break; } } } return(structure); }
private StrcutureSystem SetValueInBoilerValueList(LayoutColumn valueColumnSplitted, StrcutureSystem structure, string value, int row) { var boilerFound = structure.BoilerList.Find(c => c.ModelName == valueColumnSplitted.ModelName); if (boilerFound != null) { var valueBag = boilerFound.BoilerValue[row - 3]; if (valueBag != null) { switch (valueColumnSplitted.Value) { case "TFl": valueBag.SetPointTemperatureSend = Convert.ToDouble(value); break; case "Mod": valueBag.ModulationFlame = Convert.ToDouble(value); break; case "PT1Te": valueBag.PtTemperatureSend = Convert.ToDouble(value); break; case "StCBu": valueBag.BurnerState = Convert.ToDouble(value); break; } } } return(structure); }
protected override void VisitColumn(LayoutColumn column) { TryAddElementToCollection(column, ContentDisplayAction.Select, true); base.VisitColumn(column); }
public override void DrawColumn(LayoutColumn column) { base.DrawColumn(column); HighlightElement(column); }
protected override void VisitColumn(LayoutColumn column) { AddTreeNode(column, ContentDisplayAction.Select); base.VisitColumn(column); }
public void ExpMapLayout(SheetData sheetData, LayoutColumn map, int scol, int srow, out int mcol, out int mrow, LayoutList list, object listItem, StringKeyList stringTable) { int tws = map.GetWithdSpan(); //int ths = tool.LayoutMapTool.GetHeightSpan(map); mrow = srow; mcol = scol; Row temp = null; for (int i = 0; i < map.Count; i++) { var item = map[i]; if (!item.Visible) { continue; } map.GetVisibleIndex(item, out int c, out int r); c += scol; r += srow; if (item.Count > 0) { ExpMapLayout(sheetData, item, c, r, out c, out r, list, listItem, stringTable); } else { object celldata = ((LayoutColumn)item).Text; if (list != null) { object val = list.ReadValue(listItem, (ILayoutCell)item); celldata = list.FormatValue(listItem, val, (ILayoutCell)item); if (val is decimal && decimal.TryParse(celldata.ToString(), out decimal dval)) { celldata = val; } } Cell cell = GetCell(celldata, c, r, celldata is decimal ? 3U : 6U, stringTable); if (list == null) { cell.StyleIndex = 7; GetColumn(sheetData, c + 1, item.Width); } if (temp == null || temp.RowIndex != r) { temp = GetRow(sheetData, r, mrow >= r); } temp.Append(cell); int ws = map.GetRowWidthSpan(item.Row); if (tws > ws) { MergeCell mcell = new MergeCell() { Reference = new CellRange(c, r, c + tws - ws, r).ToString() }; GetMergeCells(sheetData.Parent).Append(mcell); } int hs = map.GetRowHeightSpan(item.Row, true); if (hs > 1) { MergeCell mcell = new MergeCell() { Reference = new CellRange(c, r, c, r + hs - 1).ToString() }; GetMergeCells(sheetData.Parent).Append(mcell); } } if (r > mrow) { mrow = r; } if (c > mcol) { mcol = c; } } }
public void WriteMapItem(LayoutColumn map, int listIndex, object listItem, int sc, int sr, ref int mr, StringKeyList stringTable, List <Row> prows = null) { int tws = map.GetWithdSpan(); Row row = null; var rows = prows; if (prows == null) { rows = new List <Row>(); mr++; row = GenerateRow(mr, mc, listItem == null, stringTable); WriteCell(row.GetFirstChild <Cell>(), listItem == null ? (object)"#" : (object)(listIndex + 1), stringTable); rows.Add(row); sc = 1; } var nr = mr; foreach (var item in map) { if (item.Visible) { map.GetVisibleIndex(item, out int c, out int r); c += sc; r += sr; if (item.Count > 0) { WriteMapItem(item, listIndex, listItem, c, r, ref mr, stringTable, rows); } else { int rr = nr + r; if (rows.Count <= r) { mr++; row = GenerateRow(rr, mc, listItem == null, stringTable); rows.Add(row); } else { row = rows[r]; } object celldata = ((LayoutColumn)item).Text; if (listIndex == -2) { celldata = list.GetCollectedValue((LayoutColumn)item, group); } if (listItem != null) { object val = list.ReadValue(listItem, (ILayoutCell)item); celldata = list.FormatValue(listItem, val, (ILayoutCell)item); if (val is decimal && ((ILayoutCell)item).Format != "p") { celldata = val; } if (prows == null && c == 1 && listItem is Node) { var s = GroupHelper.Level((Node)listItem) * 4; celldata = celldata.ToString().PadLeft(celldata.ToString().Length + s, '-'); } } var cellc = (Cell)row.ChildElements.GetItem(c); WriteCell(cellc, celldata, stringTable); if (celldata is decimal) { cellc.StyleIndex = 3; } int ws = map.GetRowWidthSpan(item.Row); int hs = map.GetRowHeightSpan(item.Row, true); if (tws > ws && hs > 1) { mcells.Add(new MergeCell() { Reference = new CellRange(c, rr, c + tws - ws, rr + hs - 1).ToString() }); } else if (tws > ws) { mcells.Add(new MergeCell() { Reference = new CellRange(c, rr, c + tws - ws, rr).ToString() }); } else if (hs > 1) { mcells.Add(new MergeCell() { Reference = new CellRange(c, rr, c, rr + hs - 1).ToString() }); } } } } if (prows == null) { if (rows.Count > 1) { mcells.Add(new MergeCell() { Reference = new CellRange(0, nr, 0, nr + rows.Count - 1).ToString() }); } if (listItem is Node) { foreach (var item in rows) { item.OutlineLevel = (byte)(GroupHelper.Level((IGroup)listItem)); if (((IGroup)listItem).IsCompaund) { item.Collapsed = !((IGroup)listItem).Expand; } if (item.OutlineLevel > 0) { item.Hidden = !((IGroup)listItem).IsExpanded; } } } WriteRows(writer, rows); if (listItem is Node && map != null) { var i = 0; foreach (var item in ((Node)listItem).Nodes) { WriteMapItem(map, i++, item, 0, 0, ref mr, stringTable); } } } }
public void Visit(LayoutColumn column) { Array.ForEach(column.collection, c => c.Accept(this)); Array.ForEach(column.fieldSet, f => f.Accept(this)); Array.ForEach(column.tabGroup, tg => tg.Accept(this)); }
private StrcutureSystem SetValueInSensorValueList(LayoutColumn valueColumnSplitted, StrcutureSystem structure, string value, int row) { var sensorFound = new Sensor(); if (structure.SensorList.Count() > 0) { foreach (string usedBy in valueColumnSplitted.Father) { sensorFound = structure.SensorList.Find(c => c.ModelName == valueColumnSplitted.ModelName && c.UsedBy.Contains(usedBy)); if (sensorFound != null) { break; } } } if (sensorFound != null) { if (valueColumnSplitted.Type == "energymeter") { var valueBag = sensorFound.EnergyMeterList[row - 3]; if (valueBag != null) { switch (valueColumnSplitted.Value) { case "EgH": valueBag.Energy = Convert.ToDouble(value); break; case "Fi": valueBag.M3Instant = Convert.ToDouble(value); break; case "P": valueBag.InstantPower = Convert.ToDouble(value); break; case "TFl": valueBag.TemperatureSend = Convert.ToDouble(value); break; case "TRt": valueBag.TemperatureBack = Convert.ToDouble(value); break; case "Vlm": valueBag.M3Total = Convert.ToDouble(value); break; case "DT": valueBag.DeltaTemperature = Convert.ToDouble(value); break; } } } if (valueColumnSplitted.Type == "pump") { var valueBag = sensorFound.PumpSensorList[row - 3]; if (valueBag != null) { switch (valueColumnSplitted.Value) { case "CMD": { if (valueBag.CommandValue == null) { valueBag.CommandValue = new List <CommandPump>(); CommandPump command = new CommandPump(); command.Father = valueColumnSplitted.Father.FirstOrDefault(); // non funziona se ci sono piu padri command.Value = Convert.ToDouble(value); valueBag.CommandValue.Add(command); } else { var search = valueBag.CommandValue.Find(c => c.Father == valueColumnSplitted.Father.FirstOrDefault()); if (search != null) { search.Value = Convert.ToDouble(value); } else { CommandPump command = new CommandPump(); command.Father = valueColumnSplitted.Father.FirstOrDefault(); // non funziona se ci sono piu padri command.Value = Convert.ToDouble(value); valueBag.CommandValue.Add(command); } } break; } case "TMnFI": valueBag.TemperatureSend = Convert.ToDouble(value); break; case "TMnRt": valueBag.TemperatureBack = Convert.ToDouble(value); break; case "TOa": valueBag.TemperatureExternal = Convert.ToDouble(value); break; } } } } return(structure); }
public void ExpMapLayout(Doc.Odf.Table sheetData, LayoutColumn map, int scol, int srow, out int mcol, out int mrow, LayoutList list, object listItem) { int tws = map.GetWithdSpan(); //int ths = tool.LayoutMapTool.GetHeightSpan(map); mrow = srow; mcol = scol; Doc.Odf.Row temp = null; for (int i = 0; i < map.Count; i++) { var item = map[i]; if (!item.Visible) { continue; } map.GetVisibleIndex(item, out int cc, out int rr); int c = cc + scol; int r = rr + srow; if (item.Count > 0) { ExpMapLayout(sheetData, item, c, r, out c, out r, list, listItem); } else { Doc.Odf.Cell cell = GetCell(sheetData, c, r); if (list != null) { cell.StyleName = "ce3"; cell.Val = list.FormatValue(listItem, (ILayoutCell)item) as string; } else { cell.StyleName = "ce1"; cell.Val = item.Text; GetColumn(sheetData, c + 1, item.Width); } if (temp == null || temp.Index != r) { temp = GetRow(sheetData, r, mrow >= r); } if (r > mrow && r > srow) { for (int j = 0; j < scol; j++) { var ccell = new Doc.Odf.CoveredCell(sheetData.Document); temp.Add(ccell); } } temp.Add(cell); int ws = map.GetRowWidthSpan(item.Row); if (tws > ws) { cell.NumberColumnsSpanned = ((tws - ws) + 1).ToString(); cell.NumberRowsSpanned = "1"; var ccell = new Doc.Odf.CoveredCell(sheetData.Document) { ColumnsRepeatedCount = (tws - ws).ToString() }; temp.Add(ccell); } int hs = map.GetRowHeightSpan(item.Row, true); if (hs > 1) { cell.NumberRowsSpanned = (hs).ToString(); if (cell.NumberColumnsSpanned.Length == 0) { cell.NumberColumnsSpanned = "1"; } } } if (r > mrow) { mrow = r; } if (c > mcol) { mcol = c; } } }
private StrcutureSystem SetSensorList(LayoutColumn valueSplitted, StrcutureSystem structure) { var sensorFound = new Sensor(); if (valueSplitted.Value != "CMD") { if (structure.SensorList.Count() > 0) { foreach (string usedBy in valueSplitted.Father) { sensorFound = structure.SensorList.Find(c => c.ModelName == valueSplitted.ModelName && c.UsedBy.Contains(usedBy)); if (sensorFound != null) { break; } } } } else { sensorFound = structure.SensorList.Find(c => c.ModelName == valueSplitted.ModelName); } if (sensorFound == null || structure.SensorList.Count() == 0) { var item = new Sensor() { InstallationArea = valueSplitted.Area, ModelName = valueSplitted.ModelName }; item.UsedBy = new List <string>(); item.UsedBy = valueSplitted.Father; if (valueSplitted.Type == "energymeter") { if (item.EnergyMeterList == null) { item.EnergyMeterList = new List <EnergyMeter>(); EnergyMeter energyMeter = new EnergyMeter(); energyMeter.LabelValues = new List <string>() { valueSplitted.Value }; item.EnergyMeterList.Add(energyMeter); } else { var valueBag = sensorFound.EnergyMeterList.LastOrDefault(); valueBag.LabelValues.Add(valueSplitted.Value); } } if (valueSplitted.Type == "pump") { if (item.PumpSensorList == null) { item.PumpSensorList = new List <PumpSensor>(); PumpSensor pump = new PumpSensor(); pump.LabelValues = new List <string>() { valueSplitted.Value }; item.PumpSensorList.Add(pump); } else { var valueBag = sensorFound.PumpSensorList.LastOrDefault(); valueBag.LabelValues.Add(valueSplitted.Value); } } structure.SensorList.Add(item); } else { if (!string.IsNullOrEmpty(valueSplitted.Value)) { if (valueSplitted.Type == "energymeter") { var valueBag = sensorFound.EnergyMeterList.LastOrDefault(); if (valueBag != null && !valueBag.LabelValues.Contains(valueSplitted.Value)) { valueBag.LabelValues.Add(valueSplitted.Value); } } if (valueSplitted.Type == "pump") { var valueBag = sensorFound.PumpSensorList.LastOrDefault(); if (valueBag != null && !valueBag.LabelValues.Contains(valueSplitted.Value)) { valueBag.LabelValues.Add(valueSplitted.Value); } if (valueBag != null && valueSplitted.Value == "CMD") { foreach (string s in valueSplitted.Father) { if (!sensorFound.UsedBy.Contains(s)) { sensorFound.UsedBy.Add(s); } } } } } } return(structure); }