Example #1
0
        /**
         * Busca el primer registro que coincida con los datos enviados
         * @param FACTURACONSECUTIVO obj
         * @return Retorna el mismo objeto pero con los datos consultados
         */
        public FACTURACONSECUTIVO buscarPrimeroFACTURACONSECUTIVO(FACTURACONSECUTIVO obj)
        {
            List <FACTURACONSECUTIVO> lista = null;

            try
            {
                FACTURACONSECUTIVODao dao = new FACTURACONSECUTIVODao();
                conn  = conexion.conection();
                lista = dao.search(conn, obj);
                if (lista != null && lista.Count > 0)
                {
                    obj = (FACTURACONSECUTIVO)lista[0];
                }
                else
                {
                    obj.ID = -1;
                }
            }
            catch (Exception e)
            {
                obj.ID = -1;
            } finally {
                if (conn != null && conn.State == System.Data.ConnectionState.Open)
                {
                    conn.Close();
                }
            }
            return(obj);
        }
Example #2
0
        /**
         * Elimina un registro de la tabla
         * @param FACTURACONSECUTIVO obj
         * @return Retorna un boolean indicando si se realizo o no la operacion
         */
        public bool eliminarFACTURACONSECUTIVO(FACTURACONSECUTIVO obj)
        {
            bool resultado;

            resultado = false;
            try
            {
                GestionFacturaconsecutivodetalle gestionDetalle = new GestionFacturaconsecutivodetalle();
                Facturaconsecutivodetalle        detalle        = new Facturaconsecutivodetalle();
                detalle.ID_FACTURACONSECUTIVO = obj.ID;
                Facturaconsecutivodetalle[] lstDetalles = gestionDetalle.buscarFacturaconsecutivodetalle(detalle);
                if (lstDetalles != null && lstDetalles.Length > 0)
                {
                    foreach (Facturaconsecutivodetalle item in lstDetalles)
                    {
                        gestionDetalle.eliminarFacturaconsecutivodetalle(item);
                    }
                }

                FACTURACONSECUTIVODao dao = new FACTURACONSECUTIVODao();
                conn = conexion.conection();
                dao.delete(conn, obj);
                resultado = true;
            }
            catch (Exception e)
            {
                resultado = false;
            } finally {
                if (conn != null && conn.State == System.Data.ConnectionState.Open)
                {
                    conn.Close();
                }
            }
            return(resultado);
        }
        public void delete(SqlConnection conn, FACTURACONSECUTIVO valueObject)
        {
            SqlCommand stmt = null;
            String     sql  = "";

            try
            {
                sql  = "DELETE FROM FACTURACONSECUTIVO WHERE ( id = @id )";
                stmt = new SqlCommand(sql, conn);
                stmt.Parameters.AddWithValue("@id", valueObject.ID);
                int rowcount = databaseUpdate(stmt);
                if (rowcount == 0)
                {
                    throw new Exception("Object could not be deleted! (PrimaryKey not found)");
                }
                if (rowcount > 1)
                {
                    throw new Exception("PrimaryKey Error when updating DB! (Many objects were deleted!)");
                }
            } finally {
                if (stmt != null)
                {
                    stmt.Dispose();
                }
            }
        }
Example #4
0
        /**
         * Busca los registros que coincidan con los datos enviados
         * @param FACTURACONSECUTIVO obj
         * @return Retorna la lista de los registros que coinciden
         */
        public FACTURACONSECUTIVO[] buscarFACTURACONSECUTIVO(FACTURACONSECUTIVO obj)
        {
            FACTURACONSECUTIVO[]      result = null;
            List <FACTURACONSECUTIVO> lista  = null;

            try
            {
                FACTURACONSECUTIVODao dao = new FACTURACONSECUTIVODao();
                conn  = conexion.conection();
                lista = dao.search(conn, obj);
                if (lista != null && lista.Count > 0)
                {
                    result = lista.ToArray();
                }
            }
            catch (Exception e)
            {
                result = null;
            } finally {
                if (conn != null && conn.State == System.Data.ConnectionState.Open)
                {
                    conn.Close();
                }
            }
            return(result);
        }
Example #5
0
 private void btnGuardar_Click(object sender, EventArgs e)
 {
     if (validar())
     {
         FACTURACONSECUTIVO facturaConsecutivo = new FACTURACONSECUTIVO();
         facturaConsecutivo.FECHA_RESOLUCION = datFechaResolucion.Value.Date;
         facturaConsecutivo.RANGO_FINAL      = float.Parse(txtRangoFinal.Text);
         facturaConsecutivo.RANGO_INICIAL    = float.Parse(txtRangoInicial.Text);
         facturaConsecutivo.RESOLUCION       = txtNumResolucion.Text.Trim();
         facturaConsecutivo = serviciosFACTURACONSECUTIVO.crearFACTURACONSECUTIVO(facturaConsecutivo);
         if (facturaConsecutivo != null && facturaConsecutivo.ID > 0)
         {
             MessageBox.Show("Se creo corrcetamente el consecutivo", "Correcto", MessageBoxButtons.OK, MessageBoxIcon.Information);
             this.Close();
         }
         else
         {
             if (facturaConsecutivo != null && facturaConsecutivo.ID == -2)
             {
                 MessageBox.Show("No fue posible crear el consecutivo ya que los números de este consecutivo se intersectan con los números de otro consecutivo ya registrado en el sistema", "Incorrecto", MessageBoxButtons.OK, MessageBoxIcon.Information);
             }
             else
             {
                 MessageBox.Show("Ocurrio un error  y no se creo corrcetamente el consecutivo", "Incorrecto", MessageBoxButtons.OK, MessageBoxIcon.Error);
             }
         }
     }
 }
        private List <FACTURACONSECUTIVO> listQuery(SqlCommand stmt)
        {
            List <FACTURACONSECUTIVO> searchResults = new List <FACTURACONSECUTIVO>();
            SqlDataReader             reader        = null;

            try
            {
                int intt = 0; long longg = 0; double doublee = 0; float floatt = 0; DateTime datee; byte[] bytee;
                reader = stmt.ExecuteReader();
                while (reader.Read())
                {
                    FACTURACONSECUTIVO temp = createValueObject();

                    temp.ID               = reader["ID"] != null && int.TryParse(reader["ID"].ToString(), out intt) ? intt : 0;
                    temp.RANGO_INICIAL    = reader["RANGO_INICIAL"] != null && float.TryParse(reader["RANGO_INICIAL"].ToString(), out floatt) ? floatt : 0;
                    temp.RANGO_FINAL      = reader["RANGO_FINAL"] != null && float.TryParse(reader["RANGO_FINAL"].ToString(), out floatt) ? floatt : 0;
                    temp.SUFIJO           = reader["SUFIJO"] != null ? reader["SUFIJO"].ToString() : null;
                    temp.RESOLUCION       = reader["RESOLUCION"] != null ? reader["RESOLUCION"].ToString() : null;
                    temp.FECHA_RESOLUCION = reader["FECHA_RESOLUCION"] != null && !String.IsNullOrEmpty(reader["FECHA_RESOLUCION"].ToString()) ? (DateTime)reader["FECHA_RESOLUCION"] : DateTime.MinValue;
                    searchResults.Add(temp);
                }
            }
            finally {
                if (!reader.IsClosed)
                {
                    reader.Close();
                }
                if (stmt != null)
                {
                    stmt.Dispose();
                }
            }
            return(searchResults);
        }
Example #7
0
        /**
         * Inserta nuevo registro en la tabla
         * @param FACTURACONSECUTIVO obj
         * @return Retorna el mismo objeto pero con la llave primaria configurada
         */
        public FACTURACONSECUTIVO crearFACTURACONSECUTIVO(FACTURACONSECUTIVO obj)
        {
            List <FACTURACONSECUTIVO>        lista = null;
            GestionFacturaconsecutivodetalle gestionFacturaconsecutivodetalle = new GestionFacturaconsecutivodetalle();

            try
            {
                if (validarRango(obj))
                {
                    FACTURACONSECUTIVODao dao = new FACTURACONSECUTIVODao();
                    conn = conexion.conection();
                    dao.create(conn, obj);
                    //verificar existencia
                    FACTURACONSECUTIVO tmpObj = new FACTURACONSECUTIVO();
                    tmpObj.RANGO_FINAL   = obj.RANGO_FINAL;
                    tmpObj.RANGO_INICIAL = obj.RANGO_INICIAL;
                    tmpObj.RESOLUCION    = obj.RESOLUCION;
                    lista = dao.search(conn, tmpObj);
                    if (lista != null && lista.Count > 0)
                    {
                        obj = (FACTURACONSECUTIVO)lista[0];
                        for (int i = int.Parse(obj.RANGO_INICIAL.ToString()); i <= obj.RANGO_FINAL; i++)
                        {
                            Facturaconsecutivodetalle facturaconsecutivodetalle = new Facturaconsecutivodetalle();
                            Facturaconsecutivodetalle tmp = new Facturaconsecutivodetalle();
                            tmp.CONSECUTIVO           = float.Parse(i.ToString());
                            tmp.ID_FACTURACONSECUTIVO = obj.ID;
                            tmp = gestionFacturaconsecutivodetalle.buscarPrimeroFacturaconsecutivodetalle(tmp);
                            if (!(tmp != null && tmp.ID > 0))
                            {
                                facturaconsecutivodetalle.CONSECUTIVO           = float.Parse(i.ToString());
                                facturaconsecutivodetalle.ID_FACTURACONSECUTIVO = obj.ID;
                                facturaconsecutivodetalle.DISPONIBLE            = "SI";
                                gestionFacturaconsecutivodetalle.crearFacturaconsecutivodetalle(facturaconsecutivodetalle);
                            }
                        }
                    }
                    else
                    {
                        obj.ID = -1;
                    }
                }
                else
                {
                    obj.ID = -2;                    //El rango se intersecta con otro rango
                }
            }
            catch (Exception e)
            {
                obj.ID = -1;
            } finally {
                if (conn != null && conn.State == System.Data.ConnectionState.Open)
                {
                    conn.Close();
                }
            }
            return(obj);
        }
 private void eliminarConsecutivo()
 {
     if (grdDatos.Rows != null && grdDatos.Rows.Count > 0 && grdDatos.SelectedRows != null && grdDatos.SelectedRows.Count > 0)
     {
         if (MessageBox.Show("¿Está seguro(a) que desea eliminar el rango de facturas seleccionado?", "Confirmar eliminación", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button2) == DialogResult.Yes)
         {
             int id = int.Parse(grdDatos.SelectedRows[0].Cells["id_rango_facturas"].Value.ToString());
             Facturaconsecutivodetalle facturaconsecutivodetalle = new Facturaconsecutivodetalle();
             facturaconsecutivodetalle.ID_FACTURACONSECUTIVO = id;
             facturaconsecutivodetalle.DISPONIBLE            = "NO";
             Facturaconsecutivodetalle[] lstDetalles = serviciosFacturaconsecutivodetalle.buscarFacturaconsecutivodetalle(facturaconsecutivodetalle);
             if (lstDetalles != null && lstDetalles.Length > 0)
             {
                 MessageBox.Show("No es posible eliminar el rango de facturas seleccionado ya que hay facturas generadas con este rango", "No es posible", MessageBoxButtons.OK, MessageBoxIcon.Information);
             }
             else
             {
                 FACTURACONSECUTIVO fACTURACONSECUTIVO = new FACTURACONSECUTIVO();
                 fACTURACONSECUTIVO.ID = id;
                 fACTURACONSECUTIVO    = serviciosFACTURACONSECUTIVO.buscarPrimeroFACTURACONSECUTIVO(fACTURACONSECUTIVO);
                 if (fACTURACONSECUTIVO != null && fACTURACONSECUTIVO.ID > 0)
                 {
                     if (serviciosFACTURACONSECUTIVO.eliminarFACTURACONSECUTIVO(fACTURACONSECUTIVO))
                     {
                         MessageBox.Show("Se eliminó correctamente el rango de facturas seleccionado", "Eliminación correcta", MessageBoxButtons.OK, MessageBoxIcon.Information);
                         getDetalleRangos();
                     }
                     else
                     {
                         MessageBox.Show("Ocurrio un error y no se eliminó correctamente el rango de facturas seleccionado", "Eliminación incorrecta", MessageBoxButtons.OK, MessageBoxIcon.Error);
                     }
                 }
                 else
                 {
                     MessageBox.Show("No se encontró el consecutivo en el sistema", "Sin información", MessageBoxButtons.OK, MessageBoxIcon.Information);
                 }
             }
         }
     }
     else
     {
         MessageBox.Show("Debe seleccionar un rango de facturas de la lista", "Sin datos", MessageBoxButtons.OK, MessageBoxIcon.Information);
     }
 }
        private void getFacturaConsecutivo(int id)
        {
            FACTURACONSECUTIVO fACTURACONSECUTIVO = new FACTURACONSECUTIVO();

            fACTURACONSECUTIVO.ID = id;
            fACTURACONSECUTIVO    = serviciosFACTURACONSECUTIVO.buscarPrimeroFACTURACONSECUTIVO(fACTURACONSECUTIVO);
            if (fACTURACONSECUTIVO != null && fACTURACONSECUTIVO.ID > 0)
            {
                lblRangoIni.Text        = fACTURACONSECUTIVO.RANGO_INICIAL.ToString();
                lblRangoFin.Text        = fACTURACONSECUTIVO.RANGO_FINAL.ToString();
                lblNumResolucion.Text   = fACTURACONSECUTIVO.RESOLUCION;
                lblFechaResolucion.Text = fACTURACONSECUTIVO.FECHA_RESOLUCION.ToString("dd/MM/yyyy");
                getDetalleRangoConsecutivo(id);
            }
            else
            {
                MessageBox.Show("El consecutivo no fue encontrado", "Sin información", MessageBoxButtons.OK, MessageBoxIcon.Information);
            }
        }
Example #10
0
 private bool validarRango(FACTURACONSECUTIVO obj)
 {
     FACTURACONSECUTIVO[] lstConsecutivos = listarFACTURACONSECUTIVO();
     if (lstConsecutivos != null && lstConsecutivos.Length > 0)
     {
         foreach (FACTURACONSECUTIVO item in lstConsecutivos)
         {
             if ((obj.RANGO_INICIAL >= item.RANGO_INICIAL && obj.RANGO_INICIAL <= item.RANGO_FINAL) ||
                 (obj.RANGO_FINAL >= item.RANGO_INICIAL && obj.RANGO_FINAL <= item.RANGO_FINAL) ||
                 (obj.RANGO_INICIAL < item.RANGO_INICIAL && obj.RANGO_FINAL > item.RANGO_FINAL))
             {
                 return(false);
             }
         }
         return(true);
     }
     else
     {
         return(true);
     }
 }
Example #11
0
        /**
         * Edita un registro en la tabla
         * @param FACTURACONSECUTIVO obj
         * @return boolean indicando si se realizo o no la actualizacion
         */
        public bool editarFACTURACONSECUTIVO(FACTURACONSECUTIVO obj)
        {
            bool resultado;

            resultado = false;
            try
            {
                FACTURACONSECUTIVODao dao = new FACTURACONSECUTIVODao();
                conn = conexion.conection();
                dao.save(conn, obj);
                resultado = true;
            }
            catch (Exception e)
            {
                resultado = false;
            } finally {
                if (conn != null && conn.State == System.Data.ConnectionState.Open)
                {
                    conn.Close();
                }
            }
            return(resultado);
        }
        public FACTURA generarFACTURA(LIQUIDACION liquidacion, LIQUIDACION_DETALLE[] lstDetalles, VIEW_CLIENTE myCliente, Facturaconsecutivodetalle rango)
        {
            List <RECIBO>      lista              = null;
            dsFactura          dsFactura          = new dsFactura();
            FACTURACONSECUTIVO facturaConsecutivo = new FACTURACONSECUTIVO();

            facturaConsecutivoManagement = new FACTURACONSECUTIVOManagement();
            facturaManagement            = new FACTURAManagement();
            facturaConsecutivo.ID        = rango.ID_FACTURACONSECUTIVO;
            facturaConsecutivo           = facturaConsecutivoManagement.buscarPrimeroFACTURACONSECUTIVO(facturaConsecutivo);
            try
            {
                conn = conexion.conection();
                //int numRecibo = Funciones.getId(conn, "RECIBOS");

                DataRow drEscuela = dsFactura.ESCUELA.NewRow();
                Image   logo      = Resources.ResourceTmp.LogoConducimos;
                drEscuela["E_LOGO"]        = Funciones.Convertir_Imagen_Bytes(logo);
                drEscuela["E_NOMBRE"]      = "CENTRO DE ENSEÑANZA AUTOMOVILÍSTICA CONDUCIMOS S.A.S";
                drEscuela["E_NUM_RECIBO"]  = rango.CONSECUTIVO;// myFactura.NUMERO_FACTURA.ToString();
                drEscuela["E_FORMA_PAGO"]  = "Efectivo";
                drEscuela["E_SITIO_WEB"]   = "www.conducimos.com.co";
                drEscuela["E_NIT"]         = "900644828-1";
                drEscuela["E_DIRECCION"]   = "CRA 81 # 26-40";
                drEscuela["E_CIUDAD"]      = "Medellín";
                drEscuela["E_TELEFONO"]    = "2566295";
                drEscuela["E_CODIGO_CIIU"] = "8559";
                if (facturaConsecutivo != null && facturaConsecutivo.ID > 0)
                {
                    drEscuela["E_NUM_RESOLUCION"]   = facturaConsecutivo.RESOLUCION;
                    drEscuela["E_FECHA_RESOLUCION"] = facturaConsecutivo.FECHA_RESOLUCION.ToString("dd MMMM yyyy", CultureInfo.CreateSpecificCulture("es-MX"));
                    drEscuela["E_RANGO_INICIAL"]    = facturaConsecutivo.RANGO_INICIAL;
                    drEscuela["E_RANGO_FINAL"]      = facturaConsecutivo.RANGO_FINAL;
                }
                dsFactura.ESCUELA.Rows.Add(drEscuela);

                DataRow drCliente = dsFactura.CLIENTE.NewRow();
                drCliente["C_TIPO_DOCUMENTO"]    = myCliente.TIPO_DOCUMENTO;
                drCliente["C_NOMBRES_APELLIDOS"] = myCliente.NOMBRES + " " + myCliente.APELLIDOS;
                drCliente["C_IDENTIFICACION"]    = myCliente.IDENTIFICACION;
                drCliente["C_DIRECCION"]         = myCliente.DIRECCION;
                drCliente["C_CIUDAD"]            = myCliente.CIUDAD;
                drCliente["C_TELEFONO"]          = myCliente.TELEFONO;
                drCliente["C_EMAIL"]             = myCliente.CORREO;
                dsFactura.CLIENTE.Rows.Add(drCliente);

                TARIFA_CONCEPTOManagement tarifa_conceptoManagement = new TARIFA_CONCEPTOManagement();
                TARIFA_DETALLEManagement  tarifa_detalleManagement  = new TARIFA_DETALLEManagement();

                foreach (LIQUIDACION_DETALLE dETALLE in lstDetalles)
                {
                    TARIFA_DETALLE tarifaDetalle = new TARIFA_DETALLE();
                    tarifaDetalle.ID = dETALLE.ID_TARIFA_DETALLE;
                    tarifaDetalle    = tarifa_detalleManagement.buscarPrimeroTARIFA_DETALLE(tarifaDetalle);
                    if (tarifaDetalle != null && tarifaDetalle.ID_TARIFA_CONCEPTO > 0)
                    {
                        TARIFA_CONCEPTO concepto = new TARIFA_CONCEPTO();
                        concepto.ID = tarifaDetalle.ID_TARIFA_CONCEPTO;
                        concepto    = tarifa_conceptoManagement.buscarPrimeroTARIFA_CONCEPTO(concepto);
                        if (concepto != null && concepto.ID > 0)
                        {
                            DataRow drLiquidacion = dsFactura.LIQUIDACION.NewRow();
                            drLiquidacion["L_CODIGO"]   = concepto.CODIGO;
                            drLiquidacion["L_CONCEPTO"] = concepto.NOMBRE;
                            drLiquidacion["L_CANTIDAD"] = 1;
                            drLiquidacion["L_UNIDAD"]   = 1;
                            drLiquidacion["L_VALOR"]    = dETALLE.VALOR_CONCEPTO;
                            drLiquidacion["L_IVA"]      = 0;
                            dsFactura.LIQUIDACION.Rows.Add(drLiquidacion);
                        }
                    }
                }

                String fileName = "Factura_" + myCliente.IDENTIFICACION.Trim() + "_No." + rango.CONSECUTIVO + "_" + DateTime.Now.ToString("dd-MM-yyyy hh-mm-ss.F") + ".pdf";
                fileName = fileName.Replace('/', '-');
                fileName = fileName.Replace(' ', '_');
                String path = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) + "\\Facturas";
                if (!Directory.Exists(path))
                {
                    Directory.CreateDirectory(path);
                }
                path += "\\" + fileName;
                crFactura facturaCrystal = new crFactura();
                facturaCrystal.SetDataSource(dsFactura);
                facturaCrystal.ExportToDisk(CrystalDecisions.Shared.ExportFormatType.PortableDocFormat, path);
                FACTURA factura = new FACTURA();
                factura.ARCHIVO_FISICO    = File.ReadAllBytes(path);
                factura.ID_FACTURA_ESTADO = 1;
                factura.ID_LIQUIDACION    = liquidacion.ID;
                factura.NUMERO_FACTURA    = rango.CONSECUTIVO.ToString();
                factura.DISPONIBLE        = "NO";
                factura = facturaManagement.crearFACTURA(factura);
                return(factura);
            }
            catch (Exception e)
            {
                return(null);
            }
            finally
            {
                if (conn != null && conn.State == System.Data.ConnectionState.Open)
                {
                    conn.Close();
                }
            }
        }
 public FACTURACONSECUTIVO[] buscarFACTURACONSECUTIVO(FACTURACONSECUTIVO obj)
 {
     return(gestionFACTURACONSECUTIVO.buscarFACTURACONSECUTIVO(obj));
 }
 public bool eliminarFACTURACONSECUTIVO(FACTURACONSECUTIVO obj)
 {
     return(gestionFACTURACONSECUTIVO.eliminarFACTURACONSECUTIVO(obj));
 }
 public FACTURACONSECUTIVO buscarPrimeroFACTURACONSECUTIVO(FACTURACONSECUTIVO obj)
 {
     return(gestionFACTURACONSECUTIVO.buscarPrimeroFACTURACONSECUTIVO(obj));
 }
 public FACTURACONSECUTIVO crearFACTURACONSECUTIVO(FACTURACONSECUTIVO obj)
 {
     return(gestionFACTURACONSECUTIVO.crearFACTURACONSECUTIVO(obj));
 }
        public List <FACTURACONSECUTIVO> search(SqlConnection conn, FACTURACONSECUTIVO valueObject)
        {
            List <FACTURACONSECUTIVO> searchResults = new List <FACTURACONSECUTIVO>();
            bool   first = true;
            String sql   = "SELECT * FROM FACTURACONSECUTIVO WHERE 1=1 ";

            if (!String.IsNullOrEmpty(valueObject.ID.ToString()) && valueObject.ID > 0)
            {
                if (first)
                {
                    first = false;
                }
                sql += "AND ID= '" + valueObject.ID + "' ";
            }

            if (!String.IsNullOrEmpty(valueObject.RANGO_INICIAL.ToString()) && valueObject.RANGO_INICIAL > 0)
            {
                if (first)
                {
                    first = false;
                }
                sql += "AND RANGO_INICIAL= '" + valueObject.RANGO_INICIAL + "' ";
            }

            if (!String.IsNullOrEmpty(valueObject.RANGO_FINAL.ToString()) && valueObject.RANGO_FINAL > 0)
            {
                if (first)
                {
                    first = false;
                }
                sql += "AND RANGO_FINAL= '" + valueObject.RANGO_FINAL + "' ";
            }

            if (!String.IsNullOrEmpty(valueObject.SUFIJO))
            {
                if (first)
                {
                    first = false;
                }
                sql += "AND SUFIJO= '" + valueObject.SUFIJO + "' ";
            }

            if (!String.IsNullOrEmpty(valueObject.RESOLUCION))
            {
                if (first)
                {
                    first = false;
                }
                sql += "AND RESOLUCION= '" + valueObject.RESOLUCION + "' ";
            }

            if (valueObject.FECHA_RESOLUCION > DateTime.MinValue)
            {
                if (first)
                {
                    first = false;
                }
                sql += "AND FECHA_RESOLUCION= '" + valueObject.FECHA_RESOLUCION.ToString("dd/MM/yyyy HH:mm:ss") + "' ";
            }

            sql += "ORDER BY id ASC ";

            if (first)
            {
                searchResults = new List <FACTURACONSECUTIVO>();
            }
            else
            {
                searchResults = listQuery(new SqlCommand(sql, conn));
            }

            return(searchResults);
        }
        public void create(SqlConnection conn, FACTURACONSECUTIVO valueObject)
        {
            String     sql  = "";
            SqlCommand stmt = null;

            try
            {
                sql = "INSERT INTO FACTURACONSECUTIVO (" +
                      " RANGO_INICIAL, RANGO_FINAL, SUFIJO," +
                      " RESOLUCION, FECHA_RESOLUCION)" +
                      "VALUES (@RANGO_INICIAL,@RANGO_FINAL,@SUFIJO,@RESOLUCION,@FECHA_RESOLUCION)";

                stmt = new SqlCommand(sql, conn);

                if (valueObject.RANGO_INICIAL >= 0)
                {
                    stmt.Parameters.AddWithValue("@RANGO_INICIAL", valueObject.RANGO_INICIAL);
                }
                else
                {
                    stmt.Parameters.AddWithValue("@RANGO_INICIAL", DBNull.Value);
                }
                if (valueObject.RANGO_FINAL > 0)
                {
                    stmt.Parameters.AddWithValue("@RANGO_FINAL", valueObject.RANGO_FINAL);
                }
                else
                {
                    stmt.Parameters.AddWithValue("@RANGO_FINAL", DBNull.Value);
                }
                if (!String.IsNullOrEmpty(valueObject.SUFIJO) && valueObject.SUFIJO.Length <= 3)
                {
                    stmt.Parameters.AddWithValue("@SUFIJO", valueObject.SUFIJO);
                }
                else
                {
                    stmt.Parameters.AddWithValue("@SUFIJO", DBNull.Value);
                }

                if (!String.IsNullOrEmpty(valueObject.RESOLUCION) && valueObject.RESOLUCION.Length <= 20)
                {
                    stmt.Parameters.AddWithValue("@RESOLUCION", valueObject.RESOLUCION);
                }
                else
                {
                    stmt.Parameters.AddWithValue("@RESOLUCION", DBNull.Value);
                }

                if (valueObject.FECHA_RESOLUCION > DateTime.MinValue)
                {
                    stmt.Parameters.AddWithValue("@FECHA_RESOLUCION", valueObject.FECHA_RESOLUCION);
                }
                else
                {
                    stmt.Parameters.AddWithValue("@FECHA_RESOLUCION", DBNull.Value);
                }

                databaseUpdate(stmt);
            } finally {
                if (stmt != null)
                {
                    stmt.Dispose();
                }
            }
        }
        public void save(SqlConnection conn, FACTURACONSECUTIVO valueObject)
        {
            SqlCommand stmt = null;
            String     sql  = "";

            try
            {
                sql = "UPDATE FACTURACONSECUTIVO SET" +
                      " RANGO_INICIAL = @RANGO_INICIAL , RANGO_FINAL = @RANGO_FINAL , SUFIJO = @SUFIJO ," +
                      " RESOLUCION = @RESOLUCION , FECHA_RESOLUCION = @FECHA_RESOLUCION  WHERE (id = @id)";
                stmt = new SqlCommand(sql, conn);


                if (valueObject.RANGO_INICIAL >= 0)
                {
                    stmt.Parameters.AddWithValue("@RANGO_INICIAL", valueObject.RANGO_INICIAL);
                }
                else
                {
                    stmt.Parameters.AddWithValue("@RANGO_INICIAL", DBNull.Value);
                }
                if (valueObject.RANGO_FINAL > 0)
                {
                    stmt.Parameters.AddWithValue("@RANGO_FINAL", valueObject.RANGO_FINAL);
                }
                else
                {
                    stmt.Parameters.AddWithValue("@RANGO_FINAL", DBNull.Value);
                }

                if (!String.IsNullOrEmpty(valueObject.SUFIJO) && valueObject.SUFIJO.Length <= 3)
                {
                    stmt.Parameters.AddWithValue("@SUFIJO", valueObject.SUFIJO);
                }
                else
                {
                    stmt.Parameters.AddWithValue("@SUFIJO", DBNull.Value);
                }

                if (!String.IsNullOrEmpty(valueObject.RESOLUCION) && valueObject.RESOLUCION.Length <= 20)
                {
                    stmt.Parameters.AddWithValue("@RESOLUCION", valueObject.RESOLUCION);
                }
                else
                {
                    stmt.Parameters.AddWithValue("@RESOLUCION", DBNull.Value);
                }

                if (valueObject.FECHA_RESOLUCION > DateTime.MinValue)
                {
                    stmt.Parameters.AddWithValue("@FECHA_RESOLUCION", valueObject.FECHA_RESOLUCION);
                }
                else
                {
                    stmt.Parameters.AddWithValue("@FECHA_RESOLUCION", DBNull.Value);
                }

                stmt.Parameters.AddWithValue("@id", valueObject.ID);

                int rowcount = databaseUpdate(stmt);
                if (rowcount == 0)
                {
                    throw new Exception("Object could not be saved! (PrimaryKey not found)");
                }
            }
            finally
            {
                if (stmt != null)
                {
                    stmt.Dispose();
                }
            }
        }