public void calcularReconocimiento(int contratoID) { DataRow filaContrato = this[contratoID]; decimal ingreso = (decimal)filaContrato["Ingreso"]; ReconocimientoIngreso reconocimientoIngreso = new ReconocimientoIngreso(tabla.DataSet); Producto producto = new Producto(tabla.DataSet); int productoId = getProductoId(contratoID); if (producto.getTipoProducto(productoId) == TipoProducto.W) { reconocimientoIngreso.insertar(contratoID, ingreso, (DateTime)getFechaFirma(contratoID)); } else if (producto.getTipoProducto(productoId) == TipoProducto.S) { decimal[] fraccion = fraccionar(ingreso, 3); reconocimientoIngreso.insertar(contratoID, fraccion[0], (DateTime)getFechaFirma(contratoID)); reconocimientoIngreso.insertar(contratoID, fraccion[1], (DateTime)getFechaFirma(contratoID).AddDays(60)); reconocimientoIngreso.insertar(contratoID, fraccion[2], (DateTime)getFechaFirma(contratoID).AddDays(90)); } else if (producto.getTipoProducto(productoId) == TipoProducto.DB) { decimal[] fraccion = fraccionar(ingreso, 3); reconocimientoIngreso.insertar(contratoID, fraccion[0], (DateTime)getFechaFirma(contratoID)); reconocimientoIngreso.insertar(contratoID, fraccion[1], (DateTime)getFechaFirma(contratoID).AddDays(30)); reconocimientoIngreso.insertar(contratoID, fraccion[2], (DateTime)getFechaFirma(contratoID).AddDays(60)); } else { throw new Exception("ProductoId no válido"); } }