static void Main(String[] args) { try { var cmd = new Command(); cmd.Parse(args); // //[Note]SortCase.Random ran about 4X faster over // 108M entries under the Tripartite conditional // var source = new SortData(cmd.SortCase); var entries = cmd.Length.HasValue ? source.BuildEntries(cmd.Length.Value) : default; var timer = new SortTimer <Int32>(); timer.Sort(entries, cmd.Print, cmd.Trials, cmd.InsertionLimit); } catch (ApplicationException ex) { Console.WriteLine(ex.Message); } catch (Exception ex) { Console.WriteLine(ex); } #if DEBUG Console.Write("Press Enter"); Console.ReadLine(); #endif }
private void Sorted(DataGridHeader e) { Console.WriteLine(e.SortFlag); Console.WriteLine(e.SortingEnabled); Console.WriteLine(e.FieldName); if (!e.SortingEnabled) { return; } SortingOrder sortMethod; if (e.SortFlag == SortingOrder.None || e.SortFlag == SortingOrder.Ascendant) { sortMethod = SortingOrder.Descendant; } else { sortMethod = SortingOrder.Ascendant; } e.SortFlag = sortMethod; List <EmpModel> lst = EmpList.ToList(); SortData.SortList(ref lst, e.SortFlag, e.FieldName); EmpList.Clear(); EmpList.AddRange(lst, System.Collections.Specialized.NotifyCollectionChangedAction.Reset); //EmpList = new ObservableRangeCollection<EmpModel>(lst); lst.Clear(); }
private void sortDataToolStripMenuItem_Click(object sender, EventArgs e) { SortData frmSortData = new SortData(); frmSortData.MdiParent = this; frmSortData.Show(); }
public unsafe void SortSubviews(Func <NSView, NSView, NSComparisonResult> comparer) { if (comparer == null) { throw new ArgumentNullException(nameof(comparer)); } #if NET delegate * unmanaged <IntPtr, IntPtr, IntPtr, nint> fptr = &view_compare; var func = (IntPtr)fptr; #else var func = Marshal.GetFunctionPointerForDelegate(view_comparer); #endif var context = new SortData() { Comparer = comparer }; var handle = GCHandle.Alloc(context); try { SortSubviews(func, GCHandle.ToIntPtr(handle)); if (context.Exception != null) { throw new Exception($"An exception occurred during sorting.", context.Exception); } } finally { handle.Free(); } }
static void Main(String[] args) { try { var cmd = new Command(); cmd.Parse(args); var source = new SortData(cmd.SortCase); var entries = cmd.Length.HasValue ? source.BuildEntries(cmd.Length.Value) : default; var timer = new SortTimer <Int32>(); timer.Sort(entries, cmd.Print, cmd.Trials, cmd.InsertionLimit, cmd.Merges); } catch (ApplicationException ex) { Console.WriteLine(ex.Message); } catch (Exception ex) { Console.WriteLine(ex); } #if DEBUG Console.Write("Press Enter"); Console.ReadLine(); #endif }
/// <summary> /// Gets the sort data. /// </summary> /// <param name="viewModels">The view models.</param> /// <param name="sortItems">The sort items.</param> /// <returns></returns> internal IEnumerable <AppointmentViewModel> GetSortData( IEnumerable <AppointmentViewModel> viewModels, IEnumerable <SortData> sortItems) { IEnumerable <AppointmentViewModel> appointmentList = viewModels as AppointmentViewModel[] ?? viewModels.ToArray(); if (sortItems != null) { SortData sortData = sortItems.First(); IOrderedEnumerable <AppointmentViewModel> appointmentViewModels = null; switch (sortData.Field) { case "id": appointmentViewModels = IsSortOrderAscending(sortData.Type) ? appointmentList.OrderBy(x => x.Id) : appointmentList.OrderByDescending(x => x.Id); break; case "startTime": appointmentViewModels = IsSortOrderAscending(sortData.Type) ? appointmentList.OrderBy(x => x.StartTime) : appointmentList.OrderByDescending(x => x.StartTime); break; case "status": appointmentViewModels = IsSortOrderAscending(sortData.Type) ? appointmentList.OrderBy(x => x.Status) : appointmentList.OrderByDescending(x => x.Status); break; case "paymentId": appointmentViewModels = IsSortOrderAscending(sortData.Type) ? appointmentList.OrderBy(x => x.PaymentId) : appointmentList.OrderByDescending(x => x.PaymentId); break; case "location": appointmentViewModels = IsSortOrderAscending(sortData.Type) ? appointmentList.OrderBy(x => x.Location) : appointmentList.OrderByDescending(x => x.Location); break; case "description": appointmentViewModels = IsSortOrderAscending(sortData.Type) ? appointmentList.OrderBy(x => x.Description) : appointmentList.OrderByDescending(x => x.Description); break; } if (appointmentViewModels != null) { appointmentList = appointmentViewModels.ToList(); } } return(appointmentList); }
static void Main(string[] args) { Thread t = Thread.CurrentThread; Console.WriteLine($"Имя потока: {t.Name}"); t.Name = "Метод Main"; Console.WriteLine($"Имя потока: {t.Name}"); Console.WriteLine($"Запущен ли поток : {t.IsAlive}"); Console.WriteLine($"Приоретет потока : {t.Priority}"); Console.WriteLine($"Статус потока : {t.ThreadState}"); int[] arr = new int[100]; Random rnd = new Random(); for (int i = 0; i < arr.Length; i++) { arr[i] = rnd.Next(0, arr.Length); } Console.WriteLine("\nИсходный массив: "); for (int i = 0; i < arr.Length; i++) { Console.Write($"{arr[i]} "); } int n = 5; Thread[] sorting = new Thread[n]; SortData SD = new SortData(); SD.x = n; SD.n = 0; SD.sourse = arr; for (int i = 0; i < n; i++) { sorting[i] = new Thread(new ParameterizedThreadStart(Sort)); sorting[i].Start(SD); SD.n += arr.Length / n; } for (int i = 0; i < n; i++) { sorting[i].Join(); } Console.WriteLine("\n\nМассив отсортированный с помошью потоков: "); for (int i = 0; i < arr.Length; i++) { Console.Write($"{arr[i]} "); } int[] v = Marge(arr); Console.WriteLine("\n\nИтоговый отсортированный массив: "); for (int i = 0; i < v.Length; i++) { Console.Write($"{v[i]} "); } Console.ReadLine(); }
public void ConvertLoginTimeTest() { List <User> users = new List <User>(); users.Add(new User(1, "John", "Doe", "John1", "Employee", "12-01-2015 12:01:34")); SortData.ConvertLoginTime(users); Assert.Equal("2015-01-12T12:01:34+00:00", users[0].last_login_time); }
public ActionResult FindJSON(string compareUrl) { DirectoryInfo d = new DirectoryInfo(folderPath); foreach (var file in d.GetFiles("*.json")) { var fileName = Path.GetFileNameWithoutExtension(file.Name); if (fileName == compareUrl) { JObject jsonObject = JObject.Parse(System.IO.File.ReadAllText(file.FullName)); string currency = jsonObject.SelectTokens("data[0].price").Select(f => f["currency"]).FirstOrDefault().ToString(); List <decimal> grandTotal = jsonObject.SelectTokens("data[*].price").Select(f => Math.Round(Convert.ToDecimal(f["grandTotal"]), 2)).ToList(); int passagers = jsonObject.SelectTokens("data[0].travelerPricings").Select(f => f.Count()).FirstOrDefault(); var itineraries = jsonObject.SelectTokens("data[*]").Select(t => new { segment = t["itineraries"].Select(z => z["segments"]).ToList() }).ToList(); int count = 0; flightCollection = new List <FlightData>(); foreach (var segments in itineraries) { FlightData flightData = new FlightData(); flightData.departureAirport = segments.segment[0].Select(t => t["departure"]).ToList().Select(g => g["iataCode"]).FirstOrDefault().ToString(); flightData.departureDateTime = segments.segment[0].Select(t => t["departure"]).ToList().Select(g => g["at"]).FirstOrDefault().ToString(); flightData.transferNumberArrival = segments.segment[0].Select(t => t["departure"]).ToList().Count - 1; flightData.destinationAirport = segments.segment[1].Select(t => t["departure"]).ToList().Select(g => g["iataCode"]).FirstOrDefault().ToString(); flightData.destinationDateTime = segments.segment[1].Select(t => t["departure"]).ToList().Select(g => g["at"]).FirstOrDefault().ToString(); flightData.transferNumberArrival = segments.segment[1].Select(t => t["departure"]).ToList().Count - 1; flightData.totalCost = grandTotal[count]; flightData.passagers = passagers; flightData.currency = currency; flightCollection.Add(flightData); count++; } flightCollection = flightCollection.OrderBy(x => x.departureDateTime).ToList(); if (flightCollection.Count > 0) { var x = flightCollection.First(); sortList = new List <SortData>(); foreach (PropertyInfo item in x.GetType().GetProperties()) { SortData t = new SortData(); t.columnName = item.Name; sortList.Add(t); } } return(PartialView("FlightView", flightCollection.ToPagedList(1, elementsPerPage))); } } return(Json(new { success = false }, JsonRequestBehavior.DenyGet)); }
/// <summary> /// Gets the sort data. /// </summary> /// <param name="viewModels">The view models.</param> /// <param name="sortItems">The sort items.</param>Bas /// <returns></returns> internal IEnumerable <TransactionViewModel> GetSortData( IEnumerable <TransactionViewModel> viewModels, IEnumerable <SortData> sortItems) { IEnumerable <TransactionViewModel> transactionsList = viewModels as TransactionViewModel[] ?? viewModels.ToArray(); if (sortItems != null) { SortData sortData = sortItems.First(); transactionViewModels = null; switch (sortData.Field) { case "id": transactionViewModels = IsSortOrderAscending(sortData.Type) ? transactionsList.OrderBy(x => x.Id) : transactionsList.OrderByDescending(x => x.Id); break; case "transactionDateTime": transactionViewModels = IsSortOrderAscending(sortData.Type) ? transactionsList.OrderBy(x => x.TransactionDateTime) : transactionsList.OrderByDescending(x => x.TransactionDateTime); break; case "status": transactionViewModels = IsSortOrderAscending(sortData.Type) ? transactionsList.OrderBy(x => x.Status) : transactionsList.OrderByDescending(x => x.Status); break; case "paymentInformation": transactionViewModels = IsSortOrderAscending(sortData.Type) ? transactionsList.OrderBy(x => x.MaskedNumber) : transactionsList.OrderByDescending(x => x.MaskedNumber); break; case "amount": transactionViewModels = IsSortOrderAscending(sortData.Type) ? transactionsList.OrderBy(x => x.Amount) : transactionsList.OrderByDescending(x => x.Amount); break; } if (transactionViewModels != null) { transactionsList = transactionViewModels.ToList(); } } return(transactionsList); }
public SortData12Sequence(IStreamReader reader) : base(reader) { // SORTDATA12 = SortData *ContinueFrt12 // SortData this.SortData = (SortData)BiffRecord.ReadRecord(reader); // *ContinueFrt12 this.ContinueFrt12s = new List <ContinueFrt12>(); while (BiffRecord.GetNextRecordType(reader) == RecordType.ContinueFrt12) { this.ContinueFrt12s.Add((ContinueFrt12)BiffRecord.ReadRecord(reader)); } }
// Display List of Users on Rich Text box private void btnDisplay_Click(object sender, EventArgs e) { if (MessageBox.Show("Sort users by User ID?", "Sort Data", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes) { // Sort data users = SortData.SortByUserID(users); } // Convert "Last Login Time" to ISO 8601 SortData.ConvertLoginTime(users); var list = new BindingList <User>(users); dataGridView1.DataSource = list; btnExport.Enabled = true; }
/// <summary> /// Gets the sort data. /// </summary> /// <param name="viewModels">The view models.</param> /// <param name="sortItems">The sort items.</param> /// <returns></returns> internal IEnumerable <InvoiceViewModel> GetSortData( IEnumerable <InvoiceViewModel> viewModels, IEnumerable <SortData> sortItems) { IEnumerable <InvoiceViewModel> invoiceList = viewModels as InvoiceViewModel[] ?? viewModels.ToArray(); if (sortItems != null) { SortData sortData = sortItems.First(); IOrderedEnumerable <InvoiceViewModel> invoiceViewModels = null; switch (sortData.Field) { case "id": invoiceViewModels = IsSortOrderAscending(sortData.Type) ? invoiceList.OrderBy(x => x.Id) : invoiceList.OrderByDescending(x => x.Id); break; case "date": invoiceViewModels = IsSortOrderAscending(sortData.Type) ? invoiceList.OrderBy(x => x.InvoiceDate) : invoiceList.OrderByDescending(x => x.InvoiceDate); break; /*case "client": * invoiceViewModels = IsSortOrderAscending(sortData.Type) ? * invoiceList.OrderBy(x => x.Status) : * invoiceList.OrderByDescending(x => x.Status); * break;*/ case "paymentId": invoiceViewModels = IsSortOrderAscending(sortData.Type) ? invoiceList.OrderBy(x => x.PaymentId) : invoiceList.OrderByDescending(x => x.PaymentId); break; } if (invoiceViewModels != null) { invoiceList = invoiceViewModels.ToList(); } } return(invoiceList); }
private void rankImages() { Debug.Assert(m_sourceImages.Count() > 0); m_sortData = new SortData(); #if false Array.Sort(m_ranking, compareImages); #else List <ImagePair> tests = new List <ImagePair>(); // make it so each image is on each side half the time bool alternate = false; for (int i = 0; i < m_ranking.Count(); ++i) { if (m_sourceImages[m_ranking[i]].m_hits < 0) { continue; } for (int j = i + 1; j < m_ranking.Count(); ++j) { if (m_sourceImages[m_ranking[j]].m_hits < 0) { continue; } tests.Add(alternate ? new ImagePair(j, i) : new ImagePair(i, j)); alternate = !alternate; } } m_pairTotal = tests.Count(); m_thisPair = 0; foreach (var imagePair in Shuffle(tests, new Random())) { ++m_thisPair; compareImages(m_ranking[imagePair.m_left], m_ranking[imagePair.m_right]); } Array.Sort(m_ranking, sortImageHitsDesc); #endif m_sortData = null; }
public PartialViewResult FilterData(List <FlightData> flightList) { flightCollection = new List <FlightData>(); if (flightList != null) { foreach (var item in flightList) { var tempStringDeparture = item.departureDateTime.Split('T'); var tempDateDeparture = tempStringDeparture[0].Split('-'); var departureDateTime = tempDateDeparture[2] + "." + tempDateDeparture[1] + "." + tempDateDeparture[0] + ". " + tempStringDeparture[1]; var tempStringDestination = item.destinationDateTime.Split('T'); var tempDateDestination = tempStringDestination[0].Split('-'); var destinationDateTime = tempDateDestination[2] + "." + tempDateDestination[1] + "." + tempDateDestination[0] + ". " + tempStringDestination[1]; item.departureDateTime = departureDateTime; item.destinationDateTime = destinationDateTime; item.totalCost = Math.Round(item.totalCost, 2); flightCollection.Add(item); } flightCollection = flightCollection.OrderBy(x => x.departureDateTime).ToList(); } if (flightCollection.Count > 0) { var x = flightCollection.First(); sortList = new List <SortData>(); foreach (PropertyInfo item in x.GetType().GetProperties()) { SortData t = new SortData(); t.columnName = item.Name; sortList.Add(t); } } return(PartialView("FlightView", flightCollection.ToPagedList(1, elementsPerPage))); }
public List <string> GetSortToReduce() { try { int fileId = db.Files.Max(f => f.Id); SortData sub = db.SortDatas.Find(db.SortDatas.Where(s => s.FileId == fileId).Min(item => item.Id)); Reduce map = db.Reduce.Where(item => item.Id == sub.ReduceId).FirstOrDefault(); List <string> dataReturn = new List <string> { sub.Data, map.Data, map.Node }; db.SortDatas.Remove(sub); db.SaveChanges(); db.Reduce.Remove(map); db.SaveChanges(); return(dataReturn); } catch (Exception) { return(null); } }
public void SortSubviews(Func <NSView, NSView, NSComparisonResult> comparer) { if (comparer == null) { throw new ArgumentNullException(nameof(comparer)); } var func = Marshal.GetFunctionPointerForDelegate(view_comparer); var context = new SortData() { Comparer = comparer }; var handle = GCHandle.Alloc(context); try { SortSubviews(func, GCHandle.ToIntPtr(handle)); if (context.Exception != null) { throw new Exception($"An exception occurred during sorting.", context.Exception); } } finally { handle.Free(); } }
private IOrderedQueryable <Approval> OrderBy(IOrderedQueryable <Approval> dbQuery, SortData sort) { switch (sort.Value) { case "Status": if (sort.AscDesc.ToUpper() == "DESC") { dbQuery = dbQuery.ThenByDescending(e => e.Status.ToString()); } else { dbQuery = dbQuery.ThenBy(e => e.Status.ToString()); } break; case "User": if (sort.AscDesc.ToUpper() == "DESC") { dbQuery = dbQuery.ThenByDescending(e => e.UserRequisitor.Value.ToString()); } else { dbQuery = dbQuery.ThenBy(e => e.UserRequisitor.Value.ToString()); } break; case "Identifier": if (sort.AscDesc.ToUpper() == "DESC") { dbQuery = dbQuery.ThenByDescending(e => e.PurchaseRequest.FriendlyIdentifier.ToString()); } else { dbQuery = dbQuery.ThenBy(e => e.PurchaseRequest.FriendlyIdentifier.ToString()); } break; case "DateRequested": if (sort.AscDesc.ToUpper() == "DESC") { dbQuery = dbQuery.ThenByDescending(e => e.InfoTrack.Date_CreatedOn.ToString()); } else { dbQuery = dbQuery.ThenBy(e => e.InfoTrack.Date_CreatedOn.ToString()); } break; default: break; } return(dbQuery); }
public PageableQuery <T> OrderByDescending <TOut>(Expression <Func <T, TOut> > propertyExpression) { _orderByExpression = new SortData <TOut>(propertyExpression, SortType.Descending); _theByExpressions.Clear(); return(this); }
internal static ShapeNavigator GetNavigator(this PlainShape shape, long maxEdge, NativeArray <IntVector> extraPoints, Allocator allocator) { SplitLayout splitLayout; if (maxEdge == 0) { splitLayout = shape.Plain(Allocator.Temp); } else { splitLayout = shape.Split(maxEdge, Allocator.Temp); } int pathCount = splitLayout.nodes.Length; int extraCount = extraPoints.Length; int n; if (extraCount > 0) { n = pathCount + extraCount; } else { n = pathCount; } var links = new NativeArray <Link>(n, allocator); var natures = new NativeArray <LinkNature>(n, allocator); int m = splitLayout.layouts.Length; for (int j = 0; j < m; ++j) { var layout = splitLayout.layouts[j]; var prev = layout.end - 1; var self = layout.end; var next = layout.begin; var a = splitLayout.nodes[prev]; var b = splitLayout.nodes[self]; var A = a.point.BitPack; var B = b.point.BitPack; while (next <= layout.end) { var c = splitLayout.nodes[next]; var C = c.point.BitPack; var nature = LinkNature.simple; bool isCCW = IsCCW(a.point, b.point, c.point); if (layout.isClockWise) { if (A > B && B < C) { if (isCCW) { nature = LinkNature.start; } else { nature = LinkNature.split; } } if (A < B && B > C) { if (isCCW) { nature = LinkNature.end; } else { nature = LinkNature.merge; } } } else { if (A > B && B < C) { if (isCCW) { nature = LinkNature.start; } else { nature = LinkNature.split; } } if (A < B && B > C) { if (isCCW) { nature = LinkNature.end; } else { nature = LinkNature.merge; } } } var verNature = b.index < shape.points.Length ? Vertex.Nature.origin : Vertex.Nature.extraPath; links[self] = new Link(prev, self, next, new Vertex(self, verNature, b.point)); natures[self] = nature; a = b; b = c; A = B; B = C; prev = self; self = next; ++next; } } splitLayout.Dispose(); if (extraCount > 0) { for (int k = 0; k < extraPoints.Length; ++k) { var p = extraPoints[k]; var j = k + pathCount; links[j] = new Link(j, j, j, new Vertex(j, Vertex.Nature.extraInner, p)); natures[j] = LinkNature.extra; } } // sort var dataList = new NativeArray <SortData>(n, Allocator.Temp); for (int j = 0; j < n; ++j) { var p = links[j].vertex.point; dataList[j] = new SortData(j, p.BitPack, (int)natures[j]); } Sort(dataList); var indices = new NativeArray <int>(n, allocator); // filter same points var x1 = new SortData(-1, long.MinValue, int.MinValue); int i = 0; while (i < n) { var x0 = dataList[i]; indices[i] = x0.index; if (x0.factor == x1.factor) { var v = links[x1.index].vertex; do { var link = links[x0.index]; links[x0.index] = new Link(link.prev, link.self, link.next, new Vertex(v.index, v.nature, v.point)); ++i; if (i < n) { x0 = dataList[i]; indices[i] = x0.index; } else { break; } } while(x0.factor == x1.factor); } x1 = x0; ++i; } dataList.Dispose(); return(new ShapeNavigator(pathCount, extraCount, links, natures, indices)); }
private SqlExpression <Task> OrderBy(SqlExpression <Task> query, SortData sort) { switch (sort.Value) { case "Status": if (sort.AscDesc == "DESC") { query = query.ThenByDescending(e => e.Status.ToString()); } else { query = query.ThenBy(e => e.Status.ToString()); } break; case "Created By": if (sort.AscDesc == "DESC") { query = query.ThenByDescending(e => e.CreatedBy); } else { query = query.ThenBy(e => e.CreatedBy); } break; case "Assigned To": if (sort.AscDesc == "DESC") { query = query.ThenByDescending(e => e.AssignedTo); } else { query = query.ThenBy(e => e.AssignedTo); } break; case "Priority": if (sort.AscDesc == "DESC") { query = query.ThenByDescending(e => e.Priority.ToString()); } else { query = query.ThenBy(e => e.Priority.ToString()); } break; case "Category": if (sort.AscDesc == "DESC") { query = query.ThenByDescending(e => e.Category); } else { query = query.ThenBy(e => e.Category); } break; case "Title": if (sort.AscDesc == "DESC") { query = query.ThenByDescending(e => e.Title); } else { query = query.ThenBy(e => e.Title); } break; case "Description": if (sort.AscDesc == "DESC") { query = query.ThenByDescending(e => e.Description); } else { query = query.ThenBy(e => e.Description); } break; case "Closed By": if (sort.AscDesc == "DESC") { query = query.ThenByDescending(e => e.ClosedBy); } else { query = query.ThenBy(e => e.ClosedBy); } break; case "Date Created At": if (sort.AscDesc == "DESC") { query = query.ThenByDescending(e => e.CreatedAt); } else { query = query.ThenBy(e => e.CreatedAt); } break; case "Date Due Date": if (sort.AscDesc == "DESC") { query = query.ThenByDescending(e => e.DueDate); } else { query = query.ThenBy(e => e.DueDate); } break; case "Date Closed": if (sort.AscDesc == "DESC") { query = query.ThenByDescending(e => e.ClosedAt); } else { query = query.ThenBy(e => e.ClosedAt); } break; default: break; } return(query); }
/// <summary> /// Constructs the order by clause based on the provided sort data. Sort terms must match items in /// the OrderByFieldMappings dictionary. /// </summary> /// <param name="sortData">Sort data in the format "DTOField1,asc;DTOField2,desc;DTOField3" /// Default sort order is asc</param> /// <returns>string use in dynamic LinQ in format: "Field1 asc,Field2 desc,Field3 asc"</returns> private string TransformOrderByClause(SortData sortData) { try { var orderByClause = new StringBuilder(); var hasPrimaryKeyValue = sortData.OrderByFieldMappings.ContainsKey("PrimaryKey"); var firstOrderByColumnSortOrder = string.Empty; var containPrimaryKeyValue = false; // If no sortby field is supplied, use the default. if (string.IsNullOrEmpty(sortData.Expression)) { return(sortData.OrderByFieldMappings["default"] + " asc"); } var sortItems = sortData.Expression.Split(';'); foreach (var sortItem in sortItems) { if (!string.IsNullOrEmpty(sortItem)) { var splitedSortItems = sortItem.Split(','); var orderByColumnName = splitedSortItems[0]; if (hasPrimaryKeyValue && string.Compare(sortData.OrderByFieldMappings[orderByColumnName], sortData.OrderByFieldMappings["PrimaryKey"], StringComparison.CurrentCultureIgnoreCase) == 0) { containPrimaryKeyValue = true; } orderByClause.Append(sortData.OrderByFieldMappings[orderByColumnName]); if (splitedSortItems.Length == 2) { var sortOrder = splitedSortItems[1].Equals("desc") ? " desc," : " asc,"; orderByClause.Append(sortOrder); if (string.IsNullOrEmpty(firstOrderByColumnSortOrder)) { firstOrderByColumnSortOrder = sortOrder; } } else { orderByClause.Append(" asc,"); // Default sort order is asc } } } if (hasPrimaryKeyValue && !containPrimaryKeyValue) { orderByClause.Append(sortData.OrderByFieldMappings["PrimaryKey"]); orderByClause.Append(!string.IsNullOrEmpty(firstOrderByColumnSortOrder) ? firstOrderByColumnSortOrder : " asc,"); } return(orderByClause.ToString().TrimEnd(',')); } catch (Exception) { throw new AppException("Invalid sort parameters: {0}", sortData.Expression); } }
public void WhenIWantToSortThemInAscendingOrder() { _array = SortData.SortArrayAscending(_array); }
private IOrderedQueryable <Task> OrderBy(IOrderedQueryable <Task> dbQuery, SortData sort) { switch (sort.Value) { case "Status": if (sort.AscDesc == "DESC") { dbQuery = dbQuery.ThenByDescending(e => e.Status.ToString()); } else { dbQuery = dbQuery.ThenBy(e => e.Status.ToString()); } break; case "Created By": if (sort.AscDesc == "DESC") { dbQuery = dbQuery.ThenByDescending(e => e.UserCreatedBy.Value); } else { dbQuery = dbQuery.ThenBy(e => e.UserCreatedBy.Value); } break; case "Assigned To": if (sort.AscDesc == "DESC") { dbQuery = dbQuery.ThenByDescending(e => e.UserAssignedTo.Value); } else { dbQuery = dbQuery.ThenBy(e => e.UserAssignedTo.Value); } break; case "Priority": if (sort.AscDesc == "DESC") { dbQuery = dbQuery.ThenByDescending(e => e.Priority.ToString()); } else { dbQuery = dbQuery.ThenBy(e => e.Priority.ToString()); } break; case "Category": if (sort.AscDesc == "DESC") { dbQuery = dbQuery.ThenByDescending(e => e.Category); } else { dbQuery = dbQuery.ThenBy(e => e.Category); } break; case "Title": if (sort.AscDesc == "DESC") { dbQuery = dbQuery.ThenByDescending(e => e.Title); } else { dbQuery = dbQuery.ThenBy(e => e.Title); } break; case "Description": if (sort.AscDesc == "DESC") { dbQuery = dbQuery.ThenByDescending(e => e.Description); } else { dbQuery = dbQuery.ThenBy(e => e.Description); } break; case "Completed By": if (sort.AscDesc == "DESC") { dbQuery = dbQuery.ThenByDescending(e => e.UserCompletedBy.Value); } else { dbQuery = dbQuery.ThenBy(e => e.UserCompletedBy.Value); } break; case "Date Created At": if (sort.AscDesc == "DESC") { dbQuery = dbQuery.ThenByDescending(e => e.DateCreatedAt); } else { dbQuery = dbQuery.ThenBy(e => e.DateCreatedAt); } break; case "Date Due Date": if (sort.AscDesc == "DESC") { dbQuery = dbQuery.ThenByDescending(e => e.DateDue); } else { dbQuery = dbQuery.ThenBy(e => e.DateDue); } break; case "Date Closed": if (sort.AscDesc == "DESC") { dbQuery = dbQuery.ThenByDescending(e => e.DateClosed); } else { dbQuery = dbQuery.ThenBy(e => e.DateClosed); } break; default: break; } return(dbQuery); }