コード例 #1
0
        public List <Planilla> ObtenerPorMes()
        {
            condiciones = $"Month(fecha) = {fecha.Month} AND Year(fecha) = {fecha.Year}";
            List <Planilla> resultado = new List <Planilla>();

            try
            {
                string str = Ejecutor.Consultar(TABLA, campos, condiciones);
                elementos = JArray.Parse(str);

                foreach (JObject el in elementos)
                {
                    resultado.Add(new Planilla()
                    {
                        id     = (int)el["id"],
                        Nombre = el["nombre"].ToString(),
                        Fecha  = Convert.ToDateTime(el["fecha"].ToString())
                    });
                }
            }
            catch (Exception ex)
            {
                Debug.WriteLine(ex.Message);
            }

            return(resultado);
        }
コード例 #2
0
        public List <Usuario> ObtenerTodo()
        {
            List <Usuario> resultado = new List <Usuario>();

            try
            {
                string str = Ejecutor.Consultar(TABLA, campos, CONDICION_ESTADO);
                elementos = JArray.Parse(str);

                foreach (JObject el in elementos)
                {
                    resultado.Add(new Usuario()
                    {
                        id     = (int)el["id"],
                        Nombre = el["nombre"].ToString(),
                        Login  = el["login"].ToString(),
                    });
                }
            }
            catch (Exception ex)
            {
                Debug.WriteLine(ex.Message);
            }

            return(resultado);
        }
コード例 #3
0
        public List <Gerencia> ObtenerTodo()
        {
            List <Gerencia> resultado = new List <Gerencia>();

            try
            {
                string str = Ejecutor.Consultar(TABLA, campos);
                elementos = JArray.Parse(str);

                foreach (JObject el in elementos)
                {
                    resultado.Add(new Gerencia()
                    {
                        id             = (int)el["id"],
                        Nombre         = el["nombre"].ToString(),
                        DerechoBono    = (bool)el["derechoBono"],
                        HorasExtras    = (bool)el["horasExtras"],
                        PorcentajeBono = (double)el["porcentajeBono"]
                    });
                }
            }
            catch (Exception ex)
            {
                Debug.WriteLine(ex.Message);
            }

            return(resultado);
        }
コード例 #4
0
        public List <DetallePlanilla> ObtenerPorEmpleadoMes(int id, DateTime mes)
        {
            List <DetallePlanilla> resultado = new List <DetallePlanilla>();

            condiciones = $"idEmpleado = {id} AND Month(fecha) = {mes.Month} AND Year(fecha) = {mes.Year}";
            try
            {
                string str = Ejecutor.Consultar(TABLA, campos, condiciones);
                elementos = JArray.Parse(str);

                foreach (JObject el in elementos)
                {
                    resultado.Add(new DetallePlanilla()
                    {
                        id         = (int)el["id"],
                        sueldoBase = (double)el["sueldoBase"],
                        fecha      = (DateTime)el["fecha"],
                        idEmpleado = (int)el["idEmpleado"],
                        idPlanilla = (int)el["idPlanilla"]
                    });
                }
            }
            catch (Exception ex)
            {
                Debug.WriteLine(ex.Message);
            }

            return(resultado);
        }
コード例 #5
0
        public List <Empleado> ObtenerTodo()
        {
            List <Empleado> resultado = new List <Empleado>();

            try
            {
                string str = Ejecutor.Consultar(TABLA, campos, CONDICION_ESTADO);
                elementos = JArray.Parse(str);

                foreach (JObject el in elementos)
                {
                    resultado.Add(new Empleado()
                    {
                        id         = (int)el["id"],
                        Nombre     = el["nombre"].ToString(),
                        Apellido   = el["apellido"].ToString(),
                        Email      = el["email"].ToString(),
                        Direccion  = el["direccion"].ToString(),
                        Telefono   = el["telefono"].ToString(),
                        SueldoBase = Convert.ToDouble(el["sueldoBase"].ToString()),
                        idGerencia = (int)el["idGerencia"],
                        idUsuario  = (int)el["idUsuario"]
                    });
                }
            }
            catch (Exception ex)
            {
                Debug.WriteLine(ex.Message);
            }

            return(resultado);
        }
コード例 #6
0
        public int Agregar()
        {
            int             id        = 0;
            DetallePlanilla dp        = new DetallePlanilla();
            List <Empleado> empleados = new Empleado().ObtenerTodo();

            if (ObtenerPorMes().Count > 0)
            {
                return(0);
            }

            parametros = new Dictionary <string, object>()
            {
                { "nombre", this.nombre },
                { "fecha", this.fecha.ToString("dd/MM/yyyy") },
                { "idUsuario", this.idUsuario }
            };

            id = Ejecutor.Insertar(TABLA, parametros);

            foreach (Empleado e in empleados)
            {
                dp.IdPlanilla = id;
                dp.IdEmpleado = e.Id.Value;
                dp.SueldoBase = e.SueldoBase;
                dp.Fecha      = fecha;
                dp.Agregar();
            }

            return(id);
        }
コード例 #7
0
        public Planilla Obtener(int id)
        {
            condiciones = $"ID = {id}";
            string str = Ejecutor.Consultar(TABLA, campos, condiciones);

            elementos = JArray.Parse(str);

            var first = elementos.First;

            try
            {
                return(new Planilla()
                {
                    id = (int)first["id"],
                    Nombre = (string)first["nombre"],
                    Fecha = (DateTime)first["fecha"],
                    idUsuario = (int)first["idUsuario"]
                });
            }
            catch (Exception ex)
            {
                Debug.WriteLine($"Error: {ex.Message}");
            }

            return(null);
        }
コード例 #8
0
        public bool Eliminar()
        {
            if (id == null)
            {
                return(false);
            }

            return(Ejecutor.Eliminar(TABLA, $"Id = {this.id}")); // Eliminar el registro de la base
        }
コード例 #9
0
        public int Agregar()
        {
            parametros = new Dictionary <string, object>()
            {
                { "nombre", this.nombre },
                { "login", this.login },
                { "clave", this.clave }
            };

            return(Ejecutor.Insertar(TABLA, parametros));
        }
コード例 #10
0
        public int Agregar()
        {
            parametros = new Dictionary <string, object>()
            {
                { "nombre", this.nombre },
                { "derechoBono", this.derechoBono },
                { "horasExtras", this.horasExtras },
                { "porcentajeBono", this.porcentajeBono }
            };

            return(Ejecutor.Insertar(TABLA, parametros));
        }
コード例 #11
0
        /// <summary>
        /// Crea un nuevo registro en la base de datos según los parámetros enviados
        /// </summary>
        /// <param name="tabla"></param>
        /// <param name="parametros"></param>
        /// <returns></returns>
        public static int Insertar(string tabla, Dictionary <string, object> parametros)
        {
            int             idRegistro = 0;                                   // El id del registro insertado
            object          valor = "";                                       // El valor del parámetro al recorrer el diccionario
            string          campos = "", valores = "";                        // Mapeo de campos y parámetros para construir SQL
            Conexion        conex = Conexion.ObtenerInstancia();              // Obtener la instancia de la clase Conexión
            OleDbConnection cnx   = conex.ObtenerConexion();                  // Obtener la conexión a la BD

            OleDbParameter[] dbParams = new OleDbParameter[parametros.Count]; // Crear el arreglo para los parámetros

            int i = 0;

            foreach (string key in parametros.Keys)                                                                         // Recorrer los parámetros y asignar datos a variables
            {
                valor       = parametros[key];                                                                              // Asignar el valor del parámetro
                dbParams[i] = new OleDbParameter($"{key}", Ejecutor.ConvertirTipo(valor), Ejecutor.ObtenerLongitud(valor)); // Crear el parámetro para SQL
                campos     += $"{key}";                                                                                     // El nombre del campo
                valores    += "?";                                                                                          // Se agrega uno por cada parámetro
                i++;
                if (i < parametros.Count)                                                                                   // Si no se ha llegado al último parámetro, se agrega ',' a los campos y parámetros
                {
                    campos  += ",";
                    valores += ",";
                }
            }

            cnx.Open(); // Abrir la conexión

            using (OleDbCommand cmd = cnx.CreateCommand())
            {
                try
                {
                    cmd.CommandText = $"INSERT INTO {tabla} ({campos}) VALUES ({valores})"; // Consulta SQL
                    cmd.Parameters.AddRange(dbParams);                                      // Agregar los parámetros al comando

                    foreach (var p in parametros)                                           // Agregar los valores de los parámetros
                    {
                        cmd.Parameters[p.Key].Value = p.Value ?? DBNull.Value;
                    }

                    cmd.Prepare();                              // Preparar la instrucción sql
                    cmd.ExecuteNonQuery();                      // Ejecutar el SQL
                    cmd.CommandText = "SELECT @@Identity";      // Consulta para obtener el último registro insertado
                    idRegistro      = (int)cmd.ExecuteScalar(); // Obtener el id del registro insertado
                }
                catch (Exception ex)
                {
                    Debug.WriteLine($"Error: {ex.Message}"); // Mostrar mensaje de error en caso que haya
                }
            }

            return(idRegistro); // Devolver ID del registro insertado
        }
コード例 #12
0
        /// <summary>
        /// Modifica datos de la base de datos según los parámetros enviados
        /// </summary>
        /// <param name="tabla"></param>
        /// <param name="parametros"></param>
        /// <param name="condiciones"></param>
        /// <returns></returns>
        public static bool Actualizar(string tabla, Dictionary <string, object> parametros, string condiciones)
        {
            bool            resultado     = false;
            object          valor         = "";                               // El valor del parámetro al recorrer el diccionario
            string          valoresParams = "";                               // Variable para asignar el nombre del campo y su parámetro
            Conexion        conex         = Conexion.ObtenerInstancia();      // Obtener la instancia de la clase Conexión
            OleDbConnection cnx           = conex.ObtenerConexion();          // Obtener la conexión a la BD

            OleDbParameter[] dbParams = new OleDbParameter[parametros.Count]; // Crear el arreglo para los parámetros

            int i = 0;

            foreach (string key in parametros.Keys)
            {
                valor          = parametros[key];                                                                              // Asignar el valor del parámetro
                dbParams[i]    = new OleDbParameter($"{key}", Ejecutor.ConvertirTipo(valor), Ejecutor.ObtenerLongitud(valor)); // Crear el parámetro para SQL
                valoresParams += $"{key} = ?";                                                                                 // El nombre del campo con su parámetro
                i++;
                if (i < parametros.Count)
                {
                    valoresParams += ",";
                }
            }

            cnx.Open(); // Abrir la conexión

            using (OleDbCommand cmd = cnx.CreateCommand())
            {
                try
                {
                    cmd.CommandText = $"UPDATE {tabla} SET {valoresParams} WHERE {condiciones}"; // Consulta SQL
                    cmd.Parameters.AddRange(dbParams);                                           // Agregar los parámetros al comando

                    foreach (var p in parametros)                                                // Agregar los valores de los parámetros
                    {
                        cmd.Parameters[p.Key].Value = p.Value ?? DBNull.Value;
                    }

                    cmd.Prepare();                                         // Preparar la instrucción sql
                    resultado = cmd.ExecuteNonQuery() == 1 ? true : false; // Ejecutar el SQL
                }
                catch (Exception ex)
                {
                    Debug.WriteLine($"Error: {ex.Message}"); // Mostrar mensaje de error en caso que haya
                }

                return(resultado);
            }
        }
コード例 #13
0
        public int Agregar()
        {
            parametros = new Dictionary <string, object>()
            {
                { "sueldoBase", this.SueldoBase },
                { "isss", this.Isss },
                { "afpEmpleado", this.AfpEmpleado },
                { "afpEmpleador", this.AfpEmpleador },
                { "renta", this.Renta },
                { "fecha", this.fecha.ToString("dd/MM/yyyy") },
                { "idPlanilla", this.idPlanilla },
                { "idEmpleado", this.IdEmpleado }
            };

            return(Ejecutor.Insertar(TABLA, parametros));
        }
コード例 #14
0
        public bool Actualizar()
        {
            if (id == null)
            {
                return(false);
            }

            condiciones = $"id = {this.id}";
            parametros  = new Dictionary <string, object>()
            {
                { "nombre", this.nombre },
                { "login", this.login }
            };

            return(Ejecutor.Actualizar(TABLA, parametros, condiciones));
        }
コード例 #15
0
        public bool Actualizar()
        {
            if (id == null)
            {
                return(false);
            }

            condiciones = $"id = {this.id}";
            parametros  = new Dictionary <string, object>()
            {
                { "nombre", this.nombre },
                { "fecha", this.fecha.ToString("dd/MM/yyyy") }
            };

            return(Ejecutor.Actualizar(TABLA, parametros, condiciones));
        }
コード例 #16
0
        public int Agregar()
        {
            parametros = new Dictionary <string, object>()
            {
                { "nombre", this.nombre },
                { "apellido", this.apellido },
                { "telefono", this.telefono },
                { "email", this.email },
                { "direccion", this.direccion },
                { "sueldoBase", this.sueldoBase },
                { "idGerencia", this.idGerencia },
                { "idUsuario", this.idUsuario }
            };

            return(Ejecutor.Insertar(TABLA, parametros));
        }
コード例 #17
0
        public DetallePlanilla Obtener(int id)
        {
            condiciones = $"ID = {id}";
            string str = Ejecutor.Consultar(TABLA, campos, condiciones);

            elementos = JArray.Parse(str);

            var first = elementos.First;

            return(new DetallePlanilla()
            {
                id = (int)first["id"],
                SueldoBase = (double)first["sueldoBase"],
                Fecha = (DateTime)first["fecha"],
                idEmpleado = (int)first["idEmpleado"]
            });
        }
コード例 #18
0
        public bool Actualizar()
        {
            if (id == null)
            {
                return(false);
            }

            condiciones = $"id = {this.id}";
            parametros  = new Dictionary <string, object>()
            {
                { "nombre", this.nombre },
                { "derechoBono", this.derechoBono },
                { "horasExtras", this.horasExtras },
                { "porcentajeBono", this.porcentajeBono }
            };

            return(Ejecutor.Actualizar(TABLA, parametros, condiciones));
        }
コード例 #19
0
        public Gerencia Obtener(int id)
        {
            condiciones = $"id = {id}";
            string str = Ejecutor.Consultar(TABLA, campos, condiciones);

            elementos = JArray.Parse(str);

            var first = elementos.First;

            return(new Gerencia()
            {
                id = (int)first["id"],
                Nombre = (string)first["nombre"],
                DerechoBono = (bool)first["derechoBono"],
                HorasExtras = (bool)first["horasExtras"],
                PorcentajeBono = (double)first["porcentajeBono"]
            });
        }
コード例 #20
0
        public bool Actualizar()
        {
            if (id == null)
            {
                return(false);
            }

            condiciones = $"id = {this.id}";
            parametros  = new Dictionary <string, object>()
            {
                { "isss", this.Isss },
                { "sueldoBase", this.SueldoBase },
                { "afpEmpleado", this.AfpEmpleado },
                { "afpEmpleador", this.AfpEmpleador },
                { "renta", this.Renta }
            };

            return(Ejecutor.Actualizar(TABLA, parametros, condiciones));
        }
コード例 #21
0
        public bool Eliminar(bool quitar = false)
        {
            if (id == null)
            {
                return(false);
            }

            if (quitar)
            {
                return(Ejecutor.Eliminar(TABLA, $"Id = {this.id}")); // Eliminar el registro de la base
            }
            else
            {
                return(Ejecutor.Actualizar(TABLA, new Dictionary <string, object>()
                {
                    { "estado", false }
                }, $"Id = {this.id}"));                                                                                          // Cambiar estado a false
            }
        }
コード例 #22
0
        public bool Actualizar()
        {
            if (id == null)
            {
                return(false);
            }

            condiciones = $"id = {this.id}";
            parametros  = new Dictionary <string, object>()
            {
                { "nombre", this.nombre },
                { "apellido", this.apellido },
                { "email", this.email },
                { "direccion", this.direccion },
                { "telefono", this.telefono },
                { "sueldoBase", this.sueldoBase },
                { "idGerencia", this.idGerencia }
            };

            return(Ejecutor.Actualizar(TABLA, parametros, condiciones));
        }
コード例 #23
0
        public Usuario LogIn()
        {
            condiciones = $"login = '******' AND clave = '{clave}' AND estado = true";
            string str = Ejecutor.Consultar(TABLA, campos, condiciones);

            elementos = JArray.Parse(str);

            if (elementos.Count != 1)
            {
                return(null);
            }

            var first = elementos.First;

            return(new Usuario()
            {
                id = (int)first["id"],
                Nombre = (string)first["nombre"],
                Login = (string)first["login"],
                Estado = (bool)first["estado"]
            });
        }
コード例 #24
0
        public Usuario Obtener(int id)
        {
            condiciones = $"ID = {id}";
            string str = Ejecutor.Consultar(TABLA, campos, condiciones);

            elementos = JArray.Parse(str);

            if (elementos.Count != 1)
            {
                return(null);
            }

            var first = elementos.First;

            return(new Usuario()
            {
                id = (int)first["id"],
                Nombre = (string)first["nombre"],
                Login = (string)first["login"],
                Estado = (bool)first["estado"]
            });
        }
コード例 #25
0
        public Empleado Obtener(int id)
        {
            condiciones = $"ID = {id} AND {CONDICION_ESTADO}";
            string str = Ejecutor.Consultar(TABLA, campos, condiciones);

            elementos = JArray.Parse(str);

            var first = elementos.First;

            return(new Empleado()
            {
                id = (int)first["id"],
                Nombre = first["nombre"].ToString(),
                Apellido = first["apellido"].ToString(),
                Email = first["email"].ToString(),
                Direccion = first["direccion"].ToString(),
                Telefono = first["telefono"].ToString(),
                sueldoBase = Convert.ToDouble(first["sueldoBase"].ToString()),
                Estado = (bool)first["estado"],
                idGerencia = (int)first["idGerencia"],
                idUsuario = (int)first["idUsuario"]
            });
        }
コード例 #26
0
        public bool Eliminar(bool quitar = false)
        {
            if (id == null)
            {
                return(false);
            }

            if (this.ObtenerTodo().Count == 1)
            {
                return(false);                               // Porque no se puede quedar sin ningún usuario
            }
            if (quitar)
            {
                return(Ejecutor.Eliminar(TABLA, $"Id = {this.id}")); // Eliminar el registro de la base
            }
            else
            {
                return(Ejecutor.Actualizar(TABLA, new Dictionary <string, object>()
                {
                    { "estado", false }
                }, $"Id = {this.id}"));                                                                                         // Cambiar estado a false
            }
        }