Exemple #1
0
        private void btn_entregar_Click(object sender, EventArgs e)
        {
            try
            {
                BD_JSYSEntities db         = new BD_JSYSEntities();
                CUADRES_DIARIOS obj_cuadre = new CUADRES_DIARIOS();
                string          fecha      = dt_fecha.Value.Date.ToString("dd/MM/yyyy");
                obj_cuadre.FECHA           = fecha;
                obj_cuadre.VALOR_ANULADO   = Convert.ToDecimal(txt_recibo_anulado.Text);
                obj_cuadre.VALOR_PAGADO    = Convert.ToDecimal(txt_recibo_pagado.Text);
                obj_cuadre.VALOR_DESCUENTO = Convert.ToDecimal(txt_valor_descuento.Text);
                obj_cuadre.VALOR_TOTAL     = Convert.ToDecimal(txt_recibo_total.Text);

                var obj = db.CUADRES_DIARIOS.Where(c => c.FECHA == fecha);

                if (obj.Count() == 0)
                {
                    S_Factura.Insertar_Cuadre_Diario(obj_cuadre);
                }
                else
                {
                    S_Factura.Actualizar_Cuadre_Diario(obj_cuadre);
                }

                S_Utilidades.Mensaje_Informacion("Cuadre Guardado Correctamente");
                Close();
            }
            catch (Exception ex)
            {
                S_Utilidades.Mensaje_Error(ex.Message);
            }
        }
Exemple #2
0
        public void Recibir_Datos(CLIENTES obj)
        {
            using (var db = new BD_JSYSEntities())
            {
                var obj_cliente = db.CLIENTES.Where(r => r.REFERENCIA == obj.REFERENCIA).SingleOrDefault();
                txt_nombre.Text                = obj_cliente.NOMBRE;
                txt_celular.Text               = obj_cliente.CELULAR;
                txt_direccion.Text             = obj_cliente.DIRECCION;
                txt_direccion_referencia1.Text = obj_cliente.DIRECCION_REFERENCIA1;
                txt_direccion_referencia2.Text = obj_cliente.DIRECCION_REFERENCIA2;
                txt_direccion_trabajo.Text     = obj_cliente.DIRECCION_TRABAJO;
                txt_email.Text                       = obj_cliente.EMAIL;
                txt_nombre_conyugue.Text             = obj_cliente.NOMBRE_CONYUGUE;
                txt_nombre_referencia1.Text          = obj_cliente.NOMBRE_REFERENCIA1;
                txt_nombre_referencia2.Text          = obj_cliente.NOMBRE_REFERENCIA2;
                txt_numero_identificacion.Text       = obj_cliente.NUMERO_IDENTIFICACION;
                txt_referencia.Text                  = obj_cliente.REFERENCIA;
                txt_sueldo.Text                      = obj_cliente.SUELDO.ToString();
                txt_telefono.Text                    = obj_cliente.TELEFONO;
                txt_telefono_conyugue.Text           = obj_cliente.TELEFONO_CONYUGUE;
                txt_telefono_referencia1.Text        = obj_cliente.TELEFONO_REFERENCIA1;
                txt_telefono_referencia2.Text        = obj_cliente.TELEFONO_REFERENCIA2;
                txt_observacion_referencia1.Text     = obj_cliente.OBSERVACION_REFERENCIA1;
                txt_observacion_referencia2.Text     = obj_cliente.OBSERVACION_REFERENCIA2;
                cb_casa_propia.Text                  = obj_cliente.CASA_PROPIA;
                cb_estado.Text                       = obj_cliente.ESTADO == "A" ? "Activo" : "Inactivo";
                cb_tipo_identificacion.SelectedValue = obj_cliente.ID_TIPO_IDENTIFICACION;
                txt_observacion.Text                 = obj_cliente.OBSERVACION;

                txt_referencia.Enabled = false;
            }
        }
Exemple #3
0
        public void Actualizar_Montos()
        {
            BD_JSYSEntities  db          = new BD_JSYSEntities();
            FACTURAS         obj_factura = new FACTURAS();
            DETALLES_CUOTAS  obj_detalle = new DETALLES_CUOTAS();
            RECIBOS_COBRADOS obj_recibo  = new RECIBOS_COBRADOS();

            //actualizar detalle cxc
            if (ch_pago_total.Checked == true)
            {
                obj_detalle.MONTO_PAGADO    = Convert.ToDecimal(txt_monto_cuota.Text);
                obj_detalle.MONTO_PENDIENTE = 0;
                obj_recibo.VALOR_PAGADO     = Convert.ToDecimal(txt_monto_cuota.Text);
                obj_factura.MONTO_PAGADO    = Convert.ToDecimal(txt_monto_cuota.Text);
                obj_recibo.VALOR_PENDIENTE  = 0;
            }
            else if (ch_pago_total.Checked == false && Convert.ToDecimal(txt_valor_a_pagar.Text) >= Convert.ToDecimal(txt_monto_cuota.Text))
            {
                obj_detalle.MONTO_PAGADO    = Convert.ToDecimal(txt_monto_cuota.Text);
                obj_detalle.MONTO_PENDIENTE = 0;
                obj_recibo.VALOR_PAGADO     = Convert.ToDecimal(txt_monto_cuota.Text);
                obj_factura.MONTO_PAGADO    = Convert.ToDecimal(txt_monto_cuota.Text);
                obj_recibo.VALOR_PENDIENTE  = 0;
            }
            else if (ch_pago_total.Checked == false && Convert.ToDecimal(txt_valor_a_pagar.Text) < Convert.ToDecimal(txt_monto_cuota.Text))
            {
                obj_detalle.MONTO_PAGADO    = Convert.ToDecimal(txt_valor_a_pagar.Text);
                obj_detalle.MONTO_PENDIENTE = Convert.ToDecimal(txt_monto_cuota.Text) - Convert.ToDecimal(txt_valor_a_pagar.Text);
                obj_recibo.VALOR_PAGADO     = Convert.ToDecimal(txt_valor_a_pagar.Text);
                obj_factura.MONTO_PAGADO    = Convert.ToDecimal(txt_valor_a_pagar.Text);
                obj_recibo.VALOR_PENDIENTE  = Convert.ToDecimal(txt_monto_cuota.Text) - Convert.ToDecimal(txt_valor_a_pagar.Text);
            }

            obj_detalle.NUMERO_CUOTA = Convert.ToInt32(txt_no_cuota.Text);
            obj_detalle.ID_FACTURA   = Convert.ToInt32(txt_no_factura.Text);
            S_Factura.Cobrar_Cuota(obj_detalle);

            //insertar recibo
            obj_recibo.ANULADO_POR = "";
            obj_recibo.CREADO_POR  = S_Utilidades.Datos_Usuario.USUARIO;
            int ID_FACTURA     = Convert.ToInt32(txt_no_factura.Text);
            var obj_encabezado = db.ENCABEZADO_CUOTAS.Where(a => a.ID_FACTURA == ID_FACTURA).Single();

            obj_recibo.CANTIDAD_CUOTAS = obj_encabezado.CANTIADA_CUOTA;
            obj_recibo.CUOTA_COBRADA   = Convert.ToInt32(txt_no_cuota.Text);
            obj_recibo.ESTADO          = "V";
            obj_recibo.FECHA_ANULADO   = "";
            obj_recibo.FECHA_CREADO    = DateTime.Now;
            obj_recibo.ID_FACTURA      = ID_FACTURA;
            var obj_fact = db.FACTURAS.Where(f => f.ID_FACTURA == ID_FACTURA).Single();

            obj_recibo.NOTA_ANULACION = "";
            obj_recibo.VALOR_CUOTA    = Convert.ToDecimal(txt_monto_cuota.Text);
            S_Factura.Insertar_Recibo_Cobros(obj_recibo);

            //actualizar monto factura
            obj_factura.ID_FACTURA = ID_FACTURA;
            S_Factura.Actualizar_Montos_Factura(obj_factura);
        }
Exemple #4
0
        public void Recibir_Datos(FACTURAS obj)
        {
            using (var db = new BD_JSYSEntities())
            {
                //factura
                var obj_factura = db.FACTURAS.Find(obj.ID_FACTURA);
                txt_numero_factura.Text   = obj_factura.ID_FACTURA.ToString();
                txt_observacion.Text      = obj_factura.OBSERVACION;
                txt_total.Text            = obj_factura.MONTO_TOTAL.ToString("N2");
                cb_cliente.SelectedValue  = obj_factura.REFERENCIA;
                cb_cobrador.SelectedValue = obj_factura.ID_COBRADOR;
                cb_estado.SelectedValue   = obj_factura.ID_ESTADO;
                cb_numero_loteria.Text    = obj_factura.NUMERO_LOTERIA;
                txt_monto_pendiente.Text  = obj_factura.MONTO_PENDIENTE.ToString("N2");
                txt_garantia_1.Text       = obj_factura.GARANTIA1;
                txt_garantia_2.Text       = obj_factura.GARANTIA2;
                txt_garantia_3.Text       = obj_factura.GARANTIA3;
                txt_garantia_4.Text       = obj_factura.GARANTIA4;
                txt_garantia_5.Text       = obj_factura.GARANTIA5;
                txt_garantia_6.Text       = obj_factura.GARANTIA6;
                txt_garantia_7.Text       = obj_factura.GARANTIA7;
                txt_monto_pagado.Text     = obj_factura.MONTO_PAGADO.ToString("N2");
                txt_descuento.Text        = obj_factura.MONTO_DESCONTADO == null ? "0" : ((decimal)(obj_factura.MONTO_DESCONTADO)).ToString("N2");
                cb_ruta.Text = obj_factura.RUTA;

                if (cb_estado.Text != "Activo")
                {
                    cb_estado.Enabled       = false;
                    txt_observacion.Enabled = false;
                    btn_guardar.Enabled     = false;
                    groupBox1.Enabled       = false;
                    groupBox2.Enabled       = false;
                    groupBox3.Enabled       = false;
                    groupBox4.Enabled       = false;
                    groupBox6.Enabled       = false;
                    groupBox7.Enabled       = false;
                    cb_ruta.Enabled         = false;
                }

                groupBox6.Enabled = false;

                //encabezado cuotas
                var encabezado = db.ENCABEZADO_CUOTAS.Where(e => e.ID_FACTURA == obj_factura.ID_FACTURA).Single();
                cb_modo_calculo.Text        = encabezado.MODO_CALCULO;
                txt_cantidad_cuota.Text     = encabezado.CANTIADA_CUOTA.ToString();
                dt_fecha_primera_cuota.Text = encabezado.FECHA_PRIMERA_CUOTA.ToString();

                //detalle cuotas
                List <E_Detalles_Cuota> Lista_Cuotas = S_Factura.Listar_Detalles_Cuotas("A.ID_FACTURA=" + obj_factura.ID_FACTURA + " AND A.RE_CALCULADO='NO'");
                dg_detalle_cuotas.Rows.Clear();
                foreach (E_Detalles_Cuota p in Lista_Cuotas)
                {
                    dg_detalle_cuotas.Rows.Add(p.NUMERO_CUOTA, p.FECHA.ToString("dd/MM/yyyy"), p.MONTO_CUOTA);
                }
                dg_detalle_cuotas.DataSource = null;
            }
        }
Exemple #5
0
        public void Imprimir()
        {
            Reportes.Rep_Factura report = new Reportes.Rep_Factura();
            BD_JSYSEntities      db     = new BD_JSYSEntities();
            var id_factura = db.FACTURAS.Where(r => r.CREADO_POR == S_Utilidades.Datos_Usuario.USUARIO).Max(r => r.ID_FACTURA);

            report.FilterString = "([ID_FACTURA]= " + id_factura + ")";
            ReportPrintTool tool = new ReportPrintTool(report);

            tool.ShowPreview();
        }
Exemple #6
0
 public void Recibir_Datos(USUARIOS obj)
 {
     using (var db = new BD_JSYSEntities())
     {
         var obj_usuario = db.USUARIOS.Find(obj.ID_USUARIO);
         Txt_ID.Text      = obj_usuario.ID_USUARIO.ToString();
         Txt_Nombre.Text  = obj_usuario.NOMBRE;
         Txt_Usuario.Text = obj_usuario.USUARIO;
         Txt_Clave.Text   = S_Utilidades.Desencriptar_Clave(obj_usuario.CLAVE);
         Cb_Estado.Text   = obj_usuario.ESTADO == "A" ? "Activo" : "Inactivo";
         Cb_Sexo.Text     = obj_usuario.SEXO == "M" ? "Masculino" : "Femenino";
         cb_tipo.Text     = obj_usuario.TIPO;
     }
 }
Exemple #7
0
 public void login()
 {
     try
     {
         if (S_Usuario.Listar_Usuario("(USUARIO='" + txt_usuario.Text.Trim() + "' AND CLAVE='" + S_Utilidades.Encriptar_Clave(txt_clave.Text.Trim()) + "') AND ESTADO = 'A'").Count >= 1)
         {
             S_Utilidades.Datos_Usuario.USUARIO = txt_usuario.Text.Trim();
             BD_JSYSEntities db          = new BD_JSYSEntities();
             var             obj_usuario = db.USUARIOS.Where(u => u.USUARIO == txt_usuario.Text).Single();
             S_Utilidades.Datos_Usuario.ID_USUARIO = obj_usuario.ID_USUARIO;
             Response.Redirect("Principal.aspx");
         }
         else
         {
             lbl_mensaje.Text = "Clave de Usuario es Incorrecta, O el Usuario esta Inactivo";
         }
     }
     catch
     {
     }
 }
Exemple #8
0
        protected void btn_cobrar_Click(object sender, EventArgs e)
        {
            if (ch_pago_total.Checked == false && (txt_valor_a_pagar.Text == "" || Convert.ToDecimal(txt_valor_a_pagar.Text) <= 0))
            {
                lbl_error.Text = "Formato de Valor Incorrecto";
                return;
            }

            try
            {
                BD_JSYSEntities db = new BD_JSYSEntities();

                Actualizar_Montos();
                var ultimo_recibo = db.RECIBOS_COBRADOS.Where(r => r.CREADO_POR == S_Utilidades.Datos_Usuario.USUARIO).Max(r => r.ID_RECIBO);
                S_Utilidades.Datos_Entidades.ID_RECIBO = ultimo_recibo;
                Response.Redirect("Visor_Reporte.aspx");
            }
            catch
            {
            }
        }
Exemple #9
0
 public void Recibir_Datos()
 {
     using (var db = new BD_JSYSEntities())
     {
         var obj_empresa = db.EMPRESA.Single();
         txt_celular.Text                     = obj_empresa.CELULAR;
         txt_direccion.Text                   = obj_empresa.DIRECCION;
         txt_email.Text                       = obj_empresa.EMAIL;
         txt_eslogan.Text                     = obj_empresa.ESLOGAN;
         txt_fax.Text                         = obj_empresa.FAX;
         Txt_ID.Text                          = obj_empresa.ID_EMPRESA.ToString();
         txt_impresora.Text                   = obj_empresa.IMPRESORA;
         txt_nombre.Text                      = obj_empresa.NOMBRE;
         txt_numero_identificacion.Text       = obj_empresa.NUMERO_IDENTIFICACION;
         txt_pagina_web.Text                  = obj_empresa.PAGINA_WEB;
         txt_telefono.Text                    = obj_empresa.TELEFONO;
         cb_tipo_identificacion.SelectedValue = obj_empresa.ID_TIPO_IDENTIFICACION;
         byte[] Logo = (byte[])obj_empresa.LOGO;
         System.IO.MemoryStream ms = new MemoryStream(Logo);
         pb_imagen.Image = Image.FromStream(ms);
     }
 }
Exemple #10
0
        private void btn_guardar_Click(object sender, EventArgs e)
        {
            if (txt_referencia.Text.Equals(""))
            {
                S_Utilidades.Mensaje_Informacion("La Referencia o Código Es Obligatorio");
                txt_referencia.Focus();
                return;
            }

            if (txt_referencia.Enabled == true)
            {
                BD_JSYSEntities db  = new BD_JSYSEntities();
                var             obj = db.CLIENTES.Where(r => r.REFERENCIA == txt_referencia.Text.Trim()).ToList();
                if (obj.Count > 0)
                {
                    S_Utilidades.Mensaje_Informacion("Esta Referencia ya existe, Intente con otra Diferente");
                    return;
                }
            }

            if (txt_nombre.Text.Equals(""))
            {
                S_Utilidades.Mensaje_Informacion("El Nombre Es Obligatorio");
                txt_nombre.Focus();
                return;
            }

            if (cb_tipo_identificacion.Text.Equals(""))
            {
                S_Utilidades.Mensaje_Informacion("El Tipo de Identificación Es Obligatorio");
                cb_tipo_identificacion.Focus();
                return;
            }

            if (Convert.ToInt32(cb_tipo_identificacion.SelectedValue) != 5 && txt_numero_identificacion.Text.Equals(""))
            {
                S_Utilidades.Mensaje_Informacion("El Número de Identificación es Obligatorio");
                txt_numero_identificacion.Focus();
                return;
            }

            if (txt_direccion.Text.Equals(""))
            {
                S_Utilidades.Mensaje_Informacion("La Dirección Es Obligatoria");
                txt_direccion.Focus();
                return;
            }

            if (cb_estado.Text.Equals(""))
            {
                S_Utilidades.Mensaje_Informacion("El Estado Es Obligatorio");
                cb_estado.Focus();
                return;
            }

            if (!txt_telefono.Text.Equals("   -   -"))
            {
                if (txt_telefono.Text.Length < 12)
                {
                    S_Utilidades.Mensaje_Informacion("El Número de Teléfono Esta Incompleto");
                    txt_telefono.Focus();
                    return;
                }
            }

            if (!txt_celular.Text.Equals("   -   -"))
            {
                if (txt_celular.Text.Length < 12)
                {
                    S_Utilidades.Mensaje_Informacion("El Número de Celular Esta Incompleto");
                    txt_celular.Focus();
                    return;
                }
            }

            if (!txt_email.Text.Trim().Equals(""))
            {
                if (!S_Utilidades.Validar_Formato_Correo(txt_email.Text))
                {
                    S_Utilidades.Mensaje_Informacion("El Formato del E-Mail es Incorrecto");
                    txt_email.Focus();
                    return;
                }
            }

            if (!txt_telefono_conyugue.Text.Equals("   -   -"))
            {
                if (txt_telefono_conyugue.Text.Length < 12)
                {
                    S_Utilidades.Mensaje_Informacion("El Número de Teléfono del Conyugue Esta Incompleto");
                    txt_telefono_conyugue.Focus();
                    return;
                }
            }
            if (!txt_telefono_referencia1.Text.Equals("   -   -"))
            {
                if (txt_telefono_referencia1.Text.Length < 12)
                {
                    S_Utilidades.Mensaje_Informacion("El Número de Teléfono de la Referencia 1 Esta Incompleto");
                    txt_telefono_referencia1.Focus();
                    return;
                }
            }

            if (!txt_telefono_referencia2.Text.Equals("   -   -"))
            {
                if (txt_telefono_referencia2.Text.Length < 12)
                {
                    S_Utilidades.Mensaje_Informacion("El Número de Teléfono de la Referencia 2 Esta Incompleto");
                    txt_telefono_referencia2.Focus();
                    return;
                }
            }

            Insertar();
        }
Exemple #11
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);
            }
        }
Exemple #12
0
        public void Insertar()
        {
            try
            {
                //insertar_factura
                FACTURAS obj_factura = new FACTURAS();
                obj_factura.CREADO_POR          = S_Utilidades.Datos_Usuario.USUARIO;
                obj_factura.CAMBIO_ESTADO_POR   = "";
                obj_factura.FECHA               = dt_fecha_factura.Value;
                obj_factura.FECHA_CAMBIO_ESTADO = "";
                obj_factura.FECHA_CREADO        = DateTime.Now;
                obj_factura.REFERENCIA          = cb_cliente.SelectedValue.ToString();
                obj_factura.ID_COBRADOR         = Convert.ToInt32(cb_cobrador.SelectedValue);
                obj_factura.ID_ESTADO           = Convert.ToInt32(cb_estado.SelectedValue);
                obj_factura.MONTO_PAGADO        = 0;
                obj_factura.MONTO_PENDIENTE     = Convert.ToDecimal(txt_total.Text);
                obj_factura.MONTO_TOTAL         = Convert.ToDecimal(txt_total.Text);
                obj_factura.NOTA_CAMBIO_ESTADO  = "";
                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.MONTO_DESCONTADO    = 0;
                obj_factura.RUTA = cb_ruta.Text;
                S_Factura.Insertar_Factura(obj_factura);

                BD_JSYSEntities db = new BD_JSYSEntities();

                //obtener ultimo numero de factura
                int id_factura = db.FACTURAS.Max(m => m.ID_FACTURA);


                //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          = id_factura;
                obj_encabezado_cuota.MODO_CALCULO        = cb_modo_calculo.Text;
                obj_encabezado_cuota.FECHA_PRIMERA_CUOTA = dt_fecha_primera_cuota.Value;
                S_Factura.Insertar_Encabezado_Cuota(obj_encabezado_cuota);

                //insertar detalles cuotas
                foreach (DataGridViewRow row in dg_detalle_cuotas.Rows)
                {
                    DETALLES_CUOTAS obj_detalle_cuotas = new DETALLES_CUOTAS();

                    obj_detalle_cuotas.ID_FACTURA      = id_factura;
                    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);
            }
        }