public UsuarioLdap BuscarUsuario(string Email) { UsuarioLdap usuarioLdap = new UsuarioLdap(); string serverLdap = string.Empty; string directorioLdap = string.Empty; try { serverLdap = ConfigurationManager.AppSettings["serverLdap"]; directorioLdap = ConfigurationManager.AppSettings["directorioLdap"]; using (var context = new PrincipalContext(ContextType.Domain, serverLdap, directorioLdap)) { UserPrincipal userPrincipal = new UserPrincipal(context); userPrincipal.EmailAddress = Email; using (var searcher = new PrincipalSearcher(userPrincipal)) { Principal principal = searcher.FindOne(); usuarioLdap.Nombre = principal.Name; usuarioLdap.PPGID = principal.SamAccountName; usuarioLdap.Email = Email; } } } catch (Exception ex) { usuarioLdap = new UsuarioLdap(); ArchivoLog.EscribirLog(null, "ERROR: Service - BuscarUsuario, Source:" + ex.Source + ", Message:" + ex.Message); } return(usuarioLdap); }
public JsonResult ValidUsuario(string Correo) { Usuario usuarioCronograma = new Usuario(); Usuario usuario = new Usuario(); Parametro parametro = new Parametro(); string serverLdap = string.Empty; ParametroENT parametroENTRes = new ParametroENT(); ParametroNEG parametroNEG = new ParametroNEG(); LdapENT ldapENTReq = new LdapENT(); LdapENT ldapENTRes = new LdapENT(); LdapNEG ldapNEG = new LdapNEG(); UsuarioENT usuarioENTReq = new UsuarioENT(); UsuarioENT usuarioENTRes = new UsuarioENT(); UsuarioNEG usuarioNeg = new UsuarioNEG(); UsuarioLdap usuarioLdap = new UsuarioLdap(); try { if (Correo == string.Empty) { usuario.Mensaje = "Ocurrio un error inesperado, no se mando la informacion del usuario."; usuario.ID_RolCronograma = 0; usuario.OK = 0; ArchivoLog.EscribirLog(null, "ERROR: Service: ValidUsuario, Message: " + usuario.Mensaje); return(Json(usuario, JsonRequestBehavior.AllowGet)); } if (Session["Usuario"] == null) { usuario.Correo = Correo; //OBTENER PARAMETROS parametroENTRes = parametroNEG.GetParametro(); if (parametroENTRes.OK == 0) { usuario.Mensaje = "Ocurrio un error inesperado, no se pudo obtener la informacion de los parametros globales de Campañas, intente de nuvo o consulte al administrador de sistemas."; usuario.OK = 0; usuario.ID_RolCronograma = 0; ArchivoLog.EscribirLog(null, "ERROR: Service: ValidUsuario, Message: " + usuario.Mensaje); return(Json(usuario, JsonRequestBehavior.AllowGet)); } Session["ListParametro"] = parametroENTRes.ListParametro; parametro = parametroENTRes.ListParametro.Where(n => n.Nombre.ToUpper() == ConfigurationManager.AppSettings["ServerLdap"].ToUpper()).FirstOrDefault(); if (parametro != null) { serverLdap = parametro.Valor; } //OBTENER USUARIO LDAP ldapENTReq.ServerLdap = serverLdap; ldapENTRes = ldapNEG.GetUsuarioLdap(ldapENTReq); if (ldapENTRes.OK == 0) { usuario.Mensaje = "Ocurrio un error inesperado, no se pudo obtener la informacion del Usuario en Active Directory, intente de nuvo o consulte al administrador de sistemas."; usuario.OK = 0; usuario.ID_RolCronograma = 0; ArchivoLog.EscribirLog(null, "ERROR: Service: ValidUsuario, Message: " + usuario.Mensaje); return(Json(usuario, JsonRequestBehavior.AllowGet)); } Session["ListUsuarioLdap"] = ldapENTRes.ListUsuarioLdap; if (ldapENTRes.ListUsuarioLdap != null && ldapENTRes.ListUsuarioLdap.Count > 0) { if (string.IsNullOrEmpty(usuario.Correo)) { usuario.Correo = "-1"; } usuarioLdap = ldapENTRes.ListUsuarioLdap.Where(n => n.Email.ToLower() == usuario.Correo.ToLower()).FirstOrDefault(); if (usuarioLdap == null) { usuario.ID_RolCronograma = 0; usuario.Mensaje = "No tiene los permisos suficientes para acceder a cronograma, usuario no encontrado en Active Directory, contacte a su administrador de sistema."; usuario.ID_RolCronograma = 0; ArchivoLog.EscribirLog(null, "ERROR: Service: ValidUsuario, Message: " + usuario.Mensaje); return(Json(usuario, JsonRequestBehavior.AllowGet)); } else { usuario.PPGID = usuarioLdap.PPGID; usuario.Nombre = usuarioLdap.Nombre; } } usuarioENTReq.ListUsuario = new List <Usuario>(); usuarioENTReq.ListUsuario.Add(usuario); usuarioENTRes = usuarioNeg.GetUsuario(usuarioENTReq); if (usuarioENTRes.OK == 0) { usuario = new Usuario(); usuario.OK = 0; usuario.Mensaje = "ERROR: Ocurrio un error inesperado, no se pudo obtener la informacion del Usuario que ingreso a Cronograma, intente de nuevo o consulte al administrador de sistemas."; usuario.ID_RolCronograma = 0; ArchivoLog.EscribirLog(null, "ERROR: Service: ValidUsuario, Message: " + usuario.Mensaje); Session["Usuario"] = new Usuario(); return(Json(usuario, JsonRequestBehavior.AllowGet)); } usuarioCronograma = usuarioENTRes.ListUsuario.FirstOrDefault(); if (usuarioCronograma == null || usuarioCronograma.ID_RolCronograma <= 0) { usuario = new Usuario(); usuario.ID_RolCronograma = 0; usuario.Mensaje = "No tiene los permisos suficientes para acceder a cronograma, usuario no registrado en cronograma, contacte a su administrador de sistema."; ArchivoLog.EscribirLog(null, "ERROR: Service: ValidUsuario, Message: " + usuario.Mensaje); return(Json(usuario, JsonRequestBehavior.AllowGet)); } else { usuario.ID_RolCronograma = usuarioCronograma.ID_RolCronograma; usuario.Rol = usuarioCronograma.Rol; usuario.RolDescription = usuarioCronograma.RolDescription; if (usuario.ID_RolCronograma == 1) { usuario.MenuUsuario = true; usuario.MenuCronograma = true; usuario.MenuGrafico = true; usuario.MenuConfiguracion = true; } else if (usuario.ID_RolCronograma == 2) { usuario.MenuUsuario = true; usuario.MenuCronograma = true; usuario.MenuGrafico = true; usuario.MenuConfiguracion = false; } else if (usuario.ID_RolCronograma == 3) { usuario.MenuUsuario = false; usuario.MenuCronograma = true; usuario.MenuGrafico = true; usuario.MenuConfiguracion = false; } else if (usuario.ID_RolCronograma == 4) { usuario.MenuUsuario = false; usuario.MenuCronograma = true; usuario.MenuGrafico = false; usuario.MenuConfiguracion = false; } Session["Usuario"] = usuario; usuario.OK = 1; usuario.Mensaje = "OK"; } } else { usuario = (Usuario)Session["Usuario"]; usuario.OK = 1; usuario.Mensaje = "OK"; } } catch (Exception ex) { usuario.OK = 0; usuario.Mensaje = "ERROR: Ocurrio un error inesperado al cargar la informacion de la pagina, intenta cargar de nuevo la pagina o consulta al administrador de sistemas."; usuario.ID_RolCronograma = 0; ArchivoLog.EscribirLog(null, "ERROR: Service: ValidUsuario, Source: " + ex.Source + ", Message: " + ex.Message); } return(Json(usuario, JsonRequestBehavior.AllowGet)); }
public JsonResult AddUsuario(UsuarioLdap usuarioLdap, RolCronograma rol) { UsuarioMOD usuarioMOD = new UsuarioMOD(); UsuarioNEG usuarioNEG = new UsuarioNEG(); UsuarioENT usuarioENTReq = new UsuarioENT(); List <Usuario> ListUsuario = new List <Usuario>(); UsuarioENT usuarioENTRes = new UsuarioENT(); Usuario usuario = new Usuario(); try { usuario.PPGID = usuarioLdap.PPGID.ToUpper(); usuario.Nombre = usuarioLdap.Nombre; usuario.Correo = usuarioLdap.Email.ToLower(); usuarioENTReq.ListUsuario = new List <Usuario>(); ListUsuario = (List <Usuario>)Session["ListUsuario"]; if (ListUsuario.Where(n => n.PPGID == usuario.PPGID).Count() > 0) { usuarioMOD.OK = 2; usuarioMOD.Mensaje = "El PPGID ingresado ya existe, agregue uno nuevo para guardar la informacion."; usuarioMOD.ListUsuario = ListUsuario; usuarioMOD.ListUsuarioTemp = ListUsuario; return(Json(usuarioMOD, JsonRequestBehavior.AllowGet)); } usuario.Nombre = usuario.Nombre.ToUpper(); usuario.Correo = usuario.Correo.ToLower(); usuario.PPGID = usuario.PPGID.ToLower(); usuario.ID_RolCronograma = rol.ID; usuario.Rol = rol.Rol; usuario.RolCronograma = rol; usuarioENTReq.ListUsuario.Add(usuario); usuarioENTRes = usuarioNEG.AddUsuario(usuarioENTReq); if (usuarioENTRes.Mensaje == "OK") { usuarioMOD.OK = 1; usuarioMOD.Mensaje = "Se guardo correctamente el Usuario."; usuario = usuarioENTRes.ListUsuario.FirstOrDefault(); ListUsuario.Add(usuario); usuarioMOD.ListUsuario = ListUsuario; usuarioMOD.ListUsuarioTemp = ListUsuario; } else { usuarioMOD.OK = 0; usuarioMOD.Mensaje = "ERROR: Ocurrio un error inesperado, no se guardo de forma correcta el Usuario, intenta de nuevo o consulta al administrador de sistemas."; } } catch (Exception ex) { usuarioMOD.OK = 0; usuarioMOD.Mensaje = "ERROR: Ocurrio un error inesperado al cargar la informacion de la pagina, intenta cargar de nuevo la pagina o consulta al administrador de sistemas."; ArchivoLog.EscribirLog(null, "ERROR: Service: AddUsuario, Source: " + ex.Source + ", Message: " + ex.Message); } return(Json(usuarioMOD, JsonRequestBehavior.AllowGet)); }