public List <Training> GetTrainings(TrainingFilter filter) { if (filter == null) { return(Trainings); } //Not Good Code. Just for Demo. You will need to handle all cases here. return(Trainings.Where(x => String.Equals(x.City, filter.City, StringComparison.CurrentCultureIgnoreCase) || (x.Country != null && (String.Equals(x.Country, filter.Country, StringComparison.CurrentCultureIgnoreCase))) || (x.Country != null && (String.Equals(x.Country, filter.Country, StringComparison.CurrentCultureIgnoreCase))) || (x.Zip != null && (String.Equals(x.Zip, filter.Zip, StringComparison.CurrentCultureIgnoreCase)))).ToList()); }
public List <Training> GetTrainings([FromUri] TrainingFilter filter) { return(_trainingRepository.GetTrainings(filter)); }
public ApiTableResponseModel <TrainingModel> GetFilteredTrainings(TrainingFilter filter) { return(DB.Trainings.GetTrainingsFiltered(filter)); }
public static ApiTableResponseModel <TrainingModel> GetTrainingsFiltered(TrainingFilter filter) { ApiTableResponseModel <TrainingModel> response = new ApiTableResponseModel <TrainingModel>(); using (var ctx = new DFAppEntities()) { var q = ctx.Trainings .Include(t => t.Locations) .Include(t => t.DanceGroups) .Include(t => t.DanceSelections) .Include(t => t.Users) // .Include("TrainingMemberPresenceRegistrations.Members") .AsQueryable(); if (filter.TrainingDate.HasValue) { q = q.Where(x => x.TrainingDate == filter.TrainingDate.Value); } if (filter.TrainingDanceGroupID.HasValue) { q = q.Where(x => x.TrainingDanceGroupID == filter.TrainingDanceGroupID.Value); } if (filter.TrainingLocationID.HasValue) { q = q.Where(x => x.TrainingLocationID == filter.TrainingLocationID.Value); } if (filter.TrainerUserID.HasValue) { q = q.Where(x => x.TrainerUserID == filter.TrainerUserID.Value); } if (!string.IsNullOrEmpty(filter.WeekDay)) { q = q.Where(x => x.WeekDay.ToUpper() == filter.WeekDay.ToUpper()); } if (string.IsNullOrEmpty(filter.OrderByClause)) { // default order filter.OrderByClause = "TrainingDate desc"; } if (filter.PageNo < 1) { filter.PageNo = 1; } if (filter.RecordsPerPage < 1) { // unlimited filter.RecordsPerPage = 1000000; } response.Total = q.Count(); var Data = q.ToList() .Select(x => new TrainingModel() { TrainingID = x.TrainingID, TrainingDate = x.TrainingDate, TrainingLocationID = x.TrainingLocationID, TrainingLocationName = x.Locations.LocationName, TrainingDanceGroupID = x.TrainingDanceGroupID, TrainingDanceGroupName = x.DanceGroups.DanceGroupName, WeekDay = x.WeekDay, StartTime = (TimeSpan)x.StartTime, EndTime = (TimeSpan)x.EndTime, TrainerUserID = x.TrainerUserID, TrainerUserName = (x.Users != null) ? (x.Users.FirstName + " " + x.Users.LastName) : string.Empty, Note = x.Note //, //TrainingMemberPresenceRegistrations = x.TrainingMemberPresenceRegistrations.Select(r => // new TrainingMemberPresenceRegistrationModel() // { // TrainingID = r.TrainingID, // MemberID = r.MemberID, // MemberName = r.Members.FirstName + " " + r.Members.LastName, // IsPresent = r.IsPresent, // AbsenceJustified = r.AbsenceJustified, // AbsenceNote = r.AbsenceNote // } //) //.OrderBy(mp => mp.MemberName) } ) .OrderBy(filter.OrderByClause) .Skip((filter.PageNo - 1) * filter.RecordsPerPage) .Take(filter.RecordsPerPage); response.Data = Data; } return(response); }