Ejemplo n.º 1
0
        public cp_retencion_Info get_info_factura(int IdEmpresa, int IdTipoCbte_Ogiro, decimal IdCbteCble_Ogiro)
        {
            try
            {
                // ultima retencion no usada
                info_orden_giro = o_data_orden_giro.get_info_retencion(IdEmpresa, IdTipoCbte_Ogiro, IdCbteCble_Ogiro);
                tb_sucursal_Data data_sucursal = new tb_sucursal_Data();
                var sucursal = data_sucursal.get_info(info_orden_giro.IdEmpresa, info_orden_giro.IdSucursal);

                info_retencion.IdSucursal_cxp     = info_orden_giro.IdSucursal_cxp;
                info_retencion.IdEmpresa          = info_orden_giro.IdEmpresa;
                info_retencion.IdProveedor        = info_orden_giro.IdProveedor;
                info_retencion.IdSucursal         = info_orden_giro.IdSucursal;
                info_retencion.serie1             = sucursal.Su_CodigoEstablecimiento;
                info_retencion.serie2             = "001";
                info_retencion.NumRetencion       = info_talonario.NumDocumento;
                info_retencion.IdTipoCbte_Ogiro   = info_orden_giro.IdTipoCbte_Ogiro;
                info_retencion.IdCbteCble_Ogiro   = info_orden_giro.IdCbteCble_Ogiro;
                info_retencion.co_baseImponible   = info_orden_giro.co_total;
                info_retencion.co_serie           = info_orden_giro.co_serie;
                info_retencion.co_factura         = info_orden_giro.co_factura;
                info_retencion.co_subtotal_iva    = info_orden_giro.co_subtotal_iva;
                info_retencion.co_valoriva        = info_orden_giro.co_valoriva;
                info_retencion.co_subtotal_siniva = info_orden_giro.co_subtotal_siniva;
                info_retencion.Descripcion        = info_orden_giro.Descripcion;
                info_retencion.pe_razonSocial     = info_orden_giro.info_proveedor.info_persona.pe_razonSocial;
                info_retencion.observacion        = info_orden_giro.co_observacion;
                info_retencion.fecha = info_orden_giro.co_FechaFactura;

                return(info_retencion);
            }
            catch (Exception)
            {
                throw;
            }
        }
Ejemplo n.º 2
0
        public bool guardarDB(cp_orden_giro_Info info)
        {
            try
            {
                var prov = bus_proveedor.get_info(info.IdEmpresa, info.IdProveedor);
                info.co_baseImponible           = info.co_subtotal_iva + info.co_subtotal_siniva;
                info.info_comrobante.IdEmpresa  = info.IdEmpresa;
                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;

                if (prov != null)
                {
                    if (info.co_observacion == null)
                    {
                        info.co_observacion = "";
                    }
                    info.info_comrobante.cb_Observacion = "Prov: " + prov.info_persona.pe_nombreCompleto + " FAC# " + info.co_serie + "-" + info.co_factura + " OBS: " + info.co_observacion;
                }
                else
                {
                    info.info_comrobante.cb_Observacion = info.co_observacion;
                }

                info.co_valorpagar       = info.co_total;
                info.co_FechaFactura_vct = info.co_FechaFactura_vct;
                info.co_fechaOg          = info.co_FechaFactura;
                if (bus_contabilidad.guardarDB(info.info_comrobante))
                {
                    data = new cp_orden_giro_Data();
                    info.IdTipoCbte_Ogiro = info.info_comrobante.IdTipoCbte;
                    info.IdCbteCble_Ogiro = info.info_comrobante.IdCbteCble;
                    data.guardarDB(info);
                }

                if (info.info_forma_pago.codigo_pago_sri != null)
                {
                    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);
                }


                if (info.info_retencion != null)
                {
                    if (info.info_retencion.detalle.Count() > 0)
                    {
                        tb_sucursal_Data data_sucursal = new tb_sucursal_Data();
                        var sucursal = data_sucursal.get_info(info.IdEmpresa, info.IdSucursal);
                        info.info_retencion.IdSucursal         = info.IdSucursal;
                        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.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.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 (bus_retencion.guardarDB(info.info_retencion))
                        {
                        }
                    }
                }


                return(true);
            }
            catch (Exception ex)
            {
                tb_LogError_Bus LogData = new tb_LogError_Bus();
                LogData.GuardarDB(new tb_LogError_Info {
                    Descripcion = ex.Message, InnerException = ex.InnerException == null ? null : ex.InnerException.Message, Clase = "cp_orden_giro_Bus", Metodo = "guardarDB", IdUsuario = info.IdUsuario
                });
                return(false);
            }
        }
Ejemplo n.º 3
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;
                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_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)
                    {
                        tb_sucursal_Data data_sucursal = new tb_sucursal_Data();
                        var sucursal = data_sucursal.get_info(info.IdEmpresa, info.IdSucursal);

                        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();
                        //if (info.info_retencion.serie1 == null)
                        //{
                        //    info.info_retencion.CodDocumentoTipo = cl_enumeradores.eTipoDocumento.RETEN.ToString();
                        //    info.info_retencion.serie1 = sucursal.Su_CodigoEstablecimiento;
                        //    info.info_retencion.serie2 = "001";
                        //}
                        //else
                        //{
                        //    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.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 ex)
            {
                tb_LogError_Bus LogData = new tb_LogError_Bus();
                LogData.GuardarDB(new tb_LogError_Info {
                    Descripcion = ex.Message, InnerException = ex.InnerException == null ? null : ex.InnerException.Message, Clase = "cp_orden_giro_Bus", Metodo = "modificarDB", IdUsuario = info.IdUsuario
                });
                return(false);
            }
        }
Ejemplo n.º 4
0
        public bool guardarDB(cp_orden_giro_Info info)
        {
            try
            {
                var prov = bus_proveedor.get_info(info.IdEmpresa, info.IdProveedor);
                info.co_baseImponible           = info.co_subtotal_iva + info.co_subtotal_siniva;
                info.info_comrobante.IdEmpresa  = info.IdEmpresa;
                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;
                if (prov != null)
                {
                    if (info.co_observacion == null)
                    {
                        info.co_observacion = "";
                    }
                    info.info_comrobante.cb_Observacion = "Prov: " + prov.info_persona.pe_nombreCompleto + " FAC# " + info.co_serie + "-" + info.co_factura + " OBS: " + info.co_observacion;
                }
                else
                {
                    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_vct;
                }
                info.co_fechaOg = info.co_FechaFactura;
                if (bus_contabilidad.guardarDB(info.info_comrobante))
                {
                    data = new cp_orden_giro_Data();
                    info.IdTipoCbte_Ogiro = info.info_comrobante.IdTipoCbte;
                    info.IdCbteCble_Ogiro = info.info_comrobante.IdCbteCble;
                    data.guardarDB(info);
                }

                if (info.info_cuota.Dias_plazo != 0
                    & info.info_cuota.Total_a_pagar != 0
                    & info.info_cuota.lst_cuotas_det.Count() > 0
                    )
                {
                    bus_cuotas = new cp_cuotas_x_doc_Bus();
                    info.info_cuota.IdEmpresa   = info.IdEmpresa;
                    info.info_cuota.IdTipoCbte  = info.info_comrobante.IdTipoCbte;
                    info.info_cuota.IdCbteCble  = info.info_comrobante.IdCbteCble;
                    info.info_cuota.Observacion = info.co_observacion;
                    info.info_cuota.Estado      = true;
                    if (info.info_cuota.Fecha_inicio.Year == 1)
                    {
                        info.info_cuota.Fecha_inicio = info.co_FechaFactura;
                    }
                    bus_cuotas.GuardarDB(info.info_cuota);
                }


                if (info.info_forma_pago.codigo_pago_sri != null)
                {
                    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);
                }


                if (info.info_retencion != null)
                {
                    if (info.info_retencion.detalle.Count() > 0)
                    {
                        tb_sucursal_Data data_sucursal = new tb_sucursal_Data();
                        var sucursal = data_sucursal.get_info(info.IdEmpresa, info.IdSucursal);
                        info.info_retencion.IdSucursal         = info.IdSucursal;
                        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.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              = sucursal.Su_CodigoEstablecimiento;
                        info.info_retencion.serie2              = "001";
                        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 (bus_retencion.guardarDB(info.info_retencion))
                        {
                        }
                    }
                }


                return(true);
            }
            catch (Exception)
            {
                throw;
            }
        }