コード例 #1
0
        public Result <Select2Result <Select2ItemBase> > GetUnassigned(string roleId, Select2Request select2Request)
        {
            ValidationResult validationResult = _select2Validator.Validate(select2Request);

            if (!validationResult.IsValid)
            {
                _logger.LogWarning($"Invalid Select2Request model");
                return(Result.Fail <Select2Result <Select2ItemBase> >(validationResult.Errors));
            }

            SelectSpecification <RoleEntity, Select2ItemBase> selectSpecification =
                new SelectSpecification <RoleEntity, Select2ItemBase>();

            selectSpecification.AddFilter(x => x.Id != roleId);
            selectSpecification.AddFilter(x => x.Type == Core.Data.Enums.Entity.RoleTypes.Group);
            selectSpecification.AddFilter(x => !x.CanBeAssignedBy.Select(c => c.RoleId).Contains(roleId)); //TODO: check this
            selectSpecification.AddSelect(x => new Select2ItemBase(
                                              x.Id,
                                              x.Name));

            List <Select2ItemBase> unassignedRoles = _roleRepository.GetList(selectSpecification);

            Select2Result <Select2ItemBase> select2Result = new Select2Result <Select2ItemBase>(
                unassignedRoles, false);

            return(Result.Ok(select2Result));
        }
コード例 #2
0
        public ActionResult AirportSearch(string searchTerm, int pageSize, int pageNum)
        {
            var ca_o  = HttpRuntime.Cache["airports-data"];
            var sel_o = new Select2Result[] { new Select2Result {
                                                  id = "", text = "none"
                                              } };

            Suggest sg = new Suggest();

            Select2PagedResult aps_o = new Select2PagedResult
            {
                Total   = 1,
                Results = sel_o
            };

            try
            {
                if (ca_o != null)
                {
                    Airports[] all_airports = (Airports[])ca_o;

                    aps_o.Results = sg.Airports(searchTerm, all_airports);
                }
            } catch (Exception ex)
            {
                Elmah.ErrorSignal.FromCurrentContext().Raise(ex);
            }


            return(new JsonResult
            {
                Data = aps_o,
                JsonRequestBehavior = JsonRequestBehavior.AllowGet
            });
        }
コード例 #3
0
        public async Task <Result <Select2Result <Select2ItemBase> > > GetAvailableUsers(Select2Request select2Request)
        {
            ValidationResult validationResult = _select2Validator.Validate(select2Request);

            if (!validationResult.IsValid)
            {
                _logger.LogWarning($"Invalid {nameof(Select2Request)} model");
                return(Result.Fail <Select2Result <Select2ItemBase> >(validationResult.ToResultError()));
            }

            IBaseSpecification <AppUserEntity, Select2ItemBase> specification = SpecificationBuilder
                                                                                .Create <AppUserEntity>()
                                                                                .Where(x => x.Groups.Count == 0)
                                                                                .SearchByUsername(select2Request.Term)
                                                                                .Select(x => new Select2ItemBase(
                                                                                            x.Id,
                                                                                            x.UserName))
                                                                                .Build();

            List <Select2ItemBase> users = await _appUserDAO.Get(specification);

            Select2Result <Select2ItemBase> select2Result = new Select2Result <Select2ItemBase>(
                results: users);

            return(Result.Ok(select2Result));
        }
コード例 #4
0
        public Result <Select2Result <Select2ItemBase> > GetAvailable(Select2Request select2Request)
        {
            ValidationResult validationResult = _select2Validator.Validate(select2Request);

            if (!validationResult.IsValid)
            {
                _logger.LogWarning($"Invalid {nameof(Select2Request)} model");
                return(Result.Fail <Select2Result <Select2ItemBase> >(validationResult.Errors));
            }

            SelectSpecification <AppUserEntity, Select2ItemBase> selectSpecification = new SelectSpecification <AppUserEntity, Select2ItemBase>();

            selectSpecification.AddFilter(x => x.Groups.Count == 0); // TODO: change this maybe

            if (!string.IsNullOrEmpty(select2Request.Term))
            {
                selectSpecification.AddFilter(x => x.NormalizedUserName.Contains(select2Request.Term));
            }

            selectSpecification.AddSelect(x => new Select2ItemBase(
                                              x.Id,
                                              x.UserName));

            List <Select2ItemBase> users = _userRepository.GetList(selectSpecification);

            Select2Result <Select2ItemBase> select2Result = new Select2Result <Select2ItemBase>(
                results: users);

            return(Result.Ok(select2Result));
        }
コード例 #5
0
        public Result <Select2Result <Select2ItemBase> > GetAvailable(string roleId, Select2Request select2Request)
        {
            ValidationResult validationResult = _select2Validator.Validate(select2Request);

            if (!validationResult.IsValid)
            {
                _logger.LogWarning($"Invalid {nameof(Select2Request)} model");
                return(Result.Fail <Select2Result <Select2ItemBase> >(validationResult.Errors));
            }

            SelectSpecification <PermissionEntity, Select2ItemBase> selectSpecification = new SelectSpecification <PermissionEntity, Select2ItemBase>();

            selectSpecification.AddFilter(x => !x.Roles.Select(c => c.RoleId).Contains(roleId));
            if (!string.IsNullOrEmpty(select2Request.Term))
            {
                selectSpecification.AddFilter(x => x.Name.ToUpper().Contains(select2Request.Term.ToUpper()));
            }

            selectSpecification.AddSelect(x => new Select2ItemBase(
                                              x.Id,
                                              x.Name));

            List <Select2ItemBase> availableRoles = _permissionRepository.GetList(selectSpecification);

            Select2Result <Select2ItemBase> select2Result = new Select2Result <Select2ItemBase>(
                results: availableRoles);

            return(Result.Ok(select2Result));
        }
コード例 #6
0
        public Result <Select2Result <Select2ItemBase> > GetGlobalRoles(Select2Request select2Request)
        {
            ValidationResult validationResult = _select2RequestValidator.Validate(select2Request);

            if (!validationResult.IsValid)
            {
                _logger.LogWarning($"Invalid {nameof(Select2Request)} model");
                return(Result.Fail <Select2Result <Select2ItemBase> >(validationResult.Errors));
            }

            SelectSpecification <RoleEntity, Select2ItemBase> selectSpecification =
                new SelectSpecification <RoleEntity, Select2ItemBase>();

            selectSpecification.AddFilter(x => x.Type == Core.Data.Enums.Entity.RoleTypes.Global);

            if (!string.IsNullOrEmpty(select2Request.Term))
            {
                selectSpecification.AddFilter(x => x.NormalizedName.Contains(select2Request.Term.ToUpper()));
            }

            selectSpecification.AddSelect(x => new Select2ItemBase(
                                              x.Id,
                                              x.Name));

            List <Select2ItemBase> roles = _roleRepository.GetList(selectSpecification);

            Select2Result <Select2ItemBase> select2Result = new Select2Result <Select2ItemBase>(
                results: roles);

            return(Result.Ok(select2Result));
        }
コード例 #7
0
        public Result <Select2Result <Select2ItemBase> > GetGroups(Select2Request select2Request)
        {
            ValidationResult validationResult = _select2RequestValidator.Validate(select2Request);

            if (!validationResult.IsValid)
            {
                _logger.LogWarning($"Invalid {nameof(Select2Request)} model");
                return(Result.Fail <Select2Result <Select2ItemBase> >(validationResult.Errors));
            }

            SelectSpecification <GroupEntity, Select2ItemBase> selectSpecification =
                new SelectSpecification <GroupEntity, Select2ItemBase>();

            if (!string.IsNullOrEmpty(select2Request.Term))
            {
                selectSpecification.AddFilter(x => x.Name.ToUpper().Contains(select2Request.Term.ToUpper()));
            }

            selectSpecification.AddSelect(x => new Select2ItemBase(
                                              x.Id,
                                              x.Name));

            List <Select2ItemBase> groups = _groupRepository.GetList(selectSpecification);

            Select2Result <Select2ItemBase> select2Result = new Select2Result <Select2ItemBase>(
                results: groups);

            return(Result.Ok(select2Result));
        }
コード例 #8
0
ファイル: Select2Helper.cs プロジェクト: suwanda90/todo-app
        public static Select2Result BindingSelect2Edit(this IList <Select2Binding> result, object id, string text)
        {
            var select2Result = new Select2Result
            {
                Key    = id,
                Result = result,
                Value  = text
            };

            return(select2Result);
        }
コード例 #9
0
        public async Task <Select2Result> GetTenantType()
        {
            Select2Result sr  = new Select2Result();
            var           src = (from c in _TenantTypeRepositary.GetAll() where c.IsDeleted == false select c).ToArray();

            if (src.Length > 0)
            {
                var srcarray = (from c in src select new datadto {
                    Id = c.Id, Name = c.Name
                }).ToArray();
                sr.select2data = srcarray;
            }
            return(sr);
        }
コード例 #10
0
        public async Task <IActionResult> AccountByType(string searchTerm, int pageSize, int pageNum, int?invoiceType)
        {
            var list = _context.Accounts.Where(p => (p.AccountTypeId == invoiceType && (string.IsNullOrEmpty(searchTerm) || p.Title.ToLower().StartsWith(searchTerm.ToLower()))));

            var result = new Select2Result()
            {
                Results = await list.Select(a => new Select2Model {
                    id = a.AccountId.ToString(), text = a.Title
                })
                          .Skip((pageNum * pageSize) - 10).Take(pageSize).ToListAsync(),
                Total = await list.CountAsync()
            };

            return(Ok(result));
        }
コード例 #11
0
        public async Task <IActionResult> GetCars(string searchTerm, int pageSize, int pageNum)
        {
            var list = _context.Items.Where(p => string.IsNullOrEmpty(searchTerm) || p.Vin.ToLower().StartsWith(searchTerm.ToLower()) || p.ItemId.ToString().Equals(searchTerm) ||
                                            p.Make.MakeName.ToLower().StartsWith(searchTerm.ToLower()) || p.Model.ModelName.ToLower().StartsWith(searchTerm.ToLower()));

            var result = new Select2Result()
            {
                Results = await list.Select(a => new Select2Model {
                    id = a.ItemId.ToString(), text = string.Format("{0} - {1} {2} {3}", a.ItemId, a.Make.MakeName, a.Model.ModelName, a.YearId)
                })
                          .Skip((pageNum * pageSize) - 10).Take(pageSize).ToListAsync(),
                Total = await list.CountAsync()
            };

            return(Ok(result));
        }
コード例 #12
0
        private async Task <Result <Select2Result <Select2Item> > > GetPaginatedSelect2Result <TResult>(
            ISelectSpecificationBuilder <AuditEntity, TResult> specificationBuilder,
            Select2Request select2Request)
        {
            int count = await _auditDAO.Count(specificationBuilder.Build());

            var selectSpecification = specificationBuilder
                                      .Paginate(select2Request.GetPageStart(), select2Request.GetPageLenght())
                                      .Build();

            List <TResult> objectTypes = await _auditDAO.Get(selectSpecification);

            Select2Result <Select2Item> select2Result = new Select2Result <Select2Item>(
                objectTypes
                .Select(x => new Select2Item(
                            id: x?.ToString(),
                            text: x?.ToString()))
                .ToList(),
                pagination: select2Request.IsMore(count));

            return(Result.Ok(select2Result));
        }