Example #1
0
        public JsonResult Datatable(DatatableParam param)
        {
            var people        = _people.All().Include(p => p.Address);
            var sessionObject = Session.GetDatatableProperties <Person>(param.DatatableId);
            var parser        = new DatatableParser <Person>(people, sessionObject);

            return(parser.Parse(param).ToJson());
        }
Example #2
0
        public void SetUp()
        {
            _param = new DatatableParam
            {
                ColumnsCount   = 2,
                DataProperties = new[] { "Id", "Name" },
                DatatableId    = "PeopleDatatable",
                DisplayLength  = 10,
                DisplayStart   = 0,
                Echo           = "abc",
                GlobalRegex    = false,
                GlobalSearch   = "",
                Regex          = new[] { false, false },
                Search         = new string[] { null, null },
                Searchable     = new[] { false, true },
            };

            _properties = new IDatatableProperty <Person>[]
            {
                new DatatableProperty <Person, string>("Id", person => person.Id),
                new DatatableProperty <Person, int>("Name", person => person.Name),
                new DatatableProperty <Person, DateTime>("Birthday", person => person.Birthday, "yyyy-MM-dd")
            };
        }
        public JsonResult GetConfirmationMembers(DatatableParam param)
        {
            var members  = _sacramentRepository.GetConfirmedMembers();
            var allItems = new List <ConfirmationTableModel>();

            //Apply Searching
            if (!string.IsNullOrEmpty(param.search.value))
            {
                var searchTerm = param.search.value;
                members = members.Where(m => m.ConfirmationName.Contains(searchTerm) || m.Number.Contains(searchTerm) || m.Surname.Contains(searchTerm));
            }

            var totalcount = members.Count();

            members = members.OrderBy(m => m.DateReceived);

            //Apply Sorting/Ordering
            //IEnumerable<UserTableModel> entryTables = allItems;
            var orderColumnIndex = Convert.ToInt32(param.order[0].column);
            var orderDir         = param.order[0].dir;

            if (orderDir.Equals("asc"))
            {
                if (orderColumnIndex == 1)
                {
                    members = members.OrderBy(m => m.Number);
                }
                if (orderColumnIndex == 2)
                {
                    members = members.OrderBy(m => m.Surname);
                }
                if (orderColumnIndex == 3)
                {
                    members = members.OrderBy(m => m.ConfirmationName);
                }
            }
            else
            {
                if (orderColumnIndex == 1)
                {
                    members = members.OrderByDescending(m => m.Number);
                }
                if (orderColumnIndex == 2)
                {
                    members = members.OrderByDescending(m => m.Surname);
                }
                if (orderColumnIndex == 3)
                {
                    members = members.OrderByDescending(m => m.ConfirmationName);
                }
            }

            //Apply Pagination
            //int.TryParse(param., out start);
            members = members.Skip(param.start).Take(param.length);

            var count = 0;

            foreach (var e in members)
            {
                count++;
                allItems.Add(new ConfirmationTableModel()
                {
                    Id               = e.Id,
                    Serial           = count,
                    Number           = e.Number,
                    Surname          = e.Surname,
                    ConfirmationName = e.ConfirmationName,
                    DateReceived     = e.DateReceived.ToString("d")
                });
            }

            return(Json(new
            {
                param.draw,
                recordsFiltered = totalcount,
                recordsTotal = totalcount,
                data = allItems,
            }, JsonRequestBehavior.AllowGet));
        }
        public JsonResult GetMatrimonyMembers(DatatableParam param)
        {
            var members  = _sacramentRepository.GetMatrimonyMembers();
            var allItems = new List <MatrimonyTableModel>();

            //Apply Searching
            if (!string.IsNullOrEmpty(param.search.value))
            {
                var searchTerm = param.search.value;
                members = members.Where(m => m.BrideFullName.Contains(searchTerm) || m.GroomFullName.Contains(searchTerm));
            }

            var totalcount = members.Count();

            members = members.OrderBy(m => m.Id);

            //Apply Sorting/Ordering
            //IEnumerable<UserTableModel> entryTables = allItems;
            var orderColumnIndex = Convert.ToInt32(param.order[0].column);
            var orderDir         = param.order[0].dir;

            if (orderDir.Equals("asc"))
            {
                /*if (orderColumnIndex == 1)
                 * {
                 *  members = members.OrderBy(m => m.BaptismName);
                 * }
                 * if (orderColumnIndex == 2)
                 * {
                 *  members = members.OrderBy(m => m.Surname);
                 * }
                 * if (orderColumnIndex == 3)
                 * {
                 *  members = members.OrderBy(m => m.Othername);
                 * }*/
            }
            else
            {
                /*if (orderColumnIndex == 1)
                 * {
                 *  members = members.OrderByDescending(m => m.BaptismName);
                 * }
                 * if (orderColumnIndex == 2)
                 * {
                 *  members = members.OrderByDescending(m => m.Surname);
                 * }
                 * if (orderColumnIndex == 3)
                 * {
                 *  members = members.OrderByDescending(m => m.Othername);
                 * }*/
            }

            //Apply Pagination
            //int.TryParse(param., out start);
            members = members.Skip(param.start).Take(param.length);

            var count = 0;

            foreach (var e in members)
            {
                count++;
                allItems.Add(new MatrimonyTableModel
                {
                    Id              = e.Id,
                    Serial          = count,
                    BrideFullName   = e.BrideFullName,
                    GroomFullName   = e.GroomFullName,
                    DateOfMarriage  = e.DateOfMarriage,
                    PlaceOfMarriage = e.PlaceOfMarriage
                });
            }

            return(Json(new
            {
                param.draw,
                recordsFiltered = totalcount,
                recordsTotal = totalcount,
                data = allItems,
            }, JsonRequestBehavior.AllowGet));
        }
Example #5
0
        public JsonResult GetRecentEvents(DatatableParam param)
        {
            var events   = _eventRepository.GetRecentEvents();
            var allItems = new List <EventTableModel>();

            //Apply Searching
            if (!string.IsNullOrEmpty(param.search.value))
            {
                var searchTerm = param.search.value;
                events = events.Where(m => m.EventName.Contains(searchTerm));
            }

            var totalcount = events.Count();

            events = events.OrderBy(m => m.CreateDate);

            //Apply Sorting/Ordering
            //IEnumerable<UserTableModel> entryTables = allItems;
            var orderColumnIndex = Convert.ToInt32(param.order[0].column);
            var orderDir         = param.order[0].dir;

            if (orderDir.Equals("asc"))
            {
                if (orderColumnIndex == 1)
                {
                    events = events.OrderBy(m => m.EventName);
                }
                if (orderColumnIndex == 2)
                {
                    events = events.OrderBy(m => m.EventDescription);
                }
                if (orderColumnIndex == 3)
                {
                    events = events.OrderBy(m => m.CreateDate);
                }
            }
            else
            {
                if (orderColumnIndex == 1)
                {
                    events = events.OrderByDescending(m => m.EventName);
                }
                if (orderColumnIndex == 2)
                {
                    events = events.OrderByDescending(m => m.EventDescription);
                }
                if (orderColumnIndex == 3)
                {
                    events = events.OrderByDescending(m => m.CreateDate);
                }
            }

            //Apply Pagination
            //int.TryParse(param., out start);
            events = events.Skip(param.start).Take(param.length);

            int count = 0;

            foreach (var e in events)
            {
                count++;
                allItems.Add(new EventTableModel
                {
                    Id          = count,
                    Name        = e.EventName,
                    Description = e.EventDescription.Substring(0, 50) + "...",
                    CreateDate  = e.CreateDate.ToString("d")
                });
            }

            return(Json(new
            {
                param.draw,
                recordsFiltered = totalcount,
                recordsTotal = totalcount,
                data = allItems,
            }, JsonRequestBehavior.AllowGet));
        }
Example #6
0
 /// <summary>
 ///     Initializes a new instance of the <see cref="DatatableSorter{TEntity}" /> class.
 /// </summary>
 /// <param name="param">
 ///     The param.
 /// </param>
 /// <param name="properties">
 ///     The properties.
 /// </param>
 public DatatableSorter(DatatableParam param, IDatatableProperty <TEntity>[] properties)
 {
     _param      = param;
     _properties = properties;
 }
Example #7
0
        public JsonResult GetPosition(DatatableParam param)
        {
            var members  = _societyRepository.GetPositions();
            var allItems = new List <PositionTableModel>();

            //Apply Searching
            if (!string.IsNullOrEmpty(param.search.value))
            {
                var searchTerm = param.search.value;
                members = members.Where(m => m.PositionName.Contains(searchTerm) || m.PositionDescription.Contains(searchTerm));
            }

            var totalcount = members.Count();

            members = members.OrderBy(m => m.PositionName);

            //Apply Sorting/Ordering
            //IEnumerable<UserTableModel> entryTables = allItems;
            var orderColumnIndex = Convert.ToInt32(param.order[0].column);
            var orderDir         = param.order[0].dir;

            if (orderDir.Equals("asc"))
            {
                if (orderColumnIndex == 1)
                {
                    members = members.OrderBy(m => m.PositionName);
                }
                if (orderColumnIndex == 2)
                {
                    members = members.OrderBy(m => m.PositionDescription);
                }
            }
            else
            {
                if (orderColumnIndex == 1)
                {
                    members = members.OrderByDescending(m => m.PositionName);
                }
                if (orderColumnIndex == 2)
                {
                    members = members.OrderByDescending(m => m.PositionDescription);
                }
            }

            //Apply Pagination
            //int.TryParse(param., out start);
            members = members.Skip(param.start).Take(param.length);

            var count = 0;

            foreach (var e in members)
            {
                count++;
                allItems.Add(new PositionTableModel
                {
                    Serial              = count,
                    PositionName        = e.PositionName,
                    PositionDescription = e.PositionDescription
                });
            }

            return(Json(new
            {
                param.draw,
                recordsFiltered = totalcount,
                recordsTotal = totalcount,
                data = allItems,
            }, JsonRequestBehavior.AllowGet));
        }