Ejemplo n.º 1
0
 private String Guardar(string usuario, string No_, string contraseña, string nombres, string apaterno, string amaterno,
                        string correo, string path_imagen, string puesto, bool temporal, DateTime?fecha_vencimiento)
 {
     try
     {
         string      vmensaje = "";
         usuarios    usuario_ = new usuarios();
         UsuariosCOM usuarios = new UsuariosCOM();
         usuario_.usuario           = usuario;
         usuario_.contraseña        = contraseña;
         usuario_.No_               = No_;
         usuario_.nombres           = nombres;
         usuario_.a_paterno         = apaterno;
         usuario_.a_materno         = amaterno;
         usuario_.correo            = correo;
         usuario_.path_imagen       = path_imagen;
         usuario_.puesto            = puesto;
         usuario_.temporal          = temporal;
         usuario_.fecha_vencimiento = fecha_vencimiento;
         usuario_.usuario_alta      = Session["usuario"] as string;
         vmensaje = hdfusuario.Value == "" ? usuarios.Agregar(usuario_) : usuarios.Editar(usuario_);
         return(vmensaje);
     }
     catch (Exception ex)
     {
         return(ex.Message);
     }
 }
Ejemplo n.º 2
0
 private string EditarUsuario(int id_usuario, string usuario, string contraseña, int id_uperfil)
 {
     try
     {
         usuarios    entidad  = new usuarios();
         UsuariosCOM usuarios = new UsuariosCOM();
         entidad.id_usuario      = id_usuario;
         entidad.password        = usuario;
         entidad.usuario         = contraseña;
         entidad.id_uperfil      = id_uperfil;
         entidad.usuario_edicion = "Sistema";
         return(usuarios.Editar(entidad));
     }
     catch (Exception ex)
     {
         return(ex.ToString());
     }
 }
Ejemplo n.º 3
0
 private string EditarUsuarioCliente()
 {
     try
     {
         string   vmensaje   = "";
         usuarios entidad    = new usuarios();
         int      id_usuario = Convert.ToInt32(txtid_usuario.Text.Trim());
         entidad.id_usuario      = id_usuario;
         entidad.id_uperfil      = Convert.ToInt32(ddltipos_usuarios.SelectedValue);
         entidad.usuario         = rtxtusuario.Text.Trim();
         entidad.password        = funciones.deTextoa64(rtxtcontra.Text.Trim());
         entidad.id_cliente      = Convert.ToInt32(Session["id_cliente"]);
         entidad.usuario_edicion = Session["usuario"] as string;
         UsuariosCOM        usuarios   = new UsuariosCOM();
         usuarios_proyectos entidad_p2 = new usuarios_proyectos();
         entidad_p2.id_usuario = id_usuario;
         vmensaje = usuarios.Editar(entidad);
         vmensaje = usuarios.BorrardeProyecto(entidad_p2);
         if (id_usuario > 0)
         {
             IList <RadListBoxItem> collection = rdl_proyectos.SelectedItems;
             foreach (RadListBoxItem item in collection)
             {
                 usuarios_proyectos entidad_p = new usuarios_proyectos();
                 entidad_p.id_usuario  = id_usuario;
                 entidad_p.id_proyecto = Convert.ToInt32(item.Value);
                 vmensaje = usuarios.AgregarAProyecto(entidad_p);
                 if (vmensaje != "")
                 {
                     break;
                 }
             }
         }
         return(vmensaje);
     }
     catch (Exception ex)
     {
         return(ex.Message);
     }
 }
Ejemplo n.º 4
0
        private Boolean LoginActive(string username, string password, string dominio)
        {
            try
            {
                // create a "principal context" - e.g. your domain (could be machine, too)
                using (PrincipalContext pc = new PrincipalContext(ContextType.Domain, dominio))
                {
                    Boolean isValid = false;
                    // validate the credentials
                    isValid = pc.ValidateCredentials(username, password);

                    Employee entidad = new Employee();
                    entidad.Usuario_Red = username.Trim();
                    EmpleadosCOM empleados    = new EmpleadosCOM();
                    string       finger_print = hdffinger.Value.Trim();
                    DataTable    dt           = empleados.GetLogin(username, finger_print);
                    string       vmensaje     = "";
                    if ((isValid || dt.Rows.Count > 0) && finger_print != "")
                    {
                        isValid = true;
                        DataRow row       = dt.Rows[0];
                        String  os        = hdfos.Value.Trim();
                        String  os_vers   = hdfosversion.Value.Trim();
                        String  browser   = hdfbrowser.Value.Trim();
                        String  device    = hdfdevice.Value.Trim();
                        String  ip        = hdfip.Value.Trim();
                        String  lat       = hdflatitud.Value.Trim();
                        String  lon       = hdflongitud.Value.Trim();
                        String  region    = hdfregion.Value.Trim();
                        String  proveedor = hdfproveedor.Value.Trim();
                        String  modelo    = hdfmodel.Value.Trim();
                        bool    bloqueado = Convert.ToBoolean(row["dispositivo_bloqueado"]);
                        if (bloqueado)
                        {
                            vmensaje = "Este dispostivo(" + device + " " + modelo + " " + os + " " + os_vers + ") fue bloqueado para el inicio de sesión. Si usted no realizo esta configuración, comuniquese al departamento de sistemas.";
                            isValid  = false;
                        }
                        else
                        {
                            string adress = "";
                            if (Convert.ToInt32(row["num_empleado"]) > 0)
                            {
                                DirectoryInfo  dirInfo        = new DirectoryInfo(Server.MapPath("~/img/users/"));//path local
                                DirectoryEntry directoryEntry = new DirectoryEntry("LDAP://" + dominio, username, password);
                                //Create a searcher on your DirectoryEntry
                                DirectorySearcher adSearch = new DirectorySearcher(directoryEntry);
                                adSearch.SearchScope = SearchScope.Subtree;                                      //Look into all subtree during the search
                                adSearch.Filter      = "(&(ObjectClass=user)(sAMAccountName=" + username + "))"; //Filter information, here i'm looking at a user with given username
                                SearchResult sResult = adSearch.FindOne();                                       //username is unique, so I want to find only one
                                string       name    = dirInfo.ToString() + username + ".png";
                                string       imagen  = "";
                                if (!File.Exists(name))
                                {
                                    if (sResult.Properties["thumbnailPhoto"].Count > 0)
                                    {
                                        byte[] array_img = sResult.Properties["thumbnailPhoto"][0] as byte[];    //Get the property info
                                        imagen = GuardarImagenUsuario(array_img, username + ".png");
                                    }
                                }

                                adress = sResult.Properties["mail"][0].ToString();
                            }
                            string nombre = Convert.ToInt32(row["num_empleado"]) > 0?(funciones.SplitLastIndex(row["First_Name"].ToString().Trim(), ' ') + " " +
                                                                                      funciones.SplitLastIndex(row["Last_Name"].ToString().Trim(), ' ')):
                                            row["First_Name"].ToString().Trim() + " " + row["Last_Name"].ToString().Trim();
                            string puesto = (row["puesto"].ToString().Trim());
                            string perfil = row["perfil"].ToString().Trim().ToLower();
                            //pasamos aminusculas
                            nombre = nombre.ToLower();
                            puesto = puesto.ToLower();
                            nombre = nombre.Replace("  ", " ");
                            //pasamos a estilos title
                            Session["mail"]       = adress;
                            Session["imagen"]     = username + ".png";
                            Session["usuario"]    = username;
                            Session["password"]   = password;
                            Session["contraseña"] = password;
                            string nombre_pro = row["nombre_provicional"].ToString();
                            Session["nombre"]                = nombre_pro != "" ? nombre_pro : CultureInfo.InvariantCulture.TextInfo.ToTitleCase(nombre);
                            Session["correo"]                = row["Company_E_Mail"].ToString().Trim().ToLower();
                            Session["puesto"]                = CultureInfo.InvariantCulture.TextInfo.ToTitleCase(puesto);
                            Session["perfil"]                = CultureInfo.InvariantCulture.TextInfo.ToTitleCase(perfil);
                            Session["id_perfil"]             = Convert.ToInt32(row["id_perfil"]);
                            Session["NumJefe"]               = Convert.ToInt32(row["NumJefe"]);
                            Session["num_empleado"]          = Convert.ToInt32(row["num_empleado"]);
                            Session["mostrar_recordatorios"] = Convert.ToBoolean(row["mostrar_recordatorios"]);
                            Session["alerta_inicio_sesion"]  = Convert.ToBoolean(row["alerta_inicio_sesion"]);
                            bool ver_Todos = Convert.ToBoolean(row["ver_todos_empleados"]);
                            Session["ver_Todos_los_empleados"] = ver_Todos;
                            DateTime fecha_inicio_sesion = DateTime.Now;
                            Session["os"]                  = os;
                            Session["os_vers"]             = os_vers;
                            Session["browser"]             = browser;
                            Session["device"]              = device;
                            Session["ip"]                  = ip;
                            Session["fecha_inicio_sesion"] = fecha_inicio_sesion;
                            usuarios_sesiones   e      = new usuarios_sesiones();
                            UsuariosSesionesCOM sesion = new UsuariosSesionesCOM();
                            e.usuario             = username.Trim().ToUpper();
                            e.os                  = os;
                            e.os_version          = os_vers;
                            e.navegador           = browser;
                            e.fecha_inicio_sesion = DateTime.Now;
                            e.ip                  = ip;
                            e.device              = device;
                            e.latitud             = lat;
                            e.longitud            = lon;
                            e.region              = region;
                            e.proveedor           = proveedor;
                            e.model               = modelo;
                            e.activo              = true;
                            e.device_fingerprint  = finger_print;
                            int         id_usuario_sesion = sesion.Exist(e.usuario, e.device_fingerprint) ? sesion.Editar(e):sesion.Agregar(e);
                            UsuariosCOM usuarios_         = new UsuariosCOM();
                            usuarios    usuario           = new usuarios {
                                usuario           = username.ToUpper().Trim(),
                                temporal          = false,
                                fecha_vencimiento = null,
                                contraseña        = funciones.deTextoa64(password),
                                puesto            = CultureInfo.InvariantCulture.TextInfo.ToTitleCase(puesto),
                                nombres           = CultureInfo.InvariantCulture.TextInfo.ToTitleCase(row["First_Name"].ToString()),
                                a_paterno         = CultureInfo.InvariantCulture.TextInfo.ToTitleCase(row["Last_Name"].ToString()),
                                correo            = row["Company_E_Mail"].ToString().Trim().ToLower(),
                                usuario_alta      = username.ToUpper().Trim(),
                                No_         = Convert.ToInt32(row["num_empleado"]).ToString(),
                                path_imagen = username + ".png"
                            };
                            if (!usuarios_.Exist(username))
                            {
                                usuarios_.Agregar(usuario);
                            }
                            else
                            {
                                usuarios_.Editar(usuario);
                            }
                            if (id_usuario_sesion > 0)
                            {
                                Session["devices_conectados"] = UpdateDevices(username);
                                Session["id_usuario_sesion"]  = id_usuario_sesion;
                            }
                            else
                            {
                                vmensaje = "No se pudo registrar el inicio de sesión en el servidor. Intentelo nuevamente.";
                                isValid  = false;
                            }
                        }
                    }
                    else
                    {
                        vmensaje = "Credenciales invalidas";
                    }

                    if (vmensaje != "")
                    {
                        Toast.Error(vmensaje, this);
                        isValid = false;
                    }
                    return(isValid);
                }
            }
            catch (Exception ex)
            {
                Toast.Error(ex.Message, this);
                return(false);
            }
        }