예제 #1
0
        public bool modificarDB(cp_orden_giro_Info info)
        {
            try
            {
                info.co_baseImponible           = info.co_subtotal_iva + info.co_subtotal_siniva;
                info.info_comrobante.IdEmpresa  = info.IdEmpresa;
                info.info_comrobante.IdTipoCbte = info.IdTipoCbte_Ogiro;
                info.info_comrobante.IdCbteCble = info.IdCbteCble_Ogiro;
                info.info_comrobante.cb_Fecha   = (DateTime)info.co_FechaContabilizacion;
                info.info_comrobante.cb_Anio    = info.info_comrobante.cb_Fecha.Year;
                info.info_comrobante.cb_mes     = info.info_comrobante.cb_Fecha.Month;
                info.info_comrobante.cb_Estado  = "A";
                info.info_comrobante.IdPeriodo  = Convert.ToInt32(info.info_comrobante.cb_Fecha.Year.ToString() + info.info_comrobante.cb_Fecha.Month.ToString().PadLeft(2, '0'));
                info.info_comrobante.IdEmpresa  = info.IdEmpresa;

                info.info_comrobante.cb_Observacion = info.co_observacion;

                info.co_valorpagar = info.co_total;
                if (info.info_cuota.Total_a_pagar == 0)
                {
                    info.co_FechaFactura_vct = info.co_FechaFactura;
                }
                else
                {
                    info.co_FechaFactura_vct = info.co_FechaFactura.AddDays(info.co_plazo);
                }
                info.co_fechaOg = info.co_FechaFactura;
                if (bus_contabilidad.modificarDB(info.info_comrobante))
                {
                    data = new cp_orden_giro_Data();
                    info.IdTipoCbte_Ogiro = info.IdTipoCbte_Ogiro;
                    info.IdCbteCble_Ogiro = info.IdCbteCble_Ogiro;
                    data.modificarDB(info);
                }

                if (info.info_cuota.Dias_plazo != 0
                    & info.info_cuota.Total_a_pagar != 0
                    & info.info_cuota.lst_cuotas_det.Count() > 0
                    )
                {
                    info.info_cuota.IdEmpresa   = info.IdEmpresa;
                    info.info_cuota.IdTipoCbte  = info.IdTipoCbte_Ogiro;
                    info.info_cuota.IdCbteCble  = info.IdCbteCble_Ogiro;
                    info.info_cuota.Observacion = info.co_observacion;
                    info.info_cuota.Estado      = true;
                    bus_cuotas.ModificarDB(info.info_cuota);
                }
                if (info.info_forma_pago.codigo_pago_sri != "" && info.info_forma_pago.codigo_pago_sri != null)
                {
                    bus_forma_pago.EliminarDB(info.IdEmpresa, info.IdTipoCbte_Ogiro, info.IdCbteCble_Ogiro);

                    info.info_forma_pago.IdEmpresa        = info.IdEmpresa;
                    info.info_forma_pago.IdTipoCbte_Ogiro = info.IdTipoCbte_Ogiro;
                    info.info_forma_pago.IdCbteCble_Ogiro = info.IdCbteCble_Ogiro;
                    info.info_forma_pago.formas_pago_sri  = "";

                    bus_forma_pago.GuardarDB(info.info_forma_pago);
                }
                return(true);
            }
            catch (Exception)
            {
                throw;
            }
        }
예제 #2
0
        public bool modificarDB(cp_orden_giro_Info info)
        {
            try
            {
                info.co_baseImponible           = info.co_subtotal_iva + info.co_subtotal_siniva;
                info.info_comrobante.IdEmpresa  = info.IdEmpresa;
                info.info_comrobante.IdTipoCbte = info.IdTipoCbte_Ogiro;
                info.info_comrobante.IdCbteCble = info.IdCbteCble_Ogiro;
                info.info_comrobante.cb_Fecha   = (DateTime)info.co_FechaContabilizacion;
                info.info_comrobante.IdSucursal = info.IdSucursal;
                info.info_comrobante.cb_Estado  = "A";
                info.info_comrobante.IdPeriodo  = Convert.ToInt32(info.info_comrobante.cb_Fecha.Year.ToString() + info.info_comrobante.cb_Fecha.Month.ToString().PadLeft(2, '0'));
                info.info_comrobante.IdEmpresa  = info.IdEmpresa;

                info.info_comrobante.cb_Observacion = info.co_observacion;

                info.co_valorpagar = info.co_total;
                if (info.info_cuota.Total_a_pagar == 0)
                {
                    info.co_FechaFactura_vct = info.co_FechaFactura;
                }
                else
                {
                    info.co_FechaFactura_vct = info.co_FechaFactura.AddDays(info.co_plazo);
                }
                info.co_fechaOg = info.co_FechaFactura;
                if (bus_contabilidad.modificarDB(info.info_comrobante))
                {
                    data = new cp_orden_giro_Data();
                    info.IdTipoCbte_Ogiro = info.IdTipoCbte_Ogiro;
                    info.IdCbteCble_Ogiro = info.IdCbteCble_Ogiro;
                    data.modificarDB(info);
                }

                if (info.info_cuota.Dias_plazo != 0
                    & info.info_cuota.Total_a_pagar != 0
                    & info.info_cuota.lst_cuotas_det.Count() > 0
                    )
                {
                    info.info_cuota.IdEmpresa   = info.IdEmpresa;
                    info.info_cuota.IdTipoCbte  = info.IdTipoCbte_Ogiro;
                    info.info_cuota.IdCbteCble  = info.IdCbteCble_Ogiro;
                    info.info_cuota.Observacion = info.co_observacion;
                    info.info_cuota.Estado      = true;
                    bus_cuotas.ModificarDB(info.info_cuota);
                }
                if (info.info_forma_pago.codigo_pago_sri != "" && info.info_forma_pago.codigo_pago_sri != null)
                {
                    bus_forma_pago.EliminarDB(info.IdEmpresa, info.IdTipoCbte_Ogiro, info.IdCbteCble_Ogiro);

                    info.info_forma_pago.IdEmpresa        = info.IdEmpresa;
                    info.info_forma_pago.IdTipoCbte_Ogiro = info.IdTipoCbte_Ogiro;
                    info.info_forma_pago.IdCbteCble_Ogiro = info.IdCbteCble_Ogiro;
                    info.info_forma_pago.formas_pago_sri  = "";

                    bus_forma_pago.GuardarDB(info.info_forma_pago);
                }

                #region Modificar retencion y diario rtencion

                if (info.info_retencion != null)
                {
                    if (info.info_retencion.detalle.Count() > 0)
                    {
                        info.info_retencion.IdEmpresa          = info.IdEmpresa;
                        info.info_retencion.IdProveedor        = info.IdProveedor;
                        info.info_retencion.IdEmpresa_Ogiro    = info.IdEmpresa;
                        info.info_retencion.IdCbteCble_Ogiro   = info.IdCbteCble_Ogiro;
                        info.info_retencion.IdTipoCbte_Ogiro   = info.IdTipoCbte_Ogiro;
                        info.info_retencion.Fecha_Autorizacion = info.fecha_autorizacion;
                        info.info_retencion.IdSucursal         = info.IdSucursal;
                        info.info_retencion.Descripcion        = info.Descripcion;
                        info.info_retencion.Estado             = "A";
                        info.info_retencion.fecha               = info.co_fechaOg;
                        info.info_retencion.CodDocumentoTipo    = cl_enumeradores.eTipoDocumento.RETEN.ToString();
                        info.info_retencion.serie1              = info.info_retencion.serie1;
                        info.info_retencion.serie2              = info.info_retencion.serie2;
                        info.info_retencion.re_EstaImpresa      = "N";
                        info.info_retencion.re_Tiene_RFuente    = "S";
                        info.info_retencion.re_Tiene_RTiva      = "S";
                        info.info_retencion.IdUsuario           = info.IdUsuario;
                        info.info_retencion.observacion         = "Retencion de factura #" + info.co_serie + '-' + info.co_factura;
                        info.info_retencion.Fecha_Transac       = Convert.ToDateTime(info.Fecha_Transac);
                        info.info_retencion.aprobada_enviar_sri = false;
                        if (info.info_retencion.IdRetencion != 0)
                        {
                            if (bus_retencion.modificarDB(info.info_retencion))
                            {
                            }
                        }
                        else
                        if (bus_retencion.guardarDB(info.info_retencion))
                        {
                        }
                    }
                }
                #endregion
                return(true);
            }
            catch (Exception)
            {
                throw;
            }
        }