Data.BugsDBManager.GetBugs C# (CSharp) Method

GetBugs() public static method

public static GetBugs ( int page, int pageSize, bool asc, string sortExpression, int &itemsCount ) : IEnumerable
page int
pageSize int
asc bool
sortExpression string
itemsCount int
return IEnumerable
        public static IEnumerable<Bug> GetBugs(int page, int pageSize, bool asc, string sortExpression, out int itemsCount)
        {
            DataClassesBugTrackingSystemDataContext db = new DataClassesBugTrackingSystemDataContext();

            int items;
            switch (sortExpression)
            {
                case "SortDescription":
                    var bugs = db.Bugs.Page(page, pageSize, p => p.Description,
                                                            p=> p.Status != Status.Closed.ToString(),
                                                            p => p.Status != Status.Deleted.ToString(),
                                                            asc, out items);
                    itemsCount = items;
                    return bugs;
                case "SortId":
                    bugs = db.Bugs.Page(page, pageSize, p => p.BugId,
                                                        p => p.Status != Status.Closed.ToString(),
                                                        p => p.Status != Status.Deleted.ToString(),
                                                        asc, out items);
                    itemsCount = items;
                    return bugs;
                case "SortPriority":
                    bugs = db.Bugs.Page(page, pageSize, p => p.Priority,
                                                        p => p.Status != Status.Closed.ToString(),
                                                        p => p.Status != Status.Deleted.ToString(),
                                                        asc, out items);
                    itemsCount = items;
                    return bugs;
                case "SortOwner":
                    bugs = db.Bugs.Page(page, pageSize, p => p.Tester.Name,
                                                        p => p.Status != Status.Closed.ToString(),
                                                        p => p.Status != Status.Deleted.ToString(),
                                                        asc, out items);
                    itemsCount = items;
                    return bugs;
                case "SortProject":
                    bugs = db.Bugs.Page(page, pageSize, p => p.Project.Name,
                                                        p => p.Status != Status.Closed.ToString(),
                                                        p => p.Status != Status.Deleted.ToString(),
                                                        asc, out items);
                    itemsCount = items;
                    return bugs;
                case "SortStatus":
                    bugs = db.Bugs.Page(page, pageSize, p => p.Status,
                                                        p => p.Status != Status.Closed.ToString(),
                                                        p => p.Status != Status.Deleted.ToString(),
                                                        asc, out items);
                    itemsCount = items;
                    return bugs;
            }

            itemsCount = 0;
            return null;
        }