示例#1
0
        /// <summary>
        /// ソートオブジェクト(通知する側)を設定し、自分自身を登録する。
        /// </summary>
        public void SetDataSource(SortObject <int> value)
        {
            value.AddObserver(this);

            // ソートオブジェクトの初期状態をピクチャボックスに表示するため
            Update(value);
        }
示例#2
0
        private IEnumerable <SortObject> GetSortObjects(IEnumerable <string> sortKeys)
        {
            var list = new List <SortObject>();

            var fields     = new List <string>();
            var directions = new List <string>();

            foreach (var sortKey in sortKeys)
            {
                if (sortKey.Contains("field"))
                {
                    fields.Add(GetQueryStringValue(sortKey));
                }

                if (sortKey.Contains("dir"))
                {
                    directions.Add(GetQueryStringValue(sortKey));
                }
            }

            foreach (var field in fields)
            {
                var index     = fields.IndexOf(field);
                var direction = directions[index];
                var obj       = new SortObject(field, direction);
                list.Add(obj);
            }

            return(list);
        }
示例#3
0
        public SortHelper <T> ThenByDescending <TOrderType>(Expression <Func <T, TOrderType> > orderExpression)
        {
            var sortObject = new SortObject
            {
                IsThenBy     = true,
                IsDescending = true
            };

            AddSortStatement(orderExpression, sortObject);
            return(this);
        }
示例#4
0
            public override int Compare(SortObject x, SortObject y)
            {
                int result = x.mCount.CompareTo(y.mCount);

                if (result != 0)
                {
                    return(result);
                }

                return(x.mObj.GetLocalizedName().CompareTo(y.mObj.GetLocalizedName()));
            }
        private void AppendSortingCondition(KendoGridRequest request)
        {
            if (request.SortObjects.Count() == 1)
            {
                SortObject sortObject = request.SortObjects.FirstOrDefault();
                string     field      = sortObject.Field.Replace("GetStr_", "");
                string     direction  = sortObject.Direction;

                m_Conditions.Add("Order", string.Format("order by d.{0} {1}", field, direction));
            }
        }
示例#6
0
            public override int Compare(SortObject x, SortObject y)
            {
                string xName  = x.mObj.GetType().BaseType.Name.Contains("GameObject") ? x.mObj.GetType().Name : x.mObj.GetType().BaseType.Name;
                string yName  = y.mObj.GetType().BaseType.Name.Contains("GameObject") ? y.mObj.GetType().Name : y.mObj.GetType().BaseType.Name;
                int    result = xName.CompareTo(yName);

                if (result != 0)
                {
                    return(result);
                }

                return(x.mObj.GetLocalizedName().CompareTo(y.mObj.GetLocalizedName()));
            }
示例#7
0
        public async Task <ActionResult <VoteOutputModel> > Post(VoteInputModel model)
        {
            var winner = await _db.SortObject.FirstOrDefaultAsync(u => u.Name == model.Input[0]);

            var loser = await _db.SortObject.FirstOrDefaultAsync(u => u.Name == model.Input[1]);

            if (winner == null)
            {
                SortObject temp = new SortObject();
                temp.Rating = 1500;
                temp.Name   = model.Input[0];
                await _db.AddAsync(temp);

                await _db.SaveChangesAsync();

                winner = await _db.SortObject.FirstOrDefaultAsync(u => u.Name == model.Input[0]);
            }
            if (loser == null)
            {
                SortObject temp = new SortObject();
                temp.Rating = 1500;
                temp.Name   = model.Input[1];
                await _db.AddAsync(temp);

                await _db.SaveChangesAsync();

                loser = await _db.SortObject.FirstOrDefaultAsync(u => u.Name == model.Input[1]);
            }
            double coef          = 2.0;
            double winner_rtg    = winner.Rating;
            double loser_rtg     = loser.Rating;
            double p             = prob(winner_rtg - loser_rtg, coef);
            double winner_delta  = kfactor * p;
            double loser_delta   = -kfactor * p;
            double winner_newrtg = winner_rtg + winner_delta;
            double loser_newrtg  = loser_rtg + loser_delta;

            winner.Rating = winner_newrtg;
            loser.Rating  = loser_newrtg;
            winner.Wins++;
            loser.Losses++;

            // Change ratings

            await _db.SaveChangesAsync();

            return(new VoteOutputModel()
            {
                Response = winner.Name + ": " + Math.Floor(winner_newrtg) + " (+" + Math.Floor(winner_delta) + ")" + ";" + loser.Name + ": " + Math.Floor(loser_newrtg) + " (" + Math.Floor(loser_delta) + ")"
            });
        }
示例#8
0
文件: Program.cs 项目: luputona/CS01
        static void Main(string[] args)
        {
            int[] intArray = new int[] { 5, 2, 3, 1, 0, 4 };

            SortObject so = new SortObject(intArray);

            so.Sort(AscendingCompare);
            so.Display();

            Console.WriteLine();

            so.Sort(DescendingCompare);
            so.Display();
        }
示例#9
0
    static void Main(string[] args)
    {
        Person[] personArray = new Person[]  {
            new Person(51, "Anders"),
            new Person(37, "Scott"),
            new Person(45, "Peter"),
            new Person(62, "Mads"),
        };

        SortObject so = new SortObject(personArray);

        so.Sort(AscSortByName);
        so.Display();
    }
示例#10
0
            public override int Compare(SortObject x, SortObject y)
            {
                if (x.mObj.Value < y.mObj.Value)
                {
                    return(-1);
                }

                if (x.mObj.Value > y.mObj.Value)
                {
                    return(1);
                }

                return(x.mObj.GetLocalizedName().CompareTo(y.mObj.GetLocalizedName()));
            }
示例#11
0
            public override int Compare(SortObject x, SortObject y)
            {
                IRelic leftRelic  = x.mObj as IRelic;
                IRelic rightRelic = y.mObj as IRelic;

                if ((leftRelic != null) && (rightRelic != null))
                {
                    return(leftRelic.Age.CompareTo(rightRelic.Age));
                }

                Quality leftQuality  = GetQuality(x.mObj);
                Quality rightQuality = GetQuality(y.mObj);

                return(leftQuality.CompareTo(rightQuality));
            }
示例#12
0
        static void Main(string[] args)
        {
            Person[] personArray = new Person[]
            {
                new Person(33, "Leehyerim"),
                new Person(28, "Yoonhyerim"),
                new Person(5, "Kimjisu"),
                new Person(11, "Beakyujin"),
            };

            SortObject so = new SortObject(personArray);

            so.Sort(AscSortByName);
            so.Display();
        }
示例#13
0
        /// <summary>
        /// 各コントロールの初期化
        /// </summary>c
        private void InintializeViewers() {
            // ソートオブジェクトの初期化
            sortObj = cmb_SortAlgorythm.SelectedItem as SortObject<int>;

            // 各ビューの初期化
            int x = 50;
            var barColor1 = Color.FromArgb( 255, x, x );
            var barColor2 = Color.FromArgb( x, 255, x );
            var barColor3 = Color.FromArgb( x, x, 255 );
            graphViewer = new GraphViewer( pbx_GraphView, barColor1, barColor2, barColor3 );
            graphViewer.SetDataSource( sortObj );

            compareCountViewer = new CompareCountViewer( lbl_CompareCount );
            compareCountViewer.SetDataSource( sortObj );

            swapCountViewer = new SwapCountViewer( lbl_SwapCount );
            swapCountViewer.SetDataSource( sortObj );
        }
示例#14
0
        private IEnumerable <SortObject> GetSortObjects(IEnumerable <string> sortKeys)
        {
            var list = new List <SortObject>();

            var enumerable = sortKeys as IList <string> ?? sortKeys.ToList();
            var fields     = enumerable.Where(sk => sk.Contains("field")).Select(GetQueryStringValue).ToList();
            var directions = enumerable.Where(sk => sk.Contains("dir")).Select(GetQueryStringValue).ToList();

            foreach (string field in fields)
            {
                var index     = fields.IndexOf(field);
                var direction = directions[index];
                var obj       = new SortObject(field, direction);
                list.Add(obj);
            }

            return(list);
        }
示例#15
0
        public static IEnumerable <SortObject> GetSortObjects(NameValueCollection queryValues, IEnumerable <string> sortKeys)
        {
            var list = new List <SortObject>();

            var enumerable = sortKeys as IList <string> ?? sortKeys.ToList();
            var fields     = enumerable.Where(sk => sk.Contains("field")).Select(x => queryValues[x]).ToList();
            var directions = enumerable.Where(sk => sk.Contains("dir")).Select(x => queryValues[x]).ToList();

            foreach (string field in fields)
            {
                var index     = fields.IndexOf(field);
                var direction = directions[index];
                var obj       = new SortObject(field, direction);
                list.Add(obj);
            }

            return(list.Any() ? list : null);
        }
示例#16
0
 /// <summary>
 /// ソートアルゴリズム選択コンボボックスの選択内容を変更した時の処理
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 private void Cmb_SortAlgorythm_SelectedIndexChanged( object sender, EventArgs e ) =>
     sortObj = cmb_SortAlgorythm.SelectedItem as SortObject<int>;
示例#17
0
 public override int Compare(SortObject x, SortObject y)
 {
     return(x.mObj.GetLocalizedName().CompareTo(y.mObj.GetLocalizedName()));
 }
示例#18
0
        private void AddSortStatement <TOrderType>(Expression <Func <T, TOrderType> > orderExpression, SortObject sortObject)
        {
            var sortMap = new Dictionary <LambdaExpression, SortObject>
            {
                { orderExpression, sortObject }
            };

            SortingExpressionList.Add(sortMap);
        }
示例#19
0
 public async Task OnGet(int id)
 {
     SortObject = await _db.SortObject.FindAsync(id);
 }
示例#20
0
 /// <summary>
 /// ソートオブジェクト(通知してくる側)に、自分自身を登録する
 /// </summary>
 public void SetDataSource(SortObject <int> value) => value.AddObserver(this);
        public void Sort(List <DTO_Glossary> glossaryList, List <DTO_Glossary> publicGlossaryList, SortObject sortObject, String commandName)
        {
            var litePerson = CurrentManager.GetLitePerson(UserContext.CurrentUserID);

            if (UserContext.isAnonymous || litePerson == null)
            {
                View.SendUserAction(View.IdCommunity, Service.GetServiceIdModule(), ModuleGlossaryNew.ActionType.NoPermission);
                View.DisplaySessionTimeout();
                return;
            }
            if (commandName == "Community")
            {
                if (sortObject.Key == "default")
                {
                    glossaryList = glossaryList.OrderBy(f => f.DisplayOrder).ToList();
                }
                else if (sortObject.Key == "alphabetical")
                {
                    glossaryList = glossaryList.OrderBy(f => f.Name).ToList();
                }
                else
                {
                    glossaryList = glossaryList.OrderByDescending(f => f.LastUpdate).ToList();
                }
            }
            else
            {
                if (sortObject.Key == "default")
                {
                    publicGlossaryList = publicGlossaryList.OrderBy(f => f.DisplayOrder).ToList();
                }
                else if (sortObject.Key == "alphabetical")
                {
                    publicGlossaryList = publicGlossaryList.OrderBy(f => f.Name).ToList();
                }
                else
                {
                    publicGlossaryList = publicGlossaryList.OrderByDescending(f => f.LastUpdate).ToList();
                }
            }


            View.LoadViewData(glossaryList, publicGlossaryList);
        }