Beispiel #1
0
        public ProdutosPresenter(
            IProdutosView view,
            GridViewPresenter <ProdutoLookupWrapper> gridViewPresenter,
            IEmailService emailService,
            ProdutoEditPresenter produtoEditPresenter,
            IPaginacaoRepository <ProdutoLookupWrapper> paginacaoRepository,
            IEventAggregator eventAggregator,
            IProdutoRepository produtoRepository,
            IProdutoClientService produtoClientService,
            IDialogService dialogService

            ) : base(view)
        {
            _gridViewPresenter    = gridViewPresenter;
            _emailService         = emailService;
            _produtoEditPresenter = produtoEditPresenter;
            _paginacaoRepository  = paginacaoRepository;
            _eventAggregator      = eventAggregator;
            _produtoRepository    = produtoRepository;
            _produtoClientService = produtoClientService;
            _dialogService        = dialogService;

            _eventAggregator.Subscribe <AtualizarGridProdutosEvent>(OnAtualizaGrid);

            view.LoadAction                = OnLoad;
            view.IncluirProdutoAction      = OnIncluirProduto;
            view.EnviarEmailAction         = OnEnviarEmail;
            view.SincronizarComNuvemAction = OnSincronizarNuvem;

            gridViewPresenter.ColunaFormatingAction = OnFormataCelula;
            gridViewPresenter.FiltrouEvent         += GridViewPresenter_FiltrouEvent;
            gridViewPresenter.AlterarRegistroAction = OnAlterar;
        }
Beispiel #2
0
        public ProdutosPageViewModel(
            INavigationService navigationService,
            IPaginacaoRepository <ProdutoLookupWrapper> paginacaoRepository,
            IProdutoRepository produtoRepository,
            IDialogService dialogService,
            ProdutoClientService produtoClientService
            )
        {
            _navigationService    = navigationService;
            _paginacaoRepository  = paginacaoRepository;
            _produtoRepository    = produtoRepository;
            _dialogService        = dialogService;
            _produtoClientService = produtoClientService;

            IncluirCommand = new DelegateCommand(OnIncluir);
            AlterarCommand = new DelegateCommand <Guid?>(OnAlterar);

            FiltrarCommand         = new DelegateCommand(OnFiltrar, () => !ExibirPesquisa && string.IsNullOrWhiteSpace(_paginacaoRepository.Pesquisa));
            PesquisarCommand       = new DelegateCommand(OnPesquisar);
            DesativarFiltroCommand = new DelegateCommand(OnDesativarFiltro);

            SincronizarNuvemCommand = new DelegateCommand(OnSincronizarWeb, ()
                                                          => (NumeroProdutosSincronizar > 0) && !ProcessandoSincronizacaoWeb);

            PropertyChanged += ViewModelPropertyChanged;
        }
Beispiel #3
0
 public GridConfig(
     IPaginacaoRepository <T> paginacaoRepository,
     IList <ColunaInfo> colunasInfo,
     int numeroLinhaPorPagina = 30)
 {
     DataRetriever = new DataRetriever <T>(paginacaoRepository);
     Cache         = new Cache <T>(DataRetriever, numeroLinhaPorPagina);
     ColumnsInfo   = colunasInfo;
 }
Beispiel #4
0
 public VirtualizingCollection(IPaginacaoRepository <T> itemsProvider, int pageSize)
 {
     _itemsProvider = itemsProvider;
     _pageSize      = pageSize;
     DataRetriever  = new DataRetriever <T>(itemsProvider);
     Cache          = new Cache <T>(DataRetriever, pageSize);
     Cache.CarregarDuasPaginas();
     LoadCount();
 }
        public static GridConfig <ProdutoLookupWrapper> Instancia(
            IPaginacaoRepository <ProdutoLookupWrapper> paginacaoRepository)
        {
            var wrapper = new ProdutoLookupWrapper(ProdutoLookup.Empty);

            return(new GridInfoBuilder <ProdutoLookupWrapper>(nameof(ProdutoLookupWrapper.Nome))

                   .NomeColuna(nameof(ProdutoLookup.Id))
                   .Exibir(false)
                   .ChavePrimaria()
                   .BuildColuna()

                   .NomeColuna(nameof(ProdutoLookup.Codigo))
                   .TamanhoColuna(90)
                   .TituloColuna("Código")
                   .TipoColuna(wrapper.Codigo.GetType())
                   .Alinhada(TipoAlinhamentoColuna.Direita)
                   .BuildColuna()

                   .NomeColuna(nameof(ProdutoLookup.Nome))
                   .AutoSizeMode(ColunaTipoAjuste.Preencher)
                   .TituloColuna(nameof(ProdutoLookup.Nome))
                   .TipoColuna(wrapper.Nome.GetType())
                   .BuildColuna()

                   .NomeColuna(nameof(ProdutoLookup.Preco))
                   .TituloColuna("Preço")
                   .TipoColuna(wrapper.Nome.GetType())
                   .Alinhada(TipoAlinhamentoColuna.Direita)
                   .TamanhoColuna(100)
                   .BuildColuna()

                   .NomeColuna(nameof(ProdutoLookup.Estoque))
                   .TituloColuna(nameof(ProdutoLookup.Estoque))
                   .Alinhada(TipoAlinhamentoColuna.Direita)
                   .TamanhoColuna(100)
                   .TipoColuna(wrapper.Estoque.GetType())
                   .PermitirOrdenar(false)
                   .BuildColuna()

                   .NomeColuna(nameof(ProdutoLookup.DataCadastro))
                   .TituloColuna("Cadastrado em")
                   .TipoColuna(wrapper.DataCadastro.GetType())
                   .Alinhada(TipoAlinhamentoColuna.Centro)
                   .TamanhoColuna(150)
                   .BuildColuna()

                   .IncluiColunaAlteracao()

                   .Repository(paginacaoRepository)

                   .Build());
        }
        public ProdutosViewModel(
            IRegionManager regionManager,
            IPaginacaoRepository <ProdutoLookupWrapper> paginacaoRepository,
            IProdutoRepository produtoRepository,
            IDialogService dialogService,
            IProdutoClientService produtoClientService
            )
        {
            _regionManager        = regionManager;
            _paginacaoRepository  = paginacaoRepository;
            _produtoRepository    = produtoRepository;
            _dialogService        = dialogService;
            _produtoClientService = produtoClientService;

            ConfigurarCommands();

            ExibirPesquisa        = Visibility.Hidden;
            ExibirDesativarFiltro = Visibility.Hidden;

            PropertyChanged += ViewModelPropertyChanged;
        }
 public GridInfoBuilder <T> Repository(IPaginacaoRepository <T> paginacaoRepository)
 {
     _repo = paginacaoRepository;
     return(this);
 }