Esempio n. 1
0
        public void SetSort(SortLbl sort, StackPanel stk_items)
        {
            base.SetSort(sort);

            switch (sort)
            {
            case SortLbl.Words:
                if (IsNextSortAsc)
                {
                    Filtered_quests = Filtered_quests.Cast <PronVM>().OrderBy(q => q.Text.FirstOrDefault());
                }
                else
                {
                    Filtered_quests = Filtered_quests.Cast <PronVM>().OrderByDescending(q => q.Text);
                }
                break;

            case SortLbl.Answer:
                if (IsNextSortAsc)
                {
                    Filtered_quests = Filtered_quests.Cast <PronVM>().OrderBy(q => q.Phonemes);
                }
                else
                {
                    Filtered_quests = Filtered_quests.Cast <PronVM>().OrderByDescending(q => q.Phonemes);
                }
                break;
            }

            BuildStack(stk_items);
        }
Esempio n. 2
0
        protected void SetSort(SortLbl sort)
        {
            if (sort == Sort)
            {
                IsNextSortAsc = !IsNextSortAsc;
            }
            else
            {
                IsNextSortAsc = false;
                Sort          = sort;
            }

            switch (sort)
            {
            case SortLbl.Score_w:
                if (IsNextSortAsc)
                {
                    Filtered_quests = Filtered_quests.OrderBy(q => q.Avg_week).ToList();
                }
                else
                {
                    Filtered_quests = Filtered_quests.OrderByDescending(q => q.Avg_week).ToList();
                }
                break;

            case SortLbl.Score_m:
                if (IsNextSortAsc)
                {
                    Filtered_quests = Filtered_quests.OrderBy(q => q.Avg_month).ToList();
                }
                else
                {
                    Filtered_quests = Filtered_quests.OrderByDescending(q => q.Avg_month).ToList();
                }
                break;

            case SortLbl.Score_all:
                if (IsNextSortAsc)
                {
                    Filtered_quests = Filtered_quests.OrderBy(q => q.Avg_all).ToList();
                }
                else
                {
                    Filtered_quests = Filtered_quests.OrderByDescending(q => q.Avg_all).ToList();
                }
                break;

            case SortLbl.Tries:
                if (IsNextSortAsc)
                {
                    Filtered_quests = Filtered_quests.OrderBy(q => q.Tries.Count()).ToList();
                }
                else
                {
                    Filtered_quests = Filtered_quests.OrderByDescending(q => q.Tries.Count()).ToList();
                }
                break;

            case SortLbl.Chance:
                if (IsNextSortAsc)
                {
                    Filtered_quests = Filtered_quests.OrderBy(q => q.Chance).ToList();
                }
                else
                {
                    Filtered_quests = Filtered_quests.OrderByDescending(q => q.Chance).ToList();
                }
                break;

            case SortLbl.Imp:
                if (IsNextSortAsc)
                {
                    Filtered_quests = Filtered_quests.OrderBy(q => (int)q.Importance * -1).ToList();
                }
                else
                {
                    Filtered_quests = Filtered_quests.OrderByDescending(q => (int)q.Importance * -1).ToList();
                }
                break;

            default:
                if (IsNextSortAsc)
                {
                    Filtered_quests = Filtered_quests.OrderBy(q => q.Id).ToList();
                }
                else
                {
                    Filtered_quests = Filtered_quests.OrderByDescending(q => q.Id).ToList();
                }
                break;
            }
        }
Esempio n. 3
0
        public static Label Header(Label reference, int row, int Column, Grid parent, SortLbl sort, Control control, IFilter filter, StackPanel stk_items)
        {
            var lbl = Get(reference, row, Column, parent, sort.ToDesc());

            lbl.MouseEnter += new MouseEventHandler((source, e) => lbl.Foreground = Brushes.DarkRed);
            lbl.MouseLeave += new MouseEventHandler((source, e) => lbl.Foreground = Brushes.Black);

            lbl.ToolTip = "Left click to sort";

            if (control is TextBox)
            {
                lbl.MouseRightButtonDown += (source, e) => (control as TextBox).Text = string.Empty;
                lbl.ToolTip += "; Right to erase; Double [txt] to paste.";
            }

            lbl.MouseLeftButtonDown += (source, e) => filter.SetSort(sort, stk_items);

            //if (sort == SortLbl.Answer || sort == SortLbl.Voc_comp2)
            //    Grid.SetColumnSpan(lbl, 2);

            return(lbl);
        }