public FilterCompanyViewModel(FilterCompanyModel filterCompanyModel)
 {
     FilterCompanyModel = filterCompanyModel;
     PreLoadData        = new Command(() =>
     {
         string json = JsonConvert.SerializeObject(this.FilterCompanyModel);
         ApiUrl      = $"api/company/filter?json={json}&page={Page}";
     });
 }
        public async Task <ActionResult> _Add()
        {
            var filter = new FilterCompanyModel();

            filter.Sectors = new SelectList(await GetSectors(), "Id", "Name", 0);

            return(View(new ListCompanyModel {
                Filter = filter
            }));
        }
Exemple #3
0
        public async void Search_Clicked(object sender, EventArgs e)
        {
            FilterCompanyModel filterCompany = new FilterCompanyModel();

            if (!string.IsNullOrWhiteSpace(searchBar.Text))
            {
                filterCompany.keyword = searchBar.Text.Trim();
                await Shell.Current.Navigation.PushAsync(new FilterCompanyResultPage(filterCompany));
            }
            else
            {
                await DisplayAlert(Language.thong_bao, Language.vui_long_nhap_tu_khoa, Language.dong);
            }
        }
        public async Task <ActionResult> List(FilterCompanyModel filter)
        {
            var response = await WepApiMethod.SendApiAsync <DataTableResponse>(HttpVerbs.Post, $"Administration/Company/GetAll", filter);

            return(Content(JsonConvert.SerializeObject(response.Data), "application/json"));
        }
        public IHttpActionResult Post(FilterCompanyModel request)
        {
            var query = db.UserRole.Where(u => u.UserAccount.User.Display && u.UserAccount.User.UserType == UserType.Company &&
                                          u.Role.Name == RoleNames.eLearningLearner).Select(x => x.UserAccount.User.CompanyProfile);

            //var query = db.CompanyProfile.Where(u => u.User.Display && u.User.UserType == UserType.Company);

            var totalCount = query.Count();

            //advance search
            query = query.Where(s => (request.CompanyName == null || s.CompanyName.Contains(request.CompanyName)) &&
                                (request.Email == null || s.User.Email.Contains(request.Email)) &&
                                (request.Type == null || s.Type == request.Type)
                                );

            //quick search
            if (!string.IsNullOrEmpty(request.search.value))
            {
                var value = request.search.value.Trim();

                query = query.Where(p => p.CompanyName.Contains(value) ||
                                    p.CompanyRegNo.Contains(value) ||
                                    p.Sector.Name.Contains(value) ||
                                    p.User.Email.Contains(value)
                                    );
            }

            var filteredCount = query.Count();

            //order
            if (request.order != null)
            {
                string sortBy        = request.columns[request.order[0].column].data;
                bool   sortAscending = request.order[0].dir.ToLower() == "asc";

                switch (sortBy)
                {
                case "CompanyName":

                    if (sortAscending)
                    {
                        query = query.OrderBy(o => o.CompanyName);
                    }
                    else
                    {
                        query = query.OrderByDescending(o => o.CompanyName);
                    }

                    break;

                case "TypeDesc":

                    if (sortAscending)
                    {
                        query = query.OrderBy(o => o.Type);
                    }
                    else
                    {
                        query = query.OrderByDescending(o => o.Type);
                    }

                    break;

                case "Email":

                    if (sortAscending)
                    {
                        query = query.OrderBy(o => o.User.Email);
                    }
                    else
                    {
                        query = query.OrderByDescending(o => o.User.Email);
                    }

                    break;

                case "Sector":

                    if (sortAscending)
                    {
                        query = query.OrderBy(o => o.Sector.Name);
                    }
                    else
                    {
                        query = query.OrderByDescending(o => o.Sector.Name);
                    }

                    break;

                default:
                    query = query.OrderByDescending(o => o.CompanyName);
                    break;
                }
            }
            else
            {
                query = query.OrderByDescending(o => o.CompanyName);
            }

            var data = query.Skip(request.start).Take(request.length)
                       .Select(s => new CompanyModel
            {
                Id          = s.UserId,
                CompanyName = s.CompanyName,
                Email       = s.User.Email,
                Type        = s.Type,
                Status      = s.User.UserAccount != null ? s.User.UserAccount.IsEnable : false
            }).ToList();

            data.ForEach(s => s.TypeDesc = s.Type.GetDisplayName());

            return(Ok(new DataTableResponse
            {
                draw = request.draw,
                recordsTotal = totalCount,
                recordsFiltered = filteredCount,
                data = data.ToArray()
            }));
        }
Exemple #6
0
        public async Task <ActionResult <IEnumerable <Company> > > GetFilteredCompanies(FilterCompanyModel filterCompanyModel)
        {
            List <Company> companies = await _context.Companies
                                       .Include(c => c.ContactInfo)
                                       .Include(c => c.Location)
                                       .Include(c => c.UserCompanies).ThenInclude(uc => uc.User)
                                       .Include(c => c.TagCompanies).ThenInclude(tc => tc.Tag)
                                       .ToListAsync();

            if (filterCompanyModel.CompanyName != null && filterCompanyModel.CompanyName != "" && filterCompanyModel.CompanyName != " ")
            {
                companies = companies.Where(c => c.CompanyName.ToLower().Contains(filterCompanyModel.CompanyName.ToLower())).ToList();
            }
            if (filterCompanyModel.Country != null && filterCompanyModel.Country != "" && filterCompanyModel.Country != " ")
            {
                companies = companies.Where(c => c.Location.Country.ToLower().Contains(filterCompanyModel.Country.ToLower())).ToList();
            }
            if (filterCompanyModel.Postcode != null && filterCompanyModel.Postcode != "")
            {
                companies = companies.Where(c => c.Location.Postcode.ToLower().Contains(filterCompanyModel.Postcode.ToLower())).ToList();
            }

            return(companies);
        }
 public FilterCompanyResultPage(FilterCompanyModel filterCompanyModel)
 {
     InitializeComponent();
     this.BindingContext = viewModel = new FilterCompanyViewModel(filterCompanyModel);
     Init();
 }