예제 #1
0
        public bool guardarDB(cp_retencion_Info info)
        {
            try
            {
                odata = new cp_retencion_Data();
                var prov = bus_proveedor.get_info(info.IdEmpresa, info.IdProveedor);
                info.IdEmpresa_Ogiro            = info.IdEmpresa;
                info.CodDocumentoTipo           = cl_enumeradores.eTipoDocumento.RETEN.ToString();
                info.info_comprobante.IdEmpresa = info.IdEmpresa;
                info.info_comprobante.cb_Fecha  = (DateTime)info.fecha;

                //REVISA CARLOS FALTA IDSUCURSAL
                info_orden_giro = o_data_orden_giro.get_info_retencion(info.IdEmpresa, Convert.ToInt32(info.IdTipoCbte_Ogiro), Convert.ToInt32(info.IdCbteCble_Ogiro));
                info.info_comprobante.cb_Estado = "A";
                info.info_comprobante.IdPeriodo = Convert.ToInt32(info.info_comprobante.cb_Fecha.Year.ToString() + info.info_comprobante.cb_Fecha.Month.ToString().PadLeft(2, '0'));
                info.info_comprobante.IdEmpresa = info.IdEmpresa;

                info.info_comprobante.IdSucursal = info.IdSucursal;

                if (prov != null)
                {
                    if (info.observacion == null)
                    {
                        info.observacion = "";
                    }

                    info.info_comprobante.cb_Observacion = "Prov: " + prov.info_persona.pe_nombreCompleto + " FAC# " + info.co_serie + "-" + info.co_factura + " OBS: " + info.observacion;
                }
                else
                {
                    info.info_comprobante.cb_Observacion = info.observacion;
                }

                if (odata.guardarDB(info))
                {
                    return(true);
                }
                else
                {
                    return(false);
                }
            }
            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_retencion_Info_Bus", Metodo = "guardarDB", IdUsuario = info.IdUsuario
                });
                return(false);
            }
        }
예제 #2
0
        public bool Generar_OP_x_orden_giro(cp_orden_giro_Info info)
        {
            try
            {
                info_parametro = bus_parametro.get_info(info.IdEmpresa);
                bus_proveedor  = new cp_proveedor_Bus();
                decimal IdPersona = bus_proveedor.get_info(info.IdEmpresa, info.IdProveedor).IdPersona;
                cp_orden_pago_tipo_x_empresa_Info info_tipo_op = new cp_orden_pago_tipo_x_empresa_Info();
                cp_orden_pago_tipo_x_empresa_Data op_tipo_data = new cp_orden_pago_tipo_x_empresa_Data();
                info_tipo_op = op_tipo_data.get_info(info.IdEmpresa, "FACT_PROVEE");
                cp_orden_pago_Info info_op = new cp_orden_pago_Info();
                bus_op                     = new cp_orden_pago_Bus();
                info_op.IdEmpresa          = info.IdEmpresa;
                info_op.IdTipo_op          = info_tipo_op.IdTipo_op;
                info_op.Observacion        = info.co_observacion;
                info_op.IdTipo_Persona     = "PROVEE";
                info_op.IdPersona          = IdPersona;
                info_op.IdEntidad          = info.IdProveedor;
                info_op.IdEstadoAprobacion = info_tipo_op.IdEstadoAprobacion;
                info_op.IdFormaPago        = "CHEQUE";
                info_op.Estado             = "A";
                info_op.IdSucursal         = info.IdSucursal;
                info_op.Fecha              = DateTime.Now.Date;
                info_op.IdUsuario          = info.IdUsuario;

                // crear detalle de op
                cp_orden_pago_det_Info info_op_det = new cp_orden_pago_det_Info();
                info_op_det.IdEmpresa          = info.IdEmpresa;
                info_op_det.IdEmpresa_cxp      = info.IdEmpresa;
                info_op_det.Secuencia          = 1;
                info_op_det.IdCbteCble_cxp     = info.IdCbteCble_Ogiro;
                info_op_det.IdTipoCbte_cxp     = info.IdTipoCbte_Ogiro;
                info_op_det.Valor_a_pagar      = info.co_valorpagar;
                info_op_det.Referencia         = info.co_observacion;
                info_op_det.IdFormaPago        = "CHEQUE";
                info_op_det.Fecha_Pago         = DateTime.Now.Date;
                info_op_det.IdEstadoAprobacion = info_tipo_op.IdEstadoAprobacion;
                info_op.detalle.Add(info_op_det);
                bus_op.guardar_op_x_fpDB(info_op);
                return(true);
            }
            catch (Exception)
            {
                throw;
            }
        }
예제 #3
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.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;
                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);
                }
                return(true);
            }
            catch (Exception e)
            {
                throw;
            }
        }
예제 #4
0
        public Boolean guardarDB(cp_orden_pago_Info info)
        {
            var ObservacionComprobante = "";

            try
            {
                if (cl_enumeradores.eTipoPersona.CLIENTE.ToString() == info.IdTipo_Persona)
                {
                    info_cliente   = bus_cliente.get_info(info.IdEmpresa, Convert.ToInt32(info.IdEntidad));
                    info.IdPersona = info_cliente.IdPersona;

                    ObservacionComprobante = "Orden pago a cliente: " + ((info_cliente.info_persona.pe_nombreCompleto) == null ? "" : info_cliente.info_persona.pe_nombreCompleto + " OBS: " + info.Observacion);
                }
                if (cl_enumeradores.eTipoPersona.EMPLEA.ToString() == info.IdTipo_Persona)
                {
                    info_empleado  = bus_empleado.get_info(info.IdEmpresa, Convert.ToInt32(info.IdEntidad));
                    info.IdPersona = info_empleado.IdPersona;

                    ObservacionComprobante = "Orden pago a empleado: " + ((info_empleado.info_persona.pe_nombreCompleto) == null ? "" : info_empleado.info_persona.pe_nombreCompleto + " OBS: " + info.Observacion);
                }
                if (cl_enumeradores.eTipoPersona.PERSONA.ToString() == info.IdTipo_Persona)
                {
                    info_persona   = bus_persona.get_info(Convert.ToInt32(info.IdEntidad));
                    info.IdPersona = info_persona.IdPersona;

                    ObservacionComprobante = "Orden pago a persona: " + ((info_persona.pe_nombreCompleto) == null ? "" : info_persona.pe_nombreCompleto + " OBS: " + info.Observacion);
                }
                if (cl_enumeradores.eTipoPersona.PROVEE.ToString() == info.IdTipo_Persona)
                {
                    info_proveedor = bus_proveedor.get_info(info.IdEmpresa, Convert.ToInt32(info.IdEntidad));
                    info.IdPersona = info_proveedor.IdPersona;

                    ObservacionComprobante = "Orden pago a proveedor: " + ((info_proveedor.info_persona.pe_nombreCompleto) == null ? "" : info_proveedor.info_persona.pe_nombreCompleto + " OBS: " + info.Observacion);
                }

                info.info_comprobante.IdEmpresa  = info.IdEmpresa;
                info.info_comprobante.cb_Fecha   = info.Fecha;
                info.info_comprobante.IdSucursal = info.IdSucursal;
                info.info_comprobante.cb_Estado  = "A";
                info.info_comprobante.IdPeriodo  = Convert.ToInt32(info.info_comprobante.cb_Fecha.Year.ToString() + info.info_comprobante.cb_Fecha.Month.ToString().PadLeft(2, '0'));

                if (info_cliente != null || info_empleado != null || info_persona != null || info_proveedor != null)
                {
                    if (info.Observacion == null)
                    {
                        info.Observacion = "";
                    }
                    info.info_comprobante.cb_Observacion = ObservacionComprobante;
                }
                else
                {
                    info.info_comprobante.cb_Observacion = info.Observacion;
                }

                if (bus_contabilidad.guardarDB(info.info_comprobante))
                {
                    oData.guardarDB(info);
                }

                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_pago_Bus", Metodo = "guardarDB", IdUsuario = info.IdUsuario
                });
                return(false);
            }
        }
예제 #5
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);
            }
        }
예제 #6
0
        public bool guardarDB(cp_nota_DebCre_Info info)
        {
            try
            {
                cp_proveedor_Bus bus_proveedor = new cp_proveedor_Bus();
                var prov = bus_proveedor.get_info(info.IdEmpresa, info.IdProveedor);

                info.info_comrobante.IdEmpresa  = info.IdEmpresa;
                info.info_comrobante.IdSucursal = info.IdSucursal;
                info.info_comrobante.cb_Fecha   = (DateTime)info.Fecha_contable;
                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.cn_observacion == null)
                    {
                        info.cn_observacion = "";
                    }
                    info.info_comrobante.cb_Observacion = "Prov: " + prov.info_persona.pe_nombreCompleto + " " + info.cn_observacion;
                }
                else
                {
                    info.info_comrobante.cb_Observacion = info.cn_observacion;
                }
                if (bus_contabilidad.guardarDB(info.info_comrobante))
                {
                    data = new cp_nota_DebCre_Data();
                    info.IdTipoCbte_Nota = info.info_comrobante.IdTipoCbte;
                    info.IdCbteCble_Nota = info.info_comrobante.IdCbteCble;
                    info.Estado          = "A";
                    info.cn_vaCoa        = "N";
                    info.IdTipoNota      = info.IdTipoNota;
                    if (data.guardarDB(info))
                    {
                        if (info.lst_det_canc_op == null)
                        {
                            return(true);
                        }
                        data_cancelacion = new cp_orden_pago_cancelaciones_Data();
                        foreach (var item in info.lst_det_canc_op)
                        {
                            info_cancelacion.IdEmpresa     = info.IdEmpresa;
                            info_cancelacion.Idcancelacion = 0;
                            info_cancelacion.Secuencia     = 1;

                            info_cancelacion.IdEmpresa_op   = info.IdEmpresa;
                            info_cancelacion.IdOrdenPago_op = item.IdOrdenPago_op;
                            info_cancelacion.Secuencia_op   = item.Secuencia_op;

                            info_cancelacion.IdEmpresa_cxp   = info.IdEmpresa;
                            info_cancelacion.IdTipoCbte_cxp  = item.IdTipoCbte_cxp;
                            info_cancelacion.IdCbteCble_cxp  = item.IdCbteCble_cxp;
                            info_cancelacion.IdEmpresa_pago  = info.IdEmpresa;
                            info_cancelacion.IdTipoCbte_pago = info.IdTipoCbte_Nota;
                            info_cancelacion.IdCbteCble_pago = info.IdCbteCble_Nota;
                            info_cancelacion.Observacion     = info.cn_observacion;
                            info_cancelacion.MontoAplicado   = item.MontoAplicado;
                            data_cancelacion.guardarDB(info_cancelacion);
                        }
                    }
                }


                return(true);
            }
            catch (Exception)
            {
                throw;
            }
        }
예제 #7
0
        public bool guardar_importacionDB(cp_nota_DebCre_Info info)
        {
            try
            {
                cp_proveedor_Bus bus_proveedor = new cp_proveedor_Bus();
                var prov          = bus_proveedor.get_info(info.IdEmpresa, info.IdProveedor);
                var cp_parametros = bus_cp_parametro.get_info(info.IdEmpresa);
                info.info_comrobante = new ct_cbtecble_Info();

                ct_cbtecble_Info diario = new ct_cbtecble_Info
                {
                    IdEmpresa       = info.IdEmpresa,
                    IdTipoCbte      = info.IdTipoCbte_Nota,
                    IdCbteCble      = info.IdCbteCble_Nota,
                    cb_Fecha        = info.cn_fecha,
                    cb_Observacion  = info.cn_observacion,
                    IdPeriodo       = Convert.ToInt32(info.cn_fecha.Year.ToString() + info.cn_fecha.Month.ToString().PadLeft(2, '0')),
                    IdSucursal      = info.IdSucursal,
                    cb_FechaTransac = DateTime.Now,

                    cb_Estado = "A"
                };

                if (prov != null)
                {
                    if (info.cn_observacion == null)
                    {
                        info.cn_observacion = "";
                    }
                    diario.cb_Observacion = "Prov: " + prov.info_persona.pe_nombreCompleto + " " + info.cn_observacion;
                }
                else
                {
                    diario.cb_Observacion = info.cn_observacion;
                }

                info.info_comrobante = diario;
                info.info_comrobante.lst_ct_cbtecble_det = new List <ct_cbtecble_det_Info>();

                ct_cbtecble_det_Info diario_det = new ct_cbtecble_det_Info
                {
                    IdEmpresa  = info.IdEmpresa,
                    IdTipoCbte = diario.IdTipoCbte,
                    IdCbteCble = diario.IdCbteCble,
                    secuencia  = 1,
                    IdCtaCble  = prov.IdCtaCble_CXP,
                    dc_Valor   = Math.Round(Convert.ToDouble(info.cn_total), 2, MidpointRounding.AwayFromZero),
                };
                info.info_comrobante.lst_ct_cbtecble_det.Add(diario_det);

                ct_cbtecble_det_Info diario_det_ = new ct_cbtecble_det_Info
                {
                    IdEmpresa  = diario.IdEmpresa,
                    IdTipoCbte = diario.IdTipoCbte,
                    IdCbteCble = diario.IdCbteCble,
                    secuencia  = 2,
                    IdCtaCble  = prov.IdCtaCble_CXP,
                    dc_Valor   = Math.Round(Convert.ToDouble(info.cn_total), 2, MidpointRounding.AwayFromZero) * -1
                };
                info.info_comrobante.lst_ct_cbtecble_det.Add(diario_det_);


                if (bus_contabilidad.guardarDB(info.info_comrobante))
                {
                    info.IdTipoCbte_Nota = info.info_comrobante.IdTipoCbte;
                    info.IdCbteCble_Nota = info.info_comrobante.IdCbteCble;
                    info.Estado          = "A";
                    info.cn_vaCoa        = "N";
                    info.IdTipoNota      = info.IdTipoNota;
                    if (data.guardarDB(info))
                    {
                        return(true);
                    }
                }
                return(false);
            }
            catch (Exception)
            {
                throw;
            }
        }
예제 #8
0
        public Boolean guardarDB(cp_orden_pago_Info info)
        {
            var ObservacionComprobante = "";

            try
            {
                if (cl_enumeradores.eTipoPersona.CLIENTE.ToString() == info.IdTipo_Persona)
                {
                    info_cliente   = bus_cliente.get_info(info.IdEmpresa, Convert.ToInt32(info.IdEntidad));
                    info.IdPersona = info_cliente.IdPersona;

                    ObservacionComprobante = "Orden pago a cliente: " + (info_cliente.info_persona.pe_nombreCompleto) == null ? "" : info_cliente.info_persona.pe_nombreCompleto + " " + info.Observacion;
                }
                if (cl_enumeradores.eTipoPersona.EMPLEA.ToString() == info.IdTipo_Persona)
                {
                    info_empleado  = bus_empleado.get_info(info.IdEmpresa, Convert.ToInt32(info.IdEntidad));
                    info.IdPersona = info_empleado.IdPersona;

                    ObservacionComprobante = "Orden pago a empleado: " + (info_empleado.info_persona.pe_nombreCompleto) == null ? "" : info_empleado.info_persona.pe_nombreCompleto + " " + info.Observacion;
                }
                if (cl_enumeradores.eTipoPersona.PERSONA.ToString() == info.IdTipo_Persona)
                {
                    info_persona   = bus_persona.get_info(Convert.ToInt32(info.IdEntidad));
                    info.IdPersona = info_persona.IdPersona;

                    ObservacionComprobante = "Orden pago a persona: " + (info_persona.pe_nombreCompleto) == null ? "" : info_persona.pe_nombreCompleto + " " + info.Observacion;
                }
                if (cl_enumeradores.eTipoPersona.PROVEE.ToString() == info.IdTipo_Persona)
                {
                    info_proveedor = bus_proveedor.get_info(info.IdEmpresa, Convert.ToInt32(info.IdEntidad));
                    info.IdPersona = info_proveedor.IdPersona;

                    ObservacionComprobante = "Orden pago a proveedor: " + (info_proveedor.info_persona.pe_nombreCompleto) == null ? "" : info_proveedor.info_persona.pe_nombreCompleto + " " + info.Observacion;
                }

                info.info_comprobante.IdEmpresa  = info.IdEmpresa;
                info.info_comprobante.cb_Fecha   = info.Fecha;
                info.info_comprobante.IdSucursal = info.IdSucursal;
                info.info_comprobante.cb_Estado  = "A";
                info.info_comprobante.IdPeriodo  = Convert.ToInt32(info.info_comprobante.cb_Fecha.Year.ToString() + info.info_comprobante.cb_Fecha.Month.ToString().PadLeft(2, '0'));

                if (info_cliente != null || info_empleado != null || info_persona != null || info_proveedor != null)
                {
                    if (info.Observacion == null)
                    {
                        info.Observacion = "";
                    }
                    info.info_comprobante.cb_Observacion = ObservacionComprobante;
                }
                else
                {
                    info.info_comprobante.cb_Observacion = info.Observacion;
                }

                if (bus_contabilidad.guardarDB(info.info_comprobante))
                {
                    oData.guardarDB(info);
                }

                return(true);
            }
            catch (Exception)
            {
                throw;
            }
        }
예제 #9
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;
            }
        }
예제 #10
0
        public List <cp_TipoDocumento_Info> get_list(int IdEmpresa, decimal IdProveddor, string codigoSRI)
        {
            try
            {
                /*if (codigoSRI.Length > 2)
                 *  return new List<cp_TipoDocumento_Info>();*/
                odata = new cp_TipoDocumento_Data();
                cp_codigo_SRI_Data data_codigo = new cp_codigo_SRI_Data();
                var lst_data = data_codigo.get_info(Convert.ToInt32(codigoSRI));
                cp_proveedor_Info info_proveedor = new cp_proveedor_Info();
                if (lst_data != null)
                {
                    codigoSRI = lst_data.codigoSRI;
                }
                info_proveedor = bus_proveedor.get_info(IdEmpresa, IdProveddor);
                List <cp_TipoDocumento_Info> lista         = new List <cp_TipoDocumento_Info>();
                List <cp_TipoDocumento_Info> lista_retorna = new List <cp_TipoDocumento_Info>();

                lista = odata.get_list(false);

                foreach (var item in lista)
                {
                    if (item.CodSRI == "03")
                    {
                        item.CodSRI = item.CodSRI;
                    }

                    if (item.Sustento_Tributario != null)
                    {
                        string[] arreglo = item.Sustento_Tributario.Split(',');

                        for (int i = 0; i < arreglo.Length; i++)
                        {
                            arreglo[i] = arreglo[i].Trim();

                            if (arreglo[i] == codigoSRI)
                            {
                                string secuencial = "";
                                if (info_proveedor.info_persona.IdTipoDocumento.Trim() == "RUC")
                                {
                                    secuencial = "01";
                                }
                                else if (info_proveedor.info_persona.IdTipoDocumento.Trim() == "CED")
                                {
                                    secuencial = "02";
                                }
                                else
                                {
                                    secuencial = "03";
                                }

                                string[] arregloSecuenci = item.Codigo_Secuenciales_Transaccion.Split(',');
                                for (int ise = 0; ise < arregloSecuenci.Length; ise++)
                                {
                                    arregloSecuenci[ise] = arregloSecuenci[ise].Trim();
                                    if (arregloSecuenci[ise] == secuencial)
                                    {
                                        lista_retorna.Add(item);
                                        ise = arregloSecuenci.Length;
                                        i   = arreglo.Length;
                                    }
                                }
                            }
                        }
                    }
                }
                return(lista_retorna);
            }
            catch (Exception)
            {
                throw;
            }
        }