Ejemplo n.º 1
0
        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}");
            }
        }
Ejemplo n.º 2
0
        /// <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));
        }
Ejemplo n.º 3
0
        /// <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;
            }
        }
Ejemplo n.º 4
0
 public TaskThumbnailPanel FindPanel(WorkerTask task)
 {
     return(Panels.FirstOrDefault(x => x.Task == task));
 }
Ejemplo n.º 5
0
 public BsPanelHtmlBuilder GetPanel(object id)
 {
     return(Panels.FirstOrDefault(p => p._id.Equals(id)));
 }