示例#1
0
 protected void btncerrarsesion_Click(object sender, EventArgs e)
 {
     try
     {
         string usuario            = Session["usuario"] as string;
         string command            = hdfcommand2.Value;
         int    idc_usuario_sesion = Convert.ToInt32(hdfid_usuario_sesion2.Value);
         bool   bloquear           = command.Trim() == "bloquear";
         if (idc_usuario_sesion > 0)
         {
             EmpleadosCOM empleados = new EmpleadosCOM();
             if (command == "desbloquear")
             {
                 DataSet ds = empleados.sp_desbloquear_dispositivo(idc_usuario_sesion);
                 Toast.Success("Dispositivo desbloqueado correctamente.", "Mensaje del sistema", this.Page);
             }
             else
             {
                 DataSet ds = empleados.sp_eliminar_usuario_sesiones(idc_usuario_sesion, bloquear);
                 Toast.Success("Dispositivo desconectado correctamente.", "Mensaje del sistema", this.Page);
             }
             UpdateDevices(usuario);
         }
     }
     catch (Exception ex)
     {
         Toast.Error("Error al modificar sesiones: " + ex.Message, this.Page);
     }
 }
示例#2
0
 protected void CargarDelegados(string usuario)
 {
     try
     {
         EmpleadosCOM usuarios = new EmpleadosCOM();
         DataTable    dt       = usuarios.GetDelegados(usuario);
         if (dt.Rows.Count > 0)
         {
             System.Data.DataView  view     = new System.Data.DataView(dt);
             System.Data.DataTable selected = view.ToTable("Selected", false, "usuario_Red");
             selected.Columns["usuario_red"].ColumnName = "usuario";
             ViewState["dt_usuarios"]      = selected;
             rdllista_empleados.DataSource = dt;
             rdllista_empleados.DataBind();
             CheckValuesListUsuarios();
         }
         else
         {
             rdllista_empleados.DataSource = null;
             rdllista_empleados.DataBind();
         }
     }
     catch (Exception ex)
     {
         Toast.Error("Error al cargar usuario: " + ex.Message, this);
     }
 }
示例#3
0
 public String DevicesConecteds()
 {
     try
     {
         string       value     = "";
         EmpleadosCOM empleados = new EmpleadosCOM();
         DataTable    dt        = empleados.sp_usuario_sesiones(Session["usuario"] as string, false).Tables[0];
         lbldispo.Text             = dt.Rows.Count.ToString();
         repeat_devices.DataSource = dt;
         repeat_devices.DataBind();
         repeat_devices2.DataSource = dt;
         repeat_devices2.DataBind();
         int  devices_count    = Convert.ToInt32(Session["devices_conectados"]);
         bool mas_dispositivos = dt.Rows.Count > devices_count;
         Session["devices_conectados"] = dt.Rows.Count;
         if (mas_dispositivos)
         {
             value = "Se detecto un nuevo dispositivo conectado. Da clic sobre este mensaje para ver mas opciones.";
         }
         return(value);
     }
     catch (Exception ex)
     {
         return("Error al actualizar la lista de dispositivo(s) conectado(s): " + ex.Message);
     }
 }
示例#4
0
 protected void CargarListadoEmpleado(int num_jefe, Boolean ver_Todos_los_empleados)
 {
     try
     {
         EmpleadosCOM        empleados  = new EmpleadosCOM();
         bool                no_activos = cbxnoactivo.Checked;
         DataSet             ds         = empleados.sp_listado_empleados(num_jefe, ver_Todos_los_empleados, no_activos);
         DataTable           dt         = ds.Tables[0];
         List <SiteDataItem> siteData   = new List <SiteDataItem>();
         foreach (DataRow row in dt.Rows)
         {
             siteData.Add(new SiteDataItem(
                              Convert.ToInt32(row["num_empleado"]),
                              Convert.ToInt32(row["numjefe"]),
                              row["nombre"].ToString(),
                              row["usuario"].ToString()
                              ));
         }
         rtvListEmpleado.DataTextField     = "Text";
         rtvListEmpleado.DataValueField    = "Value";
         rtvListEmpleado.DataFieldID       = "ID";
         rtvListEmpleado.DataFieldParentID = "ParentID";
         rtvListEmpleado.DataSource        = siteData;
         rtvListEmpleado.DataBind();
         lblcountlistempleados.Text = siteData.Count.ToString();
     }
     catch (Exception ex)
     {
         Toast.Error("Error al cargar listado de empleados: " + ex.Message, this);
     }
 }
示例#5
0
 public static String GetDashboardCompromisosValues(int num_empleado, string usuario, string ver_todos_empleados)
 {
     try
     {
         EmpleadosCOM empleados         = new EmpleadosCOM();
         bool         ver_Todos         = Convert.ToBoolean(ver_todos_empleados);
         DataSet      ds                = empleados.sp_listado_empleados(num_empleado, false, false);
         DataTable    dt_list_empleados = ds.Tables[1];
         string       value             = JsonConvert.SerializeObject("");
         if (dt_list_empleados.Rows.Count == 1)
         {
             DataRow row       = ds.Tables[0].Rows[0];
             string  userinrow = row["usuario"].ToString().Trim().ToUpper();
             if (userinrow != usuario)
             {
                 string lista_empleados = dt_list_empleados.Rows[0]["lista_empleados"].ToString();
                 lista_empleados = lista_empleados.Remove(lista_empleados.Length - 1);
                 value           = GetDashboardCompromisos_Individual(lista_empleados, usuario);
             }
         }
         else if (dt_list_empleados.Rows.Count > 1)
         {
             string lista_empleados = dt_list_empleados.Rows[0]["lista_empleados"].ToString();
             lista_empleados = lista_empleados.Remove(lista_empleados.Length - 1);
             value           = GetDashboardCompromisos_Individual(lista_empleados, usuario);
         }
         return(value);
     }
     catch (Exception ex)
     {
         return("");
     }
 }
        protected void CargarDatosFiltros(string filtro)
        {
            try
            {
                DateTime now = DateTime.Now;
                rdpfechainicial.SelectedDate = new DateTime(now.Year, now.Month, 1);     // DateTime.Today.AddDays(-7);
                rdpfechafinal.SelectedDate   = new DateTime(now.Year, now.Month, 1 + 5); // DateTime.Today;
                int          NumJefe                 = Convert.ToInt32(Session["NumJefe"]);
                int          num_empleado            = Convert.ToInt32(Session["num_empleado"]);
                Boolean      ver_Todos_los_empleados = Convert.ToBoolean(Session["ver_Todos_los_empleados"]);
                EmpleadosCOM empleados               = new EmpleadosCOM();
                DataTable    dt_empleados            = new DataTable();
                bool         no_activos              = false;
                DataSet      ds = empleados.sp_listado_empleados(num_empleado, ver_Todos_los_empleados, no_activos);
                if (filtro != "")
                {
                    DataView dv_empleados = ds.Tables[0].DefaultView;
                    dv_empleados.RowFilter = "nombre like '%" + filtro + "%'";
                    dt_empleados           = dv_empleados.ToTable();
                    if (dt_empleados.Rows.Count == 1)
                    {
                        //int num_jefe = Convert.ToInt32(ddlempleado_a_consultar.SelectedValue);
                        //CargarListadoEmpleado(num_jefe, false);
                    }
                }
                else
                {
                    dt_empleados = ds.Tables[0];
                }
                ddlempleado_a_consultar.DataValueField = "num_empleado";
                ddlempleado_a_consultar.DataTextField  = "nombre";
                ddlempleado_a_consultar.DataSource     = ds.Tables[0];
                ddlempleado_a_consultar.DataBind();
                ddlempleado_a_consultar.Items.Insert(0, "Seleccione un empleado");
                if (filtro != "")
                {
                    ddlempleado_a_consultar.SelectedValue = dt_empleados.Rows[0]["num_empleado"].ToString();
                }
                //ddlempleado_a_consultar.Visible = true;

                //div_filtro_empleados.Visible = true;
                //if (!ver_Todos_los_empleados)
                //{
                //    div_filtro_empleados.Visible = false;
                //    ddlempleado_a_consultar.Enabled = false;
                //    CargarListadoEmpleado(num_empleado, false);
                //    ddlempleado_a_consultar.SelectedValue = num_empleado.ToString();
                //    lnkagregartodos_Click(null, null);
                //}
            }
            catch (Exception ex)
            {
                Toast.Error("Error al iniciar modal de filtros: " + ex.Message, this);
            }
            finally
            {
                lnkfiltros.Visible = true;
                nkcargandofiltros.Style["display"] = "none";
            }
        }
示例#7
0
 public String DevicesConecteds()
 {
     try
     {
         string value = "";
         if (Convert.ToBoolean(Session["alerta_inicio_sesion"]))
         {
             EmpleadosCOM empleados = new EmpleadosCOM();
             string       session   = Session["usuario"] as string;
             if (session != "")
             {
                 DataTable dt               = empleados.sp_usuario_sesiones(session, false).Tables[0];
                 int       devices_count    = Convert.ToInt32(Session["devices_conectados"]);
                 bool      mas_dispositivos = dt.Rows.Count > devices_count;
                 Session["devices_conectados"] = dt.Rows.Count;
                 if (mas_dispositivos)
                 {
                     value = "Se detecto un nuevo dispositivo conectado. Da clic sobre este mensaje para ver mas opciones.";
                 }
             }
         }
         return(value);
     }
     catch (Exception ex)
     {
         return("Error al actualizar la lista de dispositivo(s) conectado(s): " + ex.Message);
     }
 }
示例#8
0
        protected void CargarDatosempleados(string filtro)
        {
            try
            {
                int     NumJefe                 = Convert.ToInt32(Session["NumJefe"]);
                int     num_empleado            = Convert.ToInt32(Session["num_empleado"]);
                Boolean ver_Todos_los_empleados = Convert.ToBoolean(Session["ver_Todos_los_empleados"]);
                if (funciones.Permisos(Session["usuario"] as string, 4))
                {
                    ver_Todos_los_empleados = true;
                }
                EmpleadosCOM empleados    = new EmpleadosCOM();
                bool         no_activos   = false;
                DataSet      ds           = empleados.sp_listado_empleados(num_empleado, ver_Todos_los_empleados, no_activos);
                DataTable    dt_empleados = new DataTable();
                if (filtro != "")
                {
                    DataView dv_empleados = ds.Tables[0].DefaultView;
                    dv_empleados.RowFilter = "nombre like '%" + filtro + "%'";
                    if (dv_empleados.ToTable().Rows.Count <= 0)
                    {
                        dv_empleados.RowFilter = "usuario like '%" + filtro + "%'";
                    }
                    dt_empleados = dv_empleados.ToTable();
                    if (dt_empleados.Rows.Count == 1)
                    {
                        int num_jefe = Convert.ToInt32(dt_empleados.Rows[0]["num_empleado"].ToString());
                        CargarListadoEmpleado(num_jefe, false);
                    }
                }
                else
                {
                    dt_empleados = ds.Tables[0];
                }
                ddlempleado_a_consultar.DataValueField = "num_empleado";
                ddlempleado_a_consultar.DataTextField  = "nombre";
                ddlempleado_a_consultar.DataSource     = dt_empleados;
                ddlempleado_a_consultar.DataBind();
                if (!ver_Todos_los_empleados)
                {
                    CargarListadoEmpleado(num_empleado, false);
                    ddlempleado_a_consultar.SelectedValue = num_empleado.ToString();
                    //lnkagregartodos_Click(null, null);
                }

                ddlempleado_a_consultar.Enabled = ver_Todos_los_empleados;
                div_filtro_empleados.Visible    = ver_Todos_los_empleados;
            }
            catch (Exception ex)
            {
                Toast.Error("Error al iniciar busqueda de empleados: " + ex.Message, this);
            }
            finally
            {
            }
        }
示例#9
0
        protected void LlenarInformacionModal()
        {
            ViewState["dt_usuarios"] = null;
            string       usuario                 = hdfusuario.Value;
            int          NumJefe                 = Convert.ToInt32(Session["NumJefe"]);
            int          num_empleado            = Convert.ToInt32(Session["num_empleado"]);
            Boolean      ver_Todos_los_empleados = true;// Convert.ToBoolean(Session["ver_Todos_los_empleados"]);
            EmpleadosCOM empleados               = new EmpleadosCOM();
            bool         no_activos              = false;
            DataSet      ds = empleados.sp_listado_empleados(num_empleado, ver_Todos_los_empleados, no_activos);
            DataTable    dt = ds.Tables[0];
            DataView     dv = dt.DefaultView;

            dv.RowFilter = "usuario = '" + usuario.Trim().ToUpper() + "'";
            if (dv.ToTable().Rows.Count > 0)
            {
                DirectoryInfo dirInfo = new DirectoryInfo(Server.MapPath("~/img/users/"));
                string        imagen  = usuario + ".png";
                if (imagen != "" && File.Exists(dirInfo.ToString().Trim() + imagen))
                {
                    DateTime localDate = DateTime.Now;
                    string   date      = localDate.ToString();
                    date = date.Replace("/", "_");
                    date = date.Replace(":", "_");
                    date = date.Replace(" ", "");
                    img_employee.ImageUrl = "~/img/users/" + imagen + "?date=" + date;
                }
                else
                {
                    imagen = "user.png";
                    DateTime localDate = DateTime.Now;
                    string   date      = localDate.ToString();
                    date = date.Replace("/", "_");
                    date = date.Replace(":", "_");
                    date = date.Replace(" ", "");
                    img_employee.ImageUrl = "~/img/" + imagen + "?date=" + date;
                }
                DataRow empleado = dv.ToTable().Rows[0];
                lblnombre.Text  = empleado["nombre"].ToString();
                lblpuesto.Text  = empleado["puesto"].ToString();
                lblusuario.Text = empleado["usuario"].ToString();
                lblperfil.Text  = empleado["perfil"].ToString();

                //cargos los menus disponibles para el usuario
                CargarMenus(usuario);

                CargarPermisos(usuario);

                CargarDelegados(usuario);
                //cargamos los perfiles
                CargarListadoPerfiles("");

                //cargamos los permisos
                CargarListadoPermisos("");
            }
        }
示例#10
0
        protected void lnkcerrarsession_Click(object sender, EventArgs e)
        {
            string       url       = "../../Pages/Common/login.aspx";
            EmpleadosCOM empleados = new EmpleadosCOM();
            DataSet      ds        = empleados.sp_eliminar_usuario_sesiones(Convert.ToInt32(Session["id_usuario_sesion"]), false);

            Session.Clear();
            Session.RemoveAll();
            Session.Abandon();
            Response.Redirect(url);
        }
示例#11
0
 protected void UpdateDevices(string usuario)
 {
     try
     {
         EmpleadosCOM empleados = new EmpleadosCOM();
         DataTable    dt        = empleados.sp_usuario_sesiones(usuario, true).Tables[0];
         repeat_devices2.DataSource = dt;
         repeat_devices2.DataBind();
     }
     catch (Exception ex)
     {
         Toast.Error("Error al actualizar la lista de dispositivo(s) conectado(s): " + ex.Message, this.Page);
     }
 }
示例#12
0
        protected void CargarDatosFiltros(string filtro)
        {
            try
            {
                int          NumJefe                 = Convert.ToInt32(Session["NumJefe"]);
                int          num_empleado            = Convert.ToInt32(Session["num_empleado"]);
                Boolean      ver_Todos_los_empleados = Convert.ToBoolean(Session["ver_Todos_los_empleados"]);
                EmpleadosCOM empleados               = new EmpleadosCOM();
                bool         no_activos              = cbxnoactivo.Checked;
                DataSet      ds           = empleados.sp_listado_empleados(num_empleado, ver_Todos_los_empleados, no_activos);
                DataTable    dt_empleados = new DataTable();
                if (filtro != "")
                {
                    DataView dv_empleados = ds.Tables[0].DefaultView;
                    dv_empleados.RowFilter = "nombre like '%" + filtro + "%'";
                    dt_empleados           = dv_empleados.ToTable();
                    if (dt_empleados.Rows.Count == 1)
                    {
                        int num_jefe = Convert.ToInt32(dt_empleados.Rows[0]["num_empleado"].ToString());
                        CargarListadoEmpleado(num_jefe, false);
                    }
                }
                else
                {
                    dt_empleados = ds.Tables[0];
                }
                ddlempleado_a_consultar.DataValueField = "num_empleado";
                ddlempleado_a_consultar.DataTextField  = "nombre";
                ddlempleado_a_consultar.DataSource     = dt_empleados;
                ddlempleado_a_consultar.DataBind();
                if (!ver_Todos_los_empleados)
                {
                    CargarListadoEmpleado(num_empleado, false);
                    ddlempleado_a_consultar.SelectedValue = num_empleado.ToString();
                    lnkagregartodos_Click(null, null);
                }

                ddlempleado_a_consultar.Enabled = ver_Todos_los_empleados;
                div_filtro_empleados.Visible    = ver_Todos_los_empleados;
            }
            catch (Exception ex)
            {
                Toast.Error("Error al iniciar modal de filtros: " + ex.Message, this);
            }
            finally
            {
                lnkfiltros.Visible = true;
                nkcargandofiltros.Style["display"] = "none";
            }
        }
示例#13
0
 protected int UpdateDevices(string usuario)
 {
     try
     {
         EmpleadosCOM empleados = new EmpleadosCOM();
         DataTable    dt        = empleados.sp_usuario_sesiones(usuario, false).Tables[0];
         return(dt.Rows.Count);
     }
     catch (Exception ex)
     {
         Toast.Error("Error al actualizar la lista de dispositivos conectados: " + ex.Message, this.Page);
         return(0);
     }
 }
示例#14
0
 private DataTable TableMenu(int id_menu_padre)
 {
     try
     {
         EmpleadosCOM componente = new EmpleadosCOM();
         DataSet      ds         = componente.sp_menu(id_menu_padre, Convert.ToString(Session["usuario"]));
         return(ds.Tables[0]);
     }
     catch (Exception ex)
     {
         Toast.Error("Error al cargar el menu: " + ex.Message, this.Page);
         return(null);
     }
 }
示例#15
0
 protected bool ExistInSession()
 {
     try
     {
         EmpleadosCOM empleados = new EmpleadosCOM();
         DataTable    dt        = empleados.sp_existe_usuario_sesiones(
             Session["usuario"] as string, Session["os"] as string, Session["os_vers"] as string,
             Session["browser"] as string, Session["device"] as string).Tables[0];
         return(Convert.ToBoolean(dt.Rows[0]["existe"]));
     }
     catch (Exception ex)
     {
         Toast.Error("Error al verificar sesion: " + ex.Message, this.Page);
         return(true);
     }
 }
示例#16
0
        private void CargarListadoEmpleados(string filtro)
        {
            try
            {
                int     NumJefe                 = Convert.ToInt32(Session["NumJefe"]);
                int     num_empleado            = Convert.ToInt32(Session["num_empleado"]);
                Boolean ver_Todos_los_empleados = Convert.ToBoolean(Session["ver_Todos_los_empleados"]);
                if (funciones.Permisos(Session["usuario"] as string, 3))
                {
                    ver_Todos_los_empleados = true;
                }
                EmpleadosCOM empleados   = new EmpleadosCOM();
                bool         no_activos  = false;
                DataSet      ds          = empleados.sp_listado_empleados(num_empleado, ver_Todos_los_empleados, no_activos);
                DataTable    dt_original = new DataTable();
                dt_original = ds.Tables[0];
                DataTable dt = new DataTable();
                if (filtro == "")
                {
                    dt = dt_original;
                }
                else
                {
                    if (dt_original.Select("nombre like '%" + filtro + "%'").Length > 0)
                    {
                        dt = filtro == "" ? dt_original : dt_original.Select("nombre like '%" + filtro + "%'").CopyToDataTable();
                    }
                }

                if (dt.Rows.Count > 0)
                {
                    ViewState["dt_empleados"]           = dt;
                    rdlempleadosproyecto.DataTextField  = "nombre";
                    rdlempleadosproyecto.DataValueField = "usuario";
                    rdlempleadosproyecto.DataSource     = dt;
                    rdlempleadosproyecto.DataBind();
                }
                else
                {
                    Toast.Info("No se encontro ninguna coincidencia. Intentelo nuevamente.", "Mensaje del Sistema", this);
                }
            }
            catch (Exception ex)
            {
                Toast.Error("Error al cargar lista de empleados. " + ex.Message, this);
            }
        }
示例#17
0
 protected void lnkactualizar_Click(object sender, EventArgs e)
 {
     try
     {
         string         username                = Session["usuario"] as string;
         string         password                = Session["contraseña"] as string;
         DirectoryEntry directoryEntry          = new DirectoryEntry("LDAP://" + "MIGESA.NET", username, password);
         int            NumJefe                 = Convert.ToInt32(Session["NumJefe"]);
         int            num_empleado            = Convert.ToInt32(Session["num_empleado"]);
         Boolean        ver_Todos_los_empleados = Convert.ToBoolean(Session["ver_Todos_los_empleados"]);
         EmpleadosCOM   empleados               = new EmpleadosCOM();
         bool           no_activos              = false;
         DataSet        ds           = empleados.sp_listado_empleados(num_empleado, ver_Todos_los_empleados, no_activos);
         DataTable      dt_empleados = ds.Tables[0];
         foreach (DataRow row in dt_empleados.Rows)
         {
             string usuario = row["usuario"].ToString().Trim().ToUpper();
             //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=" + usuario + "))"; //Filter information, here i'm looking at a user with given username
             if (adSearch != null)
             {
                 SearchResult sResult = adSearch.FindOne();       //username is unique, so I want to find only one
                 string       imagen  = "";
                 if (sResult != null)
                 {
                     if (sResult.Properties["thumbnailPhoto"].Count > 0)
                     {
                         byte[] array_img = sResult.Properties["thumbnailPhoto"][0] as byte[];    //Get the property info
                         imagen = GuardarImagenUsuario(array_img, usuario + ".png");
                     }
                 }
             }
         }
         Toast.Success("Todas las fotografias de los usuarios fueron actualizadas de manera correcta.", "Porceso terminado correctamente", this);
     }
     catch (Exception ex)
     {
         Toast.Error("Error al actualizar imagenes: " + ex.Message, this);
     }
     finally {
         lnkactualizar.Visible = true;
         lnkactualizaractualizar.Style["display"] = "none";
     }
 }
示例#18
0
 protected void UpdateDevices()
 {
     try
     {
         EmpleadosCOM empleados = new EmpleadosCOM();
         DataTable    dt        = empleados.sp_usuario_sesiones(Session["usuario"] as string, false).Tables[0];
         lbldispo.Text             = dt.Rows.Count.ToString();
         repeat_devices.DataSource = dt;
         repeat_devices.DataBind();
         repeat_devices2.DataSource = dt;
         repeat_devices2.DataBind();
         int  devices_count    = Convert.ToInt32(Session["devices_conectados"]);
         bool mas_dispositivos = dt.Rows.Count > devices_count;
         Session["devices_conectados"] = dt.Rows.Count;
     }
     catch (Exception ex)
     {
         Toast.Error("Error al actualizar la lista de dispositivo(s) conectado(s): " + ex.Message, this.Page);
     }
 }
示例#19
0
 protected void CargarDatosFiltros(string filtro)
 {
     try
     {
         int          NumJefe                 = Convert.ToInt32(Session["NumJefe"]);
         int          num_empleado            = Convert.ToInt32(Session["num_empleado"]);
         Boolean      ver_Todos_los_empleados = Convert.ToBoolean(Session["ver_Todos_los_empleados"]);
         EmpleadosCOM empleados               = new EmpleadosCOM();
         bool         no_activos              = cbxnoactivo.Checked;
         DataSet      ds           = empleados.sp_listado_empleados(num_empleado, ver_Todos_los_empleados, no_activos);
         DataTable    dt_empleados = new DataTable();
         if (filtro != "")
         {
             DataView dv_empleados = ds.Tables[0].DefaultView;
             dv_empleados.RowFilter = "nombre like '%" + filtro + "%'";
             dt_empleados           = dv_empleados.ToTable();
         }
         else
         {
             dt_empleados = ds.Tables[0];
         }
         //DataView dv2 = dt_empleados.DefaultView;
         //dv2.RowFilter = "clave_ventas <> ''";
         DataTable dt_final = dt_empleados;
         ddlempleado_a_consultar.DataValueField = "clave_ventas";
         ddlempleado_a_consultar.DataTextField  = "nombre";
         ddlempleado_a_consultar.DataSource     = dt_final;
         ddlempleado_a_consultar.DataBind();
         ddlempleado_a_consultar.Enabled = ver_Todos_los_empleados;
     }
     catch (Exception ex)
     {
         Toast.Error("Error al iniciar modal de filtros: " + ex.Message, this);
     }
     finally
     {
         lnkfiltros.Visible = true;
         nkcargandofiltros.Style["display"] = "none";
     }
 }
        private String UsuarioTienePerfil(string usuario, int id_perfil)
        {
            try
            {
                Employee     entidad     = new Employee();
                EmpleadosCOM empleados   = new EmpleadosCOM();
                DataTable    dt_original = empleados.GetUsers();

                DataTable dt = new DataTable();
                if (dt_original.Select("usuario_red = '" + usuario.Trim().ToUpper() + "'").Length > 0)
                {
                    dt = dt_original.Select("usuario_red = '" + usuario.Trim().ToUpper() + "'").CopyToDataTable();
                }
                int    vid_perfil = Convert.ToInt32(dt.Rows[0]["id_perfil"]);
                string perfil     = dt.Rows[0]["perfil"].ToString().Trim();
                perfil = id_perfil == vid_perfil ? "" : perfil;
                return(perfil);
            }
            catch (Exception ex)
            {
                return("");
            }
        }
示例#21
0
 private void CargarCatalogoUsuarios()
 {
     try
     {
         int          NumJefe                 = Convert.ToInt32(Session["NumJefe"]);
         int          num_empleado            = Convert.ToInt32(Session["num_empleado"]);
         Boolean      ver_Todos_los_empleados = true;// Convert.ToBoolean(Session["ver_Todos_los_empleados"]);
         EmpleadosCOM empleados               = new EmpleadosCOM();
         bool         no_activos              = false;
         DataSet      ds = empleados.sp_listado_empleados(num_empleado, ver_Todos_los_empleados, no_activos);
         ViewState["dt_empleados"] = null;
         if (ds.Tables[2].Rows.Count > 0)
         {
             repeat_usuarios.DataSource = ds.Tables[2];
             repeat_usuarios.DataBind();
             ViewState["dt_empleados"] = ds.Tables[2];
         }
     }
     catch (Exception ex)
     {
         Toast.Error("Error al cargar usuarios: " + ex.Message, this);
     }
 }
示例#22
0
 protected void CargarDatosFiltros(string filtro)
 {
     try
     {
         int          NumJefe                 = Convert.ToInt32(Session["NumJefe"]);
         int          num_empleado            = Convert.ToInt32(Session["num_empleado"]);
         Boolean      ver_Todos_los_empleados = Convert.ToBoolean(Session["ver_Todos_los_empleados"]);
         EmpleadosCOM empleados               = new EmpleadosCOM();
         bool         no_activos              = cbxnoactivo.Checked;
         DataSet      ds           = empleados.sp_listado_empleados(num_empleado, ver_Todos_los_empleados, no_activos);
         DataTable    dt_empleados = new DataTable();
         if (filtro != "")
         {
             DataView dv_empleados = ds.Tables[0].DefaultView;
             dv_empleados.RowFilter = "nombre like '%" + filtro + "%'";
             dt_empleados           = dv_empleados.ToTable();
         }
         else
         {
             dt_empleados = ds.Tables[0];
         }
         ddlempleado_a_consultar.DataValueField = "num_empleado";
         ddlempleado_a_consultar.DataTextField  = "nombre";
         ddlempleado_a_consultar.DataSource     = dt_empleados;
         ddlempleado_a_consultar.DataBind();
         ddlempleado_a_consultar.Items.Insert(0, new ListItem("--Seleccione un empleado", "0"));
     }
     catch (Exception ex)
     {
         Toast.Error("Error al iniciar modal de filtros: " + ex.Message, this);
     }
     finally
     {
         imgloadempleado.Visible  = true;
         lblbemp.Style["display"] = "none";
     }
 }
        private void CargarListadoEmpleados(string filtro)
        {
            try
            {
                Employee     entidad     = new Employee();
                EmpleadosCOM empleados   = new EmpleadosCOM();
                DataTable    dt_original = empleados.GetUsers();

                DataTable dt = new DataTable();
                if (filtro == "")
                {
                    dt = dt_original;
                }
                else
                {
                    if (dt_original.Select("nombre_usuario like '%" + filtro + "%'").Length > 0)
                    {
                        dt = filtro == "" ? dt_original : dt_original.Select("nombre_usuario like '%" + filtro + "%'").CopyToDataTable();
                    }
                }

                if (dt.Rows.Count > 0)
                {
                    rdllista_empleados.DataSource = dt;
                    rdllista_empleados.DataBind();
                    CheckValuesListUsuarios();
                }
                else
                {
                    Toast.Info("No se encontro ninguna coincidencia. Intentelo nuevamente.", "Mensaje del Sistema", this);
                }
            }
            catch (Exception ex)
            {
                Toast.Error("Error al cargar lista de empleados. " + ex.Message, this);
            }
        }
示例#24
0
 protected void lnkdesconectar_Click(object sender, EventArgs e)
 {
     try
     {
         int total = 0;
         foreach (RepeaterItem item in repeat_devices.Items)
         {
             CheckBox cbx               = item.FindControl("cbxcheck") as CheckBox;
             Label    dispositivo       = item.FindControl("dispositivo") as Label;
             Label    os                = item.FindControl("os") as Label;
             Label    os_version        = item.FindControl("os_version") as Label;
             Label    browser           = item.FindControl("browser") as Label;
             Label    ip                = item.FindControl("ip") as Label;
             Label    fecha             = item.FindControl("fecha") as Label;
             Label    id_usuario_sesion = item.FindControl("id_usuario_sesion") as Label;
             if (cbx.Checked)
             {
                 total++;
                 EmpleadosCOM empleados = new EmpleadosCOM();
                 DataSet      ds        = empleados.sp_eliminar_usuario_sesiones(Convert.ToInt32(id_usuario_sesion.Text), false);
             }
         }
         if (total == 0)
         {
             Toast.Info("Seleccione un dispositivo para desconectar.", "Mensaje del sistema", this.Page);
         }
         else
         {
             UpdateDevices();
             Toast.Success(total.ToString() + " dispositivo(s) desconectado(s) correctamente.", "Mensaje del sistema", this.Page);
         }
     }
     catch (Exception ex)
     {
         Toast.Error("Error al cerrar sesiones: " + ex.Message, this.Page);
     }
 }
示例#25
0
 protected void CargarListadoEmpleado(int num_jefe, Boolean ver_Todos_los_empleados)
 {
     try
     {
         EmpleadosCOM        empleados  = new EmpleadosCOM();
         bool                no_activos = false;
         DataSet             ds         = empleados.sp_listado_empleados(num_jefe, ver_Todos_los_empleados, no_activos);
         DataTable           dt         = ds.Tables[0];
         List <SiteDataItem> siteData   = new List <SiteDataItem>();
         foreach (DataRow row in dt.Rows)
         {
             siteData.Add(new SiteDataItem(
                              Convert.ToInt32(row["num_empleado"]),
                              Convert.ToInt32(row["numjefe"]),
                              row["nombre"].ToString(),
                              row["usuario"].ToString()
                              ));
         }
     }
     catch (Exception ex)
     {
         Toast.Error("Error al cargar listado de empleados: " + ex.Message, this);
     }
 }
示例#26
0
 private void CargarOrdenDivs()
 {
     try
     {
         EmpleadosCOM componente = new EmpleadosCOM();
         DataSet      ds         = componente.sp_order_widgets(Convert.ToString(Session["usuario"]));
         DataTable    dt         = ds.Tables[0];
         string       value      = dt.Rows[0]["order"].ToString().Trim();
         if (value != "")
         {
             StringBuilder sb = new StringBuilder();
             sb.Append("<script type='text/javascript'>");
             sb.Append("$(document).ready(function () {");
             sb.Append(value);
             sb.Append("});");
             sb.Append("</script>");
             ScriptManager.RegisterStartupScript(this, GetType(), Guid.NewGuid().ToString(), sb.ToString(), false);
         }
     }
     catch (Exception ex)
     {
         Toast.Error(ex.Message, this);
     }
 }
示例#27
0
 public String Login(string username, string password, string dominio)
 {
     try
     {
         string value = "";
         using (PrincipalContext pc = new PrincipalContext(ContextType.Domain, dominio))
         {
             Boolean isValid = false;
             // validate the credentials
             isValid = pc.ValidateCredentials(username, password);
             EmpleadosCOM empleados = new EmpleadosCOM();
             DataTable    dt        = empleados.GetLogin(username, "");
             if (isValid && dt.Rows.Count > 0)
             {
                 value = JsonConvert.SerializeObject(dt);
             }
         }
         return(value);
     }
     catch (Exception ex)
     {
         return("");
     }
 }
示例#28
0
 protected void lnkguardar_Click(object sender, EventArgs e)
 {
     try
     {
         List <string> cadena_usuarios = CadenaUsuarios();
         string        usuario_jefe    = hdfusuario.Value.ToUpper();
         EmpleadosCOM  empleados       = new EmpleadosCOM();
         string        vmensaje        = empleados.AgregarDelegados(usuario_jefe, cadena_usuarios);
         if (vmensaje != "")
         {
             Toast.Error("Error al guardar delegados: " + vmensaje, this);
         }
         else
         {
             ViewState["dt_usuarios"] = null;
             LlenarInformacionModal();
             Toast.Success("Configuración guardada correctamente", "Mensaje del sistema", this);
         }
     }
     catch (Exception ex)
     {
         Toast.Error("Erro al guardar esta configuración: " + ex.Message, this);
     }
 }
示例#29
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);
            }
        }
示例#30
0
        protected void lnkguardarempleado_Click(object sender, EventArgs e)
        {
            IList <RadListBoxItem> collection = rdlempleadosproyecto.SelectedItems;
            string vmensaje = "";

            try
            {
                if (collection.Count == 0)
                {
                    vmensaje = "Seleccione minimo 1 empleado.";
                }
                string correos_pm = "";
                if (ProyectoTerminado())
                {
                    vmensaje = "El proyecto fue terminado y no puede generarse información adicional.";
                }

                int id_rol = Convert.ToInt32(ddlperfil.SelectedValue);
                if (id_rol == 0)
                {
                    vmensaje = "Seleccione un rol para el empleado";
                }
                if (vmensaje == "")
                {
                    ProyectosEmpleadosCOM proyectos = new ProyectosEmpleadosCOM();
                    foreach (RadListBoxItem item in collection)
                    {
                        string usuario          = item.Value;
                        int    id_proyecto      = Convert.ToInt32(funciones.de64aTexto(Request.QueryString["id_proyecto"]));
                        string usuario_registro = Session["usuario"] as string;
                        vmensaje = proyectos.Agregar(id_proyecto, id_rol, usuario, usuario_registro);
                        if (vmensaje == "")
                        {
                            ProyectosCOM    proyectos2 = new ProyectosCOM();
                            datos.proyectos proyecto   = proyectos2.proyecto(Convert.ToInt32(funciones.de64aTexto(Request.QueryString["id_proyecto"])));
                            if (proyecto != null)
                            {
                                string tecnologias  = "";
                                string usuario_resp = usuario;
                                ICollection <datos.proyectos_historial_tecnologias> n = proyecto.proyectos_historial_tecnologias;
                                foreach (datos.proyectos_historial_tecnologias tecnologia in n)
                                {
                                    if (tecnologia.activo)
                                    {
                                        datos.proyectos_tecnologias tecn = tecnologia.proyectos_tecnologias;
                                        tecnologias = tecnologias + tecn.nombre + ",";
                                    }
                                }
                                if (tecnologias.Length > 1)
                                {
                                    tecnologias = tecnologias.Substring(0, tecnologias.Length - 1);
                                }

                                EmpleadosCOM usuarios   = new EmpleadosCOM();
                                DataTable    dt_usuario = usuarios.GetUsers();
                                DataView     dv         = dt_usuario.DefaultView;
                                dv.RowFilter = "usuario_red = '" + usuario_resp.Trim().ToUpper() + "'";
                                DataTable dt_result = dv.ToTable();
                                if (dt_result.Rows.Count > 0)
                                {
                                    string  saludo    = DateTime.Now.Hour > 13 ? "Buenas tardes" : "Buenos dias";
                                    DataRow drusuario = dt_result.Rows[0];
                                    string  mail_to   = drusuario["mail"].ToString() == "" ? "" : (drusuario["mail"].ToString() + ";");
                                    string  subject   = "Módulo de proyectos - Proyecto relacionado";
                                    string  mail      = "<div>" + saludo + " <strong>" +
                                                        System.Threading.Thread.CurrentThread.CurrentCulture.TextInfo.ToTitleCase(drusuario["empleado"].ToString().ToLower())
                                                        + "</strong> <div>" +
                                                        "<br>" +
                                                        "<p>Le fue asignado el proyecto <strong>" + proyecto.proyecto + "</strong>" +
                                                        "</p>" +
                                                        "<p><strong>Descripción</strong> <br/> " +
                                                        (proyecto.descripcion == "" || proyecto.descripcion == null ? proyecto.proyecto : proyecto.descripcion) + "</p> " +
                                                        "<p><strong>CPED</strong> <br/> " +
                                                        proyecto.cped + "</p> " +
                                                        "<p><strong>Tecnología(s)</strong><br/> " +
                                                        tecnologias + "</p> " +
                                                        "<p><strong>Costo</strong><br/> " +
                                                        proyecto.costo_usd.ToString("C2") + " USD / " + proyecto.costo_mn.ToString("C2") + " MN</p> " +
                                                        "<p><strong>Duración</strong><br/> " +
                                                        proyecto.duración + " dia(s). Del " +
                                                        Convert.ToDateTime(proyecto.fecha_inicio).ToString("dddd dd MMMM, yyyy", CultureInfo.CreateSpecificCulture("es-MX")) + " al " +
                                                        Convert.ToDateTime(proyecto.fecha_fin).ToString("dddd dd MMMM, yyyy", CultureInfo.CreateSpecificCulture("es-MX")) + "</p> " +
                                                        "<br/><p>Este movimiento fue realizado por <strong>" +
                                                        System.Threading.Thread.CurrentThread.CurrentCulture.TextInfo.ToTitleCase(Session["nombre"].ToString().ToLower())
                                                        + "</strong> el dia <strong>" +
                                                        DateTime.Now.ToString("dddd dd MMMM, yyyy hh:mm:ss tt", CultureInfo.CreateSpecificCulture("es-MX")) + "</strong>" +
                                                        "</p>";
                                    CorreosCOM correos = new CorreosCOM();
                                    bool       correct = correos.SendMail(mail, subject, mail_to);
                                    if (!correct)
                                    {
                                        break;
                                    }
                                }
                            }
                            if (vmensaje != "")
                            {
                                break;
                            }
                        }
                    }
                    if (vmensaje != "")
                    {
                        Toast.Error(vmensaje, this);
                    }
                    else
                    {
                        string url = "proyectos_recursos.aspx?id_proyecto=" + Request.QueryString["id_proyecto"];
                        ScriptManager.RegisterStartupScript(this, GetType(), Guid.NewGuid().ToString(),
                                                            "AlertGO('Configuración Guardada Correctamente', '" + url + "');", true);
                    }
                }
                else
                {
                    Toast.Error("Error al guardar lista de empleados: " + vmensaje, this);
                }
            }
            catch (Exception ex)
            {
                Toast.Error("Error al guardar lista de empleados. " + ex.Message, this);
            }
        }