Ejemplo n.º 1
0
        /// <summary>
        /// Obtem um funcionario e converte em Model
        /// </summary>
        /// <param name="id"></param>
        /// <param name="model"></param>
        /// <param name="mensagemErro"></param>
        /// <returns></returns>
        private bool ObterFuncionario(Guid id, ref FuncionarioModel model, ref string mensagemErro)
        {
            //Preparar a requisição e o retorno
            RetornoObterDto <FuncionarioDto> retorno = new RetornoObterDto <FuncionarioDto>();
            RequisicaoObterDto requisicaoDto         = new RequisicaoObterDto()
            {
                Id            = id,
                Identificacao = SessaoUsuario.SessaoLogin.Identificacao,
                IdUsuario     = SessaoUsuario.SessaoLogin.IdUsuario
            };

            //Consumir o serviço
            FuncionarioBll funcionarioBll = new FuncionarioBll(true);

            funcionarioBll.Obter(requisicaoDto, ref retorno);

            //Tratar o retorno
            if (retorno.Retorno == false)
            {
                mensagemErro = retorno.Mensagem;
                return(false);
            }
            else
            {
                //Converter para Model
                return(model.ConverterDtoParaModel(retorno.Entidade, ref mensagemErro));
            }
        }
Ejemplo n.º 2
0
        public Funcionario listarFuncionario(int codFuncionario)
        {
            FuncionarioBll objFuncionarioBll = FactoryBll.criarFuncionarioBll();
            Funcionario    objFuncionario    = FactoryClasses.criarFuncionario();

            objFuncionario.Codigo = codFuncionario;
            return(objFuncionarioBll.listarFuncionario(objFuncionario));
        }
Ejemplo n.º 3
0
        public ActionResult Editar(FuncionarioModel model)
        {
            //Se não tiver login, encaminhar para a tela de login
            if (string.IsNullOrWhiteSpace(SessaoUsuario.SessaoLogin.Identificacao))
            {
                return(RedirectToAction("Login", "Usuario"));
            }

            if (!SessaoUsuario.SessaoLogin.Administrador)
            {
                ViewBag.MensagemErro = "Para editar um funcionario é necessário " +
                                       $"logar com um funcionario administrador.";
                return(View("SemPermissao"));
            }

            //Valida a entidade recebida
            if (!ModelState.IsValid)
            {
                return(View(model));
            }

            //Converte para DTO
            FuncionarioDto funcionarioDto = new FuncionarioDto();
            string         mensagemErro   = "";

            if (!model.ConverterModelParaDto(ref funcionarioDto, ref mensagemErro))
            {
                ViewBag.Mensagem = mensagemErro;
                return(View("Erro"));
            }

            //Preparar requisição e retorno
            RetornoDto retorno = new RetornoDto();
            RequisicaoEntidadeDto <FuncionarioDto> requisicaoDto = new RequisicaoEntidadeDto <FuncionarioDto>()
            {
                EntidadeDto   = funcionarioDto,
                Identificacao = SessaoUsuario.SessaoLogin.Identificacao,
                IdUsuario     = SessaoUsuario.SessaoLogin.IdUsuario
            };

            //Consumir o serviço
            FuncionarioBll funcionarioBll = new FuncionarioBll(true);

            funcionarioBll.Editar(requisicaoDto, ref retorno);

            //Tratar o retorno
            if (retorno.Retorno == false)
            {
                ModelState.AddModelError("", retorno.Mensagem);
                return(View(model));
            }

            TempData["Retorno"] = "ALTERADO";

            //Voltar para o visualizar do funcionario
            return(RedirectToAction("Index"));
        }
Ejemplo n.º 4
0
        public Boolean excluirFuncionario(int codFuncionario)
        {
            Funcionario objFuncionario = FactoryClasses.criarFuncionario();

            objFuncionario.Codigo = Convert.ToInt32(codFuncionario);
            FuncionarioBll objFuncionarioBll = FactoryBll.criarFuncionarioBll();

            return(objFuncionarioBll.excluirFuncionario(objFuncionario));
        }
Ejemplo n.º 5
0
        public Funcionario efetuarLogin(string login, string senha)
        {
            FuncionarioBll objFuncionarioBll = FactoryBll.criarFuncionarioBll();
            Funcionario    objFuncionario    = FactoryClasses.criarFuncionario();

            objFuncionario.Login = login.ToLower().Trim();
            objFuncionario.Senha = senha.ToLower().Trim();
            return(objFuncionarioBll.efetuaLogin(objFuncionario));
        }
Ejemplo n.º 6
0
        public ActionResult Incluir(FuncionarioModel model)
        {
            //Se não tiver login, encaminhar para a tela de login
            if (string.IsNullOrWhiteSpace(SessaoUsuario.SessaoLogin.Identificacao))
            {
                return(RedirectToAction("Login", "Usuario"));
            }

            //Validar a model recebida
            if (!ModelState.IsValid)
            {
                return(View(model));
            }

            //Converter para DTO
            FuncionarioDto funcionarioDto = new FuncionarioDto();
            string         mensagemErro   = "";

            if (!model.ConverterModelParaDto(ref funcionarioDto, ref mensagemErro))
            {
                ModelState.AddModelError("Servico", $"Erro ao converter para Dto: {mensagemErro}");
                return(View(model));
            }

            funcionarioDto.Id = Guid.NewGuid();

            //Preparar requisição e retorno
            RetornoDto retorno = new RetornoDto();
            RequisicaoEntidadeDto <FuncionarioDto> requisicaoDto = new RequisicaoEntidadeDto <FuncionarioDto>()
            {
                EntidadeDto   = funcionarioDto,
                Identificacao = SessaoUsuario.SessaoLogin.Identificacao,
                IdUsuario     = SessaoUsuario.SessaoLogin.IdUsuario
            };

            //Consumir o serviço
            FuncionarioBll funcionarioBll = new FuncionarioBll(true);

            funcionarioBll.Incluir(requisicaoDto, ref retorno);

            //Verificar o retorno
            if (retorno.Retorno == false)
            {
                //Se houver erro, exibir na tela de inclusão
                ModelState.AddModelError("", retorno.Mensagem);
                return(View(model));
            }

            TempData["Retorno"] = "INCLUIDO";

            //Retornar para index
            return(RedirectToAction("Index"));
        }
Ejemplo n.º 7
0
        public void CrudFuncionario()
        {
            RequisicaoEntidadeDto <FuncionarioDto> requisicaoDto = new RequisicaoEntidadeDto <FuncionarioDto>()
            {
                EntidadeDto = RetornarNovoFuncionario()
            };

            Assert.IsTrue(Utilidades.RetornarAutenticacaoRequisicaoPreenchida(requisicaoDto));
            FuncionarioBll funcionarioBll = new FuncionarioBll(true);

            // Incluir
            RetornoDto retornoDto = new RetornoDto();

            funcionarioBll.Incluir(requisicaoDto, ref retornoDto);
            Assert.AreEqual(true, retornoDto.Retorno);

            // Editar
            requisicaoDto.EntidadeDto.Nome = "Funcionario atualizado " + DateTime.Now;
            funcionarioBll.Editar(requisicaoDto, ref retornoDto);
            Assert.AreEqual(true, retornoDto.Retorno);

            // Obter
            RetornoObterDto <FuncionarioDto> retornoObterDto = new RetornoObterDto <FuncionarioDto>();
            RequisicaoObterDto requisicaoObterDto            = new RequisicaoObterDto()
            {
                Id            = requisicaoDto.EntidadeDto.Id,
                IdUsuario     = requisicaoDto.IdUsuario,
                Identificacao = requisicaoDto.Identificacao
            };

            funcionarioBll.Obter(requisicaoObterDto, ref retornoObterDto);
            Assert.AreEqual(true, retornoObterDto.Retorno);

            // Obter lista
            RequisicaoObterListaDto requisicaoObterListaDto = new RequisicaoObterListaDto()
            {
                CampoOrdem           = "DESCRICAO",
                IdUsuario            = requisicaoDto.IdUsuario,
                Identificacao        = requisicaoDto.Identificacao,
                NumeroItensPorPagina = 2,
                Pagina = 1
            };

            RetornoObterListaDto <FuncionarioDto> retornoObterListaDto = new RetornoObterListaDto <FuncionarioDto>();

            funcionarioBll.ObterListaFiltrada(requisicaoObterListaDto, ref retornoObterListaDto);
            Assert.AreEqual(true, retornoObterDto.Retorno);

            // Excluir
            funcionarioBll.Excluir(requisicaoObterDto, ref retornoDto);
            Assert.AreEqual(true, retornoObterDto.Retorno);
        }
Ejemplo n.º 8
0
        public Collection <Funcionario> listarFuncionarios()
        {
            Collection <Funcionario> objFuncionarioColecao;
            FuncionarioBll           objFuncionarioBll = FactoryBll.criarFuncionarioBll();

            objFuncionarioColecao = (Collection <Funcionario>)HttpRuntime.Cache["lista"];
            if (objFuncionarioColecao == null)
            {
                HttpRuntime.Cache.Insert("lista", objFuncionarioBll.listarFuncionarios());
                objFuncionarioColecao = (Collection <Funcionario>)HttpRuntime.Cache["lista"];
            }

            return(objFuncionarioColecao);
        }
Ejemplo n.º 9
0
        public ActionResult ExcluirFuncionario(ExclusaoModel model)
        {
            //Se não tiver login, encaminhar para a tela de login
            if (string.IsNullOrWhiteSpace(SessaoUsuario.SessaoLogin.Identificacao))
            {
                return(RedirectToAction("Login", "Usuario"));
            }

            if (!SessaoUsuario.SessaoLogin.Administrador)
            {
                ViewBag.MensagemErro = "Para excluir um funcionario é necessário " +
                                       $"logar com um funcionario administrador.";
                return(View("SemPermissao"));
            }

            if (!SessaoUsuario.SessaoLogin.Administrador)
            {
                ViewBag.Mensagem = "Este funcionario não tem permissão para excluir outros funcionarios.";
                return(View("Erro"));
            }

            //Preparar requisição e retorno
            RetornoDto         retorno       = new RetornoDto();
            RequisicaoObterDto requisicaoDto = new RequisicaoObterDto()
            {
                Id            = model.Id,
                Identificacao = SessaoUsuario.SessaoLogin.Identificacao,
                IdUsuario     = SessaoUsuario.SessaoLogin.IdUsuario
            };

            //Consumir o serviço
            FuncionarioBll funcionarioBll = new FuncionarioBll(true);

            funcionarioBll.Excluir(requisicaoDto, ref retorno);

            //Tratar o retorno
            if (retorno.Retorno == false)
            {
                ModelState.AddModelError("", retorno.Mensagem);
                return(View("Excluir", model));
            }

            TempData["Retorno"] = "EXCLUIDO";

            //Voltar para a index de funcionario
            return(RedirectToAction("Index"));
        }
Ejemplo n.º 10
0
        /// <summary>
        /// Retorna uma lista de funcinários de acordo com o tipo passado
        /// </summary>
        /// <returns></returns>
        public static List <SelectListItem> RetornarListaFuncionarios(TipoFuncionario tipo)
        {
            RequisicaoObterListaDto requisicaoDto = new RequisicaoObterListaDto()
            {
                CampoOrdem         = "NOME",
                Identificacao      = SessaoUsuario.SessaoLogin.Identificacao,
                IdUsuario          = SessaoUsuario.SessaoLogin.IdUsuario,
                NaoPaginarPesquisa = true,
            };

            if (tipo != TipoFuncionario.NaoIdentificado)
            {
                requisicaoDto.ListaFiltros.Add("TIPO", ((int)tipo).ToString());
            }

            requisicaoDto.ListaFiltros.Add("INATIVO", "false");

            FuncionarioBll funcionarioBll = new FuncionarioBll(false);
            RetornoObterListaDto <FuncionarioDto> retornoDto = new RetornoObterListaDto <FuncionarioDto>();

            if (!funcionarioBll.ObterListaFiltrada(requisicaoDto, ref retornoDto))
            {
                return(null);
            }

            List <SelectListItem> listaRetorno = new List <SelectListItem>();

            listaRetorno.Add(new SelectListItem()
            {
                Value = "null",
                Text  = "Todos"
            });

            foreach (var func in retornoDto.ListaEntidades)
            {
                listaRetorno.Add(new SelectListItem()
                {
                    Value = func.Id.ToString(),
                    Text  = func.Nome
                });
            }

            return(listaRetorno);
        }
Ejemplo n.º 11
0
        /// <summary>
        /// Obtem uma listra filtrada de funcionarios
        /// </summary>
        /// <param name="filtros"></param>
        /// <returns></returns>
        public string ObterListaFiltrada(FiltrosFuncionarioModel filtros)
        {
            //Requisição para obter a lista
            RequisicaoObterListaDto requisicaoDto = new RequisicaoObterListaDto()
            {
                CampoOrdem           = "NOME",
                IdUsuario            = SessaoUsuario.SessaoLogin.IdUsuario,
                Identificacao        = SessaoUsuario.SessaoLogin.Identificacao,
                NaoPaginarPesquisa   = filtros.NaoPaginaPesquisa,
                Pagina               = filtros.Pagina,
                NumeroItensPorPagina = 20
            };

            //Adicionar filtros utilizados
            if (!string.IsNullOrWhiteSpace(filtros.Nome))
            {
                requisicaoDto.ListaFiltros.Add("NOME", filtros.Nome.Trim());
            }

            if (!string.IsNullOrWhiteSpace(filtros.ObterInativos))
            {
                requisicaoDto.ListaFiltros.Add("INATIVO", filtros.ObterInativos.Trim());
            }

            if (filtros.Tipo != TipoFuncionario.NaoIdentificado)
            {
                requisicaoDto.ListaFiltros.Add("TIPO", ((int)filtros.Tipo).ToString());
            }


            //Consumir o serviço
            FuncionarioBll funcionarioBll = new FuncionarioBll(true);
            RetornoObterListaDto <FuncionarioDto> retornoDto = new RetornoObterListaDto <FuncionarioDto>();

            funcionarioBll.ObterListaFiltrada(requisicaoDto, ref retornoDto);

            string retorno = new JavaScriptSerializer().Serialize(retornoDto);

            return(retorno);
        }