/** * 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); }
/** * 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(); } } }
/** * 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); }
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); }
/** * 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); } }
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); } }
/** * 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(); } } }