Ejemplo n.º 1
0
        public List <EntityComputer> SearchAllComputers(DtoSearchFilterAllComputers filter)
        {
            Request.Method   = Method.POST;
            Request.Resource = $"{Resource}/SearchAllComputers";
            Request.AddJsonBody(filter);

            return(new ApiRequest().Execute <List <EntityComputer> >(Request));
        }
Ejemplo n.º 2
0
        public Task <List <EntityComputer> > SearchAsync(DtoSearchFilterAllComputers filter)
        {
            Request.Method   = Method.POST;
            Request.Resource = $"{Resource}/SearchAllComputers";
            Request.AddJsonBody(filter);

            var res = new ApiRequest().ExecuteAsync <List <EntityComputer> >(Request);

            return(res);
        }
Ejemplo n.º 3
0
        protected void PopulateGrid()
        {
            var filter = new DtoSearchFilterAllComputers();

            filter.Limit        = ddlLimit.Text == "All" ? int.MaxValue : Convert.ToInt32(ddlLimit.Text);
            filter.SearchText   = txtSearch.Text;
            filter.Status       = ddlStatus.Text;
            filter.State        = ddlDisabled.Text;
            filter.CategoryType = ddlCatType.Text;
            filter.Categories   = SelectedCategories();

            var listOfComputers = Call.ComputerApi.SearchAllComputers(filter);

            gvComputers.DataSource = listOfComputers;
            gvComputers.DataBind();

            lblTotal.Text = gvComputers.Rows.Count + " Result(s) / " + Call.ComputerApi.GetAllCount() + " Computer(s)";
        }
Ejemplo n.º 4
0
        public List <EntityComputer> SearchAllComputers(DtoSearchFilterAllComputers filter)
        {
            var list = new List <EntityComputer>();

            if (filter.State.Equals("Enabled"))
            {
                filter.State = "false";
            }
            else if (filter.State.Equals("Disabled"))
            {
                filter.State = "true";
            }

            if (filter.State.Equals("Any State") && filter.Status.Equals("Any Status"))
            {
                list = _uow.ComputerRepository.Get(s => s.Name.Contains(filter.SearchText) || s.Guid.Contains(filter.SearchText) || s.InstallationId.Contains(filter.SearchText)).OrderBy(x => x.Name).ToList();
            }
            else if (filter.State.Equals("Any State") && !filter.Status.Equals("Any Status"))
            {
                list = _uow.ComputerRepository.Get(s => (s.Name.Contains(filter.SearchText) || s.Guid.Contains(filter.SearchText) || s.InstallationId.Contains(filter.SearchText)) && s.ProvisionStatus.ToString() == filter.Status).OrderBy(x => x.Name).ToList();
            }

            else if (filter.State.Equals("true") && !filter.Status.Equals("Any Status"))
            {
                list = _uow.ComputerRepository.Get(s => (s.Name.Contains(filter.SearchText) || s.Guid.Contains(filter.SearchText) || s.InstallationId.Contains(filter.SearchText)) && s.ProvisionStatus.ToString() == filter.Status && s.AdDisabled).OrderBy(x => x.Name).ToList();
            }
            else if (filter.State.Equals("false") && !filter.Status.Equals("Any Status"))
            {
                list = _uow.ComputerRepository.Get(s => (s.Name.Contains(filter.SearchText) || s.Guid.Contains(filter.SearchText) || s.InstallationId.Contains(filter.SearchText)) && s.ProvisionStatus.ToString() == filter.Status && !s.AdDisabled).OrderBy(x => x.Name).ToList();
            }
            else if (filter.State.Equals("true") && filter.Status.Equals("Any Status"))
            {
                list = _uow.ComputerRepository.Get(s => (s.Name.Contains(filter.SearchText) || s.Guid.Contains(filter.SearchText) || s.InstallationId.Contains(filter.SearchText)) && s.AdDisabled).OrderBy(x => x.Name).ToList();
            }
            else if (filter.State.Equals("false") && filter.Status.Equals("Any Status"))
            {
                list = _uow.ComputerRepository.Get(s => (s.Name.Contains(filter.SearchText) || s.Guid.Contains(filter.SearchText) || s.InstallationId.Contains(filter.SearchText)) && !s.AdDisabled).OrderBy(x => x.Name).ToList();
            }

            if (list.Count == 0)
            {
                return(list);
            }

            var categoryFilterIds = new List <int>();

            foreach (var catName in filter.Categories)
            {
                var category = _uow.CategoryRepository.GetFirstOrDefault(x => x.Name.Equals(catName));
                if (category != null)
                {
                    categoryFilterIds.Add(category.Id);
                }
            }

            var toRemove = new List <EntityComputer>();

            if (filter.CategoryType.Equals("Any Category"))
            {
                return(list.Take(filter.Limit).ToList());
            }
            else if (filter.CategoryType.Equals("And Category"))
            {
                foreach (var computer in list)
                {
                    var cCategories = GetComputerCategories(computer.Id);
                    if (cCategories == null)
                    {
                        continue;
                    }

                    if (filter.Categories.Count == 0)
                    {
                        if (cCategories.Count > 0)
                        {
                            toRemove.Add(computer);
                            continue;
                        }
                    }

                    foreach (var id in categoryFilterIds)
                    {
                        if (cCategories.Any(x => x.CategoryId == id))
                        {
                            continue;
                        }
                        toRemove.Add(computer);
                        break;
                    }
                }
            }
            else if (filter.CategoryType.Equals("Or Category"))
            {
                foreach (var computer in list)
                {
                    var cCategories = GetComputerCategories(computer.Id);
                    if (cCategories == null)
                    {
                        continue;
                    }
                    if (filter.Categories.Count == 0)
                    {
                        if (cCategories.Count > 0)
                        {
                            toRemove.Add(computer);
                            continue;
                        }
                    }
                    var catFound = false;
                    foreach (var id in categoryFilterIds)
                    {
                        if (cCategories.Any(x => x.CategoryId == id))
                        {
                            catFound = true;
                            break;
                        }
                    }
                    if (!catFound)
                    {
                        toRemove.Add(computer);
                    }
                }
            }

            foreach (var p in toRemove)
            {
                list.Remove(p);
            }

            return(list.Take(filter.Limit).ToList());
        }
Ejemplo n.º 5
0
 public IEnumerable <EntityComputer> SearchAllComputers(DtoSearchFilterAllComputers filter)
 {
     return(_computerServices.SearchAllComputers(filter));
 }