public MajorResult GetPage(string filter, int?draw, int?initialPage, int?pageSize, string sortDir, string sortBy) { using (SATEntities db = new SATEntities()) { var data = db.tb_Major.ToList(); int recordsTotal = data.Count(); if (!string.IsNullOrEmpty(filter)) { data = data.Where(x => x.MajName.Contains(filter)).ToList(); } int recordsFiltered = data.Count(); switch (sortBy) { case "MajName": data = (sortDir == "asc") ? data.OrderBy(x => x.MajName).ToList() : data.OrderByDescending(x => x.MajName).ToList(); break; case "Status": data = (sortDir == "asc") ? data.OrderBy(x => x.MajStatus).ToList() : data.OrderByDescending(x => x.MajStatus).ToList(); break; } int start = initialPage.HasValue ? (int)initialPage / (int)pageSize : 0; int length = pageSize ?? 10; var list = data.Select((s, i) => new MajorViewModel() { RowNumber = ++i, MajID = s.MajID, MajName = s.MajName, MajStatus = s.MajStatus, Status = s.MajStatus == true ? EnumType.StatusName.Active : EnumType.StatusName.NotActive }).Skip(start * length).Take(length).ToList(); MajorResult result = new MajorResult(); result.draw = draw ?? 0; result.recordsTotal = recordsTotal; result.recordsFiltered = recordsFiltered; result.data = list; return(result); } }
void Awake() { //싱글턴 인스턴스 할당 instance = this; }