/// <summary>
        /// выбирает способ сортировки в зависимости от выбора пользователя
        /// </summary>
        /// <param name="array">массив для сортировки</param>
        /// <param name="i">указатель на первую ссылку</param>
        /// <param name="j">указатель на вторую ссылку</param>
        /// <param name="orderSort">выбранный тип сортировки</param>
        private static void ChooseSort(int[][] array, int i, int j, OrderSort orderSort)
        {
            switch (orderSort)
            {
                case OrderSort.SortUpBySum:
                    if (SumArray(array[i]) < SumArray(array[j]))
                        Swap(ref array[i], ref array[j]);
                    break;

                case OrderSort.SortDownBySum:
                    if (SumArray(array[i]) > SumArray(array[j]))
                        Swap(ref array[i], ref array[j]);
                    break;

                case OrderSort.SortUpByMaxElement:
                    if (MaxElementArray(array[i]) < MaxElementArray(array[j]))
                        Swap(ref array[i], ref array[j]);
                    break;

                case OrderSort.SortDownByMaxElement:
                    if (MaxElementArray(array[i]) > MaxElementArray(array[j]))
                        Swap(ref array[i], ref array[j]);
                    break;

                case OrderSort.SortUpByMinElement:
                    if (MinElementArray(array[i]) < MinElementArray(array[j]))
                        Swap(ref array[i], ref array[j]);
                    break;

                case OrderSort.SortDownByMinElement:
                    if (MinElementArray(array[i]) > MinElementArray(array[j]))
                        Swap(ref array[i], ref array[j]);
                    break;
            }
        }
Exemple #2
0
        public OrderRazorModel(IOrderService CurrentService,
                               BackendDBContext context,
                               IMapper Mapper)
        {
            this.CurrentService = CurrentService;
            this.context        = context;
            mapper = Mapper;
            OrderSort.Initialization(SortConditions);

            Toolbaritems.Add(new ItemModel()
            {
                Id          = ButtonIdHelper.ButtonIdAdd,
                Text        = "新增",
                TooltipText = "新增",
                Type        = ItemType.Button,
                PrefixIcon  = "mdi mdi-plus-thick",
                Align       = ItemAlign.Left,
            });
            Toolbaritems.Add(new ItemModel()
            {
                Id          = ButtonIdHelper.ButtonIdRefresh,
                Text        = "重新整理",
                TooltipText = "重新整理",
                PrefixIcon  = "mdi mdi-refresh",
                Align       = ItemAlign.Left,
            });
            Toolbaritems.Add("Search");
        }
Exemple #3
0
 public OrderRazorModel(IOrderService CurrentService,
                        SchoolContext context,
                        IMapper Mapper)
 {
     this.CurrentService = CurrentService;
     this.context        = context;
     mapper = Mapper;
     OrderSort.Initialization(SortConditions);
 }
        // без изменеия логики добавить еще 1 тип сортировки
        public static void Sort(int[][] array, TypeSort typeSort, OrderSort orderSort)
        {
            GetComparisonValue getComparisonValue;
            switch (typeSort)
            {
                case TypeSort.ByMaxElement:
                    getComparisonValue = (int[] a) => a.Max();
                    break;
                case TypeSort.ByMinElement:
                    getComparisonValue = (int[] a) => a.Min();
                    break;
                case TypeSort.BySumElements:
                    getComparisonValue = (int[] a) => a.Sum();
                    break;
                default:
                    throw new ArgumentException("Unkown element enumeration", "typeSort");
            }

            int[] comparisonValues = new int[array.Length];
            for (int i = 0; i < array.Length; i++)
            {
                comparisonValues[i] = getComparisonValue(array[i]);
            }

            Compare less;
            switch (orderSort)
            {
                case OrderSort.Asc:
                    less = (int a, int b) => a < b;
                    break;
                case OrderSort.Desc:
                    less = (int a, int b) => a > b;
                    break;
                default:
                    throw new ArgumentException("Unkown element enumeration", "orderSort");
            }

            for (int i = 0; i < comparisonValues.Length - 1; i++)
            {
                int indexMin = i;
                for (int j = i + 1; j < comparisonValues.Length; j++)
                {
                    if (less(comparisonValues[j], comparisonValues[indexMin]))
                    {
                        indexMin = j;
                    }
                }
                int buffer = comparisonValues[i];
                comparisonValues[i] = comparisonValues[indexMin];
                comparisonValues[indexMin] = buffer;

                int[] bufferReference = array[i];
                array[i] = array[indexMin];
                array[indexMin] = bufferReference;
            }
        }       
 public ActionResult Order(int p = 1,
                           int status = 0,
                           string keyWord="",
                           OrderSort sort=OrderSort.ByDateHightToLow)
 {
     var orders = db.Orders.ToList()
                            .Where(order =>
                                (status == 0 || order.OrderStatus.Id == status) &&
                                (String.IsNullOrEmpty(keyWord) || order.Id.ToString() == keyWord))
                           .Sort(sort);
     ViewData["Model"] = "editor";
     return View(orders.ToPagedList(p, 20));
 }
        public ActionResult Order(int p          = 1,
                                  int status     = 0,
                                  string keyWord = "",
                                  OrderSort sort = OrderSort.ByDateHightToLow)
        {
            var orders = db.Orders.ToList()
                         .Where(order =>
                                (status == 0 || order.OrderStatus.Id == status) &&
                                (String.IsNullOrEmpty(keyWord) || order.Id.ToString() == keyWord))
                         .Sort(sort);

            ViewData["Model"] = "editor";
            return(View(orders.ToPagedList(p, 20)));
        }
        /// <summary>
        /// метод сортирует ссылки jagged массива пузырьковой сортировкой
        /// </summary>
        /// <param name="array">jagged массива для сортировки</param>
        /// <param name="orderSort">параметр сортировки</param>
        public static void Sort(int[][] array, OrderSort orderSort)
        {
            for (int i = 0; i < array.GetLength(0) - 1; i++)
            {
                if (!RefIsNull(array, i))
                    break;

                for (int j = i + 1; j < array.GetLength(0); j++)
                {
                    if (!RefIsNull(array, j))
                        break;

                    ChooseSort(array, i, j, orderSort);
                }
            }
        }
Exemple #8
0
 public OrderForm(Global global, OrderSort sort)
 {
     InitializeComponent();
     this.ordersort = sort;
     this.global    = global;
 }
Exemple #9
0
 public Order(string orderName, OrderSort sort)
 {
     _orderName = orderName;
     _orderSort = sort;
 }
 public ActionResult OrderSortSelect(OrderSort sort = OrderSort.ByDateHightToLow)
 {
     var selectList = new SelectList(GetSortSelectList(), "Value", "Text", sort);
     return PartialView("SortSelect",selectList);
 }
Exemple #11
0
        public static IOrderedEnumerable <OrderSummary> Sort(this IEnumerable <OrderSummary> orders, OrderSort sort)
        {
            switch (sort)
            {
            case OrderSort.ByDateHightToLow:
                return(orders.OrderByDescending(order => order.OrderDate));

            case OrderSort.ByDateLowToHight:
                return(orders.OrderBy(order => order.OrderDate));

            case OrderSort.ByOrderIdHightToLow:
                return(orders.OrderByDescending(order => order.Id));

            case OrderSort.ByOrderIdLowToHight:
                return(orders.OrderBy(order => order.Id));

            default:
                return(orders.OrderByDescending(order => order.OrderDate));
            }
        }
Exemple #12
0
        public ActionResult OrderSortSelect(OrderSort sort = OrderSort.ByDateHightToLow)
        {
            var selectList = new SelectList(GetSortSelectList(), "Value", "Text", sort);

            return(PartialView("SortSelect", selectList));
        }
Exemple #13
0
        public static DataTable GetSplitDataTableV2(string strSql, int iPageSize, int iPageIndex, out int iRecordCount, string OrderField, OrderSort Sort)
        {
            SqlParameter[] parameters =
            {
                new SqlParameter("@Sql",         SqlDbType.Text),
                new SqlParameter("@PageNumber",  SqlDbType.Int,       4),
                new SqlParameter("@PageSize",    SqlDbType.Int,       4),
                new SqlParameter("@RecordCount", SqlDbType.Int,       4),
                new SqlParameter("@OrderField",  SqlDbType.VarChar, 500),
                new SqlParameter("@OrderSort",   SqlDbType.Int, 4)
            };
            parameters[0].Value     = strSql;
            parameters[1].Value     = iPageIndex;
            parameters[2].Value     = iPageSize;
            parameters[3].Direction = ParameterDirection.Output;
            parameters[4].Value     = OrderField;
            parameters[5].Value     = (int)Sort;

            DataTable dt = RunDoSplitPageV2(parameters, out iRecordCount);

            return(dt);
        }