예제 #1
0
        private static void ImpostaPagineDaVisualizzare(DocumentiIndexViewModel vm)
        {
            vm.PagineDaVisualizzare = new List <int>();

            if (vm.PaginaCorrente == 1)
            {
                vm.PagineDaVisualizzare.Add(1);
                if (vm.NumeroPagine > 1)
                {
                    vm.PagineDaVisualizzare.Add(2);
                }
                if (vm.NumeroPagine > 2)
                {
                    vm.PagineDaVisualizzare.Add(3);
                }
            }
            else if (vm.PaginaCorrente == vm.NumeroPagine)
            {
                if (vm.NumeroPagine > 2)
                {
                    vm.PagineDaVisualizzare.Add(vm.PaginaCorrente - 2);
                }
                vm.PagineDaVisualizzare.Add(vm.PaginaCorrente - 1);
                vm.PagineDaVisualizzare.Add(vm.PaginaCorrente);
            }
            else
            {
                vm.PagineDaVisualizzare.Add(vm.PaginaCorrente - 1);
                vm.PagineDaVisualizzare.Add(vm.PaginaCorrente);
                vm.PagineDaVisualizzare.Add(vm.PaginaCorrente + 1);
            }
        }
예제 #2
0
        public static DocumentiIndexViewModel Load(PortaleFornitoriDbContext ctx, int paginaCorrente, int pageSize,
                                                   Func <Documento, bool> filter, bool bloccaEdit)
        {
            DocumentiIndexViewModel vm = new DocumentiIndexViewModel();

            vm.PaginaCorrente = paginaCorrente;
            var numeroDiDocumenti = ctx.Documenti.Count();

            vm.NumeroPagine = (int)Math.Ceiling(numeroDiDocumenti / (decimal)pageSize);
            vm.Documenti    = ctx.Documenti
                              .Where(filter)
                              .OrderBy(o => o.IdDocumento)
                              .Skip((vm.PaginaCorrente - 1) * pageSize)
                              .Take(pageSize)
                              .Select(s => new DocumentoDto
            {
                DataCreazione           = s.DataCreazione,
                Descrizione             = s.Descrizione,
                IdDocumento             = s.IdDocumento,
                NomeFile                = s.NomeFile,
                RagioneSocialeFornitore = s.Fornitori.RagioneSociale
            }).ToList();
            vm.Fornitori = ctx.Fornitori.OrderBy(o => o.RagioneSociale).ToList();

            ImpostaPagineDaVisualizzare(vm);

            vm.BloccaEdit = bloccaEdit;

            return(vm);
        }