コード例 #1
0
        public static object GetData(this IQueryable <Tool> query, ToolFilter filter, string sort, string[] fields, int page, int limit, int total)
        {
            query = query.Filter(filter);
            query = query.Pagination(page, limit);
            query = query.Sort(sort);
            var result = query.SelectField(fields, total);

            return(result);
        }
コード例 #2
0
        public object GetDetail(ToolFilter filter, string sort, string[] fields, int page, int limit)
        {
            var query     = Get();
            int totalPage = 0;

            if (limit > -1)
            {
                totalPage = query.Count() / limit;
            }
            return(query.GetData(filter, sort, fields, page, limit, totalPage));
        }
コード例 #3
0
        private static IQueryable <Tool> Filter(this IQueryable <Tool> query, ToolFilter filter)
        {
            if (filter.Ids != null)
            {
                query = query.Where(s => filter.Ids.Contains(s.ToolId));
            }
            if (filter.Name != null && filter.Name.Length > 0)
            {
                query = query.Where(s => s.Name.Contains(filter.Name));
            }

            return(query);
        }
コード例 #4
0
 public IActionResult Get([FromQuery] ToolFilter filter,
                          [FromQuery] string sort,
                          [FromQuery] string[] fields,
                          [FromQuery] int page  = 0,
                          [FromQuery] int limit = -1)
 {
     try
     {
         var domain = _uow.GetService <ToolDomain>();
         if (fields.Length == 0)
         {
             fields = new string[] { ToolFieldsDetail.INFO };
         }
         var result = domain.GetDetail(filter, sort, fields, page, limit);
         return(Success(result));
     }
     catch (Exception ex)
     {
         return(Error(ex.Message));
     }
 }
コード例 #5
0
        // Update the filter when the user clicks OK.
        // Note that we are not setting DialogResult here;
        // that's done in the base class.
        private void buttonOK_Click(object sender, System.EventArgs e)
        {
            if (_filter != null && _filter is ToolFilter &&
                listBoxList.Items.Count > 0)
            {
                // The list is not empty, and the filter is a type of filter
                // that we can modify; proceed.
                ToolFilter toolFilter =
                    _filter as ToolFilter;

                // Try to cast the various filters to ToolFilter objects,
                // so that we can call the ToolFilter.SetExplicitInclude method
                ToolFilter selectToolFilter = null;
                if (_selectFilter != null)
                {
                    selectToolFilter = _selectFilter as ToolFilter;
                }

                ToolFilter editToolFilter = null;
                if (_editFilter != null)
                {
                    editToolFilter = _editFilter as ToolFilter;
                }

                ToolFilter insertToolFilter = null;
                if (_insertFilter != null)
                {
                    insertToolFilter = _insertFilter as ToolFilter;
                }

                // Check each list item to see if it has been selected or de-selected
                for (int i = 0; i < listBoxList.Items.Count; i++)
                {
                    FeatureLayer layer    = (FeatureLayer)(listBoxList.Items[i]);
                    bool         bInclude = listBoxList.GetSelected(i);
                    if (bInclude && !(_filter.IncludeLayer(layer))
                        ||
                        !bInclude && _filter.IncludeLayer(layer)
                        )
                    {
                        // Either the layer was on and the user turned it off,
                        // or vice versa.  Update the filter's status to note
                        // that the layer has been explicitly turned on or off.
                        toolFilter.SetExplicitInclude(layer, bInclude);

                        // Now, we might want to adjust the other filters.
                        // For example, if a layer is changed so that it is no
                        // longer selectable, we should turn off Editable and Insertable.
                        // Or if a layer is made Insertable (Drawable),
                        // we should make sure both Selectable and Editable are on.
                        if (FilterType == FilterType.Selectable)
                        {
                            // We're letting the user choose the selectable layers...
                            if (!bInclude)
                            {
                                // The user changed this layer to NOT be selectable,
                                // so make sure the layer isn't Editable or Insertable
                                if (editToolFilter != null &&
                                    editToolFilter.IncludeLayer(layer))
                                {
                                    // This layer IS currently editable; turn it off.
                                    editToolFilter.SetExplicitInclude(layer, false);
                                }

                                if (insertToolFilter != null &&
                                    insertToolFilter.IncludeLayer(layer))
                                {
                                    // This layer IS currently insertable; turn it off.
                                    insertToolFilter.SetExplicitInclude(layer, false);
                                }
                            }
                        }
                        else if (FilterType == FilterType.Editable)
                        {
                            // We're letting the user choose the editable layers...
                            if (bInclude)
                            {
                                // The user changed this layer to be editable,
                                // so make sure the layer IS Selectable
                                if (selectToolFilter != null &&
                                    !selectToolFilter.IncludeLayer(layer))
                                {
                                    // This layer is NOT currently selectable; turn it on.
                                    selectToolFilter.SetExplicitInclude(layer, true);
                                }
                            }
                            else
                            {
                                // The user changed this layer to be NOT editable,
                                // so make sure it isn't Insertable either.
                                if (insertToolFilter != null &&
                                    insertToolFilter.IncludeLayer(layer))
                                {
                                    // This layer IS currently insertable; turn it off.
                                    insertToolFilter.SetExplicitInclude(layer, false);
                                }
                            }
                        }
                        else
                        {
                            // We're letting the user choose the insertable layers...
                            if (bInclude)
                            {
                                // The user changed this layer to be insertable,
                                // so make sure the layer IS Editable and Selectable
                                if (selectToolFilter != null &&
                                    !selectToolFilter.IncludeLayer(layer))
                                {
                                    // This layer is NOT currently selectable; turn it on.
                                    selectToolFilter.SetExplicitInclude(layer, true);
                                }
                                if (editToolFilter != null &&
                                    !editToolFilter.IncludeLayer(layer))
                                {
                                    // This layer is NOT currently editable; turn it on.
                                    editToolFilter.SetExplicitInclude(layer, true);
                                }
                            }
                        }
                    }
                }
            }
            // Let the base class set DialogResult
        }