Пример #1
0
        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);
            }
        }
Пример #2
0
        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);
            }
        }