Exemplo n.º 1
0
        public virtual ActionResult Species(int?page = null, string sort = null, bool?sortAsc = null,
                                            string botanicalNameFilter = "", string commonNameFilter = "")
        {
            SpeciesBrowser browser = new SpeciesBrowser
            {
                PageIndex           = page ?? 0,
                PageSize            = 40,
                BotanicalNameFilter = botanicalNameFilter,
                CommonNameFilter    = commonNameFilter,
                SortAscending       = !sortAsc.HasValue || sortAsc.Value,
                SortProperty        = "BotanicalName".Equals(sort) ? SpeciesBrowser.Property.BotanicalName
                    : "CommonName".Equals(sort) ? SpeciesBrowser.Property.CommonName
                    : "MaxHeight".Equals(sort) ? SpeciesBrowser.Property.MaxHeight
                    : "MaxGirth".Equals(sort) ? SpeciesBrowser.Property.MaxGirth
                    : "MaxCrownSpread".Equals(sort) ? SpeciesBrowser.Property.MaxCrownSpread
                    : SpeciesBrowser.Property.BotanicalName
            };
            var model     = Repositories.Trees.ListAllMeasuredSpecies <GlobalMeasuredSpecies>(browser);
            var gridModel = new EntityGridModel <GlobalMeasuredSpecies>(model)
            {
                RowsPerPage = 40
            };

            if (Request.IsAjaxRequest())
            {
                return(PartialView("GlobalSpeciesGridPartial", gridModel));
            }

            return(View(gridModel));
        }
Exemplo n.º 2
0
        public static ICriteria ApplySorting(this ICriteria criteria, SpeciesBrowser browser)
        {
            if (browser.SortProperty.HasValue)
            {
                switch (browser.SortProperty.Value)
                {
                case SpeciesBrowser.Property.BotanicalName:
                    return(criteria.AddOrder(new Order("ScientificName", browser.SortAscending)));

                case SpeciesBrowser.Property.CommonName:
                    return(criteria.AddOrder(new Order("CommonName", browser.SortAscending)));

                case SpeciesBrowser.Property.MaxHeight:
                    return(criteria.AddOrder(new Order("MaxHeight", browser.SortAscending)));

                case SpeciesBrowser.Property.MaxGirth:
                    return(criteria.AddOrder(new Order("MaxGirth", browser.SortAscending)));

                case SpeciesBrowser.Property.MaxCrownSpread:
                    return(criteria.AddOrder(new Order("MaxCrownSpread", browser.SortAscending)));

                default: throw new NotImplementedException();
                }
            }
            return(criteria);
        }
Exemplo n.º 3
0
 public EntityPage <T> ListAllMeasuredSpecies <T>(SpeciesBrowser browser) where T : MeasuredSpecies
 {
     return(CriteriaExtensions.ListAllEntitiesByBrowser <T>(
                browserFilterer: browser.HasFilters?criteria => criteria.ApplyFilters(browser) : (Action <ICriteria>)null,
                    browserSorter: criteria => criteria.ApplySorting(browser),
                    browserPager: criteria => criteria.ApplyPaging(browser)));
 }
Exemplo n.º 4
0
 public static ICriteria ApplyFilters(this ICriteria criteria, SpeciesBrowser browser)
 {
     if (!string.IsNullOrEmpty(browser.BotanicalNameFilter))
     {
         criteria.Add(Restrictions.Like("ScientificName", browser.BotanicalNameFilter, MatchMode.Anywhere));
     }
     if (!string.IsNullOrEmpty(browser.CommonNameFilter))
     {
         criteria.Add(Restrictions.Like("CommonName", browser.CommonNameFilter, MatchMode.Anywhere));
     }
     return(criteria);
 }