Exemplo n.º 1
0
        //método salvar
        public void SalvarLogin(LoginFuncionario login)
        {
            try
            {
                Conectar();

                command = new MySqlCommand("insert into loginfuncionario (usuario, senha, confirmacao_senha, tipo_usuario) values " +
                                           "(@usuario, @senha, @confSenha, @tipousuario)", conexao); //conexao está referente as infos do banco
                //parameters são os @value, AddWithValue são as variaveis de classe login
                command.Parameters.AddWithValue("@usuario", login.Funcionario);
                command.Parameters.AddWithValue("@senha", login.Senha);
                command.Parameters.AddWithValue("@confSenha", login.ConfSenha);
                command.Parameters.AddWithValue("@tipousuario", login.TipoFuncionario);

                command.ExecuteNonQuery();
            }
            catch (Exception error)
            {
                throw error;
            }
            finally
            {
                Desconectar();
            }
        }
        /// <summary>
        /// Método responsável por verificar se o cliente está logado utilizando o cookie.
        /// </summary>
        /// <param name="httpContext"></param>
        /// <returns></returns>
        protected override bool AuthorizeCore(HttpContextBase httpContext)
        {
            BancoDBContext db = new BancoDBContext();


            var cookie = httpContext.Request.Cookies["_LoginFunc"];

            if (cookie != null && cookie != default(HttpCookie) && db.LoginFuncionario.FirstOrDefault(i => i.CookieValue == cookie.Value) != null)
            {
                LoginFuncionario login = db.LoginFuncionario.FirstOrDefault(i => i.CookieValue == cookie.Value);

                if (login != null)
                {
                    return(true);
                }
                else
                {
                    return(false);
                }
            }
            else
            {
                return(false);
            }
        }
Exemplo n.º 3
0
        //Metodo excluir
        public void ExcluirLogin(LoginFuncionario login)
        {
            try
            {
                Conectar();

                //seleciona o codigo do funcionario
                command = new MySqlCommand("select codUsuario from loginfuncionario where usuario = @usuario", conexao);
                command.Parameters.AddWithValue("@usuario", login.Funcionario);

                command.ExecuteNonQuery();
                MySqlDataReader dr = command.ExecuteReader();

                long codigo = 0;

                while (dr.Read())
                {//recebe o codigo
                    login.CodFuncionario = Convert.ToInt32(dr["codUsuario"]);

                    codigo = login.CodFuncionario;
                }
                dr.Close();

                command = new MySqlCommand("delete from loginfuncionario where codUsuario = @codUsuario", conexao);
                command.Parameters.AddWithValue("@codUsuario", login.CodFuncionario);
            }
            catch (Exception erro)
            {
                throw erro;
            }
            finally
            {
                Desconectar();
            }
        }
Exemplo n.º 4
0
        public ActionResult Login(FuncLoginViewModel model)
        {
            //var cookie = (HttpCookie)Request.Cookies[".AspNet.ApplicationCookie"];

            Funcionario func = db.Funcionario.FirstOrDefault(i => i.Usuario == model.Usuario && i.Senha == model.Senha);

            if (func != default(Funcionario))
            {
                //Criando Cookie
                var cookie = new HttpCookie("_LoginFunc", Guid.NewGuid().ToString());
                cookie.Expires.AddDays(1);
                HttpContext.Response.SetCookie(cookie);



                LoginFuncionario Login = new LoginFuncionario(cookie.Value, func.FuncionarioId);
                db.LoginFuncionario.Add(Login);
                //db.LoginProfissional.Add(Login);
                db.SaveChanges();
                return(RedirectToAction("Index", "Home"));
            }

            ViewBag.ErroLogin = "******";

            return(View());
        }
Exemplo n.º 5
0
        public ActionResult Editar(Funcionario funcionario, EnderecoFuncionario endereco, int PermissoesId)
        {
            if (ModelState.IsValid)
            {
                try
                {
                    db.Entry(funcionario).State = EntityState.Modified;
                    db.SaveChanges();

                    if (endereco != null)
                    {
                        endereco.FuncionarioId = funcionario.Id;
                        new EnderecoFuncionario().EditarEndereco(endereco);
                    }
                    LoginFuncionario login = db.LoginFuncionarios.Where(p => p.FuncionarioId == funcionario.Id).SingleOrDefault();
                    login.PermissoesId = PermissoesId;

                    db.Entry(login).State = EntityState.Modified;
                    db.SaveChanges();
                }
                catch (Exception e) { ModelState.AddModelError("", "Confira os dados e tente novamente"); }
                return(RedirectToAction("Index"));
            }

            HtmlHelper.ClientValidationEnabled      = true;
            HtmlHelper.UnobtrusiveJavaScriptEnabled = true;
            ViewBag.CargoId = new SelectList(db.Cargos, "Id", "Nome", funcionario.CargoId);
            return(View(funcionario));
        }
Exemplo n.º 6
0
        public ActionResult AlterarLogin(string novoUsuario, string novaSenha, string usuario, string senha)//[Bind(Include = "Id,Nome,Data_nascimento,Celular,Telefone,Email")]
        {
            if (ModelState.IsValid)
            {
                senha = CriptoHelper.HashMD5(senha);
                try
                {
                    LoginFuncionario loginAntigo = db.LoginFuncionarios.SingleOrDefault(lf => lf.Usuario == usuario && lf.Senha == senha);

                    if (loginAntigo != null)
                    {
                        loginAntigo.Usuario = novoUsuario;
                        loginAntigo.Senha   = CriptoHelper.HashMD5(novaSenha);

                        db.Entry(loginAntigo).State = EntityState.Modified;
                        db.SaveChanges();

                        return(RedirectToAction("LogOff"));
                    }
                    else
                    {
                        ModelState.AddModelError("", "Usuário ou senha não existem...");
                    }
                }
                catch (Exception e) { ModelState.AddModelError("", "Algo deu errado, tente novamente"); }
            }
            else
            {
                ModelState.AddModelError("", "Login Inválido");
            }

            return(View());
        }
Exemplo n.º 7
0
        // GET: LoginProfissional/Create
        public ActionResult logout()
        {
            var cookie = (HttpCookie)Request.Cookies["_LoginFunc"];

            if (cookie != null)
            {
                if (db.LoginFuncionario.FirstOrDefault(i => i.CookieValue == cookie.Value) != null)
                {
                    LoginFuncionario profissionalLogado = db.LoginFuncionario.FirstOrDefault(i => i.CookieValue == cookie.Value);

                    profissionalLogado.LogOut = true;

                    db.Entry(profissionalLogado).State = EntityState.Modified;
                    //db.LoginProfissional.Add(Login);
                    db.SaveChanges();


                    cookie.Expires = DateTime.Now.AddDays(-1);
                    Response.Cookies.Add(cookie);
                }
                else
                {
                    cookie.Expires = DateTime.Now.AddDays(-1);
                    Response.Cookies.Add(cookie);
                }
            }

            return(RedirectToAction("Index", "Home"));
        }
Exemplo n.º 8
0
 public void ExcluirFuncionario(LoginFuncionario login)
 {
     try
     {
         loginFuncionarioDAO.ExcluirLogin(login);
     }
     catch (Exception error)
     {
         MessageBox.Show("Erro: " + error);
     }
 }
Exemplo n.º 9
0
        public async Task <ActionResult> DeleteConfirmed(int id)
        {
            try
            {
                LoginFuncionario loginFuncionario = await db.LoginFuncionarios.FindAsync(id);

                db.LoginFuncionarios.Remove(loginFuncionario);
                await db.SaveChangesAsync();
            }
            catch (Exception e) { ModelState.AddModelError("", "Confira os dados e tente novamente"); }
            return(RedirectToAction("Index"));
        }
Exemplo n.º 10
0
        public ActionResult RedefinirSenha(int id)
        {
            var usuario = LoginFuncionario.RecuperarPeloId(id);

            if (usuario == null)
            {
                id = -1;
            }

            ViewBag.Mensagem = null;

            return(View(usuario));
        }
Exemplo n.º 11
0
        public ActionResult Cadastrar(Funcionario funcionario, EnderecoFuncionario endereco, int PermissoesId)
        {
            if (ModelState.IsValid)
            {
                try
                {
                    string aaa          = funcionario.Email;
                    string verificarCpf = funcionario.Cpf;
                    var    aa           = db.Funcionarios.Where(a => a.Email == aaa || a.Cpf == verificarCpf).SingleOrDefault();

                    if (aa != null)
                    {
                        ViewBag.Endereco = db.EnderecoFuncionarios.Where(end => end.Funcionario.Id == funcionario.Id).SingleOrDefault();
                        ViewBag.CargoId  = new SelectList(db.Cargos, "Id", "Nome");
                        ModelState.AddModelError("", "Esse Cadastro já Existe!");
                        return(View(funcionario));
                    }
                    else
                    {
                        funcionario.RegistroFuncionarioAtivo = true;
                        db.Funcionarios.Add(funcionario);
                        db.SaveChanges();

                        if (endereco != null)
                        {
                            new EnderecoFuncionario().CadastrarEndereco(endereco, funcionario.Id);
                        }
                        ////
                        var loginF = new LoginFuncionario()
                        {
                            Usuario       = funcionario.Email,
                            Senha         = gerarSenha(funcionario),
                            FuncionarioId = funcionario.Id,
                            PermissoesId  = PermissoesId
                        };
                        ////
                        db.LoginFuncionarios.Add(loginF);
                        db.SaveChanges();

                        return(RedirectToAction("Index"));
                    }
                }
                catch (Exception e) { ModelState.AddModelError("", "Confira os dados e tente novamente"); }
            }

            HtmlHelper.ClientValidationEnabled      = true;
            HtmlHelper.UnobtrusiveJavaScriptEnabled = true;
            ViewBag.CargoId = new SelectList(db.Cargos, "Id", "Nome", funcionario.CargoId);
            return(View(funcionario));
        }
Exemplo n.º 12
0
        public async Task <ActionResult> Deletar(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            LoginFuncionario loginFuncionario = await db.LoginFuncionarios.FindAsync(id);

            if (loginFuncionario == null)
            {
                return(HttpNotFound());
            }
            return(View(loginFuncionario));
        }
 public void OnAuthorization(AuthorizationFilterContext context)
 {
     _loginFuncionario = (LoginFuncionario)context.HttpContext.RequestServices.GetService(typeof(LoginFuncionario));
     if (_loginFuncionario.GetCliente() == null)
     {
         context.Result = new RedirectToActionResult("Login", "Home", null);
     }
     else
     {
         if (_loginFuncionario.GetCliente().Tipo == FuncionarioTypeConstant.Comum && _tipoColaboradorAuthorization == FuncionarioTypeConstant.Gerente)
         {
             context.Result = new ForbidResult();
         }
     }
 }
Exemplo n.º 14
0
        //metodo editar
        public void EditarLogin(LoginFuncionario login)
        {
            try
            {
                Conectar();

                //seleciona o codigo do funcionario
                command = new MySqlCommand("select codUsuario from loginfuncionario where usuario = @usuario", conexao);
                command.Parameters.AddWithValue("@usuario", login.Funcionario);

                command.ExecuteNonQuery();
                MySqlDataReader dr = command.ExecuteReader();

                long codigo = 0;

                while (dr.Read())
                {//recebe o codigo
                    login.CodFuncionario = Convert.ToInt32(dr["codUsuario"]);

                    codigo = login.CodFuncionario;
                }
                dr.Close();

                command = new MySqlCommand("update loginfuncionario set usuario = @usuario, senha = @senha, " +
                                           "confirmacao_senha = @confSenha, tipo_usuario = @tipoUsuario where usuario = @usuario", conexao);

                command.Parameters.AddWithValue("@codUsuario", codigo); //executa com o código selecionado
                command.Parameters.AddWithValue("@usuario", login.Funcionario);
                command.Parameters.AddWithValue("@senha", login.Senha);
                command.Parameters.AddWithValue("@confSenha", login.ConfSenha);
                command.Parameters.AddWithValue("@tipoUsuario", login.TipoFuncionario);

                command.ExecuteNonQuery();
            }
            catch (Exception erro)
            {
                throw erro;
            }
            finally
            {
                Desconectar();
            }
        }
Exemplo n.º 15
0
        private void EnviarEmailRedefinicaoSenha(LoginFuncionario usuario)
        {
            var callbackUrl = Url.Action("RedefinirSenha", "ContaFuncionario", new { id = usuario.Id }, protocol: Request.Url.Scheme);

            MailMessage mail = new MailMessage();
            SmtpClient  smtp = new SmtpClient("smtp.gmail.com");

            smtp.Port = 587;
            smtp.UseDefaultCredentials = false;
            smtp.Credentials           = new System.Net.NetworkCredential("*****@*****.**", "suporteadm");
            smtp.EnableSsl             = true;

            mail.From = new MailAddress("*****@*****.**");
            mail.To.Add(usuario.Funcionario.Email);
            mail.Subject    = "Redefinição de senha";
            mail.Body       = string.Format("Redefina a sua senha <a href='{0}'>clicando aqui!</a>", callbackUrl);
            mail.IsBodyHtml = true;

            smtp.Send(mail);
        }
Exemplo n.º 16
0
        public ActionResult Register(FuncCadViewModel model)
        {
            Funcionario func = new Funcionario(model);

            if (func != default(Funcionario))
            {
                //Criando Cookie
                var cookie = new HttpCookie("_LoginFunc", Guid.NewGuid().ToString());
                cookie.Expires.AddDays(1);
                HttpContext.Response.SetCookie(cookie);

                db.Funcionario.Add(func);

                LoginFuncionario Login = new LoginFuncionario(cookie.Value, func.FuncionarioId);
                db.LoginFuncionario.Add(Login);
                //db.LoginProfissional.Add(Login);
                db.SaveChanges();
                return(RedirectToAction("Index", "Home"));
            }

            return(View());
        }
Exemplo n.º 17
0
        public ActionResult RedefinirSenha(LoginFuncionario login)
        {
            ViewBag.Mensagem = null;

            if (!ModelState.IsValid)
            {
                return(View(login));
            }

            var usuario = LoginFuncionario.RecuperarPeloId(login.Id);

            if (usuario != null)
            {
                usuario.Senha           = CriptoHelper.HashMD5(login.Senha);
                db.Entry(usuario).State = EntityState.Modified;
                db.SaveChanges();

                ViewBag.Mensagem = "Sucesso!";
            }

            return(View());
        }
Exemplo n.º 18
0
        //salvar
        public bool SalvarFuncionario(LoginFuncionario loginFuncionario)
        {
            try
            {
                //caso os campos estiverem vazios
                if (txtFuncionario.Text == "" || pswSenha.Password == "" || pswConfSenha.Password == "" || cmbTipoFuncionario.Text == "")
                {
                    MessageBox.Show("Campos com * são obrigatórios o preenchimento");
                }
                else
                {
                    loginFuncionario.Funcionario     = txtFuncionario.Text;
                    loginFuncionario.Senha           = pswSenha.Password;
                    loginFuncionario.ConfSenha       = pswSenha.Password;
                    loginFuncionario.TipoFuncionario = cmbTipoFuncionario.Text;

                    if (ValidarSenha() == false)
                    {
                        pswSenha.Focus();
                    }
                    else
                    {
                        funcionarioBLL.SalvarFuncionario(loginFuncionario);

                        MessageBox.Show("Cadastro feito com sucesso");
                        Limpar();
                        ListarFuncionario();
                        return(true);
                    }
                }
                return(false);
            }

            catch (Exception error)
            {
                throw error;
            }
        }
Exemplo n.º 19
0
        //excluir funcionario
        public bool ExcluirFuncionario(LoginFuncionario loginFuncionario)
        {
            try
            {
                //caso os campos estiverem vazios
                if (txtFuncionario.Text == "" || pswSenha.Password == "" || pswConfSenha.Password == "" || cmbTipoFuncionario.Text == "")
                {
                    MessageBox.Show("Campos com * são obrigatórios o preenchimento");
                }
                else
                {
                    loginFuncionario.Funcionario     = txtFuncionario.Text;
                    loginFuncionario.Senha           = pswSenha.Password;
                    loginFuncionario.ConfSenha       = pswSenha.Password;
                    loginFuncionario.TipoFuncionario = cmbTipoFuncionario.Text;

                    MessageBoxResult excluir = MessageBox.Show("Deseja realmete salvar as alterações ?", "Excluir", MessageBoxButton.YesNo);

                    //caso o usuário realmente queira fazer a alteração
                    if (excluir == MessageBoxResult.Yes)
                    {
                        funcionarioBLL.ExcluirFuncionario(loginFuncionario);

                        MessageBox.Show("Exclusão feita com sucesso");
                        Limpar();
                        ListarFuncionario();
                        return(true);
                    }
                }
                return(false);
            }

            catch (Exception error)
            {
                throw error;
            }
        }
Exemplo n.º 20
0
        public ActionResult EsqueciMinhaSenha(string email, string CpfLogin)
        {
            if (HttpContext.Request.HttpMethod.ToUpper() == "GET")
            {
                ViewBag.EmailEnviado = false;
                ModelState.Clear();
            }
            else
            {
                var usuario = LoginFuncionario.RecuperarUsuario(email, CpfLogin);
                if (usuario != null)
                {
                    EnviarEmailRedefinicaoSenha(usuario);
                    ViewBag.EmailEnviado = true;
                }
                else
                {
                    ViewBag.EmailEnviado = false;
                    ModelState.AddModelError("", "Dados inválidos!");
                }
            }

            return(View());
        }
Exemplo n.º 21
0
        public ActionResult Login(LoginFuncionario loginF, string returnUrl)
        {
            //Valida dados
            if (ModelState.IsValid)
            {
                try
                {
                    var usuario = LoginFuncionario.ValidarUsuario(loginF.Usuario, loginF.Senha);

                    if (usuario != null)
                    {
                        int id = usuario.Id;
                        int p  = db.LoginFuncionarios.Where(end => end.Id == id).SingleOrDefault().PermissoesId;

                        permissao = (p == 1) ? "Administrador" : "Funcionario";

                        //FormsAuthentication.SetAuthCookie(loginF.Usuario, false);
                        var ticket = FormsAuthentication.Encrypt(new FormsAuthenticationTicket(1, loginF.Usuario, DateTime.Now, DateTime.Now.AddHours(12), false, permissao));
                        var cookie = new HttpCookie(FormsAuthentication.FormsCookieName, ticket);
                        Response.Cookies.Add(cookie);

                        Session["FuncionarioId"] = usuario.FuncionarioId;

                        if (Url.IsLocalUrl(returnUrl))
                        {
                            return(Redirect(returnUrl));
                        }
                        return(RedirectToAction("Agendamentos", "Estatisticas"));
                    }
                    else
                    {
                        var User   = loginF;
                        var logFun = db.LoginFuncionarios.Where(a => a.Usuario == User.Usuario).SingleOrDefault();
                        //Vai inserir uma tentativa na tabela, antes vai ver se a quantidade na tabela esta menor que 3
                        if (User != null)
                        {
                            //Vendo se usuario ja tem uma tabela criada
                            var aa = db.segLogin.Where(a => a.IdUsuario == logFun.FuncionarioId).SingleOrDefault();
                            //Caso o usuario tiver cadastrado na tabela segLogin vai ser somado 1 tentativa na tabela
                            if (aa != null)
                            {
                                int qtd = aa.Quantidade;
                                //se a quantidade de tentativas fort menor que 3, vai ser somado
                                if (qtd < 2)
                                {
                                    qtd                = qtd + 1;
                                    aa.Quantidade      = qtd;
                                    db.Entry(aa).State = EntityState.Modified;
                                    db.SaveChanges();
                                    ModelState.AddModelError("", "Login Inválido");
                                }
                                else
                                {
                                    var usuarioRet = db.Funcionarios.Where(a => a.Id == aa.IdUsuario).SingleOrDefault();

                                    if (usuarioRet != null)
                                    {
                                        try
                                        {
                                            string email   = usuarioRet.Email;
                                            string assunto = "Ja foram 3 tentativas de acesso a sua conta no site SisHair, caso não seja você que fez este acesso porfavor entre em contato com seu encarregado para uma troca de senha";



                                            MailMessage mail = new MailMessage();
                                            SmtpClient  smtp = new SmtpClient("smtp.gmail.com");

                                            mail.From = new MailAddress("*****@*****.**");
                                            mail.To.Add(email);
                                            mail.Subject = assunto;

                                            smtp.Port = 587;
                                            smtp.UseDefaultCredentials = false;
                                            smtp.Credentials           = new System.Net.NetworkCredential("*****@*****.**", "suporteadm");
                                            smtp.EnableSsl             = true;
                                            smtp.Send(mail);

                                            qtd                = 0;
                                            aa.Quantidade      = qtd;
                                            db.Entry(aa).State = EntityState.Modified;
                                            db.SaveChanges();
                                            ModelState.AddModelError("", "Login Inválido");
                                        }
                                        catch (Exception ex)
                                        {
                                            return(Content(ex.Message));
                                        }
                                    }
                                }
                            }


                            else
                            {
                                ModelState.AddModelError("", "Login Inválido");
                                int            idfun = logFun.FuncionarioId;
                                segurancaLogin seg   = new segurancaLogin();

                                seg.IdUsuario  = logFun.FuncionarioId;
                                seg.Quantidade = 1;

                                db.segLogin.Add(seg);
                                db.SaveChanges();
                            }
                        }
                    }
                }
                catch (Exception e) { ModelState.AddModelError("", "Confira os dados e tente novamente"); }
            }

            return(View(loginF));
        }
Exemplo n.º 22
0
        //botao excluir
        private void BtnExcluir_Click(object sender, RoutedEventArgs e)
        {
            LoginFuncionario loginFuncionario = new LoginFuncionario();

            ExcluirFuncionario(loginFuncionario);
        }
Exemplo n.º 23
0
        //botao editar
        private void BtnEditar_Click(object sender, RoutedEventArgs e)
        {
            LoginFuncionario login = new LoginFuncionario();

            EditarFuncionario(login);
        }
Exemplo n.º 24
0
        //botao salvar
        private void BtnCadastrar_Click(object sender, RoutedEventArgs e)
        {
            LoginFuncionario loginFuncionario = new LoginFuncionario();

            SalvarFuncionario(loginFuncionario);
        }
Exemplo n.º 25
0
 public HomeController(IFuncionarioRepository funcionarioRepository, LoginFuncionario loginFuncionario)
 {
     _funcionarioRepository = funcionarioRepository;
     _loginFuncionario      = loginFuncionario;
 }