Example #1
0
        public Sitios obtener_datos(string CellID)
        {
            Sitios bar = new Sitios();

            MySqlConnection conexion = Database.obtenerConexion(true);

            MySqlCommand cmd = new MySqlCommand();

            cmd.Connection  = conexion;
            cmd.Transaction = Database.obtenerTransaccion();
            cmd.CommandText = "select * from sitios where CellID = @filtro";
            cmd.Parameters.AddWithValue("@filtro", CellID);

            try
            {
                if (Database.obtenerTransaccion() == null)
                {
                    conexion.Open();
                }

                MySqlDataReader reader = cmd.ExecuteReader();

                while (reader.Read())
                {
                    bar.Codigo       = reader["CellID"].ToString();
                    bar.Nombre       = reader["Nombre"].ToString();
                    bar.Viatico_ID   = reader["Codigo Viatico"].ToString();
                    bar.Longitud     = reader["longitud"].ToString();
                    bar.Latitud      = reader["latitud"].ToString();
                    bar.Pais         = reader["pais"].ToString();
                    bar.Provincia    = reader["provincia"].ToString();
                    bar.Departamento = reader["departamento"].ToString();
                    bar.Localidad    = reader["localidad"].ToString();

                    bar.IDNombre = bar.Codigo + " - " + bar.Nombre;
                }

                reader.Close();
            }
            catch (Exception ex)
            {
                UltimoMensaje = GestionErrores.obtenerError(ex);
                UltimoMensaje.cargar(
                    System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.ToString(),
                    System.Reflection.MethodBase.GetCurrentMethod().ToString(),
                    new System.Diagnostics.StackFrame(0, true).GetFileLineNumber());
                UltimoMensaje.EsError = true;
                Notify(UltimoMensaje);
            }
            finally
            {
                cmd.Parameters.Clear();
                if (Database.obtenerTransaccion() == null)
                {
                    if (conexion.State != ConnectionState.Closed)
                    {
                        conexion.Close();
                    }
                }
            }

            return(bar);
        }
Example #2
0
        public bool esta_superpuesto(DateTime fecha, string empleado_id)
        {
            int  registros = 0;
            bool resultado = false;

            MySqlConnection conexion = Database.obtenerConexion(true);

            string consulta = @"
                SELECT
	            count(*)
                FROM
	            (
		            SELECT
			            empleados_tareas.*, CONCAT(empleados.apellido,', ',empleados.nombre) as empleado
		            FROM
			            empleados_tareas
		            JOIN empleados on empleados_tareas.empleadoId = empleados.id
	            ) AS base
            WHERE
	            empleadoId=@empleado_id
            AND @fecha BETWEEN fecha_inicio
            AND fecha_fin ";

            MySqlCommand comando = new MySqlCommand(consulta, conexion);

            comando.Parameters.AddWithValue("@fecha", fecha);
            comando.Parameters.AddWithValue("@empleado_id", empleado_id);

            comando.Transaction = Database.obtenerTransaccion();

            try
            {
                if (Database.obtenerTransaccion() == null)
                {
                    conexion.Open();
                }

                int.TryParse(comando.ExecuteScalar().ToString(), out registros);
                if (registros > 0)
                {
                    resultado = true;
                }
                else
                {
                    resultado = false;
                }
            }
            catch (Exception ex)
            {
                UltimoMensaje = GestionErrores.obtenerError(ex);
                UltimoMensaje.cargar(
                    System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.ToString(),
                    System.Reflection.MethodBase.GetCurrentMethod().ToString(),
                    new System.Diagnostics.StackFrame(0, true).GetFileLineNumber());
                UltimoMensaje.EsError    = true;
                UltimoMensaje.StackTrace = ex.StackTrace;
                Notify(UltimoMensaje);
            }
            finally
            {
                comando.Parameters.Clear();
                if (Database.obtenerTransaccion() == null)
                {
                    if (conexion.State != ConnectionState.Closed)
                    {
                        conexion.Close();
                    }
                }
            }
            return(resultado);
        }
Example #3
0
        public List <Tareas> obtener_registro_por_fecha_grupo(DateTime fecha)
        {
            List <Tareas> tmp_list = new List <Tareas>();
            Tareas        ret      = new Tareas();

            MySqlConnection conexion = Database.obtenerConexion(true);

            string consulta = @"
                SELECT
	                *
                FROM
	                (
		                SELECT
			                base.*, empleados_grupos.nombre AS grupo_nombre,
			                CONCAT(
				                empleados.apellido,
				                ', ',
				                empleados.nombre
			                ) AS asignado_por_nombre
		                FROM
			                (
				                SELECT
					                empleados_tareas.*, CONCAT(
						                empleados.apellido,
						                ', ',
						                empleados.nombre
					                ) AS empleado,
					                empleados.grupo,
					                sitios.Nombre AS sitio
				                FROM
					                empleados_tareas
				                LEFT JOIN sitios ON empleados_tareas.sitio_id = sitios.CellID
				                JOIN empleados ON empleados_tareas.empleadoId = empleados.id
			                ) AS base
		                LEFT JOIN empleados_grupos ON base.grupo = empleados_grupos.id
		                LEFT JOIN empleados ON base.asignado_por = empleados.id
	                ) AS base2
                WHERE
	                @fecha BETWEEN fecha_inicio
                AND fecha_fin";

            MySqlCommand comando = new MySqlCommand(consulta, conexion);

            comando.Parameters.AddWithValue("@fecha", fecha);

            comando.Transaction = Database.obtenerTransaccion();

            try
            {
                if (Database.obtenerTransaccion() == null)
                {
                    conexion.Open();
                }

                MySqlDataReader reader = comando.ExecuteReader();
                while (reader.Read())
                {
                    ret.TareaID               = reader["tarea_id"].ToString();
                    ret.Emp_id                = reader["empleadoId"].ToString();
                    ret.Empleado              = reader["empleado"].ToString();
                    ret.Empleado_grupo        = reader["grupo"].ToString();
                    ret.Empleado_grupo_nombre = reader["grupo_nombre"].ToString();
                    ret.Estado                = "";
                    ret.Estado_id             = "";
                    ret.Sitio_id              = reader["sitio_id"].ToString();
                    ret.Sitio         = reader["sitio"].ToString();
                    ret.Trabajado     = reader["trabajo"].ToString();
                    ret.Viatico       = Convert.ToDecimal(reader["viatico"].ToString());
                    ret.Observaciones = "";
                    tmp_list.Add(ret);
                }
            }
            catch (Exception ex)
            {
                UltimoMensaje = GestionErrores.obtenerError(ex);
                UltimoMensaje.cargar(
                    System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.ToString(),
                    System.Reflection.MethodBase.GetCurrentMethod().ToString(),
                    new System.Diagnostics.StackFrame(0, true).GetFileLineNumber());
                UltimoMensaje.EsError    = true;
                UltimoMensaje.StackTrace = ex.StackTrace;
                Notify(UltimoMensaje);
            }
            finally
            {
                comando.Parameters.Clear();
                if (Database.obtenerTransaccion() == null)
                {
                    if (conexion.State != ConnectionState.Closed)
                    {
                        conexion.Close();
                    }
                }
            }

            return(tmp_list);
        }
        public bool Guardar(bool nuevo, out int last_id)
        {
            bool resultado = true;

            UltimoMensaje = null;
            DAL.Database    db       = new Database();
            MySqlConnection conexion = Database.obtenerConexion(true);
            MySqlCommand    comando  = new MySqlCommand();

            if (nuevo)
            {
                if (Id != "") // se ingreso un id manualmente
                {
                    comando.CommandText = "INSERT INTO empleados_grupos (id, nombre, lider)" +
                                          " values  " +
                                          "(@id, @nombre, @lider); ";
                }
                else //id automatico
                {
                    comando.CommandText = "INSERT INTO empleados_grupos (nombre, lider) values  " +
                                          "(@nombre, @lider); select last_insert_id()";
                }
            }
            else
            {
                comando.CommandText = "UPDATE empleados_grupos SET nombre = @nombre, lider=@lider where id = @id";
            }
            comando.Parameters.AddWithValue("@id", Id);
            comando.Parameters.AddWithValue("@nombre", Nombre);
            comando.Parameters.AddWithValue("@lider", lider);

            comando.Transaction = Database.obtenerTransaccion();
            comando.Connection  = conexion;

            int ultimo_id = 0;

            try
            {
                if (Database.obtenerTransaccion() == null)
                {
                    conexion.Open();
                }

                if (nuevo)
                {
                    int.TryParse(comando.ExecuteScalar().ToString(), out ultimo_id);
                }
                else
                {
                    comando.ExecuteNonQuery();
                }
            }
            catch (Exception ex)
            {
                resultado     = false;
                UltimoMensaje = GestionErrores.obtenerError(ex);
                UltimoMensaje.cargar(
                    System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.ToString(),
                    System.Reflection.MethodBase.GetCurrentMethod().ToString(),
                    new System.Diagnostics.StackFrame(0, true).GetFileLineNumber());
                UltimoMensaje.StackTrace = ex.StackTrace;
                UltimoMensaje.EsError    = true;
                Notify(UltimoMensaje);
            }
            finally
            {
                comando.Parameters.Clear();
                if (Database.obtenerTransaccion() == null)
                {
                    if (conexion.State != ConnectionState.Closed)
                    {
                        conexion.Close();
                    }
                }
            }

            last_id = ultimo_id;

            return(resultado);
        }
Example #5
0
        public Tareas obtener(string tarea_id)
        {
            Tareas tarea = new Tareas();

            MySqlConnection conexion = Database.obtenerConexion(true);

            string consulta = @"SELECT base.*, concat(empleados.apellido, ',', empleados.nombre) as asignado from (SELECT empleados_tareas.*, concat(empleados.apellido, ', ', empleados.nombre) as empleado, sitios.nombre as sitio from empleados_tareas 
                LEFT JOIN sitios on sitio_id = sitios.CellID 
                LEFT JOIN empleados on empleadoId = empleados.id) as base 
                LEFT JOIN empleados on asignado_por = empleados.id
                WHERE base.tarea_id=@tarea_id";

            MySqlCommand cmd = new MySqlCommand(consulta, conexion);

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

            cmd.Transaction = Database.obtenerTransaccion();

            try
            {
                if (Database.obtenerTransaccion() == null)
                {
                    conexion.Open();
                }

                MySqlDataReader reader = cmd.ExecuteReader();
                while (reader.Read())
                {
                    tarea.TareaID       = reader["tarea_id"].ToString();
                    tarea.FechaInicio   = reader["fecha_inicio"].ToString();
                    tarea.FechaFin      = reader["fecha_fin"].ToString();
                    tarea.Emp_id        = reader["empleadoId"].ToString();
                    tarea.Empleado      = reader["empleado"].ToString();
                    tarea.Sitio_id      = reader["sitio_id"].ToString();
                    tarea.Observaciones = reader["observaciones"].ToString();
                    tarea.Sitio         = reader["sitio"].ToString();
                    tarea.Estado_id     = reader["tarea_estado_id"].ToString();
                    tarea.Trabajado     = reader["trabajo"].ToString();
                    tarea.Asignado_por  = reader["asignado_por"].ToString();
                    decimal dTmp = 0;
                    decimal.TryParse(reader["viatico"].ToString(), out dTmp);
                    tarea.Viatico = dTmp;
                }
            }
            catch (Exception ex)
            {
                UltimoMensaje = GestionErrores.obtenerError(ex);
                UltimoMensaje.cargar(
                    System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.ToString(),
                    System.Reflection.MethodBase.GetCurrentMethod().ToString(),
                    new System.Diagnostics.StackFrame(0, true).GetFileLineNumber());
                UltimoMensaje.EsError    = true;
                UltimoMensaje.StackTrace = ex.StackTrace;
                Notify(UltimoMensaje);
            }
            finally
            {
                cmd.Parameters.Clear();
                if (Database.obtenerTransaccion() == null)
                {
                    if (conexion.State != ConnectionState.Closed)
                    {
                        conexion.Close();
                    }
                }
            }

            return(tarea);
        }
Example #6
0
        /// <summary>
        /// Método encargado de conectarse con la BD para insertar o actualizar.
        /// </summary>
        public int guardar()
        {
            int retorno = 0;

            UltimoMensaje = null;
            DAL.Database    db       = new Database();
            MySqlConnection conexion = Database.obtenerConexion(true);

            MySqlCommand comando = new MySqlCommand();



            if (Id == 0)
            {
                comando.CommandText = "INSERT INTO clientes (cli_cliente,cli_telefono,cli_direccion,cli_correo,cli_activo," +
                                      "cli_observaciones) values  " +
                                      "(@cli_cliente,@cli_telefono,@cli_direccion, @cli_correo,@cli_activo,@cli_observaciones); " +
                                      " SELECT  Last_insert_id()";
            }
            else
            {
                comando.CommandText = "UPDATE clientes SET cli_correo=@cli_correo,cli_telefono = @cli_telefono," +
                                      " cli_direccion = @cli_direccion, cli_observaciones = @cli_observaciones " +
                                      "where cli_id= @cli_id; SELECT @cli_id";
                comando.Parameters.AddWithValue("@cli_id", Id);
            }

            //comando.Parameters.AddWithValue("@cli_cliente", Cli_RazonSocial);
            //comando.Parameters.AddWithValue("@cli_correo", correo);
            //comando.Parameters.AddWithValue("@cli_activo", Activo);
            //comando.Parameters.AddWithValue("@cli_direccion", direccion);
            //comando.Parameters.AddWithValue("@cli_telefono", telefono);
            //comando.Parameters.AddWithValue("@cli_observaciones", observaciones);
            comando.Transaction = Database.obtenerTransaccion();
            comando.Connection  = conexion;

            try
            {
                if (Database.obtenerTransaccion() == null)
                {
                    conexion.Open();
                }
                var valor = comando.ExecuteScalar();

                if (valor == null && Id != 0)
                {
                    throw new Exception("El registro que está intentando modificar ya no existe en la base de datos");
                }
                else
                {
                    Id = int.Parse(valor.ToString());

                    retorno = Id;
                }
            }
            catch (Exception ex)
            {
                UltimoMensaje = GestionErrores.obtenerError(ex);
                UltimoMensaje.cargar(
                    System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.ToString(),
                    System.Reflection.MethodBase.GetCurrentMethod().ToString(),
                    new System.Diagnostics.StackFrame(0, true).GetFileLineNumber());
                UltimoMensaje.StackTrace = ex.StackTrace;
                UltimoMensaje.EsError    = true;
                Notify(UltimoMensaje);
            }
            finally
            {
                comando.Parameters.Clear();
                if (Database.obtenerTransaccion() == null)
                {
                    if (conexion.State != ConnectionState.Closed)
                    {
                        conexion.Close();
                    }
                }
            }

            return(retorno);
        }
        public List <Empleados> obtener_miembros(string grupo_id)
        {
            string where = "";

            if (grupo_id != "")
            {
                where = " where grupo=@grupo";
            }

            List <Empleados> ret = new List <Empleados>();

            MySqlConnection conexion = Database.obtenerConexion(true);

            MySqlCommand cmd = new MySqlCommand();

            cmd.Connection  = conexion;
            cmd.Transaction = Database.obtenerTransaccion();
            cmd.CommandText = "select * from empleados" + where + " order by apellido";
            cmd.Parameters.AddWithValue("@grupo", grupo_id);

            try
            {
                if (Database.obtenerTransaccion() == null)
                {
                    conexion.Open();
                }

                MySqlDataReader reader = cmd.ExecuteReader();

                while (reader.Read())
                {
                    Empleados bar = new Empleados();
                    bool      percibe_adelantos = false;

                    bar.Id               = Convert.ToInt32(reader["id"].ToString());
                    bar.Apellido         = reader["apellido"].ToString();
                    bar.ApellidoyNombre  = reader["apellido"].ToString() + ", " + reader["nombre"].ToString();
                    bar.Nombre           = reader["nombre"].ToString();
                    bar.Mail             = reader["mail"].ToString();
                    bar.Fecha_Alta       = reader["f_alta"].ToString();
                    bar.Fecha_Baja       = reader["f_baja"].ToString();
                    bar.Fecha_Cierre     = reader["fecha_cierre"].ToString();
                    bar.Grupo            = reader["grupo"].ToString();
                    bar.Tel_laboral      = reader["tel_laboral"].ToString();
                    bar.Tel_personal     = reader["tel_personal"].ToString();
                    bar.Password         = reader["password"].ToString();
                    bar.ApellidoyNombre  = reader["apellido"].ToString() + ", " + reader["nombre"].ToString();
                    bar.CUIL             = reader["cuil"].ToString();
                    bar.Domicilio        = reader["domicilio"].ToString();
                    bar.Estado_Civil     = reader["estado_civil_id"].ToString();
                    bar.Fecha_Nacimiento = reader["f_nacimiento"].ToString();
                    bar.hijos            = Convert.ToInt32(reader["hijos"].ToString());
                    bar.Provincia        = reader["provincia_id"].ToString();
                    bar.Tarea            = reader["tarea_id"].ToString();
                    bar.Tel_Alternativo  = reader["tel_alternativo"].ToString();
                    bar.Persona_contacto = reader["contacto"].ToString();
                    bool.TryParse(reader["percibe_adelantos"].ToString(), out percibe_adelantos);
                    bar.PercibeAdelantos = percibe_adelantos;

                    ret.Add(bar);
                }

                reader.Close();
            }
            catch (Exception ex)
            {
                UltimoMensaje = GestionErrores.obtenerError(ex);
                UltimoMensaje.cargar(
                    System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.ToString(),
                    System.Reflection.MethodBase.GetCurrentMethod().ToString(),
                    new System.Diagnostics.StackFrame(0, true).GetFileLineNumber());
                UltimoMensaje.EsError = true;
                Notify(UltimoMensaje);
            }
            finally
            {
                cmd.Parameters.Clear();
                if (Database.obtenerTransaccion() == null)
                {
                    if (conexion.State != ConnectionState.Closed)
                    {
                        conexion.Close();
                    }
                }
            }

            return(ret);
        }
Example #8
0
        public void Guardar(bool nuevo)
        {
            bool clave_cambiada = false;

            if (Id > 0)
            {
                Empleados emptmp = new Empleados();
                emptmp = emptmp.Obtener(Id.ToString());
                if (emptmp.Password.ToString() != Password.ToString())
                {
                    clave_cambiada = true;
                }
            }


            UltimoMensaje = null;
            DAL.Database    db       = new Database();
            MySqlConnection conexion = Database.obtenerConexion(true);

            MySqlCommand comando = new MySqlCommand();

            if (nuevo)
            {
                if (Id != 0) // se ingreso un id manualmente
                {
                    comando.CommandText = @"INSERT INTO empleados (id, apellido,nombre,tel_laboral,
                                            tel_personal, mail, f_alta, f_baja, grupo, 
                                            domicilio, f_nacimiento, fecha_cierre, provincia_id, hijos, tarea_id, password, cuil, estado_civil_id, tel_alternativo, contacto, percibe_adelantos) values  
                                            (@id,@apellido, @nombre,@tel_laboral,@tel_personal, @mail, @f_alta, @f_baja, @grupo,
                                            @domicilio, @f_nacimiento, @fecha_cierre, @provincia_id, @hijos, @tarea_id, @password, @cuil, @estado_civil, @tel_alternativo, @contacto, @percibe_adelantos); ";
                }
                else //id automatico
                {
                    comando.CommandText = @"INSERT INTO empleados (apellido,nombre,tel_laboral,
                                          tel_personal, mail, f_alta, f_baja, grupo,
                                          domicilio, f_nacimiento, fecha_cierre, provincia_id, hijos, tarea_id, password, cuil, estado_civil_id, tel_alternativo, contacto, percibe_adelantos) values
                                          (@apellido, @nombre,@tel_laboral,@tel_personal, @mail, @f_alta, @f_baja, @grupo,
                                          @domicilio, @f_nacimiento, @fecha_cierre, @provincia_id, @hijos, @tarea_id, @password, @cuil, @estado_civil,  @tel_alternativo, @contacto, @percibe_adelantos); ";
                }
            }
            else
            {
                comando.CommandText = @"UPDATE empleados SET
                                        apellido = @apellido, 
                                        nombre = @nombre, 
                                        cuil = @cuil,
                                        estado_civil_id=@estado_civil,
                                        hijos=@hijos,
                                        tel_laboral=@tel_laboral, 
                                        tel_personal=@tel_personal, 
                                        mail=@mail, 
                                        f_alta=@f_alta,
                                        grupo=@grupo,
                                        domicilio=@domicilio,
                                        provincia_id=@provincia_id,
                                        tarea_id=@tarea_id,
                                        f_nacimiento=@f_nacimiento,
                                        fecha_cierre=@fecha_cierre,
                                        password=@password,
                                        tel_alternativo=@tel_alternativo,
                                        contacto=@contacto,
                                        f_baja=@f_baja,
                                        percibe_adelantos=@percibe_adelantos,
                                        recovery_key=@recovery_key 
                                        where id=@id";
            }

            DateTime FechaAlta       = DateTime.Now;
            DateTime FechaBaja       = DateTime.Now;
            DateTime FechaNacimiento = DateTime.Now;
            DateTime FechaCierre     = DateTime.Now;

            if (Fecha_Alta == "")
            {
                Fecha_Alta = null;
            }
            else
            {
                DateTime.TryParse(Fecha_Alta, out FechaAlta);
            }

            if (Fecha_Baja == "")
            {
                Fecha_Baja = null;
            }
            else
            {
                DateTime.TryParse(Fecha_Baja, out FechaBaja);
            }

            if (Fecha_Nacimiento == "")
            {
                Fecha_Nacimiento = null;
            }
            else
            {
                DateTime.TryParse(Fecha_Nacimiento, out FechaNacimiento);
            }

            if (Fecha_Cierre == "")
            {
                Fecha_Cierre = null;
            }
            else
            {
                DateTime.TryParse(Fecha_Cierre, out FechaCierre);
            }

            comando.Parameters.AddWithValue("@id", Id);
            comando.Parameters.AddWithValue("@apellido", Apellido);
            comando.Parameters.AddWithValue("@nombre", Nombre);
            comando.Parameters.AddWithValue("@tel_laboral", Tel_laboral);
            comando.Parameters.AddWithValue("@tel_personal", Tel_personal);
            comando.Parameters.AddWithValue("@mail", Mail);
            comando.Parameters.AddWithValue("@cuil", CUIL);
            comando.Parameters.AddWithValue("@estado_civil", Estado_Civil);
            comando.Parameters.AddWithValue("@hijos", hijos);
            comando.Parameters.AddWithValue("@domicilio", Domicilio);
            comando.Parameters.AddWithValue("@provincia_id", Provincia);
            comando.Parameters.AddWithValue("@recovery_key", recovery_key);

            if (!clave_cambiada)
            {
                comando.Parameters.AddWithValue("@password", Password);
            }
            else
            {
                comando.Parameters.AddWithValue("@password", DAL.Varios.MD5Hash(Password));
            }

            comando.Parameters.AddWithValue("@tarea_id", Tarea);
            comando.Parameters.AddWithValue("@grupo", Grupo);
            comando.Parameters.AddWithValue("@tel_alternativo", Tel_Alternativo);
            comando.Parameters.AddWithValue("@contacto", Persona_contacto);
            comando.Parameters.AddWithValue("@percibe_adelantos", PercibeAdelantos.ToString());
            if (Fecha_Alta == null)
            {
                comando.Parameters.AddWithValue("@f_alta", Fecha_Alta);
            }
            else
            {
                comando.Parameters.AddWithValue("@f_alta", Convert.ToDateTime(Fecha_Alta));
            }

            if (Fecha_Baja == null)
            {
                comando.Parameters.AddWithValue("@f_baja", Fecha_Baja);
            }
            else
            {
                comando.Parameters.AddWithValue("@f_baja", Convert.ToDateTime(Fecha_Baja));
            }

            if (Fecha_Nacimiento == null)
            {
                comando.Parameters.AddWithValue("@f_nacimiento", Fecha_Nacimiento);
            }
            else
            {
                comando.Parameters.AddWithValue("@f_nacimiento", Convert.ToDateTime(Fecha_Nacimiento));
            }

            if (Fecha_Cierre == null)
            {
                comando.Parameters.AddWithValue("@fecha_cierre", Fecha_Cierre);
            }
            else
            {
                comando.Parameters.AddWithValue("@fecha_cierre", Convert.ToDateTime(Fecha_Cierre));
            }


            comando.Transaction = Database.obtenerTransaccion();
            comando.Connection  = conexion;

            try
            {
                if (Database.obtenerTransaccion() == null)
                {
                    conexion.Open();
                }
                comando.ExecuteNonQuery();
            }
            catch (Exception ex)
            {
                UltimoMensaje = GestionErrores.obtenerError(ex);
                UltimoMensaje.cargar(
                    System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.ToString(),
                    System.Reflection.MethodBase.GetCurrentMethod().ToString(),
                    new System.Diagnostics.StackFrame(0, true).GetFileLineNumber());
                UltimoMensaje.StackTrace = ex.StackTrace;
                UltimoMensaje.EsError    = true;
                Notify(UltimoMensaje);
            }
            finally
            {
                comando.Parameters.Clear();
                if (Database.obtenerTransaccion() == null)
                {
                    if (conexion.State != ConnectionState.Closed)
                    {
                        conexion.Close();
                    }
                }
            }
        }
Example #9
0
        public List <Empleados> Obtener_lista(bool en_grupo, string Estado = "TODOS")
        {
            string where = "";

            if (Estado == "ACTIVO" || Estado == "ACTIVOS")
            {
                where = " where (f_baja IS NULL or f_baja = '')";
            }
            if (Estado == "BAJA")
            {
                where = " where (f_baja IS NOT NULL or f_baja <> '')";
            }

            if (where != "")
            {
                where += " AND ";
            }
            else
            {
                where += " WHERE ";
            }

            if (en_grupo)
            {
                where += " (grupo <>'' and grupo IS NOT NULL) ";
            }
            else
            {
                where += " (grupo='' or grupo IS NULL) ";
            }


            List <Empleados> ret = new List <Empleados>();

            MySqlConnection conexion = Database.obtenerConexion(true);

            MySqlCommand cmd = new MySqlCommand();

            cmd.Connection  = conexion;
            cmd.Transaction = Database.obtenerTransaccion();
            cmd.CommandText = "select * from empleados " + where + " order by apellido";

            try
            {
                if (Database.obtenerTransaccion() == null)
                {
                    conexion.Open();
                }

                MySqlDataReader reader = cmd.ExecuteReader();

                while (reader.Read())
                {
                    Empleados bar = new Empleados();
                    bar.Subscribe(this);
                    cargarDatos(bar, reader);

                    ret.Add(bar);
                }

                reader.Close();
            }
            catch (Exception ex)
            {
                UltimoMensaje = GestionErrores.obtenerError(ex);
                UltimoMensaje.cargar(
                    System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.ToString(),
                    System.Reflection.MethodBase.GetCurrentMethod().ToString(),
                    new System.Diagnostics.StackFrame(0, true).GetFileLineNumber());
                UltimoMensaje.EsError = true;
                Notify(UltimoMensaje);
            }
            finally
            {
                cmd.Parameters.Clear();
                if (Database.obtenerTransaccion() == null)
                {
                    if (conexion.State != ConnectionState.Closed)
                    {
                        conexion.Close();
                    }
                }
            }

            return(ret);
        }
Example #10
0
        public List <TareasEstados> obtener(string codigo = "", string tipo = "")
        {
            string where = "";
            if (codigo != "")
            {
                where += " where tarea_estado_codigo=@codigo ";
            }
            if (tipo != "")
            {
                where += " where tarea_estado_tipo=@tipo";
            }

            List <TareasEstados> ret = new List <TareasEstados>();

            UltimoMensaje = null;
            DAL.Database    db       = new Database();
            MySqlConnection conexion = Database.obtenerConexion(true);
            MySqlCommand    cmd      = new MySqlCommand();

            cmd.Connection  = conexion;
            cmd.Transaction = Database.obtenerTransaccion();
            cmd.CommandText = "select * from tareas_estados" + where;
            cmd.Parameters.AddWithValue("@codigo", codigo);
            cmd.Parameters.AddWithValue("@tipo", tipo);

            try
            {
                if (Database.obtenerTransaccion() == null)
                {
                    conexion.Open();
                }
                MySqlDataReader reader = cmd.ExecuteReader();
                while (reader.Read())
                {
                    TareasEstados bar = new TareasEstados();
                    bar.Id     = reader[dbCampoCodigo].ToString();
                    bar.Nombre = reader[dbCampoNombre].ToString();
                    bar.Tipo   = reader[dbCampoTipo].ToString();
                    ret.Add(bar);
                }

                reader.Close();
            }
            catch (Exception ex)
            {
                UltimoMensaje = GestionErrores.obtenerError(ex);
                UltimoMensaje.cargar(
                    System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.ToString(),
                    System.Reflection.MethodBase.GetCurrentMethod().ToString(),
                    new System.Diagnostics.StackFrame(0, true).GetFileLineNumber());
                UltimoMensaje.EsError = true;
                Notify(UltimoMensaje);
            }
            finally
            {
                cmd.Parameters.Clear();
                if (Database.obtenerTransaccion() == null)
                {
                    if (conexion.State != ConnectionState.Closed)
                    {
                        conexion.Close();
                    }
                }
            }

            return(ret);
        }
Example #11
0
        public bool Guardar(bool nuevo)
        {
            bool resultado = true;

            UltimoMensaje = null;
            DAL.Database    db       = new Database();
            MySqlConnection conexion = Database.obtenerConexion(true);
            MySqlCommand    comando  = new MySqlCommand();

            if (nuevo)
            {
                if (Id != "") // se ingreso un id manualmente
                {
                    comando.CommandText = "INSERT INTO tareas_estados (tarea_estado_codigo, tarea_estado_nombre,tarea_estado_tipo)" +
                                          " values  " +
                                          "(@id,@tarea_estado_nombre, @tarea_estado_tipo); ";
                }
                else //id automatico
                {
                    comando.CommandText = "INSERT INTO tareas_estados (tarea_estado_nombre,tarea_estado_tipo) values  " +
                                          "(@tarea_estado_nombre, @tarea_estado_tipo); ";
                }
            }
            else
            {
                comando.CommandText = "UPDATE tareas_estados SET tarea_estado_nombre = @tarea_estado_nombre, tarea_estado_tipo=@tarea_estado_tipo " +
                                      "where tarea_estado_codigo = @id";
            }
            comando.Parameters.AddWithValue("@id", Id);
            comando.Parameters.AddWithValue("@tarea_estado_nombre", Nombre);
            comando.Parameters.AddWithValue("@tarea_estado_tipo", Tipo);

            comando.Transaction = Database.obtenerTransaccion();
            comando.Connection  = conexion;

            try
            {
                if (Database.obtenerTransaccion() == null)
                {
                    conexion.Open();
                }
                var valor = comando.ExecuteScalar();
            }
            catch (Exception ex)
            {
                resultado     = false;
                UltimoMensaje = GestionErrores.obtenerError(ex);
                UltimoMensaje.cargar(
                    System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.ToString(),
                    System.Reflection.MethodBase.GetCurrentMethod().ToString(),
                    new System.Diagnostics.StackFrame(0, true).GetFileLineNumber());
                UltimoMensaje.StackTrace = ex.StackTrace;
                UltimoMensaje.EsError    = true;
                Notify(UltimoMensaje);
            }
            finally
            {
                comando.Parameters.Clear();
                if (Database.obtenerTransaccion() == null)
                {
                    if (conexion.State != ConnectionState.Closed)
                    {
                        conexion.Close();
                    }
                }
            }

            return(resultado);
        }
Example #12
0
        /// <summary>
        /// Método encargado de conectarse con la BD para insertar o actualizar.
        /// </summary>
        public int guardar()
        {
            int retorno = 0;

            UltimoMensaje = null;
            DAL.Database    db       = new Database();
            MySqlConnection conexion = Database.obtenerConexion(true);

            MySqlCommand comando = new MySqlCommand();



            if (Id == 0)
            {
                comando.CommandText = "INSERT INTO " + dbTabla + " (pro_codigo,pro_codigoFabricante,pro_descripcion,pro_costo ) values  " +
                                      "(@pro_codigo,@pro_codigoFabricante,@pro_descripcion,@pro_costo); " +
                                      " SELECT  Last_insert_id()";
            }
            else
            {
                comando.CommandText = "UPDATE " + dbTabla + " set pro_codigo =@pro_codigo ,  " +
                                      "pro_codigoFabricante = @pro_codigoFabricante, " +
                                      "pro_descripcion = @pro_descripcion, " +
                                      "pro_costo = @pro_costo, " +
                                      "where " + dbCampoId + "= @" + dbCampoId + "; SELECT @" + dbCampoId;
                comando.Parameters.AddWithValue(dbCampoId, Codigo);
            }

            comando.Parameters.AddWithValue("@pro_codigo", Codigo);
            comando.Parameters.AddWithValue("@pro_codigoFabricante", CodigoFabricante);
            comando.Parameters.AddWithValue("@pro_descripcion", Descripcion);
            comando.Parameters.AddWithValue("@pro_costo", Costo);
            comando.Transaction = Database.obtenerTransaccion();
            comando.Connection  = conexion;

            try
            {
                if (Database.obtenerTransaccion() == null)
                {
                    conexion.Open();
                }
                var valor = comando.ExecuteScalar();

                if (valor == null && Id != 0)
                {
                    throw new Exception("El registro que está intentando modificar ya no existe en la base de datos");
                }
                else
                {
                    Id = int.Parse(valor.ToString());

                    retorno = Id;
                }
            }
            catch (Exception ex)
            {
                UltimoMensaje = GestionErrores.obtenerError(ex);
                UltimoMensaje.cargar(
                    System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.ToString(),
                    System.Reflection.MethodBase.GetCurrentMethod().ToString(),
                    new System.Diagnostics.StackFrame(0, true).GetFileLineNumber());
                UltimoMensaje.StackTrace = ex.StackTrace;
                UltimoMensaje.EsError    = true;
                Notify(UltimoMensaje);
            }
            finally
            {
                comando.Parameters.Clear();
                if (Database.obtenerTransaccion() == null)
                {
                    if (conexion.State != ConnectionState.Closed)
                    {
                        conexion.Close();
                    }
                }
            }

            return(retorno);
        }
Example #13
0
        public int guardarContraseña(int id, string pass)
        {
            Id = id;
            int retorno = 0;

            UltimoMensaje = null;
            DAL.Database    db       = new Database();
            MySqlConnection conexion = Database.obtenerConexion(true);

            MySqlCommand comando = new MySqlCommand();



            comando.CommandText = "UPDATE usuarios SET usu_password= @usu_password  where usu_id= @usu_id; SELECT @usu_id";

            comando.Parameters.AddWithValue("@usu_id", Id);
            comando.Parameters.AddWithValue("@usu_password", pass);


            comando.Transaction = Database.obtenerTransaccion();
            comando.Connection  = conexion;

            try
            {
                if (Database.obtenerTransaccion() == null)
                {
                    conexion.Open();
                }
                var valor = comando.ExecuteScalar();

                if (valor == null && Id != 0)
                {
                    throw new Exception("El registro que está intentando modificar ya no existe en la base de datos");
                }
                else
                {
                    Id = int.Parse(valor.ToString());

                    retorno = Id;
                }
            }
            catch (Exception ex)
            {
                UltimoMensaje = GestionErrores.obtenerError(ex);
                UltimoMensaje.cargar(
                    System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.ToString(),
                    System.Reflection.MethodBase.GetCurrentMethod().ToString(),
                    new System.Diagnostics.StackFrame(0, true).GetFileLineNumber());
                UltimoMensaje.StackTrace = ex.StackTrace;
                UltimoMensaje.EsError    = true;
                Notify(UltimoMensaje);
            }
            finally
            {
                comando.Parameters.Clear();
                if (Database.obtenerTransaccion() == null)
                {
                    if (conexion.State != ConnectionState.Closed)
                    {
                        conexion.Close();
                    }
                }
            }

            return(retorno);
        }
Example #14
0
        public int guardar()
        {
            int retorno = 0;

            UltimoMensaje = null;
            DAL.Database    db       = new Database();
            MySqlConnection conexion = Database.obtenerConexion(true);

            MySqlCommand comando = new MySqlCommand();


            password = Comun.CryptoUtil.GetMd5Hash("AESA2013");


            if (Id == 0)
            {
                comando.CommandText = "INSERT INTO usuarios (usu_nombre,usu_apellido,usu_email,usu_password,usu_activo," +
                                      "usu_usuario,usu_acceso,usu_nivel,cli_cliente) values (@nombre, @apellido,@email,@password," +
                                      "@activo,@usuario,@acceso,@usu_nivel,@cli_cliente);" +
                                      " SELECT  Last_insert_id()";
            }
            else
            {
                comando.CommandText = "UPDATE usuarios SET usu_email = @email,usu_nombre=@nombre,usu_apellido=@apellido," +
                                      " usu_acceso=@acceso, usu_nivel = @usu_nivel where usu_id= @usu_id; SELECT @usu_id";
                comando.Parameters.AddWithValue("@usu_id", Id);
            }

            comando.Parameters.AddWithValue("@nombre", nombre);
            comando.Parameters.AddWithValue("@apellido", apellido);
            comando.Parameters.AddWithValue("@email", email);
            comando.Parameters.AddWithValue("@activo", Activo);
            comando.Parameters.AddWithValue("@password", password);
            comando.Parameters.AddWithValue("@usuario", usuario);
            comando.Parameters.AddWithValue("@acceso", acceso);
            comando.Parameters.AddWithValue("@usu_nivel", nivel);
            comando.Parameters.AddWithValue("@cli_cliente", cliente);

            comando.Transaction = Database.obtenerTransaccion();
            comando.Connection  = conexion;

            try
            {
                if (Database.obtenerTransaccion() == null)
                {
                    conexion.Open();
                }
                var valor = comando.ExecuteScalar();

                if (valor == null && Id != 0)
                {
                    throw new Exception("El registro que está intentando modificar ya no existe en la base de datos");
                }
                else
                {
                    Id = int.Parse(valor.ToString());

                    retorno = Id;
                }
            }
            catch (Exception ex)
            {
                UltimoMensaje = GestionErrores.obtenerError(ex);
                UltimoMensaje.cargar(
                    System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.ToString(),
                    System.Reflection.MethodBase.GetCurrentMethod().ToString(),
                    new System.Diagnostics.StackFrame(0, true).GetFileLineNumber());
                UltimoMensaje.StackTrace = ex.StackTrace;
                UltimoMensaje.EsError    = true;
                Notify(UltimoMensaje);
            }
            finally
            {
                comando.Parameters.Clear();
                if (Database.obtenerTransaccion() == null)
                {
                    if (conexion.State != ConnectionState.Closed)
                    {
                        conexion.Close();
                    }
                }
            }

            return(retorno);
        }
Example #15
0
        public bool Guardar(bool nuevo)
        {
            bool resultado = true;

            UltimoMensaje = null;
            DAL.Database    db       = new Database();
            MySqlConnection conexion = Database.obtenerConexion(true);
            MySqlCommand    comando  = new MySqlCommand();

            if (nuevo)
            {
                comando.CommandText = "INSERT INTO gastos (fecha, detalles, importe, grupo, asignado_por)" +
                                      " values  " +
                                      "(@fecha, @detalles, @importe, @grupo, @asignado_por); ";
            }
            else
            {
                comando.CommandText = @"UPDATE gastos set 
                    fecha=@fecha,
                    detalles=@detalles,
                    importe=@importe,
                    grupo=@grupo,
                    asignado_por=@asignado_por 
                    where id=@id";
            }
            comando.Parameters.AddWithValue("@id", id);
            comando.Parameters.AddWithValue("@fecha", Convert.ToDateTime(fecha));
            comando.Parameters.AddWithValue("@detalles", detalles);
            comando.Parameters.AddWithValue("@importe", Convert.ToDecimal(importe));
            comando.Parameters.AddWithValue("@grupo", grupo_id);
            comando.Parameters.AddWithValue("@asignado_por", asignado_por);

            comando.Transaction = Database.obtenerTransaccion();
            comando.Connection  = conexion;

            try
            {
                if (Database.obtenerTransaccion() == null)
                {
                    conexion.Open();
                }
                var valor = comando.ExecuteScalar();
            }
            catch (Exception ex)
            {
                resultado     = false;
                UltimoMensaje = GestionErrores.obtenerError(ex);
                UltimoMensaje.cargar(
                    System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.ToString(),
                    System.Reflection.MethodBase.GetCurrentMethod().ToString(),
                    new System.Diagnostics.StackFrame(0, true).GetFileLineNumber());
                UltimoMensaje.StackTrace = ex.StackTrace;
                UltimoMensaje.EsError    = true;
                Notify(UltimoMensaje);
            }
            finally
            {
                comando.Parameters.Clear();
                if (Database.obtenerTransaccion() == null)
                {
                    if (conexion.State != ConnectionState.Closed)
                    {
                        conexion.Close();
                    }
                }
            }

            return(resultado);
        }
Example #16
0
        public List <Empleados> Obtener_miembros_grupos(string grupo, bool solos_activos)
        {
            string where = "";

            if (solos_activos)
            {
                where = " and f_baja is null";
            }

            List <Empleados> ret = new List <Empleados>();

            MySqlConnection conexion = Database.obtenerConexion(true);

            MySqlCommand cmd = new MySqlCommand();

            cmd.Connection  = conexion;
            cmd.Transaction = Database.obtenerTransaccion();
            cmd.CommandText = "select * from empleados where grupo=@grupo " + where + " order by apellido";
            cmd.Parameters.AddWithValue("@grupo", grupo);

            try
            {
                if (Database.obtenerTransaccion() == null)
                {
                    conexion.Open();
                }

                MySqlDataReader reader = cmd.ExecuteReader();

                while (reader.Read())
                {
                    Empleados bar = new Empleados();
                    bar.Subscribe(this);
                    cargarDatos(bar, reader);

                    ret.Add(bar);
                }

                reader.Close();
            }
            catch (Exception ex)
            {
                UltimoMensaje = GestionErrores.obtenerError(ex);
                UltimoMensaje.cargar(
                    System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.ToString(),
                    System.Reflection.MethodBase.GetCurrentMethod().ToString(),
                    new System.Diagnostics.StackFrame(0, true).GetFileLineNumber());
                UltimoMensaje.EsError = true;
                Notify(UltimoMensaje);
            }
            finally
            {
                cmd.Parameters.Clear();
                if (Database.obtenerTransaccion() == null)
                {
                    if (conexion.State != ConnectionState.Closed)
                    {
                        conexion.Close();
                    }
                }
            }

            return(ret);
        }
Example #17
0
        /// <summary>
        /// Método encargado de conectarse con la BD para insertar o actualizar.
        /// </summary>
        public void guardar()
        {
            UltimoMensaje = null;
            DAL.Database    db       = new Database();
            MySqlConnection conexion = Database.obtenerConexion(true);

            MySqlCommand comando = new MySqlCommand();



            if (Codigo == null)
            {
                comando.CommandText = "INSERT INTO " + dbTabla + " (" + dbCampoNombre + " ) values  " +
                                      "(@ " + dbCampoNombre + ") ";
            }
            else
            {
                comando.CommandText = "UPDATE " + dbTabla + " set " + dbCampoNombre + "= @" + dbCampoNombre + " " +
                                      "where " + dbCampoId + "= @" + dbCampoId;
                comando.Parameters.AddWithValue(dbCampoId, Codigo);
            }

            comando.Parameters.AddWithValue(dbCampoNombre, Nombre);
            comando.Parameters.AddWithValue(dbCampoId, Codigo);
            comando.Transaction = Database.obtenerTransaccion();
            comando.Connection  = conexion;

            try
            {
                if (Database.obtenerTransaccion() == null)
                {
                    conexion.Open();
                }
                comando.ExecuteNonQuery();

                //if (valor == null && Codigo != null)
                //    throw new Exception("El registro que está intentando modificar ya no existe en la base de datos");
                //else
                //{

                //}
            }
            catch (Exception ex)
            {
                UltimoMensaje = GestionErrores.obtenerError(ex);
                UltimoMensaje.cargar(
                    System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.ToString(),
                    System.Reflection.MethodBase.GetCurrentMethod().ToString(),
                    new System.Diagnostics.StackFrame(0, true).GetFileLineNumber());
                UltimoMensaje.StackTrace = ex.StackTrace;
                UltimoMensaje.EsError    = true;
                Notify(UltimoMensaje);
            }
            finally
            {
                comando.Parameters.Clear();
                if (Database.obtenerTransaccion() == null)
                {
                    if (conexion.State != ConnectionState.Closed)
                    {
                        conexion.Close();
                    }
                }
            }
        }
Example #18
0
        public List <Empleados> Obtener_lista_adelantos(bool percibe_adelanto, string filtro = "")
        {
            string where = "";
            if (filtro != "")
            {
                where = " and (apellido like @filtro or nombre like @filtro) ";
            }

            List <Empleados> ret = new List <Empleados>();

            MySqlConnection conexion = Database.obtenerConexion(true);

            MySqlCommand cmd = new MySqlCommand();

            cmd.Connection  = conexion;
            cmd.Transaction = Database.obtenerTransaccion();
            cmd.CommandText = "select * from empleados where percibe_adelantos like @percibe_adelanto " + where + " order by apellido and f_baja IS NULL";
            cmd.Parameters.AddWithValue("@percibe_adelanto", "%" + percibe_adelanto + "%");
            cmd.Parameters.AddWithValue("@filtro", "%" + filtro + "%");
            try
            {
                if (Database.obtenerTransaccion() == null)
                {
                    conexion.Open();
                }

                MySqlDataReader reader = cmd.ExecuteReader();

                while (reader.Read())
                {
                    Empleados bar = new Empleados();
                    bar.Subscribe(this);
                    cargarDatos(bar, reader);
                    ret.Add(bar);
                }

                reader.Close();
            }
            catch (Exception ex)
            {
                UltimoMensaje = GestionErrores.obtenerError(ex);
                UltimoMensaje.cargar(
                    System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.ToString(),
                    System.Reflection.MethodBase.GetCurrentMethod().ToString(),
                    new System.Diagnostics.StackFrame(0, true).GetFileLineNumber());
                UltimoMensaje.EsError = true;
                Notify(UltimoMensaje);
            }
            finally
            {
                cmd.Parameters.Clear();
                if (Database.obtenerTransaccion() == null)
                {
                    if (conexion.State != ConnectionState.Closed)
                    {
                        conexion.Close();
                    }
                }
            }

            return(ret);
        }
Example #19
0
        /// <summary>
        /// Método encargado de conectarse con la BD para actualizar el estado activo "si"/"no".
        /// </summary>
        public void habdeshabilitar(bool habilitar)
        {
            MySqlConnection conexion = Database.obtenerConexion(true);

            UltimoMensaje = null;

            MySqlCommand comando = new MySqlCommand();

            //if (habilitar)
            //{
            //    if (Activo == false)
            //    {
            //        comando.CommandText = "UPDATE clientes set cli_activo= 'true'  " +
            //                               "where cli_id= @cli_id";
            //        comando.Parameters.AddWithValue("@cli_id", Id);
            //    }
            //}
            //else
            //{
            //    if (Activo == true)
            //    {
            //        comando.CommandText = "UPDATE clientes set cli_activo= 'false'  " +
            //                               "where cli_id= @cli_id";
            //        comando.Parameters.AddWithValue("@cli_id", Id);
            //    }
            //}

            comando.Connection  = conexion;
            comando.Transaction = Database.obtenerTransaccion();

            try
            {
                if (Database.obtenerTransaccion() == null)
                {
                    conexion.Open();
                }
                comando.ExecuteScalar();
            }
            catch (Exception ex)
            {
                UltimoMensaje = GestionErrores.obtenerError(ex);
                UltimoMensaje.cargar(
                    System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.ToString(),
                    System.Reflection.MethodBase.GetCurrentMethod().ToString(),
                    new System.Diagnostics.StackFrame(0, true).GetFileLineNumber());

                UltimoMensaje.EsError = true;

                string parametros = "";
                foreach (System.Reflection.ParameterInfo item in System.Reflection.MethodBase.GetCurrentMethod().GetParameters())
                {
                    parametros += item.ParameterType.ToString() + ",";
                }

                UltimoMensaje.StackTrace = ex.StackTrace;

                Notify(UltimoMensaje);
            }
            finally
            {
                comando.Parameters.Clear();
                if (Database.obtenerTransaccion() == null)
                {
                    if (conexion.State != ConnectionState.Closed)
                    {
                        conexion.Close();
                    }
                }
            }
        }
Example #20
0
        public DataTable obtener(DateTime desde, DateTime hasta, int cliente, string tableName)
        {
            limpiaDatos();

            DataTable retorno = new DataTable();

            retorno.TableName = tableName;

            MySqlConnection conexion = Database.obtenerConexion(true);

            MySqlCommand comando;

            if (cliente != 0)
            {
                comando = new MySqlCommand("select * from vw_libroivaventas where cen_fecha >= @desde and cen_fecha <= @hasta and cli_id = @cli_id ", conexion);
            }
            else
            {
                comando = new MySqlCommand("select * from vw_libroivaventas where cen_fecha >= @desde and cen_fecha <= @hasta ", conexion);
            }


            comando.Parameters.AddWithValue("desde", desde);
            comando.Parameters.AddWithValue("hasta", hasta);

            if (cliente != 0)
            {
                comando.Parameters.AddWithValue("cli_id", cliente);
            }

            comando.Transaction = Database.obtenerTransaccion();

            try
            {
                if (Database.obtenerTransaccion() == null)
                {
                    conexion.Open();
                }

                MySqlDataAdapter adapter = new MySqlDataAdapter(comando);
                adapter.Fill(retorno);

                return(retorno);
            }
            catch (Exception ex)
            {
                UltimoMensaje = GestionErrores.obtenerError(ex);
                UltimoMensaje.cargar(
                    System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.ToString(),
                    System.Reflection.MethodBase.GetCurrentMethod().ToString(),
                    new System.Diagnostics.StackFrame(0, true).GetFileLineNumber());
                UltimoMensaje.EsError    = true;
                UltimoMensaje.StackTrace = ex.StackTrace;
                Notify(UltimoMensaje);
            }
            finally
            {
                comando.Parameters.Clear();
                if (Database.obtenerTransaccion() == null)
                {
                    if (conexion.State != ConnectionState.Closed)
                    {
                        conexion.Close();
                    }
                }
            }
            return(null);
        }
Example #21
0
        public List <EmpleadosGrupos> obtenerFiltrado(ItemFiltro[] itemFiltro,
                                                      ItemOrden[] orden, bool busquedaAnd, double inicio, double fin, out double totalRegistros)
        {
            List <EmpleadosGrupos> ret = new List <EmpleadosGrupos>();

            UltimoMensaje = null;
            MySqlConnection conexion = Database.obtenerConexion(true);

            MySqlCommand comando = new MySqlCommand();

            comando.Connection  = conexion;
            comando.Transaction = Database.obtenerTransaccion();

            totalRegistros = 0;
            int parameterCount = 0;

            string where = "";
            string tipoBusqueda = " AND ";

            if (!busquedaAnd)
            {
                tipoBusqueda = " OR  ";
            }


            Varios.armarConsultaFiltros(itemFiltro, comando, ref parameterCount, ref where, tipoBusqueda);

            string cadenaOrden = "";

            comando.CommandText = "SELECT count(*) FROM empleados_grupos " + where;
            try
            {
                if (Database.obtenerTransaccion() == null)
                {
                    conexion.Open();
                }
                double.TryParse(comando.ExecuteScalar().ToString(), out totalRegistros);

                if (inicio < 0)
                {
                    inicio = 0;
                }

                if (inicio > totalRegistros)
                {
                    inicio = totalRegistros - 1;
                }


                if (fin > totalRegistros || fin == -1)
                {
                    fin = totalRegistros;
                }

                if (inicio < 1)
                {
                    inicio = 1;
                }

                if (fin < 1)
                {
                    fin = 1;
                }

                cadenaOrden = Varios.armarCadenaOrden(orden, cadenaOrden, "nombre");

                //TODO: Hacer Paginacion

                double rowcount = fin - (inicio - 1);

                comando.CommandText = "  SELECT *   FROM empleados_grupos " + where + " "
                                      + cadenaOrden
                                      + " LIMIT " + (inicio - 1) + ", " + rowcount;

                MySqlDataReader dr = comando.ExecuteReader();

                while (dr.Read())
                {
                    EmpleadosGrupos bar = new EmpleadosGrupos();
                    bar.Subscribe(this);

                    cargarDatos(bar, dr);

                    ret.Add(bar);
                }

                dr.Close();
            }
            catch (Exception ex)
            {
                UltimoMensaje = GestionErrores.obtenerError(ex);
                UltimoMensaje.cargar(
                    System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.ToString(),
                    System.Reflection.MethodBase.GetCurrentMethod().ToString(),
                    new System.Diagnostics.StackFrame(0, true).GetFileLineNumber());
                UltimoMensaje.EsError = true;
                Notify(UltimoMensaje);
            }
            finally
            {
                comando.Parameters.Clear();
                if (Database.obtenerTransaccion() == null)
                {
                    if (conexion.State != ConnectionState.Closed)
                    {
                        conexion.Close();
                    }
                }
            }

            return(ret);
        }
Example #22
0
        /// <summary>
        /// Método encargado de conectarse con la BD para insertar o actualizar.
        /// </summary>
        public int guardar()
        {
            int retorno = 0;

            UltimoMensaje = null;
            DAL.Database    db       = new Database();
            MySqlConnection conexion = Database.obtenerConexion(true);

            MySqlCommand comando = new MySqlCommand();



            if (Id == 0)
            {
                comando.CommandText = "INSERT INTO " + dbTabla + " (" + dbCampoDesde + "," + dbCampoHasta + "," +
                                      dbCampoTituloFolio + "," + dbCampoNumeroFolio + "," + dbCampoGrupoImpresion + ") values  " +
                                      "(@" + dbCampoDesde + ",@" + dbCampoHasta + ",@" + dbCampoTituloFolio +
                                      ",@" + dbCampoNumeroFolio + ",@" + dbCampoGrupoImpresion + "); " +
                                      " SELECT  Last_insert_id()";
            }
            else
            {
                //comando.CommandText = "UPDATE " + dbTabla + " set " + dbCampoNombre + "= @" + dbCampoNombre + " ,  " +
                //                       dbCampoId + " = @" + dbCampoId + " " +
                //                       "where " + dbCampoId + "= @" + dbCampoId + "; SELECT @" + dbCampoId;
                //comando.Parameters.AddWithValue(dbCampoId, Id);
            }

            //comando.Parameters.AddWithValue(dbCampoNombre, Nombre);
            comando.Parameters.AddWithValue(dbCampoId, Id);
            comando.Parameters.AddWithValue(dbCampoDesde, fecha_desde);
            comando.Parameters.AddWithValue(dbCampoHasta, fecha_hasta);
            comando.Parameters.AddWithValue(dbCampoTituloFolio, titulo);
            comando.Parameters.AddWithValue(dbCampoNumeroFolio, numero_folio);
            comando.Parameters.AddWithValue(dbCampoGrupoImpresion, 1);

            comando.Transaction = Database.obtenerTransaccion();
            comando.Connection  = conexion;

            try
            {
                if (Database.obtenerTransaccion() == null)
                {
                    conexion.Open();
                }
                var valor = comando.ExecuteScalar();

                if (valor == null && Id != 0)
                {
                    throw new Exception("El registro que está intentando modificar ya no existe en la base de datos");
                }
                else
                {
                    Id = int.Parse(valor.ToString());

                    retorno = Id;
                }
            }
            catch (Exception ex)
            {
                UltimoMensaje = GestionErrores.obtenerError(ex);
                UltimoMensaje.cargar(
                    System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.ToString(),
                    System.Reflection.MethodBase.GetCurrentMethod().ToString(),
                    new System.Diagnostics.StackFrame(0, true).GetFileLineNumber());
                UltimoMensaje.StackTrace = ex.StackTrace;
                UltimoMensaje.EsError    = true;
                Notify(UltimoMensaje);
            }
            finally
            {
                comando.Parameters.Clear();
                if (Database.obtenerTransaccion() == null)
                {
                    if (conexion.State != ConnectionState.Closed)
                    {
                        conexion.Close();
                    }
                }
            }

            return(retorno);
        }
Example #23
0
        } // Unsubscribe

        #endregion

        public List <Provincias> Obtener(int id = 0)
        {
            string where = "";

            if (id != 0)
            {
                where = " where id=@id";
            }

            List <Provincias> ret = new List <Provincias>();

            MySqlConnection conexion = Database.obtenerConexion(true);

            MySqlCommand cmd = new MySqlCommand();

            cmd.Connection  = conexion;
            cmd.Transaction = Database.obtenerTransaccion();
            cmd.CommandText = "select * from provincia " + where + " order by pro_Nombre";
            cmd.Parameters.AddWithValue("@id", id);

            try
            {
                if (Database.obtenerTransaccion() == null)
                {
                    conexion.Open();
                }

                MySqlDataReader reader = cmd.ExecuteReader();

                while (reader.Read())
                {
                    Provincias bar = new Provincias();
                    bar.Subscribe(this);

                    bar.id      = reader["pro_Id"].ToString();
                    bar.nombre  = reader["pro_Nombre"].ToString();
                    bar.pais_id = reader["pai_Id"].ToString();
                    ret.Add(bar);
                }

                reader.Close();
            }
            catch (Exception ex)
            {
                UltimoMensaje = GestionErrores.obtenerError(ex);
                UltimoMensaje.cargar(
                    System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.ToString(),
                    System.Reflection.MethodBase.GetCurrentMethod().ToString(),
                    new System.Diagnostics.StackFrame(0, true).GetFileLineNumber());
                UltimoMensaje.EsError = true;
                Notify(UltimoMensaje);
            }
            finally
            {
                cmd.Parameters.Clear();
                if (Database.obtenerTransaccion() == null)
                {
                    if (conexion.State != ConnectionState.Closed)
                    {
                        conexion.Close();
                    }
                }
            }

            return(ret);
        }
Example #24
0
        private List <Empleados_Gastos> crear_lista_gastos(string desde, string hasta, List <string> ids)
        {
            List <Empleados_Gastos> ret = new List <Empleados_Gastos>();

            string[] array_id  = ids.ToArray();
            string   lista_ids = string.Join(",", array_id);

            UltimoMensaje = null;
            DAL.Database    db       = new Database();
            MySqlConnection conexion = Database.obtenerConexion(true);
            MySqlCommand    cmd      = new MySqlCommand();

            cmd.Connection  = conexion;
            cmd.Transaction = Database.obtenerTransaccion();
            cmd.CommandText = @"select * from (SELECT empleados_grupos.*, gastos.fecha, gastos.detalles, gastos.importe FROM empleados_grupos 
                                LEFT JOIN gastos on gastos.grupo = empleados_grupos.id) as base 
                                where (fecha BETWEEN @fecha1 AND @fecha2) and id in (" + lista_ids + @")";
            cmd.Parameters.AddWithValue("@fecha1", Convert.ToDateTime(desde));
            cmd.Parameters.AddWithValue("@fecha2", Convert.ToDateTime(hasta));

            DateTime fecha = Convert.ToDateTime(desde);

            try
            {
                if (Database.obtenerTransaccion() == null)
                {
                    conexion.Open();
                }
                MySqlDataReader reader = cmd.ExecuteReader();
                while (reader.Read())
                {
                    Empleados_Gastos bar = new Empleados_Gastos();
                    bar.grupo_nombre = reader["nombre"].ToString();
                    if (reader["fecha"].ToString() != null && reader["fecha"].ToString() != "")
                    {
                        bar.fecha = Convert.ToDateTime(reader["fecha"].ToString()).ToShortDateString();
                    }
                    decimal tmp_importe = 0;
                    decimal.TryParse(reader["importe"].ToString(), out tmp_importe);
                    bar.importe  = tmp_importe;
                    bar.detalles = reader["detalles"].ToString();
                    ret.Add(bar);
                }

                reader.Close();
            }
            catch (Exception ex)
            {
                UltimoMensaje = GestionErrores.obtenerError(ex);
                UltimoMensaje.cargar(
                    System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.ToString(),
                    System.Reflection.MethodBase.GetCurrentMethod().ToString(),
                    new System.Diagnostics.StackFrame(0, true).GetFileLineNumber());
                UltimoMensaje.EsError = true;
                Notify(UltimoMensaje);
            }
            finally
            {
                cmd.Parameters.Clear();
                if (Database.obtenerTransaccion() == null)
                {
                    if (conexion.State != ConnectionState.Closed)
                    {
                        conexion.Close();
                    }
                }
            }

            return(ret);
        }
Example #25
0
        private List <Tareas> crear_tmp_list2(DateTime desde, DateTime hasta, List <string> ids)
        {
            TimeSpan ts   = hasta - desde;
            int      dias = ts.Days;

            List <Tareas> lista_tareas = new List <Tareas>();
            Empleados     empleados    = new Empleados();

            DAL.Empleados_Adelantos adelanto = new DAL.Empleados_Adelantos();

            try
            {
                for (int i = 0; i <= dias; i++)
                {
                    DateTime fecha = desde.AddDays(i);

                    List <Tareas> lista_tareas_tmp = obtener_registro_por_fecha(fecha, ids);

                    foreach (string item in ids)
                    {
                        Tareas tarea = new Tareas();
                        tarea.tmp_fecha      = fecha.ToShortDateString();
                        tarea.Empleado       = empleados.obtener_nombre(item);
                        tarea.Empleado_grupo = empleados.obtener_grupo(item);
                        foreach (Tareas lista_item in lista_tareas_tmp)
                        {
                            if (item == lista_item.Emp_id)
                            {
                                tarea.Sitio                 = lista_item.Sitio;
                                tarea.Sitio_id              = lista_item.Sitio_id;
                                tarea.Viatico               = lista_item.Viatico;
                                tarea.Trabajado             = lista_item.Trabajado;
                                tarea.Asignado_por          = lista_item.Asignado_por;
                                tarea.Asignado_por_empleado = lista_item.Asignado_por_empleado;
                                tarea.Observaciones         = lista_item.Observaciones;
                            }
                        }
                        if (tarea.Trabajado != "SI")
                        {
                            Trabajado   = "NO";
                            tarea.Sitio = "NO TRABAJO";
                        }

                        List <Empleados_Adelantos> lista_adelantos = adelanto.obtener_registro_por_fecha(fecha, item);
                        foreach (Empleados_Adelantos item_adelanto in lista_adelantos)
                        {
                            tarea.tmp_adelantos += item_adelanto.importe;
                        }
                        //tarea.tmp_adelantos = adelanto.obtener_importe(fecha, Convert.ToInt32(item));
                        lista_tareas.Add(tarea);
                    }
                }
            }
            catch (Exception ex)
            {
                UltimoMensaje = GestionErrores.obtenerError(ex);
                UltimoMensaje.cargar(
                    System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.ToString(),
                    System.Reflection.MethodBase.GetCurrentMethod().ToString(),
                    new System.Diagnostics.StackFrame(0, true).GetFileLineNumber());
                UltimoMensaje.EsError    = true;
                UltimoMensaje.StackTrace = ex.StackTrace;
                Notify(UltimoMensaje);
            }

            return(lista_tareas);
        }
Example #26
0
        public List <Adelantos> obtener_registro_por_fecha(DateTime fecha, List <DAL.Empleados> lista_asignados)
        {
            List <string> ids = new List <string>();

            foreach (DAL.Empleados item in lista_asignados)
            {
                ids.Add(item.Id.ToString());
            }
            string[] array_id  = ids.ToArray();
            string   lista_ids = string.Join(",", array_id);

            List <Adelantos> retorno = new List <Adelantos>();

            MySqlConnection conexion = Database.obtenerConexion(true);

            string consulta = @"
                SELECT
	            *
                FROM
	            (
		            SELECT
			            empleados_adelantos.*, CONCAT(empleados.apellido,', ',empleados.nombre) as empleado
		            FROM
			            empleados_adelantos
		            JOIN empleados on empleados_adelantos.empleado_id = empleados.id
	            ) AS base
            WHERE
	            empleado_id in ("     + lista_ids + @") 
            AND fecha BETWEEN @fecha
            AND @fecha order by empleado_id";

            MySqlCommand comando = new MySqlCommand(consulta, conexion);

            comando.Parameters.AddWithValue("@fecha", fecha);

            comando.Transaction = Database.obtenerTransaccion();

            try
            {
                if (Database.obtenerTransaccion() == null)
                {
                    conexion.Open();
                }

                MySqlDataReader reader = comando.ExecuteReader();
                while (reader.Read())
                {
                    Adelantos ret = new Adelantos();
                    ret.fecha       = Convert.ToDateTime(reader["fecha"].ToString()).ToShortDateString();
                    ret.empleado_id = Convert.ToInt32(reader["empleado_id"].ToString());
                    ret.empleado    = reader["empleado"].ToString();
                    ret.descripcion = reader["descripcion"].ToString();

                    decimal dTmp = 0;
                    decimal.TryParse(reader["importe"].ToString(), out dTmp);
                    ret.importe = dTmp;

                    retorno.Add(ret);
                }
            }
            catch (Exception ex)
            {
                UltimoMensaje = GestionErrores.obtenerError(ex);
                UltimoMensaje.cargar(
                    System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.ToString(),
                    System.Reflection.MethodBase.GetCurrentMethod().ToString(),
                    new System.Diagnostics.StackFrame(0, true).GetFileLineNumber());
                UltimoMensaje.EsError    = true;
                UltimoMensaje.StackTrace = ex.StackTrace;
                Notify(UltimoMensaje);
            }
            finally
            {
                comando.Parameters.Clear();
                if (Database.obtenerTransaccion() == null)
                {
                    if (conexion.State != ConnectionState.Closed)
                    {
                        conexion.Close();
                    }
                }
            }

            return(retorno);
        }
Example #27
0
        public Tareas obtener_registro_por_fecha(DateTime fecha, string empleado_id)
        {
            Tareas ret = new Tareas();

            MySqlConnection conexion = Database.obtenerConexion(true);

            string consulta = @"
                SELECT
	                *
                FROM
	                (
		                SELECT
			                base.*, CONCAT(
				                empleados.apellido,
				                ', ',
				                empleados.nombre
			                ) AS asignado_por_empleado
		                FROM
			                (
				                SELECT
					                empleados_tareas.*, CONCAT(
						                empleados.apellido,
						                ', ',
						                empleados.nombre
					                ) AS empleado,
					                sitios.Nombre AS sitio,
					                tareas_estados.tarea_estado_nombre,
					                empleados_adelantos.importe AS adelanto
				                FROM
					                empleados_tareas
				                LEFT JOIN sitios ON empleados_tareas.sitio_id = sitios.CellID
				                JOIN empleados ON empleados_tareas.empleadoId = empleados.id
				                LEFT JOIN empleados_adelantos ON @fecha = empleados_adelantos.fecha
				                AND empleados_tareas.empleadoId = empleados_adelantos.empleado_id
				                LEFT JOIN tareas_estados ON empleados_tareas.tarea_estado_id = tareas_estados.tarea_estado_codigo
			                ) AS base
		                LEFT JOIN empleados ON base.asignado_por = empleados.id
	                ) AS base2
                WHERE
	                empleadoId = @empleado_id
                AND @fecha BETWEEN fecha_inicio
                AND fecha_fin";

            MySqlCommand comando = new MySqlCommand(consulta, conexion);

            comando.Parameters.AddWithValue("@fecha", fecha);
            comando.Parameters.AddWithValue("@empleado_id", empleado_id);

            comando.Transaction = Database.obtenerTransaccion();

            try
            {
                if (Database.obtenerTransaccion() == null)
                {
                    conexion.Open();
                }

                MySqlDataReader reader = comando.ExecuteReader();
                while (reader.Read())
                {
                    ret.TareaID      = reader["tarea_id"].ToString();
                    ret.Emp_id       = reader["empleadoId"].ToString();
                    ret.Empleado     = reader["empleado"].ToString();
                    ret.Estado       = reader["tarea_estado_nombre"].ToString();
                    ret.Estado_id    = reader["tarea_estado_id"].ToString();
                    ret.Sitio_id     = reader["sitio_id"].ToString();
                    ret.Sitio        = reader["sitio"].ToString();
                    ret.Trabajado    = reader["trabajo"].ToString();
                    ret.Asignado_por = reader["asignado_por_empleado"].ToString();

                    decimal viatico = 0;
                    decimal.TryParse(reader["viatico"].ToString(), out viatico);
                    ret.Viatico = viatico;

                    decimal dTmp = 0;
                    decimal.TryParse(reader["adelanto"].ToString(), out dTmp);
                    ret.tmp_adelantos = dTmp;

                    ret.Observaciones = reader["observaciones"].ToString();
                }
            }
            catch (Exception ex)
            {
                UltimoMensaje = GestionErrores.obtenerError(ex);
                UltimoMensaje.cargar(
                    System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.ToString(),
                    System.Reflection.MethodBase.GetCurrentMethod().ToString(),
                    new System.Diagnostics.StackFrame(0, true).GetFileLineNumber());
                UltimoMensaje.EsError    = true;
                UltimoMensaje.StackTrace = ex.StackTrace;
                Notify(UltimoMensaje);
            }
            finally
            {
                comando.Parameters.Clear();
                if (Database.obtenerTransaccion() == null)
                {
                    if (conexion.State != ConnectionState.Closed)
                    {
                        conexion.Close();
                    }
                }
            }

            return(ret);
        }
Example #28
0
        /// <summary>
        /// Método encargado de conectarse con la BD para insertar o actualizar.
        /// </summary>
        public int guardar()
        {
            int retorno = 0;

            UltimoMensaje = null;
            DAL.Database    db       = new Database();
            MySqlConnection conexion = Database.obtenerConexion(true);

            MySqlCommand comando = new MySqlCommand();


            if (Id == 0)
            {
                comando.CommandText = "INSERT INTO parametros (par_pc,par_rutaCompartida) values  " +
                                      "(@par_pc,@par_rutaCompartida); " +
                                      " SELECT  Last_insert_id()";
            }
            else
            {
                comando.CommandText = "UPDATE parametros SET par_rutaCompartida=@par_rutaCompartida " +
                                      "where par_id= @id; SELECT @id";

                comando.Parameters.AddWithValue("@id", Id);
            }


            comando.Parameters.AddWithValue("@par_pc", nombre_pc);
            comando.Parameters.AddWithValue("@par_rutaCompartida", ruta_compartida);

            comando.Transaction = Database.obtenerTransaccion();
            comando.Connection  = conexion;

            try
            {
                if (Database.obtenerTransaccion() == null)
                {
                    conexion.Open();
                }
                var valor = comando.ExecuteScalar();

                if (valor == null && Id != 0)
                {
                    throw new Exception("El registro que está intentando modificar ya no existe en la base de datos");
                }
                else
                {
                    Id = int.Parse(valor.ToString());

                    retorno = Id;
                }
            }
            catch (Exception ex)
            {
                UltimoMensaje = GestionErrores.obtenerError(ex);
                UltimoMensaje.cargar(
                    System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.ToString(),
                    System.Reflection.MethodBase.GetCurrentMethod().ToString(),
                    new System.Diagnostics.StackFrame(0, true).GetFileLineNumber());
                UltimoMensaje.StackTrace = ex.StackTrace;
                UltimoMensaje.EsError    = true;
                Notify(UltimoMensaje);
            }
            finally
            {
                comando.Parameters.Clear();
                if (Database.obtenerTransaccion() == null)
                {
                    if (conexion.State != ConnectionState.Closed)
                    {
                        conexion.Close();
                    }
                }
            }

            return(retorno);
        }
Example #29
0
        public List <Tareas> obtener_registro_por_fecha(DateTime fecha, List <String> ids)
        {
            string[] array_id = ids.ToArray();


            List <Tareas> retorno = new List <Tareas>();

            MySqlConnection conexion = Database.obtenerConexion(true);

            string lista_ids = string.Join(",", array_id);

            string consulta = @"
                SELECT
	                base.* ,concat(empleados.apellido, ', ', empleados.nombre) as asignado_por_empleado, empleados_grupos.nombre as empleado_grupo_nombre
                FROM
	            (
		            SELECT
			            empleados_tareas.*, CONCAT(empleados.apellido,', ',empleados.nombre) as empleado, empleados.fecha_cierre, empleados.grupo as empleado_grupo, 
			            sitios.Nombre as sitio, tareas_estados.tarea_estado_nombre, 
                        empleados_adelantos.importe as adelanto
		            FROM
			            empleados_tareas
		            LEFT JOIN sitios on empleados_tareas.sitio_id = sitios.CellID
		            JOIN empleados on empleados_tareas.empleadoId = empleados.id
                    LEFT JOIN empleados_adelantos on @fecha=empleados_adelantos.fecha and empleados_tareas.empleadoId = empleados_adelantos.empleado_id
                    LEFT JOIN tareas_estados on tarea_estado_id = tareas_estados.tarea_estado_codigo
	            ) AS base 
                LEFT JOIN empleados on base.asignado_por = empleados.id
                LEFT JOIN empleados_grupos on base.empleado_grupo=empleados_grupos.id 
                
            WHERE
	            empleadoId in ("     + lista_ids + @")
            AND @fecha BETWEEN fecha_inicio
            AND fecha_fin ";

            MySqlCommand comando = new MySqlCommand(consulta, conexion);

            comando.Parameters.AddWithValue("@fecha", fecha);
            comando.Transaction = Database.obtenerTransaccion();

            try
            {
                if (Database.obtenerTransaccion() == null)
                {
                    conexion.Open();
                }

                MySqlDataReader reader = comando.ExecuteReader();
                while (reader.Read())
                {
                    Tareas ret = new Tareas();
                    ret.Sitio = "NO TRABAJO";

                    ret.TareaID   = reader["tarea_id"].ToString();
                    ret.Emp_id    = reader["empleadoId"].ToString();
                    ret.Empleado  = reader["empleado"].ToString();
                    ret.Estado    = reader["tarea_estado_nombre"].ToString();
                    ret.Estado_id = "";
                    ret.Sitio_id  = reader["sitio_id"].ToString();
                    ret.Sitio     = reader["sitio_id"] + " " + reader["sitio"].ToString();
                    ret.Trabajado = reader["trabajo"].ToString();

                    decimal vTmp = 0;
                    decimal.TryParse(reader["viatico"].ToString(), out vTmp);
                    ret.Viatico = vTmp;

                    ret.Observaciones         = reader["observaciones"].ToString();
                    ret.Asignado_por          = reader["asignado_por"].ToString();
                    ret.Asignado_por_empleado = reader["asignado_por_empleado"].ToString();
                    ret.Empleado_grupo_nombre = reader["empleado_grupo_nombre"].ToString();

                    decimal dTmp = 0;
                    decimal.TryParse(reader["adelanto"].ToString(), out dTmp);
                    ret.tmp_adelantos = dTmp;

                    retorno.Add(ret);
                }
            }
            catch (Exception ex)
            {
                UltimoMensaje = GestionErrores.obtenerError(ex);
                UltimoMensaje.cargar(
                    System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.ToString(),
                    System.Reflection.MethodBase.GetCurrentMethod().ToString(),
                    new System.Diagnostics.StackFrame(0, true).GetFileLineNumber());
                UltimoMensaje.EsError    = true;
                UltimoMensaje.StackTrace = ex.StackTrace;
                Notify(UltimoMensaje);
            }
            finally
            {
                comando.Parameters.Clear();
                if (Database.obtenerTransaccion() == null)
                {
                    if (conexion.State != ConnectionState.Closed)
                    {
                        conexion.Close();
                    }
                }
            }

            return(retorno);
        }
Example #30
0
        public List <Sitios> obtener(string busqueda = "")
        {
            List <Sitios> ret = new List <Sitios>();

            MySqlConnection conexion = Database.obtenerConexion(true);

            MySqlCommand cmd = new MySqlCommand();

            cmd.Connection  = conexion;
            cmd.Transaction = Database.obtenerTransaccion();
            cmd.CommandText = "select * from sitios where CellID like @filtro OR Nombre like @filtro order by CellID";
            cmd.Parameters.AddWithValue("@filtro", "%" + busqueda + "%");

            try
            {
                if (Database.obtenerTransaccion() == null)
                {
                    conexion.Open();
                }

                MySqlDataReader reader = cmd.ExecuteReader();

                while (reader.Read())
                {
                    Sitios bar = new Sitios();

                    bar.Subscribe(this);

                    bar.Codigo     = reader["CellID"].ToString();
                    bar.Nombre     = reader["Nombre"].ToString();
                    bar.Viatico_ID = reader["Codigo Viatico"].ToString();
                    bar.IDNombre   = bar.Codigo + " - " + bar.Nombre;
                    ret.Add(bar);
                }

                reader.Close();
            }
            catch (Exception ex)
            {
                UltimoMensaje = GestionErrores.obtenerError(ex);
                UltimoMensaje.cargar(
                    System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.ToString(),
                    System.Reflection.MethodBase.GetCurrentMethod().ToString(),
                    new System.Diagnostics.StackFrame(0, true).GetFileLineNumber());
                UltimoMensaje.EsError = true;
                Notify(UltimoMensaje);
            }
            finally
            {
                cmd.Parameters.Clear();
                if (Database.obtenerTransaccion() == null)
                {
                    if (conexion.State != ConnectionState.Closed)
                    {
                        conexion.Close();
                    }
                }
            }

            return(ret);
        }