private string PegaDescricaoCargo(int?cargo, int empresa)
        {
            string sRet = string.Empty;

            //
            if (cargo == null)
            {
                return("");
            }
            //
            if (lista_cargo == null)
            {
                lista_cargo = dbCooperativa.Cargo.ToList();
                AgroApp.Models.Cargo ocargo = lista_cargo.Where(a => a.Cd_Cargo == cargo && a.Cd_Empresa == empresa).FirstOrDefault();
                if (ocargo != null)
                {
                    sRet = ocargo.Ds_Cargo;
                }
            }
            else
            {
                AgroApp.Models.Cargo ocargo = lista_cargo.Where(a => a.Cd_Cargo == cargo && a.Cd_Empresa == empresa).FirstOrDefault();
                if (ocargo != null)
                {
                    sRet = ocargo.Ds_Cargo;
                }
            }
            //
            return(sRet);
        }
 public JsonResult Login(string email, string senha, string browser)
 {
     // Valida se existe um usuário com o email informado
     AgroApp.Models.Usuario usuario = null;
     try
     {
         usuario = dbCooperativa.Usuario.Where(a => a.Ds_Email.ToLower().Trim().Equals(email.ToLower().Trim())).FirstOrDefault();
     }
     catch (Exception ex)
     {
         //Utils.Utils.Log.GravaLogExc(ex);
         return(Json(new { data = ex.Message, results = 0, success = true, lojaunica = true }, JsonRequestBehavior.AllowGet));
     }
     //
     if (usuario != null)
     {
         // Valida se está logado em outra tela
         //string sret = GravaBloqueioLogin(usuario.Cd_Empresa, Convert.ToInt32(usuario.Cd_Loja), usuario.Cd_Usuario, usuario.Cd_Empresa + "ß" + usuario.Cd_Loja + "ß" + usuario.Ds_Email, browser);
         //
         //if (!string.IsNullOrEmpty(sret) && !sret.Equals("nok"))
         //{
         AgroApp.Models.Cargo cargo = dbCooperativa.Cargo.Where(a => a.Cd_Empresa == usuario.Cd_Empresa && a.Cd_Cargo == usuario.Cd_Cargo).FirstOrDefault();
         //
         if (cargo != null)
         {
             if (cargo.Bt_Ativo != null && cargo.Bt_Ativo == true)
             {
                 //senha = Utils.Security.Encryption.DecryptStringAES(senha);
                 //
                 if (usuario.Cd_Senha.TrimEnd().Equals(senha.TrimEnd()))
                 {
                     if (senha.Equals("1234"))
                     {
                         return(Json(new { data = "senha", results = 0, success = true, lojaunica = true }, JsonRequestBehavior.AllowGet));
                     }
                     else if (usuario.Dt_Exclusao != null || usuario.Dt_Bloqueio != null)     // nos dois vale o inativo
                     {
                         if (usuario.Dt_Exclusao != null && usuario.Dt_Bloqueio != null)
                         {
                             return(Json(new { data = "inativo_bloqueado", results = 0, success = true, lojaunica = true }, JsonRequestBehavior.AllowGet));
                         }
                         else if (usuario.Dt_Exclusao != null)
                         {
                             return(Json(new { data = "inativo", results = 0, success = true, lojaunica = true }, JsonRequestBehavior.AllowGet));
                         }
                         else
                         {
                             return(Json(new { data = "bloqueado", results = 0, success = true, lojaunica = true }, JsonRequestBehavior.AllowGet));
                         }
                     }
                     else
                     {
                         bool multiloja = true;
                         //
                         return(CarregaUsuario(usuario.Cd_Empresa, Convert.ToInt32(usuario.Cd_Loja), usuario.Cd_Usuario, usuario.Ds_Email, Convert.ToInt32(usuario.Cd_Loja), multiloja));
                     }
                 }
                 else
                 {
                     return(Json(new { data = "usuario", results = 0, success = true, lojaunica = true }, JsonRequestBehavior.AllowGet));
                 }
             }
             else
             {
                 return(Json(new { data = "cargoinativo", results = 0, success = true, lojaunica = true }, JsonRequestBehavior.AllowGet));
             }
         }
         else     // usuário sem cargo
         {
             return(Json(new { data = "semcargo", results = 0, success = true, lojaunica = true }, JsonRequestBehavior.AllowGet));
         }
         //}
         //else
         //{
         //    return Json(new { data = "bloqueado_sessao", results = 0, success = true, lojaunica = true }, JsonRequestBehavior.AllowGet);
         //}
     }
     else
     {
         // email não encontrado
         return(Json(new { data = "email", results = 0, success = true, lojaunica = true }, JsonRequestBehavior.AllowGet));
     }
 }