private void WriteCrewSectionOfCtf(CrewMember crew, StringBuilder ctfSb, StringBuilder baseErrorSb, StringBuilder panelErrorSb) { Panel crewPanel = Panels.FirstOrDefault(n => n.Name == crew.PanelName); if (crewPanel != null) { ctfSb.AppendLine($"CREW: 1 \"{crew.PersNr}\""); foreach (OffPeriod offPeriod in crewPanel.GetOffPeriods(StartDate, EndDate)) { double numberOfDays = (offPeriod.EndDate - offPeriod.StartDate).TotalDays + 1; for (int dayInOffPeriod = 0; dayInOffPeriod < numberOfDays; dayInOffPeriod++) { DateTime currentDate = offPeriod.StartDate.AddDays(dayInOffPeriod); string crewBase; if (crew.HasContract(currentDate) && crew.NeedsJS(currentDate) && crew.HasValidBase(currentDate, out crewBase)) { string start = currentDate.Year.ToString() + currentDate.Month.ToString().PadLeft(2, '0') + currentDate.Day.ToString().PadLeft(2, '0'); string end = currentDate.AddDays(dayInOffPeriod + 1).Year.ToString() + currentDate.AddDays(1).Month.ToString().PadLeft(2, '0') + currentDate.AddDays(1).Day.ToString().PadLeft(2, '0'); ctfSb.AppendLine($"{crew.PersNr} * F 0 {start} {crewBase} 0000 JS * * 0000 {crewBase} {end}"); } else if (crew.HasContract(currentDate) && crew.HasValidBase(currentDate) == false) { baseErrorSb.AppendLine($"{crew.ThreeLetter} does not have a valid base for {currentDate.ToShortDateString()}"); } } } } else { panelErrorSb.AppendLine($"{crew.ThreeLetter} Unable to find correct panel. The csv shows their panel as {crew.PanelName}"); } }
/// <summary> /// Creates new table panel for the layer. /// </summary> public TablePanelInfo CreateTablePanel(ILegendLayer layer) { var grid = CreateGrid(); grid.SetTableSource(layer.FeatureSet, layer.Handle, layer.LayerType == Api.Enums.LayerType.VectorLayer); grid.ColumnContextNeeded += (s, e) => ShowContextMenu(s, e.ColumnIndex); grid.CellContextMenuStripNeeded += (s, e) => ShowContextMenu(s, e.ColumnIndex); var first = Panels.FirstOrDefault(); var panel = Panels.Add(grid, layer.Handle); panel.Caption = layer.Name; int size; DockPanelState state; GetLayoutSpecs(AppConfig.Instance.TableEditorLayout, out size, out state); if (first != null) { panel.DockTo(first, state, size); panel.TabPosition = 0; } return(new TablePanelInfo(grid, layer, panel)); }
/// <summary> /// Updates a caption text of the specified panel. /// </summary> public void UpdatePanelCaption(int layerHandle) { var layer = _context.Legend.Layers.ItemByHandle(layerHandle); if (layer == null) { return; } var msg = layer.Name; var fs = layer.FeatureSet; if (fs != null) { if (fs.CanEditTable()) { msg += "*"; } if (fs.NumSelected > 0) { msg += string.Format(" - selected: {0} / {1}", fs.NumSelected, fs.NumFeatures); } if (fs.CanEditTable()) { int modified = fs.Features.Count(ft => ft.RowModified); msg += string.Format(" - modified: {0} / {1}", modified, fs.NumFeatures); } } var panel = Panels.FirstOrDefault(p => p.LayerHandle == layerHandle); if (panel != null) { panel.Caption = msg; } }
public TaskThumbnailPanel FindPanel(WorkerTask task) { return(Panels.FirstOrDefault(x => x.Task == task)); }
public BsPanelHtmlBuilder GetPanel(object id) { return(Panels.FirstOrDefault(p => p._id.Equals(id))); }