public static void RecoverPassword(string nombreUsuario) { Data.BarcoSoftUtilidadesDB db = new Data.BarcoSoftUtilidadesDB(true); // Generar nueva contraseña Data.Usuario user = db.Usuario.Where(x => x.NombreUsuario == nombreUsuario).FirstOrDefault(); if (user == null) { throw new Exception("Nombre de usuario no es conocido en la base de datos."); } string nuevaContraseña = (DateTime.Now.Millisecond.ToString() + user.Persona.Apellidos).Encrypt(); //Se coloca la nueva contraseña en la base de datos Usuario TempUser = Usuario.GetUserByName(nombreUsuario); TempUser.ChangePassword(user.Contraseña, nuevaContraseña.Encrypt()); //Enviar Mail de recuperación al usuario Utilidades.SendMail mail = new Utilidades.SendMail( System.Configuration.ConfigurationManager.AppSettings["GmailAccountMail"].Decrypt(), System.Configuration.ConfigurationManager.AppSettings["GmailAccountPassword"].Decrypt(), System.Configuration.ConfigurationManager.AppSettings["smtpClient"], Convert.ToInt32(System.Configuration.ConfigurationManager.AppSettings["smtGmailPort"]) ); mail.Send("Ekilibrate", user.Persona.Email, TempUser.DatosPersona.Nombres + " " + TempUser.DatosPersona.Apellidos, "Recuperación de contraseña Ekilibrate", @"" , true ); }
public static bool UserHasAccess(Usuario user, int objeto) { Data.BarcoSoftUtilidadesDB db = new Data.BarcoSoftUtilidadesDB(true); var listaRoles = db.UsuarioPorRol.Where(x => x.IdUsuario == user.IdUsuario).Select(y => y.IdRol).ToList(); return(db.Permiso.Where(x => x.IdObjeto == objeto && listaRoles.Where(t => t == x.IdRol).Count() > 0).Count() > 0); }
public static void LogIn(HttpContextBase httpContext, string pEncryptPassword, string pUserName) { Data.BarcoSoftUtilidadesDB db = new Data.BarcoSoftUtilidadesDB(true); Data.Usuario dbResult; dbResult = db.Usuario.Where(x => x.NombreUsuario.ToLower() == pUserName.ToLower()).FirstOrDefault(); if (dbResult == null) { throw new Exception("Usuario o password incorrecto"); } else { if (dbResult.Activo) { if (dbResult.Contraseña != pEncryptPassword) { throw new Exception("Usuario o password incorrecto"); } else { httpContext.SetActualUser(pUserName); MvcSiteMapProvider.SiteMaps.ReleaseSiteMap(); } } else { throw new Exception("Usuario inactivo, contacta a tu administrador para más información"); } } }
public static void ChangePassword(string NombreUsuario, string pNewEncriptedPassword) { Data.BarcoSoftUtilidadesDB db = new Data.BarcoSoftUtilidadesDB(true); db.Usuario.Where(x => x.NombreUsuario == NombreUsuario).ToList().ForEach(y => { y.Contraseña = pNewEncriptedPassword; }); db.SaveChanges(); }
public void ChangePassword(string pActualEncriptedPassword, string pNewEncriptedPassword) { Data.BarcoSoftUtilidadesDB db = new Data.BarcoSoftUtilidadesDB(true); db.Usuario.Where(x => x.IdUsuario == this.IdUsuario && x.Contraseña == pActualEncriptedPassword).ToList().ForEach(y => { y.Contraseña = pNewEncriptedPassword; }); db.SaveChanges(); }
public static Usuario GetUserById(int IdUser) { Usuario user = new Usuario(); Data.BarcoSoftUtilidadesDB db = new Data.BarcoSoftUtilidadesDB(true); user = (from u in db.Usuario join par in db.PAR_Participante on u.GE_Persona.Id equals par.Id into gj from par in gj.DefaultIfEmpty() join proy in db.PR_Proyecto on par.ProyectoId equals proy.Id into gj1 from proy in gj1.DefaultIfEmpty() join emp in db.ADM_Empresa on proy.EmpresaId equals emp.Id into gj2 from emp in gj2.DefaultIfEmpty() join nutri in db.PR_Nutricionista on u.IdPersona equals nutri.ColaboradorId into gj4 from nutri in gj4.DefaultIfEmpty() where u.IdUsuario == IdUser select new Usuario { IdUsuario = u.IdUsuario, Tipo = new TipoUsuario { IdTipoUsuario = u.TipoUsuario.IdTipoUsuario, RedirectUrlTipoUsuario = u.TipoUsuario.UrlRedireccion, Nombre = u.TipoUsuario.Nombre }, NombreUsuario = u.NombreUsuario, Apellidos = u.GE_Persona.PrimerApellido, Email = u.GE_Persona.Correo, Nombres = u.GE_Persona.PrimerNombre, Telefono = u.GE_Persona.Telefono, IdPersona = u.GE_Persona.Id, Empresa = emp != null ? new Empresa { IdEmpresa = emp.Id, Nombre = emp.Nombre } : u.GE_Persona.ADM_Contacto.ADM_Empresa != null ? new Empresa { IdEmpresa = u.GE_Persona.ADM_Contacto.ADM_Empresa.Id, Nombre = u.GE_Persona.ADM_Contacto.ADM_Empresa.Nombre } : null, Proyecto = proy != null ? new Proyecto { IdProyecto = proy.Id, } : null, Nutricionista = nutri != null ? new Nutricionista { idNutricionista = nutri.ColaboradorId } : null, } ).FirstOrDefault(); return(user); }
public static Usuario MobileLogin(string nombreUsuario, string contraseña) { Data.BarcoSoftUtilidadesDB db = new Data.BarcoSoftUtilidadesDB(true); Data.Usuario dbResult; string CriptPass = contraseña.Encrypt(); dbResult = db.Usuario.Where(x => x.NombreUsuario.ToLower() == nombreUsuario.ToLower() && x.Contraseña == CriptPass).FirstOrDefault(); if (dbResult == null) { return(null); } else { return(GetUserByName(nombreUsuario)); } }
public static void RecoverPassword(string nombreUsuario, string url) { Data.BarcoSoftUtilidadesDB db = new Data.BarcoSoftUtilidadesDB(true); // Generar nueva contraseña Data.Usuario user = db.Usuario.Where(x => x.GE_Persona.Correo.ToLower().Trim() == nombreUsuario.ToLower().Trim()).FirstOrDefault(); if (user == null) { throw new Exception("Usuario ingresado no existe"); } using (SmtpClient client = new SmtpClient()) { client.EnableSsl = false; client.UseDefaultCredentials = false; client.Credentials = new NetworkCredential("*****@*****.**", "Esvisa16"); client.Host = "mail.server260.com"; client.Port = 587; client.DeliveryMethod = SmtpDeliveryMethod.Network; client.ServicePoint.MaxIdleTime = 1; client.Timeout = 10000; MailMessage msg = new MailMessage(); msg.From = new MailAddress("*****@*****.**", "Ekilibrate"); msg.To.Add(user.GE_Persona.Correo); msg.Subject = "Recuperación de Contraseña"; msg.Body = String.Format(HTMLCorreoRegistro, user.GE_Persona.PrimerNombre, url + "?p85=" + user.NombreUsuario.Encrypt() + "&p67=" + DateTime.Now.Date.ToString().Encrypt()); msg.IsBodyHtml = true; msg.DeliveryNotificationOptions = DeliveryNotificationOptions.OnFailure; try { client.Send(msg); } catch (Exception ex) { Console.WriteLine("Error al enviar mensaje: " + ex.Message); //throw new Exception("No se pudo enviar el mensaje de confirmación a tu correo, favor verifica que sea correcto"); } } }
public static Usuario GetUserById(int IdUser) { Usuario user = new Usuario(); Data.BarcoSoftUtilidadesDB db = new Data.BarcoSoftUtilidadesDB(true); user = db.Usuario.Where(x => x.IdUsuario == IdUser).Select(x => new Usuario { IdUsuario = x.IdUsuario, IdTipoUsuario = x.IdTipoUsuario, NombreUsuario = x.NombreUsuario, DatosPersona = new Usuario.Persona { Apellidos = x.Persona.Apellidos, Email = x.Persona.Email, Nombres = x.Persona.Nombres, Telefono = x.Persona.Telefono } }).FirstOrDefault(); return(user); }
/// <summary> /// Método interno para buscar el parametro /// </summary> private void GetParameter() { try { Data.BarcoSoftUtilidadesDB db = new Data.BarcoSoftUtilidadesDB(true); Data.ParametroGeneral result = db.ParametroGeneral.Where(x => x.IdParametroGeneral == this.IdParametro).FirstOrDefault(); if (result != null) { this.Valor = result.Valor; this.IdParametro = result.IdParametroGeneral; this.IdParametroTipo = (int)result.IdParametroTipo; } } catch (Exception ex) { String className = "ParametroGeneral"; String methodName = System.Reflection.MethodBase.GetCurrentMethod().Name; throw new Exception(className + " " + methodName + ": " + ex.Message); } }