// crea un nuevo usuario como pendiente
        public void insertaNuevo(int idInterno)
        {
            string sql = "INSERT INTO empleados(id_interno, id_depto, nombre, activado, variado) VALUES (@idInterno, 1, '<PENDIENTE>', 1, 1)";

            int rows = 0;

            using (var conn = this._conexion.getConexion())
            {
                conn.Open();
                string error = string.Empty;

                using (var cmd = new MySqlCommand())
                {
                    cmd.Connection = conn;

                    // define parametros
                    cmd.Parameters.AddWithValue("@idInterno", idInterno);

                    ManejoSql res = Utilerias.EjecutaSQL(sql, ref rows, cmd);

                    if (!res.ok)
                    {
                        throw new Exception(res.numErr + ": " + res.descErr);
                    }
                }
            }
        }
        // inserta el registro
        public void insertaRegistro(AttLogs log)
        {
            string sql = "insert into checadas (id_interno, fecha_hora, no_checador) values (@idIn, @fecha, @noCh)";

            int rows = 0;

            using (var conn = this._conexion.getConexion())
            {
                conn.Open();
                string error = string.Empty;

                using (var cmd = new MySqlCommand())
                {
                    cmd.Connection = conn;

                    // define parametros
                    cmd.Parameters.AddWithValue("@idIn", log.enrolIdNumber);
                    cmd.Parameters.AddWithValue("@noCh", log.noChecador);

                    string fechaFormato = "yyyy-MM-dd HH:mm";

                    cmd.Parameters.AddWithValue("@fecha", log.fecha.ToString(fechaFormato));
                    string s = log.fecha.ToString(fechaFormato);

                    ManejoSql res = Utilerias.EjecutaSQL(sql, ref rows, cmd);

                    if (!res.ok)
                    {
                        throw new Exception(res.numErr + ": " + res.descErr);
                    }
                }
            }
        }
        // realiza prueba de conexion
        public void pruebaConn()
        {
            string sql =
                "select * from checadas limit 1";

            // define conexion con la cadena de conexion
            using (var conn = this._conexion.getConexion())
            {
                // abre la conexion
                conn.Open();

                using (var cmd = new MySqlCommand())
                {
                    cmd.Connection = conn;

                    ManejoSql res = Utilerias.EjecutaSQL(sql, cmd);

                    if (!res.ok)
                    {
                        throw new Exception(res.numErr + ": " + res.descErr);
                    }

                    // cerrar el reader
                    res.reader.Close();
                }
            }
        }
示例#4
0
        public bool guardaUrl(string url, bool nuevaUrl)
        {
            MySqlTransaction trans;

            bool result = true;

            string sql = string.Empty;

            int    rows  = 0;
            string error = string.Empty;

            using (var conn = this._conexion.getConexion())
            {
                conn.Open();
                using (var cmd = new MySqlCommand())
                {
                    trans = conn.BeginTransaction();

                    cmd.Connection  = conn;
                    cmd.Transaction = trans;

                    if (nuevaUrl)
                    {
                        sql =
                            "insert into activos_configuracion (descripcion, clave, valor) " +
                            "values('URL DE IMAGENES EN EL SERVIDOR', 'url', @valor)";

                        // define parametros
                        cmd.Parameters.AddWithValue("@valor", url);

                        ManejoSql res = Utilerias.EjecutaSQL(sql, ref rows, cmd);

                        if (!res.ok)
                        {
                            trans.Rollback();
                            throw new Exception(res.numErr + ": " + res.descErr);
                        }
                    }
                    else
                    {
                        sql = "update activos_configuracion set valor = @valor where clave = 'url' ";

                        // define parametros
                        cmd.Parameters.AddWithValue("@valor", url);

                        ManejoSql res = Utilerias.EjecutaSQL(sql, ref rows, cmd);

                        if (!res.ok)
                        {
                            trans.Rollback();
                            throw new Exception(res.numErr + ": " + res.descErr);
                        }
                    }

                    trans.Commit();
                }
            }

            return(result);
        }
示例#5
0
        // regresa los permisos segun un padreId
        List <Permisos> IPermisosDatos.getPermisos(int padreId)
        {
            List <Permisos> result = new List <Permisos>();
            Permisos        ent;

            string sql =
                "select p.idpermiso, p.descripcion, p.padreid " +
                "from activos_permisos p where p.padreid = @padreId";

            // define conexion con la cadena de conexion
            using (var conn = this._conexion.getConexion())
            {
                // abre la conexion
                conn.Open();

                using (var cmd = new MySqlCommand())
                {
                    cmd.Connection = conn;

                    // define parametros
                    cmd.Parameters.AddWithValue("@padreId", padreId);

                    ManejoSql res = Utilerias.EjecutaSQL(sql, cmd);

                    if (res.ok)
                    {
                        while (res.reader.Read())
                        {
                            ent = new Permisos();

                            ent.idPermiso = Convert.ToInt16(res.reader["idpermiso"]);

                            ent.padreId     = Convert.ToInt16(res.reader["padreid"]);
                            ent.descripcion = Convert.ToString(res.reader["descripcion"]);

                            result.Add(ent);
                        }
                    }
                    else
                    {
                        throw new Exception(res.numErr + ": " + res.descErr);
                    }

                    // cerrar el reader
                    res.reader.Close();
                }
            }

            return(result);
        }
示例#6
0
        // obtiene todos los almacenes
        public List <Modelos.Almacen> getAlmacenes()
        {
            List <Modelos.Almacen> result = new List <Modelos.Almacen>();

            Modelos.Almacen ent;

            string sql =
                "select idalmacen, nombre " +
                "from almacen ";

            // define conexion con la cadena de conexion
            using (var conn = this._conexion.getConexion())
            {
                // abre la conexion
                conn.Open();

                using (var cmd = new SqlCommand())
                {
                    cmd.Connection = conn;

                    ManejoSql res = Utilerias.EjecutaSQL(sql, cmd);

                    if (res.ok)
                    {
                        while (res.reader.Read())
                        {
                            ent = new Modelos.Almacen();

                            ent.idAlmacen = Convert.ToString(res.reader["idalmacen"]);
                            ent.almacen   = Convert.ToString(res.reader["nombre"]);

                            result.Add(ent);
                        }
                    }
                    else
                    {
                        throw new Exception(res.numErr + ": " + res.descErr);
                    }

                    // cerrar el reader
                    res.reader.Close();
                }
            }

            return(result);
        }
示例#7
0
        // obtiene todos los insumos registrados
        public List <Notificacion> getInsumos()
        {
            List <Notificacion> result = new List <Notificacion>();
            Notificacion        ent;

            string sql =
                "select idinsumo, descripcion " +
                "from insumos " +
                "order by idgruposi";

            // define conexion con la cadena de conexion
            using (var conn = this._conexion.getConexion())
            {
                // abre la conexion
                conn.Open();

                using (var cmd = new SqlCommand())
                {
                    cmd.Connection = conn;

                    ManejoSql res = Utilerias.EjecutaSQL(sql, cmd);

                    if (res.ok)
                    {
                        while (res.reader.Read())
                        {
                            ent = new Notificacion();

                            ent.idInsumo = Convert.ToString(res.reader["idinsumo"]);
                            ent.insumo   = Convert.ToString(res.reader["descripcion"]);

                            result.Add(ent);
                        }
                    }
                    else
                    {
                        throw new Exception(res.numErr + ": " + res.descErr);
                    }

                    // cerrar el reader
                    res.reader.Close();
                }
            }

            return(result);
        }
        // obtiene la ultima fecha
        public DateTime obtUltimaFecha(int numChec)
        {
            DateTime result = new DateTime();

            string sql = "SELECT MAX(fecha_hora) AS fecha_hora FROM checadas where no_checador = @numC";

            // define conexion con la cadena de conexion
            using (var conn = this._conexion.getConexion())
            {
                // abre la conexion
                conn.Open();

                using (var cmd = new MySqlCommand())
                {
                    cmd.Connection = conn;

                    cmd.Parameters.AddWithValue("@numC", numChec);

                    ManejoSql res = Utilerias.EjecutaSQL(sql, cmd);

                    if (res.ok)
                    {
                        while (res.reader.Read())
                        {
                            if (res.reader["fecha_hora"] == DBNull.Value)
                            {
                                result = new DateTime(1900, 1, 1, 0, 0, 0);
                            }
                            else
                            {
                                result = Convert.ToDateTime(res.reader["fecha_hora"]);
                            }
                        }
                    }
                    else
                    {
                        throw new Exception(res.numErr + ": " + res.descErr);
                    }

                    // cerrar el reader
                    res.reader.Close();
                }
            }

            return(result);
        }
        // busca si ya esta dado de alta el registro
        public bool buscaIdInterno(int idInterno)
        {
            bool result = false;

            string sql = "SELECT id_interno FROM empleados WHERE id_interno = @idInterno";

            // define conexion con la cadena de conexion
            using (var conn = this._conexion.getConexion())
            {
                // abre la conexion
                conn.Open();

                using (var cmd = new MySqlCommand())
                {
                    cmd.Connection = conn;

                    cmd.Parameters.AddWithValue("@idInterno", idInterno);

                    ManejoSql res = Utilerias.EjecutaSQL(sql, cmd);

                    if (res.ok)
                    {
                        if (res.reader.HasRows)
                        {
                            result = true;
                        }
                        else
                        {
                            result = false;
                        }
                    }
                    else
                    {
                        throw new Exception(res.numErr + ": " + res.descErr);
                    }

                    // cerrar el reader
                    res.reader.Close();
                }
            }

            return(result);
        }
示例#10
0
        // obtiene los permisos de un usuario
        public List <int> getPermisosUsuario(int idUsuario)
        {
            List <int> result = new List <int>();

            string sql = "select idpermiso, idpermisousuario, idusuario from activos_permisosusuarios where idusuario = @idUsuario";

            // define conexion con la cadena de conexion
            using (var conn = this._conexion.getConexion())
            {
                // abre la conexion
                conn.Open();

                using (var cmd = new MySqlCommand())
                {
                    cmd.Connection = conn;

                    // define parametros
                    cmd.Parameters.AddWithValue("@idUsuario", idUsuario);

                    ManejoSql res = Utilerias.EjecutaSQL(sql, cmd);

                    if (res.ok)
                    {
                        while (res.reader.Read())
                        {
                            result.Add(Convert.ToInt16(res.reader["idpermiso"]));
                        }
                    }
                    else
                    {
                        throw new Exception(res.numErr + ": " + res.descErr);
                    }

                    // cerrar el reader
                    res.reader.Close();
                }
            }

            return(result);
        }
示例#11
0
        // regresa una leyenda con la existencia del insumo
        // en caso de tener mas de las existencias proporcionadas regresara vacio
        public string getExistencias(string idInsumo, bool mostrarXAlmacen, List <Almacen> almacen, decimal falta)
        {
            string result = string.Empty;

            // define conexion con la cadena de conexion
            using (var conn = this._conexion.getConexion())
            {
                // abre la conexion
                conn.Open();

                using (var cmd = new SqlCommand())
                {
                    cmd.Connection = conn;

                    if (mostrarXAlmacen)
                    {
                        string sqlA =
                            "select SUM(cantidad) as cantidad from movsinv where idinsumo = @idInsumo and idalmacen = @idalmacen";

                        foreach (Almacen al in almacen)
                        {
                            cmd.Parameters.AddWithValue("idInsumo", idInsumo);
                            cmd.Parameters.AddWithValue("idalmacen", al.idAlmacen);

                            ManejoSql res = Utilerias.EjecutaSQL(sqlA, cmd);

                            if (res.ok)
                            {
                                while (res.reader.Read())
                                {
                                    decimal cantidad = res.reader["cantidad"] == DBNull.Value ? 0 : Convert.ToDecimal(res.reader["cantidad"]);

                                    if (cantidad < falta)
                                    {
                                        result += al.almacen + ": " + cantidad + Environment.NewLine;
                                    }
                                }
                            }
                            else
                            {
                                throw new Exception(res.numErr + ": " + res.descErr);
                            }

                            // cerrar el reader
                            res.reader.Close();

                            cmd.Parameters.Clear();
                        }

                        if (result.Length > 0)
                        {
                            result = result.Substring(0, result.Length - 1);
                        }
                    }
                    else
                    {
                        // string sql = "select SUM(cantidad) as cantidad from movsinv where idinsumo = @idInsumo";
                        string sql =
                            "select sum(s.cantidad) as existencia " +
                            "from " +
                            "( " +
                            "select SUM(cantidad) as cantidad from movsinv where idinsumo = @idInsumo " +
                            "union all " +
                            "select (tcd.cantidad * c.cantidad) * -1 as cantidad " +
                            "from productos p " +
                            "inner join tempcheqdet tcd on (p.idproducto = tcd.idproducto) " +
                            "left join costos c on (p.idproducto = c.idproducto) " +
                            "left join insumos i on (c.idinsumo = i.idinsumo) " +
                            "where i.idinsumo = @idInsumo " +
                            ") as s";

                        cmd.Parameters.AddWithValue("idInsumo", idInsumo);

                        ManejoSql res = Utilerias.EjecutaSQL(sql, cmd);

                        if (res.ok)
                        {
                            while (res.reader.Read())
                            {
                                decimal cantidad = res.reader["existencia"] == DBNull.Value ? 0 : Convert.ToDecimal(res.reader["existencia"]);

                                if (cantidad < falta)
                                {
                                    result = cantidad.ToString();
                                }
                            }
                        }
                        else
                        {
                            throw new Exception(res.numErr + ": " + res.descErr);
                        }

                        // cerrar el reader
                        res.reader.Close();

                        cmd.Parameters.Clear();
                    }
                }
            }
            return(result);
        }
        // obtiene las reparaciones de los activos enviados
        public List <Reparaciones> getActivosEnRepar(List <int> activosIds)
        {
            List <Modelos.Reparaciones> result = new List <Modelos.Reparaciones>();

            Modelos.Reparaciones ent;

            string sql =
                "select r.idreparacion, r.idactivo, r.idusuarioresponsable, r.fechainicio, r.observacionesactivacion, " +
                "r.fechafin, r.causa, r.status, a.nombrecorto as activo, a.idtipo, p.nombrecompleto as usuario " +
                "from activos_reparacion r " +
                "left join activos_activos a on (r.idactivo = a.idactivo) " +
                "left join activos_usuarios u on (r.idusuarioresponsable = u.idusuario) " +
                "left join activos_personas p on (u.idpersona = p.idpersona) " +
                "where FIND_IN_SET(r.idactivo, @parameter) != 0 and r.status = 'A' order by a.nombrecorto";

            string wherIn = string.Join(",", activosIds);

            // define conexion con la cadena de conexion
            using (var conn = this._conexion.getConexion())
            {
                // abre la conexion
                conn.Open();

                using (var cmd = new MySqlCommand())
                {
                    cmd.Connection = conn;

                    // define parametros
                    cmd.Parameters.AddWithValue("@parameter", wherIn);

                    ManejoSql res = Utilerias.EjecutaSQL(sql, cmd);

                    if (res.ok)
                    {
                        if (res.reader.HasRows)
                        {
                            while (res.reader.Read())
                            {
                                ent = new Modelos.Reparaciones();

                                ent.idReparacion  = Convert.ToInt16(res.reader["idreparacion"]);
                                ent.idActivo      = Convert.ToInt16(res.reader["idactivo"]);
                                ent.idUsuarioResp = Convert.ToInt16(res.reader["idusuarioresponsable"]);

                                ent.usuario = Convert.ToString(res.reader["usuario"]);

                                ent.usuario = ent.usuario.Replace("&", " ");

                                ent.activo = Convert.ToString(res.reader["activo"]);

                                if (res.reader["fechainicio"] is DBNull)
                                {
                                    ent.fechaInicio = null;
                                }
                                else
                                {
                                    DateTime dt = DateTime.Parse(Convert.ToString(res.reader["fechainicio"]));
                                    ent.fechaInicio = dt.ToString("dd/MM/yyyy");
                                }

                                if (res.reader["fechafin"] is DBNull)
                                {
                                    ent.fechaFin = null;
                                }
                                else
                                {
                                    ent.fechaFin = Convert.ToString(res.reader["fechafin"]);
                                }


                                ent.causa            = Convert.ToString(res.reader["causa"]);
                                ent.observActivacion = Convert.ToString(res.reader["observacionesactivacion"]);

                                ent.status = Convert.ToString(res.reader["status"]);

                                result.Add(ent);
                            }
                        }
                    }
                    else
                    {
                        throw new Exception(res.numErr + ": " + res.descErr);
                    }

                    // cerrar el reader
                    res.reader.Close();
                }
            }

            return(result);
        }
        // obtiene los activos que se encuentran en reparacion por sucursal
        public List <Reparaciones> getReparaciones(int idSuc)
        {
            List <Modelos.Reparaciones> result = new List <Modelos.Reparaciones>();

            Modelos.Reparaciones ent;

            string sql =
                "select are.idreparacion, a.idactivo, a.nombrecorto, are.idusuarioresponsable, pu.nombrecompleto, " +
                "are.fechainicio, are.fechafin, are.causa, are.observacionesactivacion, are.status, s.idsucursal " +
                "from activos_reparacion are " +
                "left join activos_activos a on (are.idactivo = a.idactivo) " +
                "left join activos_areas ar on (a.idarea = ar.idarea) " +
                "left join activos_sucursales s on (ar.idsucursal = s.idsucursal) " +
                "left join activos_usuarios u on (are.idusuarioresponsable = u.idusuario) " +
                "left join activos_personas pu on (u.idpersona = pu.idpersona) " +
                "where s.idsucursal = @idsuc ";

            // define conexion con la cadena de conexion
            using (var conn = this._conexion.getConexion())
            {
                // abre la conexion
                conn.Open();

                using (var cmd = new MySqlCommand())
                {
                    cmd.Connection = conn;

                    // define parametros
                    cmd.Parameters.AddWithValue("@idsuc", idSuc);

                    ManejoSql res = Utilerias.EjecutaSQL(sql, cmd);

                    if (res.ok)
                    {
                        if (res.reader.HasRows)
                        {
                            while (res.reader.Read())
                            {
                                ent = new Modelos.Reparaciones();

                                ent.idReparacion = Convert.ToInt16(res.reader["idreparacion"]);
                                ent.idActivo     = Convert.ToInt16(res.reader["idactivo"]);
                                ent.activo       = Convert.ToString(res.reader["nombrecorto"]);

                                ent.idUsuarioResp = Convert.ToInt16(res.reader["idusuarioresponsable"]);
                                ent.usuario       = Convert.ToString(res.reader["nombrecompleto"]);

                                if (res.reader["fechainicio"] is DBNull)
                                {
                                    ent.fechaInicio = null;
                                }
                                else
                                {
                                    DateTime dt = DateTime.Parse(Convert.ToString(res.reader["fechainicio"]));
                                    ent.fechaInicio = dt.ToString("dd/MM/yyyy");
                                }

                                if (res.reader["fechafin"] is DBNull)
                                {
                                    ent.fechaFin = null;
                                }
                                else
                                {
                                    DateTime dt = DateTime.Parse(Convert.ToString(res.reader["fechafin"]));
                                    ent.fechaFin = dt.ToString("dd/MM/yyyy");
                                }

                                ent.observActivacion = Convert.ToString(res.reader["observacionesactivacion"]);
                                ent.causa            = Convert.ToString(res.reader["causa"]);

                                ent.status = Convert.ToString(res.reader["status"]);

                                result.Add(ent);
                            }
                        }
                    }
                    else
                    {
                        throw new Exception(res.numErr + ": " + res.descErr);
                    }

                    // cerrar el reader
                    res.reader.Close();
                }
            }

            return(result);
        }
        // obtiene los activos que han sido dados de baja por sucursal
        public List <Bajas> getBajasSuc(int idSuc)
        {
            List <Modelos.Bajas> result = new List <Modelos.Bajas>();

            Modelos.Bajas ent;

            string sql =
                "select ab.idbaja, a.idactivo, a.nombrecorto, ab.fecha, ab.idusuariobaja, pu.nombrecompleto as usuario, " +
                "ab.observaciones, ab.idmotivobaja, s.idsucursal " +
                "from activos_baja ab " +
                "left join activos_activos a on (ab.idactivo = a.idactivo) " +
                "left join activos_areas ar on (a.idarea = ar.idarea) " +
                "left join activos_sucursales s on (ar.idsucursal = s.idsucursal) " +
                "left join activos_usuarios u on (ab.idusuariobaja = u.idusuario) " +
                "left join activos_personas pu on (u.idpersona = pu.idpersona) " +
                "where s.idsucursal = @idsuc ";

            // define conexion con la cadena de conexion
            using (var conn = this._conexion.getConexion())
            {
                // abre la conexion
                conn.Open();

                using (var cmd = new MySqlCommand())
                {
                    cmd.Connection = conn;

                    // define parametros
                    cmd.Parameters.AddWithValue("@idsuc", idSuc);

                    ManejoSql res = Utilerias.EjecutaSQL(sql, cmd);

                    if (res.ok)
                    {
                        if (res.reader.HasRows)
                        {
                            while (res.reader.Read())
                            {
                                ent = new Modelos.Bajas();

                                ent.idBaja   = Convert.ToInt16(res.reader["idbaja"]);
                                ent.idActivo = Convert.ToInt16(res.reader["idactivo"]);
                                ent.activo   = Convert.ToString(res.reader["nombrecorto"]);

                                if (res.reader["fecha"] is DBNull)
                                {
                                    ent.fecha = null;
                                }
                                else
                                {
                                    DateTime dt = DateTime.Parse(Convert.ToString(res.reader["fecha"]));
                                    ent.fecha = dt.ToString("dd/MM/yyyy");
                                }

                                ent.idUsuaroBaja = Convert.ToInt16(res.reader["idusuariobaja"]);
                                ent.usuario      = Convert.ToString(res.reader["usuario"]);


                                ent.observaciones = Convert.ToString(res.reader["observaciones"]);

                                ent.idMotivoBaja = Convert.ToInt16(res.reader["idmotivobaja"]);

                                result.Add(ent);
                            }
                        }
                    }
                    else
                    {
                        throw new Exception(res.numErr + ": " + res.descErr);
                    }

                    // cerrar el reader
                    res.reader.Close();
                }
            }

            return(result);
        }
示例#15
0
        // actualiza permisos de un usuario
        public bool actualizaPermisos(int?idUsuario, List <int> permisos)
        {
            MySqlTransaction trans;

            bool result = true;

            string sql = string.Empty;

            int    rows  = 0;
            string error = string.Empty;

            using (var conn = this._conexion.getConexion())
            {
                conn.Open();
                using (var cmd = new MySqlCommand())
                {
                    trans = conn.BeginTransaction();

                    cmd.Connection  = conn;
                    cmd.Transaction = trans;

                    sql = "delete from activos_permisosusuarios where idusuario = @idUsuario";

                    // define parametros
                    cmd.Parameters.AddWithValue("@idUsuario", idUsuario);

                    ManejoSql res = Utilerias.EjecutaSQL(sql, ref rows, cmd);

                    if (!res.ok)
                    {
                        trans.Rollback();
                        throw new Exception(res.numErr + ": " + res.descErr);
                    }

                    cmd.Parameters.Clear();

                    foreach (int perm in permisos)
                    {
                        sql =
                            "INSERT INTO activos_permisosusuarios(idusuario, idpermiso) " +
                            "VALUES (@idUsuario, @idPermiso)";

                        // define parametros
                        cmd.Parameters.AddWithValue("@idPermiso", perm);
                        cmd.Parameters.AddWithValue("@idUsuario", idUsuario);

                        res = Utilerias.EjecutaSQL(sql, ref rows, cmd);

                        if (res.ok)
                        {
                            if (rows == 0)
                            {
                                result = false;
                            }
                        }
                        else
                        {
                            error = res.numErr + ": " + res.descErr;
                            trans.Rollback();
                            break;
                        }

                        cmd.Parameters.Clear();
                    }

                    trans.Commit();
                }
            }

            return(result);
        }