public void AtualizarAssociacaoPerfil(Usuario usuario, Perfil perfil)
        {
            var ListaPerfil = usuarioPerfilBM.GetPerfilUsuarioByUsuario(usuario);

            if (ListaPerfil == null)
            {
                var NovoPerfilAtivo = new UsuarioPerfil()
                {
                    Ativo = true,
                    DataAssociacao = DateTime.Now,
                    Perfil = perfil,
                    Usuario = usuario
                };

                usuarioPerfilBM.Insert(NovoPerfilAtivo);
            }
            else
            {
                var ultimoPerfilAtivo = ListaPerfil.FirstOrDefault(x => x.Ativo);
                if (ultimoPerfilAtivo.Perfil.IdPerfil != perfil.IdPerfil)
                {
                    ultimoPerfilAtivo.Ativo = false;
                    usuarioPerfilBM.Update(ultimoPerfilAtivo);

                    var NovoPerfilAtivo = new UsuarioPerfil()
                    {
                        Ativo = true,
                        DataAssociacao = DateTime.Now,
                        Perfil = perfil,
                        Usuario = usuario
                    };

                    usuarioPerfilBM.Insert(NovoPerfilAtivo);
                }
            }
        }
        public void AtualizarFuncionario(Funcionario Funcionario, string Login, bool UsaSenhaDia, int IdPefil)
        {
            var UsuarioFuncionario = usuarioBm.GetByFuncionario(Funcionario);

            if (UsuarioFuncionario == null)
            {
                UsuarioFuncionario = new Usuario()
                {
                    DataCriacao = DateTime.Now,
                    AutenticaSenhaDia = UsaSenhaDia,
                    Ativo = true,
                    Email = Funcionario.Email,
                    Telefone = string.IsNullOrWhiteSpace(Funcionario.TelefoneCelular) ? Funcionario.TelefoneFixo : Funcionario.TelefoneCelular,
                    Login = Login.ToUpper(),
                    Nome = Funcionario.Nome.ToUpper(),
                    FuncionarioAssociado = funcionarioBm.GetByID(Funcionario.IdFuncionario)
                };

                usuarioBm.Insert(UsuarioFuncionario);

                var usuarioPerfil = new UsuarioPerfil()
                {
                    Ativo = true,
                    DataAssociacao = DateTime.Now,
                    Perfil = perfilBm.GetByID(IdPefil),
                    Usuario = usuarioBm.GetByID(UsuarioFuncionario.IdUsuario)
                };

                usuarioPerfilBm.Insert(usuarioPerfil);

            }
            else
            {
                UsuarioFuncionario.Login = Login.ToUpper();
                UsuarioFuncionario.Nome = Funcionario.Nome.ToUpper();
                UsuarioFuncionario.Email = Funcionario.Email;
                UsuarioFuncionario.Telefone = string.IsNullOrWhiteSpace(Funcionario.TelefoneCelular) ? Funcionario.TelefoneFixo : Funcionario.TelefoneCelular;
                UsuarioFuncionario.AutenticaSenhaDia = UsaSenhaDia;

                usuarioBm.Update(UsuarioFuncionario);

                var usuarioPerfil = usuarioPerfilBm.GetPerfilByUsuario(UsuarioFuncionario).Where(x => x.Ativo).FirstOrDefault();

                if (usuarioPerfil != null)
                {
                    usuarioPerfil.Ativo = false;
                    usuarioPerfilBm.Update(usuarioPerfil);

                    usuarioPerfil = new UsuarioPerfil()
                    {
                        Ativo = true,
                        DataAssociacao = DateTime.Now,
                        Perfil = perfilBm.GetByID(IdPefil),
                        Usuario = usuarioBm.GetByID(UsuarioFuncionario.IdUsuario)
                    };

                    usuarioPerfilBm.Insert(usuarioPerfil);

                }

            }
        }