public async Task <ActionResult> Udklipslist(ListQuery query) { try { using (var dbmunin = new ILABNew2Entities()) { int flicks = query.P * query.Size; var l = await dbmunin.udklip.ToListAsync(); if (!string.IsNullOrEmpty(query.Q)) { string[] sQuery = query.Q.Split(' '); for (int i = 0; i < sQuery.Length; i++) { l = l.Where(x => x.Overskrift.ToLower().Contains(sQuery[i].ToLower()) || (x.Note != null && x.Note.ToLower().Contains(sQuery[i].ToLower())) || (x.Mappe != null && x.Mappe.ToLower().Contains(sQuery[i].ToLower()))).ToList(); } } var column = typeof(Udklip).GetProperty(query.S, BindingFlags.SetProperty | BindingFlags.IgnoreCase | BindingFlags.Public | BindingFlags.Instance); if (column != null) { if (query.O.ToUpper() == "DESC") { l = l.OrderByDescending(x => column.GetValue(x, null)).ToList(); } else { l = l.OrderBy(x => column.GetValue(x, null)).ToList(); } } var pageResult = l.Select(x => new UdklipDto() { Id = x.UdklipsID, Datering = x.Datering, Overskrift = x.Overskrift, Mappe = x.Mappe }).Skip(1).Take(query.Size); if (l.Count > flicks) { pageResult = l.Select(x => new UdklipDto() { Id = x.UdklipsID, Datering = x.Datering, Overskrift = x.Overskrift, Mappe = x.Mappe }).Skip(flicks).Take(query.Size); } //1971.12.09 Regex regx = new Regex(@"^([0-9]{4})[- \/.](0[1-9]|1[012])[- \/.](0[1-9]|[12][0-9]|3[01])$"); foreach (var o in pageResult) { if (o.Datering == null) { continue; } if (!regx.IsMatch(o.Datering)) { o.ErrorCode = 1; } } var listResult = new MuninListViewModel <UdklipDto>() { Count = l.Count, Pages = l.Count / query.Size, Data = pageResult.ToList() }; var result = JsonConvert.SerializeObject(listResult, Utils.JsonSettings()); return(Content(result)); } } catch (Exception ex) { return(Content("Fejl:" + ex.Message)); } }
public async Task <ActionResult> BogListe(ListQuery query) { try { using (var dbmunin = new ILABNew2Entities()) { int flicks = query.P * query.Size; var l = await dbmunin.Bibliotek.ToListAsync(); if (!string.IsNullOrEmpty(query.Q)) { string[] sQuery = query.Q.Split(' '); for (int i = 0; i < sQuery.Length; i++) { l = l.Where( x => (x.Bogkode != null && x.Bogkode.ToLower().Contains(sQuery[i].ToLower())) || (x.Note != null && x.Note.ToLower().Contains(sQuery[i].ToLower())) || (x.Titel != null && x.Titel.ToLower().Contains(sQuery[i].ToLower())) || (x.Forfatter != null && x.Forfatter.ToLower().Contains(sQuery[i].ToLower())) || (x.Undertitel != null && x.Undertitel.ToLower().Contains(sQuery[i].ToLower()))) .ToList(); } } var column = typeof(Bibliotek).GetProperty(query.S, BindingFlags.SetProperty | BindingFlags.IgnoreCase | BindingFlags.Public | BindingFlags.Instance); if (column != null) { if (query.O.ToUpper() == "DESC") { l = l.OrderByDescending(x => column.GetValue(x, null)).ToList(); } else { l = l.OrderBy(x => column.GetValue(x, null)).ToList(); } } var pageResult = l.Select(x => new BiblioteksDto() { ID = x.BibliotekID, BogKode = x.Bogkode, Titel = x.Titel, Forfatter = x.Forfatter, Udgivet = (x.Udgivet != null)? x.Udgivet.Value:0, }).Skip(1).Take(query.Size); if (l.Count > flicks) { pageResult = l.Select(x => new BiblioteksDto() { ID = x.BibliotekID, BogKode = x.Bogkode, Titel = x.Titel, Forfatter = x.Forfatter, Udgivet = (x.Udgivet != null) ? x.Udgivet.Value : 0, }).Skip(flicks).Take(query.Size); } var listResult = new MuninListViewModel <BiblioteksDto>() { Count = l.Count, Pages = l.Count / query.Size, Data = pageResult.ToList() }; var result = JsonConvert.SerializeObject(listResult, Utils.JsonSettings()); return(Content(result)); } } catch (Exception ex) { return(Content("Fejl:" + ex.Message)); } }