Exemplo n.º 1
0
        public ActionResult List(string pno, int?page)
        {
            if (String.IsNullOrWhiteSpace(pno) || !pno.StartsWith(FlhConfig.TRADE_CLASS_PREFIX))
            {
                pno = FlhConfig.TRADE_CLASS_PREFIX;
            }
            if (!page.HasValue || page.Value < 1)
            {
                page = 1;
            }
            var size   = 30;
            var parent = _TradeManager.GetEnabled(pno);

            pno = pno.Trim();
            var classes       = _TradeManager.GetChildren(pno);
            var parentClasses = _TradeManager.EnabledTrades.Where(c => pno.StartsWith(c.no)).OrderBy(c => c.no.Length).ToDictionary(c => c.no, c => c.name);

            return(View(new Models.Classes.ListModel()
            {
                ParentNo = pno,
                ParentFullName = Util.DisplayClassFullName(parent.full_name),
                ParentClasses = parentClasses,
                Items = new PageModel <Models.Classes.ListModel.Item>(classes
                                                                      .OrderByDescending(n => n.order_by)
                                                                      .ThenByDescending(n => n.created)
                                                                      .Skip((page.Value - 1) * size)
                                                                      .Take(size)
                                                                      .Select(n => new Models.Classes.ListModel.Item {
                    Name = n.name,
                    No = n.no,
                    Order = n.order_by
                }), page.Value, (int)Math.Ceiling((double)classes.Count() / (double)size))
            }));
        }