Exemple #1
0
        /// <summary>
        /// Constructor de Insurance.
        /// </summary>
        /// <param name="registroLRCobrosMetalico">Objeto serialización xml facturas emitidas.</param>
        public OPTributaria(RegistroLROpTrascendTribu registroLRCobrosMetalico)
        {
            RegistroLROpTrascendTribu siiTributo = registroLRCobrosMetalico;

            if (Settings.Current.IDVersionSii.CompareTo("1.1") < 0)
            {
                IssueDate = Convert.ToDateTime(siiTributo.PeriodoImpositivo.Ejercicio); // Necesitamos una fecha para calcular el Ejercicio/Periodo
            }
            else
            {
                IssueDate = Convert.ToDateTime(siiTributo.PeriodoLiquidacion.Ejercicio); // Necesitamos una fecha para calcular el Ejercicio/Periodo
            }
            SellerParty = new Party()
            {
                PartyName = siiTributo.Contraparte.NombreRazon
            };

            if (siiTributo.Contraparte.IDOtro != null)
            {
                IDOtroType = (IDOtroType)Convert.ToInt32(siiTributo.Contraparte.IDOtro.IDType);

                CountryCode = siiTributo.Contraparte.IDOtro.CodigoPais;
                SellerParty.TaxIdentificationNumber = siiTributo.Contraparte.IDOtro.ID;
            }


            if (SellerParty == null)
            {
                throw new ArgumentNullException("SellerParty is null.");
            }

            ClaveOperacion = siiTributo.ClaveOperacion;
            GrossAmount    = Convert.ToDecimal(siiTributo.ImporteTotal, Settings.DefaultNumberFormatInfo);
        }
Exemple #2
0
        internal RegistroLROpTrascendTribu ToRegistroLRBajaOpTrascendTribuSII()
        {
            RegistroLROpTrascendTribu siiDelete = new RegistroLROpTrascendTribu();

            if (SellerParty == null)
            {
                throw new ArgumentNullException("SellerParty is null.");
            }

            if (Settings.Current.IDVersionSii.CompareTo("1.1") < 0)
            {
                siiDelete.PeriodoImpositivo.Ejercicio = (IssueDate ?? new DateTime(1, 1, 1)).ToString("yyyy");
                siiDelete.PeriodoImpositivo.Periodo   = "0A"; // anual
            }
            else
            {
                siiDelete.PeriodoLiquidacion.Ejercicio = (IssueDate ?? new DateTime(1, 1, 1)).ToString("yyyy");
                siiDelete.PeriodoLiquidacion.Periodo   = "0A"; // anual
            }

            TaxIdEs taxIdEs    = null;
            bool    IsNotNifES = false;

            try
            {
                taxIdEs = new TaxIdEs(SellerParty.TaxIdentificationNumber);
            }
            catch
            {
                IsNotNifES = true;
            }

            if (taxIdEs != null)
            {
                IsNotNifES = !taxIdEs.IsDCOK;
            }


            if (SellerParty != null)
            {
                siiDelete.Contraparte             = new Contraparte();
                siiDelete.Contraparte.NombreRazon = SellerParty.PartyName;

                if (IsNotNifES)
                {
                    if (CountryCode == null)
                    {
                        throw new ArgumentNullException(
                                  "For foreign tax identificator number Country Code can't be null");
                    }

                    siiDelete.Contraparte.IDOtro            = new IDOtro();
                    siiDelete.Contraparte.IDOtro.IDType     = ((int)IDOtroType).ToString().PadLeft(2, '0');
                    siiDelete.Contraparte.IDOtro.CodigoPais = CountryCode;
                    siiDelete.Contraparte.IDOtro.ID         = SellerParty.TaxIdentificationNumber;
                }
                else
                {
                    siiDelete.Contraparte.NIF = SellerParty.TaxIdentificationNumber;
                }

                if (ClaveOperacion != null)
                {
                    siiDelete.ClaveOperacion = ClaveOperacion;
                }
            }

            return(siiDelete);
        }
Exemple #3
0
 /// <summary>
 /// Constructor de la clase RegistroRCLRCobrosMetalico.
 /// </summary>
 public RegistroRCLRCobrosMetalico()
 {
     CobrosMetalico = new RegistroLROpTrascendTribu();
 }
Exemple #4
0
 /// <summary>
 /// Constructor de la clase RegistroRCLROperacionesSeguros.
 /// </summary>
 public RegistroRCLROperacionesSeguros()
 {
     OperacionesSeguros = new RegistroLROpTrascendTribu();
 }