public static ControleFolgaWindow criarFolgaWindow()
        {
            var unitOfWork = UnitOfWorkFactory.criarUnitOfWork();

            return(new ControleFolgaWindow(new ControleFolgaViewModel(
                                               RepositoryFactory.criarUsuarioRepository(),
                                               criarRelatorioService(unitOfWork),
                                               PontoServiceFactory.criarPontoService(unitOfWork),
                                               unitOfWork
                                               )));
        }
        public static ControlarPontoWindow criarControlarPontoWindow()
        {
            var unitOfWork      = UnitOfWorkFactory.criarUnitOfWork();
            var pontoService    = PontoServiceFactory.criarPontoService(unitOfWork);
            var pontoRepository = RepositoryFactory.criarPontoRepository(unitOfWork);
            var relatorio       = criarRelatorioService(unitOfWork);

            return(new ControlarPontoWindow(new ControlarPontoViewModel(
                                                unitOfWork,
                                                RepositoryFactory.criarUsuarioRepository(),
                                                pontoService,
                                                pontoRepository,
                                                relatorio
                                                )));
        }
Esempio n. 3
0
        private void Application_Startup(object sender, StartupEventArgs e)
        {
            Current.ShutdownMode = ShutdownMode.OnExplicitShutdown;
            tratarArgumentos(e.Args);

            bool loginAgain;

            do
            {
                loginAgain = false;
                var loginResult = UsuarioWindowFactory.criarLoginWindow().ShowDialog();
                if (loginResult.HasValue && loginResult.Value)
                {
                    loginAgain = true;
                    try
                    {
                        if (SessaoLogin.getSessao().UsuarioLogado is Funcionario)
                        {
                            var pontoService = PontoServiceFactory.criarPontoService();
                            var ponto        = recuperarOuIniciarPonto(pontoService);
                            PontoWindowFactory.criarPontoWindow(ponto, pontoService).ShowDialog();
                        }
                        else
                        {
                            PainelControleWindowFactory.criarPainelControleWindow().ShowDialog();
                        }
                    }
                    catch (PontoDiaJaExisteException ex)
                    {
                        MessageBox.Show(string.Format("O ponto do dia {0} já foi encerrado",
                                                      ex.DataPonto.ToShortDateString()),
                                        "Não é possível iniciar",
                                        MessageBoxButton.OK,
                                        MessageBoxImage.Information);
                    }
                    catch (Exception ex)
                    {
                        MessageBox.Show(ex.Message, "Não foi possível completar a operação", MessageBoxButton.OK, MessageBoxImage.Warning);
                    }
                }

                SessaoLogin.getSessao().encerrar();
            } while (loginAgain);

            Current.Shutdown();
        }