示例#1
0
        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);
        }
示例#3
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");
                }
            }
        }
示例#4
0
 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();
 }
示例#5
0
 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();
 }
示例#6
0
        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);
        }
示例#7
0
        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));
            }
        }
示例#8
0
        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");
                }
            }
        }
示例#9
0
        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);
        }
示例#10
0
 /// <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);
     }
 }