Esempio n. 1
0
        public int CompareTo(FormProperty rhs)
        {
            int result = Name.CompareTo(rhs.Name);

            if (result != 0)
            {
                return(result);
            }
            result = (ForeColor ?? Color.Black).ToArgb().CompareTo((rhs.ForeColor ?? Color.Black).ToArgb());
            if (result != 0)
            {
                return(result);
            }
            result = (BackColor ?? Color.Black).ToArgb().CompareTo((rhs.BackColor ?? Color.Black).ToArgb());
            if (result != 0)
            {
                return(result);
            }
            result = GroupingModes.SequenceCompareTo(rhs.GroupingModes);
            if (result != 0)
            {
                return(result);
            }
            result = PivotModes.SequenceCompareTo(rhs.PivotModes);
            if (result != 0)
            {
                return(result);
            }
            result = SortColumns.SequenceCompareTo(rhs.SortColumns);
            if (result != 0)
            {
                return(result);
            }
            return(ColumnProperties.SequenceCompareTo(rhs.ColumnProperties));
        }
Esempio n. 2
0
        void Initialize()
        {
            SmartColumn path                = new SmartColumn(this, PCResources.PathColumn, 288, "Path");
            SmartColumn project             = new SmartColumn(this, PCResources.ProjectColumn, 76, "Project");
            SmartColumn conflictType        = new SmartColumn(this, PCResources.ConflictTypeColumn, 92, "ConflictType");
            SmartColumn conflictDescription = new SmartColumn(this, PCResources.ConflictDescriptionColumn, 288, "ConflictDescription");

            SmartColumn change   = new SmartColumn(this, PCResources.ChangeColumn, 76, "Change");
            SmartColumn fullPath = new SmartColumn(this, PCResources.FullPathColumn, 327, "FullPath");

            SmartColumn changeList  = new SmartColumn(this, PCResources.ChangeListColumn, 76, "ChangeList");
            SmartColumn folder      = new SmartColumn(this, PCResources.FolderColumn, 196, "Folder");
            SmartColumn locked      = new SmartColumn(this, PCResources.LockedColumn, 38, "Locked");
            SmartColumn modified    = new SmartColumn(this, PCResources.ModifiedColumn, 76, "Modified");
            SmartColumn name        = new SmartColumn(this, PCResources.NameColumn, 76, "Name");
            SmartColumn type        = new SmartColumn(this, PCResources.TypeColumn, 76, "Type");
            SmartColumn workingCopy = new SmartColumn(this, PCResources.WorkingCopyColumn, 76, "WorkingCopy");

            Columns.AddRange(new ColumnHeader[]
            {
                path,
                project,
                conflictType,
                conflictDescription,
            });

            modified.Sorter = new SortWrapper(
                delegate(ConflictListItem x, ConflictListItem y)
            {
                return(x.PendingChange.SvnItem.Modified.CompareTo(y.PendingChange.SvnItem.Modified));
            });

            change.Groupable      = true;
            changeList.Groupable  = true;
            folder.Groupable      = true;
            locked.Groupable      = true;
            project.Groupable     = true;
            type.Groupable        = true;
            workingCopy.Groupable = true;

            path.Hideable = false;

            AllColumns.Add(change);
            AllColumns.Add(changeList);
            AllColumns.Add(conflictType);
            AllColumns.Add(conflictDescription);
            AllColumns.Add(folder);
            AllColumns.Add(fullPath);
            AllColumns.Add(locked);
            AllColumns.Add(modified);
            AllColumns.Add(name);
            AllColumns.Add(path);
            AllColumns.Add(project);
            AllColumns.Add(type);
            AllColumns.Add(workingCopy);

            SortColumns.Add(path);

            FinalSortColumn = path;
        }
        public SubmitListView()
        {
            SmartColumn path     = new SmartColumn(this, "Path", 60, "Path");
            SmartColumn project  = new SmartColumn(this, "Project", 60, "Project");
            SmartColumn change   = new SmartColumn(this, "Change", 60, "Change");
            SmartColumn fullPath = new SmartColumn(this, "Full Path", 60, "FullPath");

            Columns.AddRange(new ColumnHeader[]
            {
                path,
                project,
                change,
                fullPath
            });

            project.Groupable = true;

            path.Hideable = false;

            SortColumns.Add(path);
            GroupColumns.Add(project);

            FinalSortColumn = path;

            ShowSelectAllCheckBox = true;
        }
Esempio n. 4
0
        public SortDirection GetSortDirection(SortColumns curCol)
        {
            SortDirection result = default;

            switch (curCol)
            {
            case SortColumns.Date:
                result = SortDirection.Ascending;
                break;

            case SortColumns.Temperature:
                result = SortDirection.Descending;
                break;

            case SortColumns.Humidity:
                result = SortDirection.Ascending;
                break;

            case SortColumns.MoldRisk:
                result = SortDirection.Ascending;
                break;

            default:
                break;
            }
            if (curCol == SortBy)
            {
                result = SortDir == SortDirection.Ascending ? SortDirection.Descending : SortDirection.Ascending;
            }
            return(result);
        }
Esempio n. 5
0
        public override int CalculateSearchHashCode()
        {
            var hashCode = base.CalculateSearchHashCode();

            hashCode += UniqueResult.GetHashCode();

            if (Type != null)
            {
                hashCode += Type.GetHashCode();
            }

            if (OutputColumns != null)
            {
                OutputColumns.ForEach(x => hashCode += x.CalculateSearchHint());
            }

            if (SortColumns != null)
            {
                SortColumns.ForEach(x => hashCode += x.CalculateSearchHint());
            }

            if (Criteria != null)
            {
                Criteria.ForEach(x => hashCode += x.CalculateSearchHashCode());
            }

            return(hashCode);
        }
Esempio n. 6
0
        public AllProjectsViewModel(ProjectData projectData, TaskData taskData)
        {
            if (projectData == null)
            {
                throw new ArgumentNullException("projectData");
            }

            base.DisplayName  = Properties.Resources.Projects_DisplayName;
            base.DisplayImage = "pack://application:,,,/TaskConqueror;Component/Assets/Images/project.png";

            _projectData = projectData;
            _taskData    = taskData;

            // Subscribe for notifications of when a new project is saved.
            _projectData.ProjectAdded   += this.OnProjectAdded;
            _projectData.ProjectUpdated += this.OnProjectUpdated;
            _projectData.ProjectDeleted += this.OnProjectDeleted;

            this.AllProjects = new ObservableCollection <ProjectViewModel>();
            this.AllProjects.CollectionChanged += this.OnCollectionChanged;

            this.PageFirst();

            SortColumns.Add(new SortableProperty()
            {
                Description = "Title", Name = "Title"
            });
            SortColumns.Add(new SortableProperty()
            {
                Description = "Status", Name = "StatusId"
            });
            SortColumns.Add(new SortableProperty()
            {
                Description = "Est. Cost", Name = "EstimatedCost"
            });
            SortColumns.Add(new SortableProperty()
            {
                Description = "Goal", Name = "GoalTitle"
            });
            SortColumns.Add(new SortableProperty()
            {
                Description = "Date Created", Name = "CreatedDate"
            });
            SortColumns.Add(new SortableProperty()
            {
                Description = "Date Completed", Name = "CompletedDate"
            });

            SelectedSortColumn = SortColumns.FirstOrDefault();

            // select the first project
            ProjectViewModel firstProject = AllProjects.FirstOrDefault();

            if (firstProject != null)
            {
                firstProject.IsSelected = true;
            }
        }
Esempio n. 7
0
        public SortedQueue GetSortedQueue(List <Models.TransactionQueue> pendingTransactions, string sortedColumnName, int sortedDirection, int page, int pageSize)
        {
            //instance to hold values of anonymous type
            var sortedQueue = new SortedQueue();

            //fetch data of priority rules
            var priorityRules = _priorityRules.GetPriorityRules();

            //fetch values of smartsort Columns dynamically by priority rules, it can be more than 1 column
            //if smart sort columns are not defined set values of default column as TransactionPriorityOrder
            var listofSmartCol = SortColumns.GetSmartColumn(priorityRules.Result);

            //fetch data after making join pending transaction and priority rules
            var result = (from pt in pendingTransactions
                          join pr in priorityRules.Result
                          on pt.TranPriorityId equals pr.TransactionPriorityId
                          //orderby
                          //pt.Status descending,
                          //pt.Type descending,
                          //pr.TransactionPriorityOrder ascending,
                          ////listofSmartCol,
                          //pt.ReceivedDt ascending,
                          //pt.ComponentNumber ascending

                          select new TransactionQueueItems()
            {
                Id = pt.Id,
                PriorityName = pr.TransactionPriorityCode,
                TransactionPriorityOrder = pr.TransactionPriorityOrder,
                Quantity = pt.Quantity,
                Item = pt.Description,
                Location = pt.Location,
                Destination = pt.Destination,
                PatientName = pt.PatientName,
                Description = pt.Description,
                Color = pr.Color,
                Status = pt.Status,
                Type = pt.Type,
                ReceivedDT = pt.ReceivedDt,
                ComponentNumber = pt.ComponentNumber,
                Rack = StorageSpace.GetStorageSpace(pt.Devices, Models.StorageSpaceItemType.Rack),
                Shelf = StorageSpace.GetStorageSpace(pt.Devices, Models.StorageSpaceItemType.Shelf),
                Bin = StorageSpace.GetStorageSpace(pt.Devices, Models.StorageSpaceItemType.Bin),
                Slot = StorageSpace.GetStorageSpace(pt.Devices, Models.StorageSpaceItemType.Slot)
            }
                          )
                         .ToList();

            DoSmartSort smartSort  = new DoSmartSort();
            var         sortedList = smartSort.OrderBySmartSort(result, listofSmartCol);

            if (page >= 1 && pageSize >= 1)
            {
                sortedList = sortedList.Skip((page - 1) * pageSize).Take(pageSize).ToList();
            }
            sortedQueue.QueueList = sortedList;
            return(sortedQueue);
        }
        private void VisitSortExpression(KeyValuePair <string, Expression> sortExpression)
        {
            var visitor = new MemberExpressionVisitor(_context);

            visitor.Visit(sortExpression.Value);
            if (visitor.Token.Type != TokenType.Column)
            {
                throw new Exception();
            }
            SortColumns.Add(new KeyValuePair <string, Column>(sortExpression.Key, visitor.Token.Column));
        }
 public void SetOrToggleSortColumn(string columnName)
 {
     if (SortColumns.ContainsKey(columnName))
     {
         SortColumns[columnName] = SortColumns[columnName].Toggle();
     }
     else
     {
         SortColumns.Clear();
         SortColumns.Add(columnName, SortDirection.Ascending());
     }
 }
                protected override ValidationResult IsValid(object value, ValidationContext validationContext)
                {
                    var str = value as string;

                    if (str == null || SortColumns.ContainsKey(str))
                    {
                        return(ValidationResult.Success);
                    }

                    return(new ValidationResult(
                               $"The value of {validationContext.DisplayName} must be one of the following: {string.Join(", ", SortColumns.Keys)}"));
                }
Esempio n. 11
0
        // 清除所有留存的排序信息,刷新list的标题栏上的陈旧的排序标志
        public static void ClearSortColumns(ListView list)
        {
            ListViewProperty prop = GetListViewProperty(list);

            if (prop == null)
            {
                return;
            }

            prop.SortColumns.Clear();
            SortColumns.ClearColumnSortDisplay(list.Columns);

            prop.CurrentDbName = "";    // 清除记忆
        }
Esempio n. 12
0
        void Init()
        {
            SmartColumn issueId = new SmartColumn(this, "&Issue Id", 100, "IssueId");

            AllColumns.Add(issueId);

            Columns.AddRange(
                new ColumnHeader[]
            {
                issueId
            });

            SortColumns.Add(issueId);
            FinalSortColumn = issueId;
        }
Esempio n. 13
0
        public override int GetHashCode()
        {
            int hashcode = 157;

            unchecked {
                if (__isset.startRow)
                {
                    hashcode = (hashcode * 397) + StartRow.GetHashCode();
                }
                if (__isset.stopRow)
                {
                    hashcode = (hashcode * 397) + StopRow.GetHashCode();
                }
                if (__isset.timestamp)
                {
                    hashcode = (hashcode * 397) + Timestamp.GetHashCode();
                }
                if (__isset.columns)
                {
                    hashcode = (hashcode * 397) + TCollections.GetHashCode(Columns);
                }
                if (__isset.caching)
                {
                    hashcode = (hashcode * 397) + Caching.GetHashCode();
                }
                if (__isset.filterString)
                {
                    hashcode = (hashcode * 397) + FilterString.GetHashCode();
                }
                if (__isset.batchSize)
                {
                    hashcode = (hashcode * 397) + BatchSize.GetHashCode();
                }
                if (__isset.sortColumns)
                {
                    hashcode = (hashcode * 397) + SortColumns.GetHashCode();
                }
                if (__isset.reversed)
                {
                    hashcode = (hashcode * 397) + Reversed.GetHashCode();
                }
                if (__isset.cacheBlocks)
                {
                    hashcode = (hashcode * 397) + CacheBlocks.GetHashCode();
                }
            }
            return(hashcode);
        }
Esempio n. 14
0
        protected override void OnColumnClick(ColumnClickEventArgs e)
        {
            if (!DesignMode && View == View.Details && !VirtualMode)
            {
                ColumnHeader column = Columns[e.Column];

                SmartColumn sc = column as SmartColumn;
                if (sc != null && sc.Sortable)
                {
                    bool extend = (Control.ModifierKeys & Keys.Control) != 0;

                    if (!extend)
                    {
                        if (SortColumns.Count == 1 && SortColumns[0] == sc)
                        {
                            sc.ReverseSort = !sc.ReverseSort;
                        }
                        else
                        {
                            SortColumns.Clear();
                            SortColumns.Add(sc);
                            sc.ReverseSort = false;
                        }
                    }
                    else
                    {
                        if (SortColumns.Contains(sc))
                        {
                            sc.ReverseSort = !sc.ReverseSort;
                        }
                        else
                        {
                            sc.ReverseSort = false;
                            SortColumns.Add(sc);
                        }
                    }
                    Sort();
                    UpdateSortGlyphs();
                }
            }
            base.OnColumnClick(e);
        }
Esempio n. 15
0
        /// <summary>
        ///     Takes an order by string (i.e., FirstName DESC, ID) and
        ///     converts it to sortcolumns
        /// </summary>
        /// <param name="orderBy">The order by.</param>
        public void ParseOrderBy(string orderBy)
        {
            if (orderBy == null)
            {
                return;
            }

            if (SortColumns == null)
            {
                SortColumns = new List <SearchSortColumn>();
            }
            foreach (Match m in Regex.Matches(orderBy, RegularExpressions.OrderByParserRegex, RegexOptions.Compiled))
            {
                var ss = new SearchSortColumn();
                ss.Name = m.Groups[1].Value.Trim();

                ss.IsDescending = m.Groups[2].Success; // then there's a count match, because DESC was matched
                SortColumns.Add(ss);
            }
        }
Esempio n. 16
0
        internal void UpdateSortGlyphs()
        {
            if (!IsHandleCreated || !SupportsSortGlypgs || DesignMode || View != View.Details)
            {
                return;
            }

            foreach (ColumnHeader ch in Columns)
            {
                SmartColumn sc = ch as SmartColumn;

                if (sc != null)
                {
                    if (SortColumns.Contains(sc))
                    {
                        SetSortIcon(sc.Index, sc.ReverseSort ? SortIcon.Descending : SortIcon.Ascending);
                    }
                    else
                    {
                        SetSortIcon(sc.Index, SortIcon.None);
                    }
                }
            }
        }
Esempio n. 17
0
        void Init()
        {
            SmartColumn action  = new SmartColumn(this, "&Action", 60);
            SmartColumn path    = new SmartColumn(this, "&Path", 342);
            SmartColumn copy    = new SmartColumn(this, "&Copy", 60);
            SmartColumn copyRev = new SmartColumn(this, "Copy &Revision", 60);

            AllColumns.Add(action);
            AllColumns.Add(path);
            AllColumns.Add(copy);
            AllColumns.Add(copyRev);

            Columns.AddRange(
                new ColumnHeader[]
            {
                action,
                path,
                copy,
                copyRev
            });

            SortColumns.Add(path);
            FinalSortColumn = path;
        }
Esempio n. 18
0
 public void AddSortColumn(string columnName, bool isDescending)
 {
     SortColumns.Add(new SearchSortColumn {
         Name = columnName, IsDescending = isDescending
     });
 }
Esempio n. 19
0
        private static DataGridColumn CreateColumn(DataGrid gridView, object columnSource)
        {
            DataGridTextColumn column = new DataGridTextColumn();
            var info = columnSource as DataGridColumnInfoM;

            if (!string.IsNullOrEmpty(info.Header))
            {
                column.Header = info.Header;
            }
            if(!string.IsNullOrEmpty(info.Binding))
            {

                column.Binding = new Binding(info.Binding);
            }
            if(!string.IsNullOrEmpty(info.HorizontalContentAlignment))
            {
                //column.ElementStyle = new Binding(info.HorizontalContentAlignment);
                Style right = new Style(typeof(TextBlock));
                Setter setRight = new Setter(TextBlock.HorizontalAlignmentProperty, HorizontalAlignment.Right);
                right.Setters.Add(setRight);
                setRight = new Setter(TextBlock.MarginProperty, new Thickness(5,0,5,0));
                right.Setters.Add(setRight);
                column.ElementStyle = right;
            }
            if (info.Width > 0)
            {
                column.Width = info.Width;
            }

            return column;
#if false
            DataTemplate template = new DataTemplate();
            FrameworkElementFactory factory = new FrameworkElementFactory(typeof(TextBlock));
            factory.SetValue(TextBlock.HorizontalAlignmentProperty, info.HorizontalAlignment);
            if (info.Foreground != null)
            {
                factory.SetValue(TextBlock.ForegroundProperty, info.Foreground);
            }
            if (info.ForegroundTriggerParameters != null && !string.IsNullOrEmpty(info.ForegroundMemberPath))
            {
                foreach (var o in info.ForegroundTriggerParameters)
                {
                    var trigger = new DataTrigger();
                    trigger.Binding = new Binding(info.ForegroundMemberPath);
                    trigger.Value = o.Key;
                    var setter = new Setter();
                    setter.Property = TextBlock.ForegroundProperty;
                    setter.Value = o.Value;
                    trigger.Setters.Add(setter);
                    template.Triggers.Add(trigger);
                }
            }

            var binding = new Binding(info.DisplayMemberPath);
            if (!string.IsNullOrEmpty(info.StringFormat))
            {
                binding.StringFormat = string.Format("{{0:{0}}}", info.StringFormat);
            }
            if (info.Converter != null)
            {
                binding.Converter = info.Converter;
                binding.ConverterParameter = info.ConverterParameter;
            }
            factory.SetBinding(TextBlock.TextProperty, binding);
            template.VisualTree = factory;

            column.CellTemplate = template;

            ListViewItemSortData scd = new ListViewItemSortData(info.DisplayMemberPath);
            scd.Direction = info.SortDirection;
            if (SortColumns.Count(c => c.Key == column) == 0)
            {
                SortColumns.Add(column, scd);
            }
            else
            {
                Console.WriteLine("Repeat SortColumns..................");
            }

            return column;
#endif
        }
Esempio n. 20
0
        public void Initialize()
        {
            SmartColumn path     = new SmartColumn(this, PCResources.PathColumn, 288, "Path");
            SmartColumn project  = new SmartColumn(this, PCResources.ProjectColumn, 76, "Project");
            SmartColumn change   = new SmartColumn(this, PCResources.ChangeColumn, 76, "Change");
            SmartColumn fullPath = new SmartColumn(this, PCResources.FullPathColumn, 327, "FullPath");

            SmartColumn changeList  = new SmartColumn(this, PCResources.ChangeListColumn, 76, "ChangeList");
            SmartColumn folder      = new SmartColumn(this, PCResources.FolderColumn, 196, "Folder");
            SmartColumn locked      = new SmartColumn(this, PCResources.LockedColumn, 38, "Locked");
            SmartColumn modified    = new SmartColumn(this, PCResources.ModifiedColumn, 76, "Modified");
            SmartColumn name        = new SmartColumn(this, PCResources.NameColumn, 76, "Name");
            SmartColumn revision    = new SmartColumn(this, PCResources.RevisionColumn, 38, "Revision");
            SmartColumn type        = new SmartColumn(this, PCResources.TypeColumn, 76, "Type");
            SmartColumn workingCopy = new SmartColumn(this, PCResources.WorkingCopyColumn, 76, "WorkingCopy");

            Columns.AddRange(new ColumnHeader[]
            {
                path,
                project,
                change,
                fullPath
            });

            modified.Sorter = new SortWrapper(
                delegate(PendingCommitItem x, PendingCommitItem y)
            {
                return(x.PendingChange.SvnItem.Modified.CompareTo(y.PendingChange.SvnItem.Modified));
            });

            revision.Sorter = new SortWrapper(
                delegate(PendingCommitItem x, PendingCommitItem y)
            {
                long?xRev, yRev;
                xRev = x.PendingChange.Revision;
                yRev = y.PendingChange.Revision;

                if (xRev.HasValue && yRev.HasValue)
                {
                    return(xRev.Value.CompareTo(yRev.Value));
                }
                else if (!xRev.HasValue)
                {
                    return(yRev.HasValue ? 1 : 0);
                }
                else
                {
                    return(-1);
                }
            });

            change.Groupable      = true;
            changeList.Groupable  = true;
            folder.Groupable      = true;
            locked.Groupable      = true;
            project.Groupable     = true;
            type.Groupable        = true;
            workingCopy.Groupable = true;

            path.Hideable = false;

            AllColumns.Add(change);
            AllColumns.Add(changeList);
            AllColumns.Add(folder);
            AllColumns.Add(fullPath);
            AllColumns.Add(locked);
            AllColumns.Add(modified);
            AllColumns.Add(name);
            AllColumns.Add(path);
            AllColumns.Add(project);
            AllColumns.Add(revision);
            AllColumns.Add(type);
            AllColumns.Add(workingCopy);

            SortColumns.Add(path);
            GroupColumns.Add(changeList);

            FinalSortColumn = path;
        }
Esempio n. 21
0
        private void InitializeColumns()
        {
            SmartColumn name      = new SmartColumn(this, RepositoryStrings.NameColumn, 120, "Name");
            SmartColumn type      = new SmartColumn(this, RepositoryStrings.TypeColumn, 100, "Type");
            SmartColumn revision  = new SmartColumn(this, RepositoryStrings.RevisionColumn, 60, "Revision");
            SmartColumn author    = new SmartColumn(this, RepositoryStrings.AuthorColumn, 60, "Author");
            SmartColumn size      = new SmartColumn(this, RepositoryStrings.SizeColumn, 60, "Size");
            SmartColumn date      = new SmartColumn(this, RepositoryStrings.DateColumn, 100, "Date");
            SmartColumn lockOwner = new SmartColumn(this, RepositoryStrings.LockOwnerColumn, 100, "LockOwner");

            name.Sorter = new SortWrapper(
                delegate(RepositoryListItem x, RepositoryListItem y)
            {
                if (x.IsFolder ^ y.IsFolder)
                {
                    return(x.IsFolder ? -1 : 1);
                }

                return(StringComparer.OrdinalIgnoreCase.Compare(x.Text, y.Text));
            });
            size.Sorter = new SortWrapper(
                delegate(RepositoryListItem x, RepositoryListItem y)
            {
                if (x.IsFolder ^ y.IsFolder)
                {
                    return(x.IsFolder ? -1 : 1);
                }

                long lx = x.Entry.FileSize;
                long ly = y.Entry.FileSize;

                if (lx < ly)
                {
                    return(-1);
                }
                else if (lx > ly)
                {
                    return(1);
                }
                else
                {
                    return(0);
                }
            });
            date.Sorter = new SortWrapper(
                delegate(RepositoryListItem x, RepositoryListItem y)
            {
                return(x.Entry.Time.CompareTo(y.Entry.Time));
            });

            AllColumns.Add(name);
            AllColumns.Add(type);
            AllColumns.Add(revision);
            AllColumns.Add(author);
            AllColumns.Add(size);
            AllColumns.Add(date);
            AllColumns.Add(lockOwner);

            Columns.AddRange(new ColumnHeader[]
            {
                name,
                date,
                type,
                revision,
                author,
                size,
                lockOwner
            });

            SortColumns.Add(name);
            FinalSortColumn = name;
            UpdateSortGlyphs();

            FinalSortColumn    = name;
            AllowColumnReorder = true;
        }
        public AllGoalsViewModel(GoalData goalData, ProjectData projectData, TaskData taskData)
        {
            if (goalData == null)
            {
                throw new ArgumentNullException("goalData");
            }

            if (projectData == null)
            {
                throw new ArgumentNullException("projectData");
            }

            if (taskData == null)
            {
                throw new ArgumentNullException("taskData");
            }

            base.DisplayName  = Properties.Resources.Goals_DisplayName;
            base.DisplayImage = "pack://application:,,,/TaskConqueror;Component/Assets/Images/goal.png";

            _goalData    = goalData;
            _projectData = projectData;
            _taskData    = taskData;

            // Subscribe for notifications of when a new goal is saved.
            _goalData.GoalAdded   += this.OnGoalAdded;
            _goalData.GoalUpdated += this.OnGoalUpdated;
            _goalData.GoalDeleted += this.OnGoalDeleted;

            // Populate the AllGoals collection with GoalViewModels.
            this.AllGoals = new ObservableCollection <GoalViewModel>();
            this.AllGoals.CollectionChanged += this.OnCollectionChanged;

            this.PageFirst();

            SortColumns.Add(new SortableProperty()
            {
                Description = "Title", Name = "Title"
            });
            SortColumns.Add(new SortableProperty()
            {
                Description = "Status", Name = "StatusId"
            });
            SortColumns.Add(new SortableProperty()
            {
                Description = "Category", Name = "CategoryId"
            });
            SortColumns.Add(new SortableProperty()
            {
                Description = "Date Created", Name = "CreatedDate"
            });
            SortColumns.Add(new SortableProperty()
            {
                Description = "Date Completed", Name = "CompletedDate"
            });

            SelectedSortColumn = SortColumns.FirstOrDefault();

            // select the first goal
            GoalViewModel firstGoal = AllGoals.FirstOrDefault();

            if (firstGoal != null)
            {
                firstGoal.IsSelected = true;
            }
        }
Esempio n. 23
0
        private void InitializeColumns()
        {
            AllColumns.Clear();
            SortColumns.Clear();
            Columns.Clear();
            _nameColumn = new SmartColumn(this, "&Name", characterWidth * NameColumnNumberOfCharacters, "Name");
            SmartColumn modified       = new SmartColumn(this, "&Modified", characterWidth * 15, "Modified");
            SmartColumn type           = new SmartColumn(this, "&Type", characterWidth * 20, "Type");
            SmartColumn change         = new SmartColumn(this, "&Change", characterWidth * 15, "Change");
            SmartColumn locked         = new SmartColumn(this, "&Locked", characterWidth * 8, "Locked");
            SmartColumn revision       = new SmartColumn(this, "&Revision", characterWidth * 8, "Revision");
            SmartColumn lastChangeTime = new SmartColumn(this, "Last C&hange", characterWidth * 20, "LastChange");
            SmartColumn lastRev        = new SmartColumn(this, "Last Re&vision", characterWidth * 8, "LastRevision");
            SmartColumn lastAuthor     = new SmartColumn(this, "Last &Author", characterWidth * 8, "LastAuthor");
            SmartColumn contStatus     = new SmartColumn(this, "&Content Status", characterWidth * 15, "ContentStatus");
            SmartColumn propStatus     = new SmartColumn(this, "&Property Status", characterWidth * 15, "PropertyStatus");
            SmartColumn isCopied       = new SmartColumn(this, "C&opied", characterWidth * 6, "Copied");
            SmartColumn isConficted    = new SmartColumn(this, "Co&nflicted", characterWidth * 6, "Conflicted");
            SmartColumn fullPath       = new SmartColumn(this, "Fu&ll Path", characterWidth * 60, "FullPath");

            _nameColumn.Sorter = new SortWrapper(
                delegate(FileSystemListViewItem x, FileSystemListViewItem y)
            {
                if (x.IsDirectory ^ y.IsDirectory)
                {
                    return(x.IsDirectory ? -1 : 1);
                }

                return(StringComparer.OrdinalIgnoreCase.Compare(x.Text, y.Text));
            });

            modified.Sorter = new SortWrapper(
                delegate(FileSystemListViewItem x, FileSystemListViewItem y)
            {
                return(x.Modified.CompareTo(y.Modified));
            });

            lastChangeTime.Sorter = new SortWrapper(
                delegate(FileSystemListViewItem x, FileSystemListViewItem y)
            {
                return(x.SvnItem.Status.LastChangeTime.CompareTo(y.SvnItem.Status.LastChangeTime));
            });

            AllColumns.Add(_nameColumn);
            AllColumns.Add(modified);
            AllColumns.Add(type);
            AllColumns.Add(change);
            AllColumns.Add(locked);
            AllColumns.Add(revision);
            AllColumns.Add(lastChangeTime);
            AllColumns.Add(lastRev);
            AllColumns.Add(lastAuthor);
            AllColumns.Add(contStatus);
            AllColumns.Add(propStatus);
            AllColumns.Add(isCopied);
            AllColumns.Add(isConficted);
            AllColumns.Add(fullPath);

            Columns.AddRange(
                new ColumnHeader[]
            {
                _nameColumn,
                modified,
                type,
                change,
                locked,
                revision
            });

            SortColumns.Add(_nameColumn);
            FinalSortColumn = _nameColumn;
            UpdateSortGlyphs();
        }
Esempio n. 24
0
        public List <DayEntry> GetAllAveragessForLocation(Locations location, SortColumns sortBy = SortColumns.Date, SortDirection sortDir = SortDirection.Ascending)
        {
            List <DayEntry> result        = new();
            var             groupedByDate = _ctx.Measurements.Where(l => l.Location == location)
                                            .GroupBy(g => g.Time.Date,
                                                     (key, g) => new DayEntry
            {
                Date = key,
                AverageTemperature = g.Average(a => a.Degrees),
                AverageHumidity    = g.Average(a => a.Humidity)
            });

            switch (sortBy)
            {
            case SortColumns.Date:
                if (sortDir == SortDirection.Ascending)
                {
                    result = groupedByDate.OrderBy(o => o.Date).ToList();
                }
                else
                {
                    result = groupedByDate.OrderByDescending(o => o.Date).ToList();
                }
                GetMoldPercentage(result);
                break;

            case SortColumns.Temperature:
                if (sortDir == SortDirection.Ascending)
                {
                    result = groupedByDate.OrderBy(o => o.AverageTemperature).ToList();
                }
                else
                {
                    result = groupedByDate.OrderByDescending(o => o.AverageTemperature).ToList();
                }
                GetMoldPercentage(result);
                break;

            case SortColumns.Humidity:
                if (sortDir == SortDirection.Ascending)
                {
                    result = groupedByDate.OrderBy(o => o.AverageHumidity).ToList();
                }
                else
                {
                    result = groupedByDate.OrderByDescending(o => o.AverageHumidity).ToList();
                }
                GetMoldPercentage(result);
                break;

            case SortColumns.MoldRisk:
                // We need to get this from database first, so we have to sort by something else first and then sort when moldrisk is calculated

                result = groupedByDate.OrderBy(o => o.Date).ToList();
                GetMoldPercentage(result);
                if (sortDir == SortDirection.Ascending)
                {
                    result = result.OrderBy(o => o.AverageMoldPercentage).ToList();
                }
                else
                {
                    result = result.OrderByDescending(o => o.AverageMoldPercentage).ToList();
                }
                break;

            default:
                break;
            }

            return(result);
        }
Esempio n. 25
0
        void Initialize()
        {
            SmartColumn path         = new SmartColumn(this, PCResources.PathColumn, 288, "Path");
            SmartColumn project      = new SmartColumn(this, PCResources.ProjectColumn, 76, "Project");
            SmartColumn localChange  = new SmartColumn(this, PCResources.LocalChangeColumn, 102, "LocalChange");
            SmartColumn remoteChange = new SmartColumn(this, PCResources.RemoteChangeColumn, 102, "RemoteChange");
            SmartColumn fullPath     = new SmartColumn(this, PCResources.FullPathColumn, 327, "FullPath");

            SmartColumn changeList  = new SmartColumn(this, PCResources.ChangeListColumn, 76, "ChangeList");
            SmartColumn folder      = new SmartColumn(this, PCResources.FolderColumn, 196, "Folder");
            SmartColumn locked      = new SmartColumn(this, PCResources.LockedColumn, 38, "Locked");
            SmartColumn modified    = new SmartColumn(this, PCResources.ModifiedColumn, 76, "Modified");
            SmartColumn name        = new SmartColumn(this, PCResources.NameColumn, 76, "Name");
            SmartColumn type        = new SmartColumn(this, PCResources.TypeColumn, 76, "Type");
            SmartColumn workingCopy = new SmartColumn(this, PCResources.WorkingCopyColumn, 76, "WorkingCopy");

            Columns.AddRange(new ColumnHeader[]
            {
                path,
                project,
                localChange,
                remoteChange,
                fullPath
            });

            localChange.Groupable  = true;
            remoteChange.Groupable = true;

            changeList.Groupable  = true;
            folder.Groupable      = true;
            locked.Groupable      = true;
            project.Groupable     = true;
            type.Groupable        = true;
            workingCopy.Groupable = true;

            path.Hideable = false;

            modified.Sorter = new SortWrapper(
                delegate(SynchronizeListItem x, SynchronizeListItem y)
            {
                return(x.SvnItem.Modified.CompareTo(y.SvnItem.Modified));
            });

            AllColumns.Add(changeList);
            AllColumns.Add(folder);
            AllColumns.Add(fullPath);
            AllColumns.Add(localChange);
            AllColumns.Add(locked);
            AllColumns.Add(modified);
            AllColumns.Add(name);
            AllColumns.Add(path);
            AllColumns.Add(project);
            AllColumns.Add(remoteChange);
            AllColumns.Add(type);
            AllColumns.Add(workingCopy);

            SortColumns.Add(path);
            GroupColumns.Add(changeList);

            FinalSortColumn = path;
        }