Ejemplo n.º 1
0
        public EntityData <Group> GetActiveGroups(List <SortCollection> sorted, int?skip, int?take,
                                                  string searchKey = null, List <FilterCollection> filterCollection = null)
        {
            var skipValue        = skip.HasValue ? skip.Value : 0;
            var takeValue        = take.HasValue ? take.Value : 10;
            var orderby          = OrderByType.Asc;
            var searchDescriptor = new List <String> {
                "Name", "Description"
            };

            var whereColumns = new List <ConditionColumn>
            {
                new ConditionColumn
                {
                    ColumnName = GlobalAppSettings.DbColumns.DB_Group.IsActive,
                    Condition  = Conditions.Equals,
                    Value      = true
                }
            };



            var query = _queryBuilder.SelectAllRecordsFromTable(GlobalAppSettings.DbColumns.DB_Group.DB_TableName, whereColumns);



            var data =
                _dataProvider.ExecuteReaderQuery(_groupManagement.FilteringHelper(query, searchKey, filterCollection, sorted, searchDescriptor));

            var result = data.DataTable.AsEnumerable().Select(row => new Group
            {
                GroupId          = row.Field <int>(GlobalAppSettings.DbColumns.DB_Group.GroupId),
                GroupName        = row.Field <string>(GlobalAppSettings.DbColumns.DB_Group.Name),
                GroupDescription = row.Field <string>(GlobalAppSettings.DbColumns.DB_Group.Description),
                GroupColor       = row.Field <string>(GlobalAppSettings.DbColumns.DB_Group.Color),
                CanDelete        =
                    (row.Field <int>(GlobalAppSettings.DbColumns.DB_Group.GroupId) == 1) ? false : true
            }).Skip(skipValue).Take(takeValue).ToList();


            return(new EntityData <Group>
            {
                result = result,
                count = data.DataTable.Rows.Count
            });
        }