public FunctionResult_Models GetEntriesCSV(Options_Models Options) { using (var db = new BaseEntities()) { var FunctRes = new FunctionResult_Models(true); var Query = db.Schedules.Where(s => s.AppId == Options.AppId); //Filter Validity var query = Query.AsEnumerable(); var Excludes = ScheduleExclusionFields.ToList(); //Hide these 2 Excludes.Add("SchedulesId"); if (query.Count() == 0) { return(new FunctionResult_Models(false) { message = "No Entries Found!" }); } FunctRes.DataHeaders = ExcludeHeaders(query.FirstOrDefault(), Excludes); FunctRes.DataAsDictionary = query.OrderByDescending(s => s.CreatedOn).ThenByDescending(s => s.AppId).Select(s => ExcludeHeaders(s.GetType().GetProperties().Where(p => p.GetMethod.IsVirtual == false).ToDictionary(prop => prop.Name, prop => prop.GetValue(s, null)), Excludes, true). ToDictionary(prop => prop.Key, prop => prop.Value)).ToList(); return(FunctRes); } }
public FunctionResult_Models GetEntries(Options_Models Options) { using (var db = new BaseEntities()) { var FunctRes = new FunctionResult_Models(true); var Query = db.Schedules.Where(s => s.AppId == Options.AppId); Query = Options.isPast.ToUpper() == "True".ToUpper() ? Query.Where(s => s.EventDate < DateTime.UtcNow): Query.Where(s => s.EventDate >= DateTime.UtcNow); Query = Options.ValidOnly.ToUpper() == "Valid".ToUpper() ? Query.Where(s => (bool)s.IsValid == true) : Options.ValidOnly.ToUpper() == "Invalid".ToUpper() ? Query.Where(s => (bool)s.IsValid == false) : Query; Query = Options.isSent.ToUpper() == "True".ToUpper() ? Query.Where(s => (bool)s.IsSent == true) : Options.isSent.ToUpper() == "False".ToUpper() ? Query.Where(s => (bool)s.IsSent == false) : Query; //Other Filters? var query = Query.OrderByDescending(s => s.AppId).Skip((Options.Page - 1) * Options.PageSize).Take(Options.PageSize).AsEnumerable(); //var SAS = GetSASToken(); var count = query.Count(); FunctRes.TotalCount = Query.Count(); if (count == 0) { return(new FunctionResult_Models(false) { message = "No Entries Found!" }); } FunctRes.DataHeaders = ExcludeHeaders(query.FirstOrDefault(), ScheduleExclusionFields.ToList()); FunctRes.DataAsDictionary = ConvertEntriesToDictionary(query, ScheduleExclusionFields.ToList()); return(FunctRes); } }