public static WorkLogViewModel GetAllUserWorkLogs(int year, int month, string sortField = null, ESortDirection sortDirection = ESortDirection.Ascending, string filterUser = null) { List <WorkLog> workLogs = null; using (MyDbContext db = new MyDbContext()) { var query = db.WorkLogs.Include("User").Where(r => r.AsOfDate.Year == year && r.AsOfDate.Month == month); if (!string.IsNullOrWhiteSpace(filterUser)) { query = query.Where(r => r.User.ChineseName.Contains(filterUser) || r.User.EnglishName.Contains(filterUser) || r.User.FullName.Contains(filterUser)); } workLogs = query.ToList(); } DataTable dt = BuildWorkLogDataTable(workLogs, year, month); DataView dv = dt.DefaultView; if (!string.IsNullOrWhiteSpace(sortField)) { dv.Sort = sortField + " " + sortDirection.GetDescription(); } return(new WorkLogViewModel { Month = new DateTime(year, month, 1).ToString("MM/yyyy"), SortField = sortField, SortDirection = sortDirection, Filter = filterUser, WorkLogDataView = dv, UploadProperty = WorkLogPropertyService.GetWorkLogProperty(year, month), UserAutoCompletionSource = UserService.GetUserAutoCompletionSourceData() }); }
public static WorkLogViewModel GetWorkLogs(int userId, int year, int month) { List <WorkLog> workLogs = null; using (MyDbContext db = new MyDbContext()) { workLogs = db.WorkLogs.Include("User").Where(r => r.UserId == userId && r.AsOfDate.Year == year && r.AsOfDate.Month == month).ToList(); } DataTable dt = BuildWorkLogDataTable(workLogs, year, month); return(new WorkLogViewModel { Month = new DateTime(year, month, 1).ToString("MM/yyyy"), UploadProperty = WorkLogPropertyService.GetWorkLogProperty(year, month), WorkLogDataView = dt.DefaultView }); }