public JObject InsereUsuario(MLL.Usuario usu)
        {
            JObject obj = new JObject();

            UsuarioDAL usuDAL = new UsuarioDAL(db);

            usu.Email = usu.Email.ToLower();

            if (usuDAL.ObterPorEmail(usu.Email) != null)
            {
                obj.Add(new JProperty("erro", "Email já existe na base"));
                return(obj);
            }

            //Criptografar Senha
            MD5Crypt cript = new MD5Crypt();

            usu.Senha = cript.Criptografar(usu.Email + ";" + usu.Senha);

            if (usuDAL.Adicionar(usu))
            {
                obj.Add(new JProperty("ok", "ok"));
            }
            else
            {
                obj.Add(new JProperty("erro", usuDAL.erro));
            }

            return(obj);
        }
        public void ChecarUserAdm()
        {
            PerfilDAL perDAL = new PerfilDAL(db);

            MLL.Perfil perfil = new Perfil();
            perfil = perDAL.Tudo()
                     .Where(p => p.Nome_Perfil == "Administrador")
                     .OrderBy(p => p.Nome_Perfil).FirstOrDefault();

            if (perfil != null)
            {
                UsuarioDAL  usuDAL      = new UsuarioDAL(db);
                MLL.Usuario userCurrent = usuDAL.Tudo()
                                          .Where(u => u.Codigo_Perfil == perfil.Codigo_Perfil)
                                          .FirstOrDefault();

                if (userCurrent == null)
                {
                    MLL.Usuario usuario = new Usuario();

                    usuario.Nome_Usuario = "Wellington Fagundes";
                    usuario.Cargo        = "Programador";
                    usuario.Email        = "*****@*****.**";
                    //Acertar o caminho do arquivo
                    usuario.Path_Image = "C:\\expenses";

                    MD5Crypt md5 = new MD5Crypt();
                    usuario.Senha         = md5.Criptografar(usuario.Email + ";" + "Wsf123@");
                    usuario.Codigo_Perfil = perfil.Codigo_Perfil;
                    usuario.Excluido      = null;

                    usuDAL.Adicionar(usuario);
                }
            }
        }
        public MLL.Usuario ObterPorID(int codigo)
        {
            UsuarioDAL usuDAL = new UsuarioDAL(db);

            MLL.Usuario usu = usuDAL.obtemPorId(codigo);

            return(usu);
        }
        public JObject EditarUsuario(MLL.Usuario usu)
        {
            JObject    obj    = new JObject();
            UsuarioDAL usuDAL = new UsuarioDAL(db);

            if (usuDAL.Editar(usu))
            {
                obj.Add(new JProperty("ok", "ok"));
            }
            else
            {
                obj.Add(new JProperty("erro", usuDAL.erro));
            }

            return(obj);
        }
        public string ExcluirUsuario(MLL.Usuario usu)
        {
            string result = "";

            UsuarioDAL usuDAL = new UsuarioDAL(db);

            usu.Excluido = DateTime.Now;

            if (usuDAL.Editar(usu) == true)
            {
                result = "ok";
            }
            else
            {
                result = "Erro - " + usuDAL.erro;
            }

            return(result);
        }
        public JObject CadastrarUsuario(HttpPostedFileBase arquivo, MLL.Usuario usu, FormCollection form, string caminho, string caminhoRelativo)
        {
            JObject obj = new JObject();

            UsuarioDAL usuDAL = new UsuarioDAL(db);

            usu.Email = usu.Email.ToLower();

            if (usuDAL.ObterPorEmail(usu.Email) != null)
            {
                obj.Add(new JProperty("erro", "Email já existe na base"));
                return(obj);
            }

            //Caminho com o endereço do Web Server para exibir a foto imagem
            var pathSalvarNaBase = Path.Combine("http:\\NOTE\\EXPENSES" + caminhoRelativo);

            //Caminho mapeado no servidor fisicamente
            arquivo.SaveAs(caminho);

            usu.Path_Image = pathSalvarNaBase;


            //Criptografar Senha
            MD5Crypt cript = new MD5Crypt();

            usu.Senha = cript.Criptografar(usu.Email + ";" + usu.Senha);

            if (usuDAL.Adicionar(usu))
            {
                obj.Add(new JProperty("ok", "ok"));
            }
            else
            {
                obj.Add(new JProperty("erro", usuDAL.erro));
            }

            return(obj);
        }