public static IQueryable <LessonTime> GetUnpaidPISession <TEntity>(this PaymentQueryViewModel viewModel, ModelSource <TEntity> models) where TEntity : class, new() { var unpaid = models.FilterByUnpaidLesson(); var items = models.GetTable <LessonTime>() .Where(r => r.ClassTime < DateTime.Today.AddDays(1)) .Where(r => r.RegisterLesson.LessonPriceType.Status == (int)Naming.DocumentLevelDefinition.自主訓練) .Where(r => unpaid.Any(l => l.RegisterID == r.RegisterID)); if (viewModel.BranchID.HasValue) { items = items.Where(r => r.BranchID == viewModel.BranchID); } return(items); }
public static IQueryable <LessonTime> GetUnpaidTrialSession <TEntity>(this PaymentQueryViewModel viewModel, ModelSource <TEntity> models, UserProfile profile) where TEntity : class, new() { var registerItems = models.PropmptReceivableTrialLesson(); var unpaid = models.FilterByUnpaidLesson(registerItems); var items = models.GetTable <LessonTime>() .Where(r => unpaid.Any(l => l.RegisterID == r.RegisterID)); if (profile.IsAssistant() || profile.IsOfficer()) { } else { items = items .Where(l => ((l.BranchStore.Status & (int)BranchStore.StatusDefinition.VirtualClassroom) == (int)BranchStore.StatusDefinition.VirtualClassroom && l.AttendingCoach == profile.UID) || l.BranchID == viewModel.BranchID); } return(items); }