/// <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; } }
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"); }
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); } } }
public OrderForm(Global global, OrderSort sort) { InitializeComponent(); this.ordersort = sort; this.global = global; }
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); }
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)); } }
public ActionResult OrderSortSelect(OrderSort sort = OrderSort.ByDateHightToLow) { var selectList = new SelectList(GetSortSelectList(), "Value", "Text", sort); return(PartialView("SortSelect", selectList)); }
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); }