public OperationDataResult <EntityGroupList> GetEntityGroupList(
     AdvEntitySelectableGroupListRequestModel requestModel)
 {
     try
     {
         eFormCore.Core  core  = _coreHelper.GetCore();
         EntityGroupList model = core.Advanced_EntityGroupAll(requestModel.Sort, requestModel.NameFilter,
                                                              requestModel.PageIndex, requestModel.PageSize, Constants.FieldTypes.EntitySelect,
                                                              requestModel.IsSortDsc,
                                                              Constants.WorkflowStates.NotRemoved);
         return(new OperationDataResult <EntityGroupList>(true, model));
     }
     catch (Exception)
     {
         return(new OperationDataResult <EntityGroupList>(false, LocaleHelper.GetString("SelectableGroupLoadingFailed")));
     }
 }
        public async Task <OperationDataResult <Paged <EntityGroup> > > Index(
            AdvEntitySelectableGroupListRequestModel requestModel)
        {
            try
            {
                var core = await _coreHelper.GetCore();

                var sdkDbContext = core.DbContextHelper.GetDbContext();

                var entityGroupList = new Paged <EntityGroup>();

                // get query
                var entitySelectableGroupQuery = sdkDbContext.EntityGroups
                                                 .Where(x => x.WorkflowState != Constants.WorkflowStates.Removed)
                                                 .Where(x => x.Type == Constants.FieldTypes.EntitySelect)
                                                 .AsNoTracking()
                                                 .AsQueryable();

                if (!string.IsNullOrEmpty(requestModel.NameFilter))
                {
                    entitySelectableGroupQuery = entitySelectableGroupQuery
                                                 .Where(x => x.Name.Contains(requestModel.NameFilter));
                }

                // sort
                entitySelectableGroupQuery = QueryHelper.AddSortToQuery(entitySelectableGroupQuery, requestModel.Sort, requestModel.IsSortDsc);

                // count elements
                entityGroupList.Total = await entitySelectableGroupQuery.Select(x => x.Id).CountAsync();

                // pagination
                entitySelectableGroupQuery =
                    entitySelectableGroupQuery
                    .Skip(requestModel.Offset)
                    .Take(requestModel.PageSize);

                // select and take from db
                var entityGroups = await entitySelectableGroupQuery
                                   .Select(x => new EntityGroup
                {
                    Description        = x.Description,
                    WorkflowState      = x.WorkflowState,
                    CreatedAt          = x.CreatedAt,
                    Id                 = x.Id,
                    MicrotingUUID      = x.MicrotingUid,
                    Name               = x.Name,
                    Type               = x.Type,
                    UpdatedAt          = x.UpdatedAt,
                    EntityGroupItemLst = new List <EntityItem>(),
                }).ToListAsync();

                entityGroupList.Entities = entityGroups;

                var plugins = await _dbContext.EformPlugins.Select(x => x.PluginId).ToListAsync();

                foreach (var entityGroup in entityGroupList.Entities)
                {
                    foreach (var _ in plugins.Where(plugin => entityGroup.Name.Contains(plugin)))
                    {
                        entityGroup.IsLocked = true;
                    }
                }

                return(new OperationDataResult <Paged <EntityGroup> >(true, entityGroupList));
            }
            catch (Exception)
            {
                return(new OperationDataResult <Paged <EntityGroup> >(false,
                                                                      _localizationService.GetString("SelectableGroupLoadingFailed")));
            }
        }
 public Task <OperationDataResult <Paged <EntityGroup> > > Index(
     [FromBody] AdvEntitySelectableGroupListRequestModel requestModel)
 {
     return(_entitySelectService.Index(requestModel));
 }