public void Actualizar() { try { BD_JSYSEntities db = new BD_JSYSEntities(); //insertar_factura FACTURAS obj_factura = new FACTURAS(); obj_factura.ID_FACTURA = Convert.ToInt32(txt_numero_factura.Text); obj_factura.ID_COBRADOR = Convert.ToInt32(cb_cobrador.SelectedValue); obj_factura.ID_ESTADO = Convert.ToInt32(cb_estado.SelectedValue); obj_factura.MONTO_TOTAL = Convert.ToDecimal(txt_total.Text); obj_factura.NUMERO_LOTERIA = cb_numero_loteria.Text; obj_factura.OBSERVACION = txt_observacion.Text.Trim(); obj_factura.GARANTIA1 = txt_garantia_1.Text.Trim(); obj_factura.GARANTIA2 = txt_garantia_2.Text.Trim(); obj_factura.GARANTIA3 = txt_garantia_3.Text.Trim(); obj_factura.GARANTIA4 = txt_garantia_4.Text.Trim(); obj_factura.GARANTIA5 = txt_garantia_5.Text.Trim(); obj_factura.GARANTIA6 = txt_garantia_6.Text.Trim(); obj_factura.GARANTIA7 = txt_garantia_7.Text.Trim(); obj_factura.RUTA = cb_ruta.Text; obj_factura.MONTO_DESCONTADO = Convert.ToDecimal(txt_descuento.Text); var factura = db.FACTURAS.Where(f => f.ID_FACTURA == obj_factura.ID_FACTURA).SingleOrDefault(); if ((factura.FECHA_DESCUENTO == null || factura.FECHA_DESCUENTO.ToString() == "") && obj_factura.MONTO_DESCONTADO > 0) { obj_factura.FECHA_DESCUENTO = DateTime.Now; } else { obj_factura.FECHA_DESCUENTO = factura.FECHA_DESCUENTO; } S_Factura.Actualizar_Factura(obj_factura); if (cb_recalcular.Text == "Si") { //insertar encabezado cuota ENCABEZADO_CUOTAS obj_encabezado_cuota = new ENCABEZADO_CUOTAS(); obj_encabezado_cuota.CANTIADA_CUOTA = Convert.ToInt32(txt_cantidad_cuota.Text); obj_encabezado_cuota.ID_FACTURA = Convert.ToInt32(txt_numero_factura.Text); obj_encabezado_cuota.MODO_CALCULO = cb_modo_calculo.Text; obj_encabezado_cuota.FECHA_PRIMERA_CUOTA = dt_fecha_primera_cuota.Value; S_Factura.Actualizar_Encabezado_Cuota(obj_encabezado_cuota); //insertar detalles cuotas S_Factura.Eliminar_Cuotas(Convert.ToInt32(txt_numero_factura.Text)); DETALLES_CUOTAS obj_detalle = new DETALLES_CUOTAS(); obj_detalle.ID_FACTURA = Convert.ToInt32(txt_numero_factura.Text); obj_detalle.RE_CALCULADO = "SI"; S_Factura.Actualizar_Cuotas(obj_detalle); foreach (DataGridViewRow row in dg_detalle_cuotas.Rows) { DETALLES_CUOTAS obj_detalle_cuotas = new DETALLES_CUOTAS(); obj_detalle_cuotas.ID_FACTURA = Convert.ToInt32(txt_numero_factura.Text); obj_detalle_cuotas.NUMERO_CUOTA = Convert.ToInt32(row.Cells[0].Value); obj_detalle_cuotas.FECHA = Convert.ToDateTime(row.Cells[1].Value); obj_detalle_cuotas.MONTO_CUOTA = Convert.ToDecimal(row.Cells[2].Value); obj_detalle_cuotas.MONTO_PAGADO = 0; obj_detalle_cuotas.MONTO_PENDIENTE = Convert.ToDecimal(row.Cells[2].Value); obj_detalle_cuotas.RE_CALCULADO = "NO"; S_Factura.Insertar_Detalle_Cuota(obj_detalle_cuotas); } } Close(); } catch (Exception ex) { S_Utilidades.Mensaje_Error(ex.Message); } }