Hallo,
Ik heb de volgende code geschreven
maar vind dit een grote lap tekst. Kan dit efficienter? Dus in de zin van
Heb gezocht op google, maar kwam vrijwel altijd de switch optie tegen, maar vind die niet zo heel prettig omdat dit veel code herhaling bevat.
Ik heb de volgende code geschreven
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
| List<HotelService.DataAccess.Reservation> reservationList; switch (orderBy) { case "ID": if (sortOrder == "ascending") {reservationList = query_total.OrderBy(query => query.ID).Skip(skipCount).Take(countPerPage).ToList();} else {reservationList = query_total.OrderByDescending(query => query.ID).Skip(skipCount).Take(countPerPage).ToList();} break; case "name": if (sortOrder == "ascending") {reservationList = query_total.OrderBy(query => query.Name).Skip(skipCount).Take(countPerPage).ToList(); } else {reservationList = query_total.OrderByDescending(query => query.Name).Skip(skipCount).Take(countPerPage).ToList(); } break; case "email": if (sortOrder == "ascending") {reservationList = query_total.OrderBy(query => query.Email).Skip(skipCount).Take(countPerPage).ToList(); } else {reservationList = query_total.OrderByDescending(query => query.Email).Skip(skipCount).Take(countPerPage).ToList(); } break; case "hotelname": if (sortOrder == "ascending") {reservationList = query_total.OrderBy(query => query.HotelID).Skip(skipCount).Take(countPerPage).ToList(); } else {reservationList = query_total.OrderByDescending(query => query.HotelID).Skip(skipCount).Take(countPerPage).ToList(); } break; case "roomtype": if (sortOrder == "ascending") {reservationList = query_total.OrderBy(query => query.RoomTypeID).Skip(skipCount).Take(countPerPage).ToList(); } else {reservationList = query_total.OrderByDescending(query => query.RoomTypeID).Skip(skipCount).Take(countPerPage).ToList(); } break; case "checkin": if (sortOrder == "ascending") {reservationList = query_total.OrderBy(query => query.CheckinTime).Skip(skipCount).Take(countPerPage).ToList(); } else {reservationList = query_total.OrderByDescending(query => query.CheckinTime).Skip(skipCount).Take(countPerPage).ToList(); } break; case "checkout": if (sortOrder == "ascending") {reservationList = query_total.OrderBy(query => query.CheckoutTime).Skip(skipCount).Take(countPerPage).ToList(); } else {reservationList = query_total.OrderByDescending(query => query.CheckoutTime).Skip(skipCount).Take(countPerPage).ToList(); } break; case "numberofadult": if (sortOrder == "ascending") {reservationList = query_total.OrderBy(query => query.NumberOfAdults).Skip(skipCount).Take(countPerPage).ToList(); } else {reservationList = query_total.OrderByDescending(query => query.NumberOfAdults).Skip(skipCount).Take(countPerPage).ToList(); } break; case "channel": if (sortOrder == "ascending") {reservationList = query_total.OrderBy(query => query.Channel).Skip(skipCount).Take(countPerPage).ToList(); } else {reservationList = query_total.OrderByDescending(query => query.Channel).Skip(skipCount).Take(countPerPage).ToList(); } break; case "clientreference": if (sortOrder == "ascending") {reservationList = query_total.OrderBy(query => query.ClientReference).Skip(skipCount).Take(countPerPage).ToList(); } else {reservationList = query_total.OrderByDescending(query => query.ClientReference).Skip(skipCount).Take(countPerPage).ToList(); } break; case "status": if (sortOrder == "ascending") {reservationList = query_total.OrderBy(query => query.Status).Skip(skipCount).Take(countPerPage).ToList(); } else {reservationList = query_total.OrderByDescending(query => query.Status).Skip(skipCount).Take(countPerPage).ToList(); } break; default: if (sortOrder == "ascending") {reservationList = query_total.OrderBy(query => query.Created).Skip(skipCount).Take(countPerPage).ToList(); } else {reservationList = query_total.OrderByDescending(query => query.Created).Skip(skipCount).Take(countPerPage).ToList(); } break; } |
maar vind dit een grote lap tekst. Kan dit efficienter? Dus in de zin van
code:
1
| query_total.OrderBy(query => <mijn-variabele-met-naam-kolom-als-waarde>)...... |
Heb gezocht op google, maar kwam vrijwel altijd de switch optie tegen, maar vind die niet zo heel prettig omdat dit veel code herhaling bevat.
It's me Mario