示例#1
0
        private bool RecoverClave(Gq_usuarios entity)
        {
            try
            {
                string newPass = UtilsFunctions.CreateRandomCode(6);
                if (entity != null)
                {
                    List <string> emails = new List <string> {
                        entity.Email
                    };

                    entity.RequiereClave = "S";
                    entity.Clave         = Encriptacion.Encriptar(newPass, Constantes.CLAVE_ENCRIPTACION);
                    using (var transaction = Services.session.BeginTransaction())
                    {
                        try
                        {
                            Services.Get <ServGq_usuarios>().Actualizar(entity);
                        }
                        catch
                        {
                        }
                        transaction.Commit();
                    }
                }

                return(MailHelper.Enviar_AvisoDeRecClave(entity, newPass));
            }
            catch (Exception)
            {
                return(false);
            }
        }
示例#2
0
 public static bool Enviar_AvisoDeRecClave(Gq_usuarios pUsuario, string pClave)
 {
     try
     {
         EjecutarDto ejecutar = new EjecutarDto();
         ejecutar.Metodo     = "Enviar_Mail";
         ejecutar.Parametros = new object[] { pUsuario, pClave };
         ejecutar.Id         = "Clave_recuperada";
         return((bool)ProcesarMailTemplate.Ejecutar(ejecutar));
     }
     catch (Exception)
     {
         return(false);
     }
 }
示例#3
0
 public static bool Enviar_AvisoDeMOdClaveOK(Gq_usuarios pUsuario)
 {
     try
     {
         EjecutarDto ejecutar = new EjecutarDto();
         ejecutar.Metodo     = "Enviar_Mail";
         ejecutar.Parametros = new object[] { pUsuario };
         ejecutar.Id         = "Clave_modificadaOK";
         return((bool)ProcesarMailTemplate.Ejecutar(ejecutar));
     }
     catch (Exception)
     {
         return(false);
     }
 }
示例#4
0
    public bool Enviar_Mail(Gq_usuarios pUsuario)
    {
        try
        {
            String asunto = "Recuperación de contraseña";
            var    dir    = System.IO.Directory.GetCurrentDirectory();
            String body   = System.IO.File.ReadAllText(dir + "\\wwwroot\\mailTemplate\\Clave_modificadaOK\\mailTemplate.html");

            body = body.Replace("{NombreYApellido}", pUsuario.Nombre + " " + pUsuario.Apellido);
            body = body.Replace("{Email}", pUsuario.Email);

            List <string> lstTo = new List <string>();
            lstTo.Add(pUsuario.Email);
            return(MailsUtils.EnviarMail(lstTo, asunto, body, getConfig()));
        }
        catch (Exception ex)
        {
            var a = ex;
            return(false);
        }
    }
示例#5
0
    public bool Enviar_Mail(Gq_usuarios pUsuario, string pClave)
    {
        try
        {
            String asunto = "Alta de Usuario";
            var    dir    = System.IO.Directory.GetCurrentDirectory();
            String body   = System.IO.File.ReadAllText(dir + "\\wwwroot\\mailTemplate\\Creacion_usuario\\mailTemplate.html");

            body = body.Replace("{NombreYApellido}", pUsuario.Nombre + " " + pUsuario.Apellido);
            body = body.Replace("{Usuario}", pUsuario.Usuario);
            body = body.Replace("{Contraseña}", pClave);
            body = body.Replace("{Email}", pUsuario.Email);

            List <string> lstTo = new List <string>(new string[] { pUsuario.Email });
            lstTo.Add(pUsuario.Email);
            return(MailsUtils.EnviarMail(lstTo, asunto, body, getConfig()));
        }
        catch (Exception ex)
        {
            var a = ex;
            return(false);
        }
    }
示例#6
0
        public static void CreateAccessSecurity()
        {
            using (var transaction = Services.session.BeginTransaction())
            {
                Assembly assembly = typeof(Security).GetTypeInfo().Assembly;

                SecurityDescription attribute     = null;
                MenuDescription     menuAttribute = null;

                Dictionary <string, Gq_perfiles>     roles  = new Dictionary <string, Gq_perfiles>();
                Dictionary <MenuDescription, object> menues = new Dictionary <MenuDescription, object>();
                ArrayList items = new ArrayList();

                Gq_accesosDto itemClass  = null;
                Gq_accesosDto itemMethod = null;

                #region CREACION DE ROLES

                if (ROLES.Length > 0)
                {
                    for (int i = 0; i < ROLES.Length; i++)
                    {
                        if (roles.ContainsKey(ROLES[i]) == false)
                        {
                            roles.Add(ROLES[i], null);
                        }
                    }
                }

                for (int i = 0; i < roles.Keys.Count; i++)
                {
                    string key = roles.Keys.ElementAt(i);
                    var    rol = Services.Get <ServGq_perfiles>().findBy(x => x.KeyName == key).FirstOrDefault();

                    if (rol == null)
                    {
                        rol               = new Gq_perfiles();
                        rol.Nombre        = key;
                        rol.KeyName       = key;
                        rol.Estado        = Constantes.ESTADO_ACTIVO;
                        rol.Creado        = DateTime.Now;
                        rol.Modificado    = DateTime.Now;
                        rol.CreadoPor     = -1;
                        rol.ModificadoPor = -1;

                        Services.Get <ServGq_perfiles>().Agregar(rol);

                        rol = Services.Get <ServGq_perfiles>().findBy(x => x.KeyName == key).FirstOrDefault();
                    }

                    roles[key] = rol;
                }
                #endregion

                #region CREACION DE ACCESOS

                var elementsType = (from iface in assembly.GetTypes()
                                    where iface.Namespace != null && iface.Namespace.Contains("Controllers")
                                    select iface);

                foreach (Type item in elementsType)
                {
                    menuAttribute = (MenuDescription)item.GetTypeInfo().GetCustomAttribute(typeof(MenuDescription), false);
                    if (menuAttribute != null)
                    {
                        menues.Add(menuAttribute, item);
                    }
                    attribute = (SecurityDescription)item.GetTypeInfo().GetCustomAttribute(typeof(SecurityDescription), false);

                    if (attribute != null)
                    {
                        itemClass       = new Gq_accesosDto();
                        itemClass.Clase = getNameObject(item);

                        if (attribute.Estado == SecurityDescription.SeguridadEstado.Activo)
                        {
                            itemClass.Metodo      = null;
                            itemClass.Nombre      = attribute.Name;
                            itemClass.extra       = attribute;
                            itemClass.Descripcion = "Class :" + attribute.Name;

                            //obtenerProfiles(attribute, roles);

                            items.Add(itemClass);
                        }

                        foreach (MethodInfo method in item.GetMethods())
                        {
                            menuAttribute = (MenuDescription)method.GetCustomAttribute(typeof(MenuDescription), true);
                            if (menuAttribute != null)
                            {
                                menues.Add(menuAttribute, method);
                            }

                            attribute = (SecurityDescription)method.GetCustomAttribute(typeof(SecurityDescription), true);
                            if (attribute != null && attribute.Estado == SecurityDescription.SeguridadEstado.Activo)
                            {
                                itemMethod             = new Gq_accesosDto();
                                itemMethod.Clase       = itemClass.Clase;
                                itemMethod.Metodo      = method.Name;
                                itemMethod.Nombre      = attribute.Name;
                                itemMethod.Descripcion = "Method :" + attribute.Name;
                                itemMethod.extra       = attribute;

                                //obtenerProfiles(attribute, roles);

                                items.Add(itemMethod);
                            }
                        }
                    }
                }

                foreach (Gq_accesosDto ii in items)
                {
                    var data = Services.Get <ServGq_accesos>().findBy(x => x.Clase == ii.Clase && x.Metodo == ii.Metodo).FirstOrDefault();
                    if (data == null)
                    {
                        data             = new Gq_accesos();
                        data.Clase       = ii.Clase;
                        data.Metodo      = ii.Metodo;
                        data.Descripcion = ii.Descripcion;
                        data.Nombre      = ii.Nombre;

                        Services.Get <ServGq_accesos>().Agregar(data);


                        data = Services.Get <ServGq_accesos>().findBy(x => x.Clase == ii.Clase && x.Metodo == ii.Metodo).FirstOrDefault();
                    }
                    else
                    {
                        data.Nombre = ii.Nombre;

                        Services.Get <ServGq_accesos>().Actualizar(data);
                    }

                    attribute = (SecurityDescription)ii.extra;
                    if (attribute.Perfiles != null && attribute.Perfiles.Length > 0)
                    {
                        for (int i = 0; i < attribute.Perfiles.Length; i++)
                        {
                            var dataPerfiles = Services.Get <ServGq_perfiles_accesos>().findBy(x => x.AccesoId == data.AccesoId && x.PerfilId == roles[attribute.Perfiles[i]].PerfilId).FirstOrDefault();
                            if (dataPerfiles == null)
                            {
                                dataPerfiles                = new Gq_perfiles_accesos();
                                dataPerfiles.AccesoId       = data.AccesoId.Value;
                                dataPerfiles.PerfilId       = roles[attribute.Perfiles[i]].PerfilId.Value;
                                dataPerfiles.GrantPermition = "1";
                                dataPerfiles.Estado         = "A";
                                dataPerfiles.Creado         = DateTime.Now;
                                dataPerfiles.Modificado     = DateTime.Now;
                                dataPerfiles.CreadoPor      = dataPerfiles.ModificadoPor = -1;

                                Services.Get <ServGq_perfiles_accesos>().Agregar(dataPerfiles);
                            }
                        }
                    }
                }


                #endregion

                #region CREACION DE USUARIO ADMINISTRADOR

                var usuario = Services.Get <ServGq_usuarios>().findBy(x => x.Usuario == "admin").FirstOrDefault();

                if (usuario == null)
                {
                    usuario = new Gq_usuarios
                    {
                        Nombre        = "Admin",
                        Apellido      = "Admin",
                        Usuario       = "admin",
                        Clave         = Encriptacion.Encriptar("admin1234", Constantes.CLAVE_ENCRIPTACION),
                        Email         = "",
                        Estado        = Constantes.ESTADO_ACTIVO,
                        PerfilId      = roles[ROL_ADMI].PerfilId.Value,
                        Creado        = DateTime.Now,
                        Modificado    = DateTime.Now,
                        CreadoPor     = -1,
                        ModificadoPor = -1,
                        RequiereClave = "N",
                    };

                    Services.Get <ServGq_usuarios>().Agregar(usuario);
                }


                #endregion

                #region CREACION DE MENUES

                var menu = Services.Get <ServGq_menu>().findBy(x => x.KeyName == MENU_CONFIG_ID).FirstOrDefault();

                if (menu == null)
                {
                    menu = new Gq_menu();
                    menu.MenuPosition  = MENU_CONFIG_ID;
                    menu.KeyName       = MENU_CONFIG_ID;
                    menu.Nombre        = "Menu";
                    menu.MenuIcono     = "fa fa-fw fa-cogs";
                    menu.Creado        = DateTime.Now;
                    menu.Modificado    = DateTime.Now;
                    menu.CreadoPor     = -1;
                    menu.ModificadoPor = -1;
                    menu.Estado        = Constantes.ESTADO_ACTIVO;

                    Services.Get <ServGq_menu>().Agregar(menu);
                }

                foreach (var m in menues.Keys)
                {
                    menu = Services.Get <ServGq_menu>().findBy(x => x.KeyName == m.Id).FirstOrDefault();
                    if (menu == null)
                    {
                        var obj = menues[m];

                        menu = new Gq_menu();
                        menu.MenuPosition  = m.Id;
                        menu.Nombre        = m.Description;
                        menu.KeyName       = m.Id;
                        menu.MenuIcono     = "";
                        menu.MenuPadre     = m.IdParent;
                        menu.Creado        = DateTime.Now;
                        menu.Modificado    = DateTime.Now;
                        menu.CreadoPor     = -1;
                        menu.ModificadoPor = -1;
                        menu.Estado        = Constantes.ESTADO_ACTIVO;

                        if (obj is Type)
                        {
                            menu.MenuUrl = ((Type)obj).Name.Replace("Controller", "");
                        }
                        else if (obj is MethodInfo)
                        {
                            menu.MenuUrl = ((MethodInfo)obj).DeclaringType.Name.Replace("Controller", "") + @"/" + ((MethodInfo)obj).Name;
                        }

                        Services.Get <ServGq_menu>().Agregar(menu);
                    }
                }
                #endregion

                transaction.Commit();
            }
        }
示例#7
0
 public Gq_usuariosDto(Gq_usuarios value) : base(value)
 {
 }