示例#1
0
        public MainWindow()
        {
            this.Hide();
            Entrar entrar = new Entrar();

            entrar.ShowDialog();

            if (UsuarioAutal.Login == null)
            {
                this.Close();
                return;
            }

            this.Show();
            _produtosController        = new ProdutosController();
            _tiposChamadoController    = new TiposChamadoController();
            _assuntosChamadoController = new AssuntosChamadoController();
            _clientesController        = new ClientesController();
            _funcionariosController    = new FuncionariosController();
            _usuariosController        = new UsuariosController();
            _chamadosController        = new ChamadosController();
            InitializeComponent();
            UpdateMenuItemsVisibility();
            btnChamados.Background = new SolidColorBrush(Color.FromRgb(90, 90, 90));
            UpdateIndexChamados();
            chamados.Visibility = Visibility.Visible;
            this.WindowState    = WindowState.Maximized;
        }
        public void Details_Deve_Retornar_Um_Funcionario_Dado_Um_id(int validId, int invalidId)
        {
            var mock = new Mock <IUnitOfWork>();
            FuncionariosController controller = new FuncionariosController(mock.Object, _calculadoraDeBonusService);

            #region valid id
            mock.Setup <Funcionario>(s => s.Funcionario.GetById(validId)).Returns(FuncionariosMockData.GetTestFuncionarioItems().FirstOrDefault(n => n.Id == validId));

            var result = controller.Details(validId);

            var viewResult      = Assert.IsType <ViewResult>(result);
            var viewResultValue = Assert.IsAssignableFrom <Funcionario>(viewResult.ViewData.Model);

            Assert.Equal("Victor Wilson", viewResultValue.Nome);
            Assert.Equal(Departamento.Diretoria, viewResultValue.Departamento);
            Assert.Equal("Diretor Financeiro", viewResultValue.Cargo);
            Assert.Equal(new decimal(12696.20), viewResultValue.SalarioBruto);
            Assert.Equal(new DateTime(2012, 01, 05), viewResultValue.DataDeAdmissao);
            #endregion

            #region invalid id
            mock.Setup(s => s.Funcionario.GetById(invalidId)).Returns(FuncionariosMockData.GetTestFuncionarioItems().FirstOrDefault(n => n.Id == invalidId));
            var notFoundResult = controller.Details(invalidId);

            Assert.IsType <NotFoundResult>(notFoundResult);
            #endregion
            mock.Verify();
        }
        public void CreateUnitTest_Deve_Permitir_Apenas_A_Criacao_De_Um_Funcionario_Valido(Funcionario funcionario, bool valido)
        {
            // arrange
            var mock = new Mock <IUnitOfWork>();
            FuncionariosController controller = new FuncionariosController(mock.Object, _calculadoraDeBonusService);

            mock.Setup(s => s.Funcionario.Insert(funcionario)).Verifiable();

            // assert
            if (valido)
            {
                // act
                var result = controller.Create(funcionario);

                // assert
                var redirectToActionResult = Assert.IsType <RedirectToActionResult>(result);
                Assert.Equal(nameof(FuncionariosController.Index), redirectToActionResult.ActionName);
                Assert.Null(redirectToActionResult.ControllerName);
                mock.VerifyAll();
            }
            else
            {
                // act
                controller.ModelState.AddModelError("Parametros", "Falta um dos parametros para a criacao do funcionario");
                var result = controller.Create(funcionario);

                var viewResult      = Assert.IsType <ViewResult>(result);
                var viewResultValue = Assert.IsAssignableFrom <Funcionario>(viewResult.ViewData.Model);
            }
        }
        protected void btnCadastrar_Click(object sender, EventArgs e)
        {
            if (txtCPF_CNPJ.Text == "" || txtNomeCompleto.Text == "" || txtEmail.Text == "" || txtTelefone.Text == "" || txtEndereço.Text == "" || ddlSexo.Text == "" || txtLogin.Text == "" || txtSenha.Text == "" || txtCargo.Text == "")
            {
                lblMensagem.Text = "Por favor, Preencha todos os campos do formulário...";
            }
            else
            {
                Funcionarios f = new Funcionarios();
                f.CPF_CNPJ     = txtCPF_CNPJ.Text;
                f.NomeCompleto = txtNomeCompleto.Text;
                f.Email        = txtEmail.Text;
                f.Telefone     = txtTelefone.Text;
                f.Endereco     = txtEndereço.Text;
                f.Sexo         = ddlSexo.Text;
                f.Login        = txtLogin.Text;
                f.Senha        = txtSenha.Text;
                f.Cargo        = txtCargo.Text;

                FuncionariosController fc = new FuncionariosController();
                fc.Create(f);

                lblMensagem.Text = "Funcionário " + txtNomeCompleto.Text + ", Foi Cadastrado com sucesso!";

                this.txtCPF_CNPJ.Text     = "";
                this.txtNomeCompleto.Text = "";
                this.txtEmail.Text        = "";
                this.txtTelefone.Text     = "";
                this.txtEndereço.Text     = "";
                this.txtLogin.Text        = "";
                this.ddlSexo.Text         = "0";
                this.txtSenha.Text        = "";
                this.txtCargo.Text        = "";
            }
        }
        public void Remove_contacto_sem_sucesso(FuncionariosController controlador, int id, int versao, string contacto, ActionResult resultado)
        {
            var funcionarioDto = new FuncionarioDto();
            var tipos          = new List <TipoFuncionario> {
                new TipoFuncionario(1, "teste")
            };

            "Quando recebemos um controlador"
            .Given(() => controlador = _container.Create <FuncionariosController>());

            "E um id e versão inicializados"
            .And(() => id = versao = 1);

            "E um contacto inválido"
            .And(() => contacto = "333");

            "E um conjunto de mocks"
            .And(() => {
                var query = _container.GetMock <IQueryOver <TipoFuncionario, TipoFuncionario> >();
                var tran  = _container.GetMock <ITransaction>();
                _container.GetMock <ISession>()
                .Setup(s => s.BeginTransaction())
                .Returns(tran.Object);
                tran.Setup(t => t.Commit());
                _container.GetMock <ISession>()
                .Setup(s => s.QueryOver <TipoFuncionario>())
                .Returns(query.Object);
                query.Setup(q => q.List <TipoFuncionario>())
                .Returns(tipos);

                _container.GetMock <IProcessador>()
                .Setup(p => p.Trata(It.IsAny <ModificaContactosFuncionario>()))
                .Returns(new MsgGravacao {
                    Id = 1, Versao = 2
                });

                _container.GetMock <ISession>()
                .Setup(s => s.Load <FuncionarioDto>(1))
                .Returns(funcionarioDto);
                _container.GetMock <ITransaction>()
                .Setup(t => t.Dispose());
            });

            "Quando tentamos remover o contacto"
            .When(() => resultado = controlador.EliminaContacto(id, versao, contacto));

            "Então devemos ser redirecionados para vista funcionários"
            .Then(() => ((ViewResult)resultado).ViewName.ToLower().Should().Be("funcionario"));

            "E devemos obter os valores corretos no modelo"
            .And(() => {
                var modelo = (DadosFormularioFuncionario)((ViewResult)resultado).Model;
                modelo.Funcionario.Should().BeSameAs(funcionarioDto);
                modelo.Novo.Should().BeFalse();
                modelo.TiposFuncionario.Should().BeEquivalentTo(tipos);
            });

            "E ainda devemos ter o erro no model state"
            .And(() => controlador.ModelState.Should().ContainKey("total"));
        }
        public void Modifica_dados_gerais_com_sucesso(FuncionariosController controlador, int id, int versao, string nome, string nif, int tipoFuncionario, ActionResult resultado)
        {
            var funcionarioDto = new FuncionarioDto();
            var tipos          = new List <TipoFuncionario> {
                new TipoFuncionario(1, "teste")
            };

            "Dado um controlador"
            .Given(() => controlador = _container.Create <FuncionariosController>());

            "E um id, versao e tipoFuncionario"
            .And(() => { id = versao = tipoFuncionario = 1; });

            "E um nome"
            .And(() => nome = "Luis");

            "E um NIF"
            .And(() => nif = "123456789");

            "E um conjunto de mocks"
            .And(() => {
                var query = _container.GetMock <IQueryOver <TipoFuncionario, TipoFuncionario> >();
                var tran  = _container.GetMock <ITransaction>();
                _container.GetMock <ISession>()
                .Setup(s => s.BeginTransaction())
                .Returns(tran.Object);
                tran.Setup(t => t.Commit());
                _container.GetMock <ISession>()
                .Setup(s => s.QueryOver <TipoFuncionario>())
                .Returns(query.Object);
                query.Setup(q => q.List <TipoFuncionario>())
                .Returns(tipos);

                _container.GetMock <IProcessador>()
                .Setup(p => p.Trata(It.IsAny <ModificaDadosGeraisFuncionario>()))
                .Returns(new MsgGravacao {
                    Id = 1, Versao = 1
                });

                _container.GetMock <ISession>()
                .Setup(s => s.Load <FuncionarioDto>(1))
                .Returns(funcionarioDto);
                _container.GetMock <ITransaction>()
                .Setup(t => t.Dispose());
            });

            "Quando tentarmos criar um novo funcionário"
            .When(() => resultado = controlador.DadosGerais(id, versao, nome, nif, tipoFuncionario));

            "Então devemos ter uma mensagem com dados esperados"
            .Then(() => {
                var rv = (ViewResult)resultado;
                rv.ViewName.Should().Be("Funcionario");
                var model = (DadosFormularioFuncionario)rv.Model;
                model.Funcionario.Should().BeSameAs(funcionarioDto);
                model.Novo.Should().BeFalse();
                model.TiposFuncionario.Should().BeEquivalentTo(tipos);
            });
        }
示例#7
0
        public FuncionarioTest()
        {
            empresa = new Empresa {
                Nome = "Casas Bahia"
            };
            EmpresasController.GetInstance().AddEmpresa(empresa);

            ctrl = FuncionariosController.GetInstance();
        }
示例#8
0
        private void dataGridViewFuncionarios_CellDoubleClick(object sender, DataGridViewCellEventArgs e)
        {
            id = Convert.ToInt32(dataGridViewFuncionarios["ID", e.RowIndex].Value);
            FuncionariosController funcionariosController = new FuncionariosController();
            Funcionario            funcionario            = funcionariosController.BuscaPorId(id);
            var form = new TelaCadastroFuncionarios(funcionario);

            form.ShowDialog();
            configuraDataGridView();
        }
示例#9
0
 private void buttonAlterarFuncionario_Click(object sender, EventArgs e)
 {
     if (verificaId())
     {
         FuncionariosController funcionariosController = new FuncionariosController();
         Funcionario            funcionario            = funcionariosController.BuscaPorId(id);
         var form = new TelaCadastroFuncionarios(funcionario);
         form.ShowDialog();
         configuraDataGridView();
     }
 }
        public void Trata_erro_criacao_novo_funcionario(FuncionariosController controlador, int id, int versao, string nome, string nif, int tipoFuncionario, ActionResult resultado)
        {
            var funcionarioDto = new FuncionarioDto();
            var tipos          = new List <TipoFuncionario> {
                new TipoFuncionario(1, "teste")
            };

            "Dado um controlador"
            .Given(() => controlador = _container.Create <FuncionariosController>());

            "E um id, versao e tipoFuncionario"
            .And(() => {
                id = versao = 0;
                tipoFuncionario = 1;
            });

            "E um nome"
            .And(() => nome = "Luis");

            "E um NIF incorreto"
            .And(() => nif = "111");

            "E um conjunto de mocks"
            .And(() => {
                var query = _container.GetMock <IQueryOver <TipoFuncionario, TipoFuncionario> >();
                var tran  = _container.GetMock <ITransaction>();
                _container.GetMock <ISession>()
                .Setup(s => s.BeginTransaction())
                .Returns(tran.Object);
                tran.Setup(t => t.Commit());
                _container.GetMock <ISession>()
                .Setup(s => s.QueryOver <TipoFuncionario>())
                .Returns(query.Object);
                query.Setup(q => q.List <TipoFuncionario>())
                .Returns(tipos);

                _container.GetMock <ITransaction>()
                .Setup(t => t.Dispose());
            });

            "Quando tentarmos criar um novo funcionário"
            .When(() => resultado = controlador.DadosGerais(id, versao, nome, nif, tipoFuncionario));

            "Então devemos ter uma mensagem com dados esperados"
            .Then(() => {
                var rv = (ViewResult)resultado;
                rv.ViewName.Should().Be("Funcionario");
                var model = (DadosFormularioFuncionario)rv.Model;
                model.Novo.Should().BeTrue();
                model.TiposFuncionario.Should().BeEquivalentTo(tipos);
                controlador.ModelState.Should().ContainKey("total");
            });
        }
        public void Index_Deve_Retornar_Todos_Os_Funcionarios()
        {
            var mock       = new Mock <IUnitOfWork>();
            var controller = new FuncionariosController(mock.Object, _calculadoraDeBonusService);

            mock.Setup(s => s.Funcionario.GetAll(null, null, null)).Returns(FuncionariosMockData.GetTestFuncionarioItems());
            var result = controller.Index();

            var viewResult      = Assert.IsType <ViewResult>(result);
            var viewResultValue = Assert.IsAssignableFrom <List <Funcionario> >(viewResult.ViewData.Model);

            Assert.Equal(4, viewResultValue.Count);
            mock.Verify();
        }
示例#12
0
        public void Interage_com_gerador_relatorios_para_carregar_ficha(FuncionariosController controlador, int id, ActionResult resultado)
        {
            var funcionario = new Funcionario {
                Id = 1, Nif = "123456789", Nome = "Luis Abreu", TipoFuncionario = new TipoFuncionario(1, "Docente"), Versao = 1, Contactos = new[] { Contacto.CriaExtensao("1234") }
            };
            var tipos = new[] { new TipoFuncionario(1, "Docente") };

            "Dado um controlador"
            .Given(() => controlador = _container.Create <FuncionariosController>());

            "e um id pesquisa"
            .And(() => id = 1);

            "e alguns mocks"
            .And(() => {
                var tran = _container.GetMock <ITransaction>();

                _container.GetMock <ISession>()
                .Setup(s => s.BeginTransaction())
                .Returns(tran.Object);
                tran.Setup(t => t.Dispose());

                _container.GetMock <IGestorRelatorios>()
                .Setup(g => g.ObtemFuncionario(id))
                .Returns(funcionario);

                _container.GetMock <IGestorRelatorios>()
                .Setup(g => g.ObtemTodosTiposFuncionarios())
                .Returns(tipos);
            });

            "Quando efetuamos uma pesquisa"
            .When(() => resultado = controlador.Funcionario(id));

            "Então devemos obter a vista e dados esperados"
            .Then(() => {
                resultado.Should().BeAssignableTo <ViewResult>();
                var model = ((ViewResult)resultado).Model as DadosFormularioFuncionario;
                model.Funcionario.Should().BeSameAs(funcionario);
                model.TiposFuncionario.Should().BeSameAs(tipos);
            });

            "E mocks devem ter sido usados"
            .And(() => {
                _container.GetMock <ISession>().VerifyAll();
                _container.GetMock <ITransaction>().VerifyAll();
            });
        }
示例#13
0
        private void buttonExcluirFuncionario_Click(object sender, EventArgs e)
        {
            if (verificaId())
            {
                FuncionariosController funcionariosController = new FuncionariosController();
                Funcionario            funcionario            = funcionariosController.BuscaPorId(id);
                if (MessageBox.Show("Tem certeza que deseja excluir?", "Ponto",
                                    MessageBoxButtons.YesNo, MessageBoxIcon.Question)
                    == DialogResult.Yes)
                {
                    funcionariosController.delFuncionario(funcionario);
                }

                configuraDataGridView();
            }
        }
示例#14
0
        public void Index()
        {
            // Organizar
            HomeController         controller = new HomeController();
            FuncionariosController fc         = new FuncionariosController();

            //var result3 = fc.Get();


            // Agir
            ViewResult result = controller.Index() as ViewResult;

            // Declarar
            Assert.IsNotNull(result);
            Assert.AreEqual("Home Page", result.ViewBag.Title);
        }
示例#15
0
        public void configuraDataGridView()
        {
            FuncionariosController funcionarioController = new FuncionariosController();

            var lista = funcionarioController.Lista().Select(funcionario => new
            {
                Id    = funcionario.Id,
                Nome  = funcionario.Nome,
                Cpf   = funcionario.Cpf,
                Senha = funcionario.Senha,
                Foto  = funcionario.Foto,
                CargaHorariaDiaria  = funcionario.CargaHorariaDiaria,
                CargaHorariaSemanal = funcionario.CargaHorariaSemanal,
                Admissao            = funcionario.Admissao,
                Demissao            = funcionario.Demissao,
                Situacao            = funcionario.Situacao,
                Funcao       = funcionario.Funcao.Nome,
                Departamento = funcionario.Departamento.Nome,
            }).ToList();

            dataGridViewFuncionarios.DataSource = lista;
            // Renomeia as colunas do DataGridView
            dataGridViewFuncionarios.Columns[0].HeaderText  = "ID";
            dataGridViewFuncionarios.Columns[0].Name        = "ID";
            dataGridViewFuncionarios.Columns[1].HeaderText  = "NOME";
            dataGridViewFuncionarios.Columns[2].HeaderText  = "CPF";
            dataGridViewFuncionarios.Columns[3].HeaderText  = "SENHA";
            dataGridViewFuncionarios.Columns[4].HeaderText  = "FOTO";
            dataGridViewFuncionarios.Columns[5].HeaderText  = "C.H. DIÁRIA";
            dataGridViewFuncionarios.Columns[6].HeaderText  = "C.H. SEMANAL";
            dataGridViewFuncionarios.Columns[7].HeaderText  = "ADMISSÃO";
            dataGridViewFuncionarios.Columns[8].HeaderText  = "DEMISSÃO";
            dataGridViewFuncionarios.Columns[9].HeaderText  = "SITUAÇÃO";
            dataGridViewFuncionarios.Columns[10].HeaderText = "FUNÇÃO";
            dataGridViewFuncionarios.Columns[11].HeaderText = "DEPARTAMENTO";
            dataGridViewFuncionarios.Columns[12].HeaderText = "HISTÓRICOS";

            //  Tamanho das colunas

            //dataGridViewFuncionarios.Columns[0].Width = 250;
            //dataGridViewFuncionarios.Columns[1].Width = 100;

            // Oculta colunas desnecessárias
            dataGridViewFuncionarios.Columns[3].Visible  = false;
            dataGridViewFuncionarios.Columns[4].Visible  = false;
            dataGridViewFuncionarios.Columns[12].Visible = false;
        }
        private void button2_Click(object sender, EventArgs e)
        {
            Funcionario funcionario = new Funcionario();

            funcionario.Id    = id;
            funcionario.Nome  = textBoxNome.Text;
            funcionario.Senha = textBoxSenha.Text;
            funcionario.Cpf   = textBoxCPF.Text;
            funcionario.CargaHorariaDiaria  = float.Parse(textBoxCHDiaria.Text);
            funcionario.CargaHorariaSemanal = float.Parse(textBoxSemanal.Text);
            funcionario.Admissao            = Convert.ToDateTime(textBoxAdmissao.Text);

            FuncionariosController funcionarioController = new FuncionariosController();

            funcionarioController.addFuncionario(funcionario);
            Close();
        }
        public void NaoPermiteMudarResponsavelDeOcorrenciaFechada()
        {
            var(empresa, projeto, responsavel) = TestHelper.CreateEmpresaProjetoFuncionario();
            var ocorrencia = new Ocorrencia {
                Resumo = "Falha no momento de empilhar"
            };

            ctrl.AddOcorrencia(ocorrencia, projeto.Id, responsavel.Id);
            ctrl.FechaOcorrencia(ocorrencia.Id);
            var novoResponsavel = new Funcionario {
                Nome = "Fabiano"
            };

            FuncionariosController.GetInstance().AddFuncionario(novoResponsavel, empresa.Id);

            Assert.Throws <ApplicationException>(() => ctrl.MudaResponsavel(ocorrencia.Id, novoResponsavel.Id));
            Assert.Contains(ocorrencia, responsavel.Ocorrencias);
        }
示例#18
0
        public void Interage_com_gerador_relatorios_para_pesquisar(FuncionariosController controlador, string pesquisa, ActionResult resultado)
        {
            var funcionarios = new[] { new ResumoFuncionario {
                                           Id = 1, Nif = "123456789", Nome = "Luis Abreu", TipoFuncionario = "Normal"
                                       } };

            "Dado um controlador"
            .Given(() => controlador = _container.Create <FuncionariosController>());

            "e uma string para pesquisa"
            .And(() => pesquisa = "Luis Abreu");

            "e alguns mocks"
            .And(() => {
                var tran = _container.GetMock <ITransaction>();

                _container.GetMock <ISession>()
                .Setup(s => s.BeginTransaction())
                .Returns(tran.Object);
                tran.Setup(t => t.Dispose());

                _container.GetMock <IGestorRelatorios>()
                .Setup(g => g.PesquisaFuncionarios(pesquisa))
                .Returns(funcionarios);
            });

            "Quando efetuamos uma pesquisa"
            .When(() => resultado = controlador.Pesquisa(pesquisa));

            "Então devemos obter a vista e dados esperados"
            .Then(() => {
                resultado.Should().BeAssignableTo <ViewResult>();
                var model = ((ViewResult)resultado).Model as DadosPesquisa;
                model.Funcionarios.Should().BeSameAs(funcionarios);
                model.NifOuNome.Should().BeSameAs(pesquisa);
            });

            "E mocks devem ter sido usados"
            .And(() => {
                _container.GetMock <ISession>().VerifyAll();
                _container.GetMock <ITransaction>().VerifyAll();
            });
        }
        public void MudaResponsavelDaOcorrencia()
        {
            var(empresa, projeto, responsavel) = TestHelper.CreateEmpresaProjetoFuncionario();
            var ocorrencia = new Ocorrencia {
                Resumo = "Falha no momento de empilhar"
            };

            ctrl.AddOcorrencia(ocorrencia, projeto.Id, responsavel.Id);
            var novoResponsavel = new Funcionario {
                Nome = "Fabiano"
            };

            FuncionariosController.GetInstance().AddFuncionario(novoResponsavel, empresa.Id);

            ctrl.MudaResponsavel(ocorrencia.Id, novoResponsavel.Id);

            Assert.DoesNotContain(ocorrencia, responsavel.Ocorrencias);
            Assert.Contains(ocorrencia, novoResponsavel.Ocorrencias);
            Assert.Equal(novoResponsavel, ocorrencia.Responsavel);
        }
        public static (Empresa, Projeto, Funcionario) CreateEmpresaProjetoFuncionario()
        {
            var empresa = new Empresa {
                Nome = "Casas Bahia"
            };

            EmpresasController.GetInstance().AddEmpresa(empresa);

            var projeto = new Projeto {
                Nome = "Empilhadeira"
            };

            ProjetosController.GetInstance().AddProjeto(projeto, empresa.Id);

            var responsavel = new Funcionario {
                Nome = "Bruno"
            };

            FuncionariosController.GetInstance().AddFuncionario(responsavel, empresa.Id);

            return(empresa, projeto, responsavel);
        }
        public XmlElement ListarFuncionarios()
        {
            XmlDocument xdoc = null;

            try
            {
                FuncionariosController controle = new FuncionariosController();
                xdoc = controle.ListarFuncionariosXML();
            }
            catch (Exception ex)
            {
                xdoc = new XmlDocument();
                {
                    XmlElement raiz = xdoc.CreateElement("Erro");
                    {
                        XmlElement erro = xdoc.CreateElement("Mensagem");
                        erro.InnerText = ex.Message;
                        raiz.AppendChild(erro);
                    }
                    xdoc.AppendChild(raiz);
                }
            }
            return(xdoc.DocumentElement);
        }