ModeloFiscalTerritorioComun.cs
1 # region Usings
2 using sage.ew.contabilidad;
3 using sage.ew.empresa;
4 using System;
5 using System.Collections.Generic;
6 using System.Linq;
7 using System.Text;
8 using static sage.ew.empresa.Empresa;
9 #endregion Usings
10 
11 namespace Sage.ES.S50.Modelos
12 {
17  {
18  #region Propiedades privadas
19  private Empresa.ActividadesModelo _oActividadesModelo = null;
20  #endregion Propiedades privadas
21 
22  #region Constructor
27  {
28  _oTerritorio = eTerritorioModelo.TerritorioComun;
29  }
30  #endregion Constructor
31 
32  #region Métodos public override
33  protected override bool _PreValidateModel(bool tlExecute)
39  {
40  if (!base._PreValidateModel(tlExecute))
41  return false;
42 
43  List<string> lstErrores = new List<string>();
44  string lcErrores = string.Empty, lcComa = string.Empty;
45 
46  _PreValidateModelIBAN(tlExecute, ref lstErrores);
47 
48  if (string.IsNullOrWhiteSpace(_oEmpresa._ApellidosTC))
49  lstErrores.Add("Nombre / Razón social");
50 
51  if (string.IsNullOrWhiteSpace(_oEmpresa._CifTC))
52  lstErrores.Add("N.I.F.");
53 
54  _PreValidateModelAddress(tlExecute, ref lstErrores);
55 
56  foreach (string lcError in lstErrores)
57  {
58  lcErrores = lcErrores + lcComa + lcError;
59  lcComa = " ,";
60  }
61 
62  _PreValidateModelConfiguracion(tlExecute,ref lcErrores, lstErrores);
63 
64  if (!string.IsNullOrWhiteSpace(lcErrores))
65  {
66  _Mensaje_Error = "Revise el/los apartados de la configuración de los modelos de Territorio Común: " + Environment.NewLine + Environment.NewLine + lcErrores + ".";
67  return false;
68  }
69 
70  return true;
71  }
72 
79  protected virtual bool _PreValidateModelAddress(bool tlExecute, ref List<string> tlstErrores)
80  {
81  if (string.IsNullOrWhiteSpace(_oEmpresa._CodigoPostalTC))
82  tlstErrores.Add("Código postal");
83 
84  // En el territorio común no es necesario configurar el código de municipio?
85  // if (string.IsNullOrWhiteSpace(_oEmpresa._CodigoMunicipioTC))
86  // lstErrores.Add("Código de municipio");
87 
88  if (string.IsNullOrWhiteSpace(_oEmpresa._SiglaTC))
89  tlstErrores.Add("Sigla de la vía pública");
90 
91  if (string.IsNullOrWhiteSpace(_oEmpresa._NombreViaTC))
92  tlstErrores.Add("Nombre de la vía pública");
93 
94  return true;
95  }
96 
104  protected virtual bool _PreValidateModelIBAN(bool tlExecute, ref List<string> tlstErrores)
105  {
106  // MODCONFI.IBAN + MODCONFI.CUENTAIBAN o MODCCAN.IBAN + MODCCAN.CUENTAIBAN Si los campos de tabla MODCONFI están informados usar dichos campos para informar la cuenta IBAN, en el caso que los campos de MODCONFI no estén rellenos usar campos de tabla MODCCAN
107  if (string.IsNullOrWhiteSpace(_oEmpresa._CuentaIbanTC) && string.IsNullOrWhiteSpace(_oEmpresa._CuentaIbanCanarias))
108  tlstErrores.Add("Código IBAN de ingreso / devolución");
109 
110  return true;
111  }
112 
120  protected virtual bool _PreValidateModelConfiguracion(bool tlExecute, ref string tcErrores, List<string> tstErrores)
121  {
122  if (_ConfiguracionModelo().Count() == 0)
123  {
124  if (tstErrores.Count == 0)
125  tcErrores = tcErrores + "Los tipos de IVA en la configuración del " + _Titulo;
126  else
127  tcErrores = tcErrores + " y los tipos de IVA en la configuración del " + _Titulo;
128  }
129 
130  return true;
131  }
132 
139  {
140  if (_oActividadesModelo == null)
141  {
142  _oActividadesModelo = new ActividadesModelo(_cEmpresa, "390", "moda390", false);
143  _oActividadesModelo._Load();
144  }
145  else
146  {
147  if (Convert.ToString(_oActividadesModelo._Claves._Empresa) != _cEmpresa)
148  {
149  _oActividadesModelo._Claves._Empresa._Valor = _cEmpresa;
150  _oActividadesModelo._Load();
151  }
152  }
153 
154  return _oActividadesModelo;
155  }
156 
161  protected override void _BusinessDataTerritorio()
162  {
163  base._BusinessDataTerritorio();
164 
165  // Cuenta IBAN de ingreso/ devolución MODCONFI.IBAN + MODCONFI.CUENTAIBAN o MODCCAN.IBAN + MODCCAN.CUENTAIBAN
166  if (!string.IsNullOrWhiteSpace(_oEmpresa._IbanTC))
167  _Business._Iban = _oEmpresa._IbanTC + _oEmpresa._CuentaIbanTC;
168  else
169  _Business._Iban = _oEmpresa._IbanCanarias + _oEmpresa._CuentaIbanCanarias;
170 
171  _Business._SpecialRegimeMonthlyReturn = _oEmpresa._InscritoTC;
172  }
173 
178  protected override bool _BusinessAddresses()
179  {
180  _Business._Addresses.Add(new Address()
181  {
182  _AddressType = _oEmpresa._SiglaTC,
183  _Address = _oEmpresa._NombreViaTC,
184  _NumberType = "",
185  _Number = _oEmpresa._NumeroTC,
186  _NumberQualifier = "",
187  _Block = "",
188  _Stair = _oEmpresa._EscaleraTC,
189  _Floor = _StringToNumber(_oEmpresa._PisoTC),
190  _Door = _oEmpresa._PuertaTC,
191  _Portal = 0,
192  _Complement = "",
193  _PhoneNumber = _oEmpresa._TelefonoTC,
194  _MobileNumber = "",
195  _Fax = _oEmpresa._FaxTC,
196  _Email = "",
197  _Zip = _oEmpresa._CodigoPostalTC,
198  _Province = _oEmpresa._ProvinciaTC,
199  _City = _oEmpresa._MunicipioTC,
200  _Municipality = _oEmpresa._MunicipioTC,
201  _MunicipalityCode = _StringToNumber(_oEmpresa._CodigoMunicipioTC),
202  _Country = _BusinessCountry(), // España
203  _CountryCode = _BusinessCountryCode(), // ES
204  _Type = "Fiscal"
205  });
206 
207  return true;
208  }
209  #endregion Métodos public override
210  }
211 }
Classe empresa basada en sage.ew.ewmante
Definition: clsEmpresa.cs:48
Clase ewManteTRel para gestionar las actividades de los modelos
Definition: clsEmpresa.cs:1082
Direcciones de empresa (Business)
Definition: Address.cs:14
override void _BusinessDataTerritorio()
Método a implementar en cada territorio
override bool _BusinessAddresses()
Información de la dirección de la empresa
override Empresa.ActividadesModelo _ActividadesTerritorio()
Actividades del territorio Común De momento como no lo tenemos el mantenimiento de empresa lo tenemos...
virtual bool _PreValidateModelAddress(bool tlExecute, ref List< string > tlstErrores)
En los modelos de retenciones no es necesario validar el códig postal, sigla , nombre de la via públi...
virtual bool _PreValidateModelIBAN(bool tlExecute, ref List< string > tlstErrores)
Valida el IBAN En el modelo 111 y 115 no es obligatorio
virtual bool _PreValidateModelConfiguracion(bool tlExecute, ref string tcErrores, List< string > tstErrores)
Validaciones previas al modelo dependiendo del territorio
eTerritorioModelo
Enumeración para los territorios de los modelos fiscales