コード例 #1
0
 public ActionResult Index(string t = "null")
 {
     if (t != "null")
     {
         t = Filtrator.ConvertHexToString(Convert.ToString(t), Encoding.Default);
     }
     return(View("Index", "_Layout", t));
 }
コード例 #2
0
        public JsonResult LicenseFilterNextPage(FilterAndSortingOptions filter_template, int SkipCount)
        {
            IQueryable <License> licenses = repository.License.GetNotDeletedItems();

            licenses = Filtrator.FilterByTemplate <License>(licenses, filter_template);

            var licenses_vm_list = LicenseViewModel.GetListViewModel(licenses.Skip(SkipCount).Take(60));

            return(Json(licenses_vm_list, JsonRequestBehavior.AllowGet));
        }
コード例 #3
0
        public JsonResult CompanyFilterNextPage(FilterAndSortingOptions filter_template, int SkipCount)
        {
            IQueryable <Company> companies = repository.Company.GetNotDeletedItems();

            companies = Filtrator.FilterByTemplate <Company>(companies, filter_template);

            var companies_vm_list = CompanyViewModel.GetListViewModel(companies.Skip(SkipCount).Take(60));

            return(Json(companies_vm_list, JsonRequestBehavior.AllowGet));
        }
コード例 #4
0
        public JsonResult CheckINN(string inn)
        {
            Company comp = repository.Company.GetNotDeletedItems().FirstOrDefault(j => j.INN == inn);
            string  res  = "";

            if (comp != null)
            {
                res = "/Company/Index?t=" + Filtrator.ConvertStringToHex("{filters:[{field:'INN',val:[" + inn + "]}]}", Encoding.Default);
            }

            return(Json(res, JsonRequestBehavior.AllowGet));
        }
コード例 #5
0
        public JsonResult LicenseFilter(FilterAndSortingOptions filter_template)
        {
            IQueryable <License> licenses = repository.License.GetNotDeletedItems();

            licenses = Filtrator.FilterByTemplate <License>(licenses, filter_template);

            var licenses_vm_list = LicenseViewModel.GetListViewModel(licenses.Take(60));
            FilteredLicenseListViewModel result = new FilteredLicenseListViewModel()
            {
                Count = licenses.Count(), license_list = licenses_vm_list
            };

            return(Json(result, JsonRequestBehavior.AllowGet));
        }
コード例 #6
0
        public JsonResult CompanyFilter(FilterAndSortingOptions filter_template)
        {
            IQueryable <Company> companies = repository.Company.GetNotDeletedItems();

            companies = Filtrator.FilterByTemplate <Company>(companies, filter_template);

            var companies_vm_list = CompanyViewModel.GetListViewModel(companies.Take(60));
            FilteredCompanyListViewModel result = new FilteredCompanyListViewModel()
            {
                Count = companies.Count(), company_list = companies_vm_list
            };

            return(Json(result, JsonRequestBehavior.AllowGet));
        }
コード例 #7
0
        /// <summary>
        /// Apples filters to the query based on requested data
        /// </summary>
        /// <typeparam name="T">Type of filtred objects</typeparam>
        /// <typeparam name="TFilterDto">Type of dto get data from</typeparam>
        /// <param name="query">Query to apply filters to</param>
        /// <param name="filterRequest">Filter request containing data about filtering</param>
        /// <returns></returns>
        public static IQueryable <T> Filter <T, TFilterDto>(this IQueryable <T> query, PagedFilterRequest <TFilterDto> filterRequest)
            where TFilterDto : class
        {
            if (filterRequest == null || filterRequest.FilterDto == null)
            {
                throw new FilterRequestException("Data for filtering is invalid");
            }

            // prepare data for filtering
            var filterData = new FilterData
            {
                Filters  = GetFiltersFromDto(filterRequest.FilterDto),
                Sortings = GetSortingsFromRequest <TFilterDto>(filterRequest.Sortings)
            };

            return(Filtrator.Filter <T>(query, filterData));
        }
コード例 #8
0
        // This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
        public void Configure(IApplicationBuilder app, IWebHostEnvironment env, DataContext context)
        {
            if (env.IsDevelopment())
            {
                app.UseDeveloperExceptionPage();
            }
            else
            {
                app.UseExceptionHandler("/Error");
            }

            app.UseStaticFiles();
            app.UseSpaStaticFiles();

            app.UseRouting();

            app.UseEndpoints(endpoints =>
            {
                endpoints.MapControllerRoute(
                    name: "default",
                    pattern: "api/{controller}/{action=Index}/{id?}");
            });

            app.UseSpa(spa =>
            {
                spa.Options.SourcePath = "ClientApp";

                if (env.IsDevelopment())
                {
                    spa.UseReactDevelopmentServer(npmScript: "start");
                }
            });

            // apply pending migrations
            context.Database.Migrate();
            Filtrator.ConfigureFilters(Assembly.GetExecutingAssembly());
        }
コード例 #9
0
ファイル: IndexPageVM.cs プロジェクト: Konohomaru/Per2com
 public Page Bind(Page page, BaseVM owner, Bridge bridge, ResultHandler handler, ExcelExporter <T> exporter, Directory <T> directory, Validator <T> validator, Filtrator <T> filtrator)
 {
     Exporter = exporter;
     return(Bind(page, owner, bridge, handler, directory, validator, filtrator));
 }
コード例 #10
0
        public JsonResult getCompanesForMainPage(string val)
        {
            List <CompanySearchResult> res = new List <CompanySearchResult>();

            res.AddRange(repository.Company.GetNotDeletedItems().Where(j => j.ShortName.Contains(val) || j.INN.Contains(val) || j.ORGN.Contains(val)).ToList().Select(j => new CompanySearchResult()
            {
                CompanyId = j.Id, name = "ИНН: " + j.INN + " ОГРН: " + j.ORGN + " Сокр: " + j.ShortName, url = "/Company/Index?t=" + Filtrator.ConvertStringToHex("{filters:[{field:'INN',val:[" + j.INN + "]}]}", Encoding.Default)
            }).ToList());
            res.AddRange(repository.Company.GetNotDeletedItems().Where(j => j.FullName.Contains(val) && !j.ShortName.Contains(val)).ToList().Select(j => new CompanySearchResult()
            {
                CompanyId = j.Id, name = "ИНН: " + j.INN + " Название: " + j.FullName, url = "/Company/Index?t=" + Filtrator.ConvertStringToHex("{filters:[{field:'INN',val:[" + j.INN + "]}]}", Encoding.Default)
            }).ToList());
            res.AddRange(repository.License.GetNotDeletedItems().Where(j => j.Nom.Contains(val)).ToList().Select(j => new CompanySearchResult()
            {
                CompanyId = j.Company.Id, name = "ИНН: " + j.Company.INN + " № лиц.: " + j.Nom + " Сокр.: " + j.Company.ShortName, url = "/Company/Index?t=" + Filtrator.ConvertStringToHex("{filters:[{field:'INN',val:[" + j.Company.INN + "]}]}", Encoding.Default)
            }).ToList());



            return(Json(res.Take(40)));
        }
コード例 #11
0
 public void RegisterHandler(Filtrator lambda)
 {
     filtrator = lambda;
 }