コード例 #1
0
        public ComunicacionBaja data(List <Data_Documentos> data_Documentos)
        {
            Data_Contribuyente data_Emisor = new Data_Contribuyente(data_Documentos[0].IdEmisor);

            data_Emisor.Read_Contribuyente();
            ReadGeneralData readGeneralData = new ReadGeneralData();

            DateTime dateTime       = DateTime.Now;
            int      numeracion     = 0;
            string   mes            = dateTime.Month < 10 ? $"0{dateTime.Month}" : dateTime.Month.ToString();
            string   dia            = dateTime.Day < 10 ? $"0{dateTime.Day}"   : dateTime.Day.ToString();
            int      numeradorLinea = 1;

            numeracion = readGeneralData.GetScalarValueINT("[dbo].[Query_Scalar_GetValue_CantidadDocsDia]", "@IdDatosFox", data_Documentos[0].IdDatosFox);

            var comunicacionBaja = new ComunicacionBaja()
            {
                IdDocumento     = $"RA-{dateTime.Year}{mes}{dia}-{numeracion}",
                FechaEmision    = dateTime.ToString(),              // Cuando se da de baja
                FechaReferencia = data_Documentos[0].FechaEmision,  // Cuando se crea el documento
                Emisor          = data_Emisor,
                Bajas           = new List <DocumentoBaja>()
            };

            foreach (var data_Documento in data_Documentos)
            {
                string[] serieCorrelativo = data_Documento.SerieCorrelativo.Split('-');
                comunicacionBaja.Bajas.Add(new DocumentoBaja()
                {
                    Id            = numeradorLinea,
                    TipoDocumento = data_Documento.TipoDocumento,
                    Serie         = serieCorrelativo[0].ToString(),
                    Correlativo   = serieCorrelativo[1].ToString(),
                    MotivoBaja    = data_Documento.MotivoBaja
                });
                numeradorLinea++;
            }

            return(comunicacionBaja);
        }
コード例 #2
0
        public ResumenDiario Data(List <Data_Documentos> data_Documentos)
        {
            DateTime        dateTime = DateTime.Now;
            ResumenDiario   resumenDiario;
            ReadGeneralData readGeneralData = new ReadGeneralData();

            try
            {
                Data_CabeceraDocumento cabeceraDocumento = new Data_CabeceraDocumento(data_Documentos[0].IdCabeceraDocumento);
                cabeceraDocumento.Read_CabeceraDocumento();

                Data_Contribuyente data_Emisor = new Data_Contribuyente(data_Documentos[0].IdEmisor);
                data_Emisor.Read_Contribuyente();

                int    numeracion = 0;
                string mes        = dateTime.Month < 10 ? $"0{dateTime.Month}" : dateTime.Month.ToString();
                string dia        = dateTime.Day < 10 ? $"0{dateTime.Day}"   : dateTime.Day.ToString();
                try
                {
                    numeracion = readGeneralData.GetScalarValueINT("[dbo].[Query_Scalar_GetValue_CantidadDocsDia]", "@IdDatosFox", data_Documentos[0].IdDatosFox);
                }
                catch (Exception)
                {
                    numeracion++;
                }

                resumenDiario = new ResumenDiario()      //  Documento principal
                {
                    IdDocumento     = $"RC-{dateTime.Year}{mes}{dia}-{numeracion}",
                    FechaEmision    = dateTime.ToString(),
                    FechaReferencia = data_Documentos[0].FechaEmision,
                    Emisor          = data_Emisor,
                    Resumenes       = new List <GrupoResumenNuevo>()
                };

                int contador = 1;
                foreach (var data_Documento in data_Documentos)
                {
                    Data_CabeceraDocumento data_CabeceraDocumento = new Data_CabeceraDocumento(data_Documento.IdCabeceraDocumento);
                    data_CabeceraDocumento.Read_CabeceraDocumento();

                    Data_Contribuyente data_Receptor = new Data_Contribuyente(data_CabeceraDocumento.IdReceptor);
                    data_Receptor.Read_Contribuyente();

                    var resumen = new GrupoResumenNuevo()
                    {
                        Id              = contador,
                        TipoDocumento   = data_Documento.TipoDocumento,
                        Serie           = data_Documento.SerieCorrelativo,
                        Receptor        = data_Receptor,
                        TotalVenta      = data_CabeceraDocumento.ImporteTotalVenta,
                        Moneda          = data_CabeceraDocumento.Moneda,
                        Gravadas        = data_CabeceraDocumento.Gravadas,
                        Exoneradas      = data_CabeceraDocumento.Exoneradas,
                        Inafectas       = data_CabeceraDocumento.Inafectas,
                        Exportaciones   = data_CabeceraDocumento.Exportaciones,
                        Gratuitas       = data_CabeceraDocumento.Gratuitas,
                        TotalDescuentos = data_CabeceraDocumento.TotalDescuento,
                    };

                    Data_DocumentoRelacionado   data_DocumentoRelacionado = new Data_DocumentoRelacionado(data_Documento.IdCabeceraDocumento);
                    List <DocumentoRelacionado> documentoRelacionados     = data_DocumentoRelacionado.Read_DocumentoRelacionado();
                    if (documentoRelacionados.Count > 0)
                    {
                        resumen.DocumentoRelacionado = documentoRelacionados[0].NroDocumento ?? string.Empty;      // Sólo habrá un doc relacionado para cada boleta
                    }
                    Data_Discrepancia   data_Discrepancia = new Data_Discrepancia(data_Documento.IdCabeceraDocumento);
                    List <Discrepancia> discrepancias     = data_Discrepancia.Read_DiscrepanciaDocumento();
                    if (discrepancias.Count > 0)
                    {
                        resumen.CodigoEstadoItem = Convert.ToInt32(discrepancias[0].Tipo ?? string.Empty);      // // en la documentación dice que es el valor del tipo de discrepancia catalogo 9
                    }
                    else
                    {
                        resumen.CodigoEstadoItem = 1;       // Poca información respecto a lo que va aquí
                    }
                    #region TotalImpuestos
                    Data_TotalImpuesto   data_TotalImpuesto = new Data_TotalImpuesto(data_Documento.IdCabeceraDocumento);
                    List <TotalImpuesto> totalImpuestos     = data_TotalImpuesto.Read_TotalImpuestos(1);     //  El parámetro -> 1 <- es indicativo de que es por cada línea

                    foreach (var st_totalImpuesto in totalImpuestos)
                    {
                        Data_SubTotalImpuesto    data_SubTotalImpuesto = new Data_SubTotalImpuesto(st_totalImpuesto.IdTotalImpuestos);
                        List <SubTotalImpuestos> subTotalImpuestos     = data_SubTotalImpuesto.Read_SubTotalImpuesto();
                        st_totalImpuesto.SubTotalesImpuestos = subTotalImpuestos;
                    }
                    resumen.TotalImpuestos = totalImpuestos;
                    #endregion TotalImpuestos

                    resumenDiario.Resumenes.Add(resumen);
                    contador++;
                }
            }
            catch (Exception ex)
            {
                resumenDiario = new ResumenDiario();
            }

            return(resumenDiario);
        }