Пример #1
0
        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);
            }
        }