예제 #1
0
 static void CheckBrowseDistinteParameters(ContrattoFilter filtroRicerca)
 {
     if (filtroRicerca == null)
     {
         throw new ArgumentException(GenericConstants.ERRMSG_NULLARGUMENT + GenericConstants.CHR_SPACE + nameof(filtroRicerca));
     }
 }
예제 #2
0
        public IList <ContrattoBrowsed> BrowseContratti(ContrattoFilter filtroRicerca)
        {
            CheckBrowserContrattoParameters(filtroRicerca);

            var offset     = (filtroRicerca.CurrentPageNumb - 1) * filtroRicerca.PageSize + 1;
            var startIndex = offset - 1;

            int ItemCount = filtroRicerca.PageSize;

            if (_listContratti.Count - startIndex < filtroRicerca.PageSize)
            {
                ItemCount = filtroRicerca.PageSize - startIndex + 1;
            }

            return(_listContratti.ToImmutableList().GetRange(startIndex, ItemCount));
        }
예제 #3
0
        public ContrattoBrowsedPagedResult BrowseContratti(ContrattoFilter filtroRicerca)
        {
            CheckBrowseDistinteParameters(filtroRicerca);

            var numContratti         = _contrattiDataService.CountDistinte(filtroRicerca);
            var listContrattiFromDS  = _contrattiDataService.BrowseContratti(filtroRicerca);
            var listContrattoBrowsed = new List <ContrattoBrowsed>();

            foreach (var contratto in listContrattiFromDS)
            {
                listContrattoBrowsed.Add(ContrattoBrowsed.From(contratto));
            }

            var pageNumber = filtroRicerca.CurrentPageNumb;
            var pageSize   = filtroRicerca.PageSize;

            return(ContrattoBrowsedPagedResult.Of(listContrattoBrowsed, PagedResultInfoBase.Of(pageNumber, pageSize, numContratti)));
        }
예제 #4
0
        public int CountDistinte(ContrattoFilter filtroRicerca)
        {
            CheckCountDistinteParameters(filtroRicerca);

            return(_listContratti.Count);
        }
예제 #5
0
        public ContrattoBrowsedPagedResult Contratti(ContrattoFilter filtroRicerca)
        {
            CheckContrattiParameters(filtroRicerca);

            return(_contrattiBrowser.BrowseContratti(filtroRicerca));
        }
예제 #6
0
 public ContrattoFilter ToFilter()
 {
     return(ContrattoFilter.Of(SortBy, SortDirection, CurrentPageNumb, PageSize));
 }