Esempio n. 1
0
        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));
            }
        }
Esempio n. 2
0
        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));
            }
        }