public ComplementoComprobante this[int indice] { get { if(indice >= 0 && indice < complementos.Count) { var aux = new ComplementoComprobante[complementos.Count]; complementos.Values.CopyTo(aux, 0); return aux[indice]; } throw new Exception("ComplementosConcepto::this[indice]. Indice fuera de rango"); } }
public void AgregarComplemento(ComplementoComprobante complemento) { if(complementos == null) complementos = new Complemento(); complementos.Agregar(complemento); /*switch(complemento.GetType().Name) { case "TimbreFiscalDigital": timbreFiscal = complementos.Elementos -1; break; case "Nomina": nomina = complementos.Elementos -1;; break; case "EstadoDeCuentaCombustible": combustible = complementos.Elementos - 1; break; }*/ }
/// <summary> /// Agrega un complemento /// </summary> /// <param name="complemento">Complemento a agregar</param> public void Agregar(ComplementoComprobante complemento) { if(complementos.ContainsKey(complemento.GetType().Name)) throw new Exception("Ya se ha agregado un complemento del tipo: " + complemento.GetType().Name); complementos.Add(complemento.GetType().Name, complemento); }