Ejemplo n.º 1
0
        /// <summary>
        /// Initializes a new instance of the <see cref="TafAdapterInfo"/> class.
        /// </summary>
        /// <param name="tafId">The TAF identifier.</param>
        /// <param name="description">The adapter description.</param>
        /// <param name="adapterType">Type of the adapter.</param>
        public TafAdapterInfo(TafId tafId, string description, Type adapterType)
        {
            this.TafId       = tafId;
            this.Description = description;

            this.adapterType = adapterType;
        }
Ejemplo n.º 2
0
        /// <summary>
        /// Loads the TAF adapter for the specified TAF id.
        /// </summary>
        /// <param name="tafId">The TAF identifier.</param>
        /// <returns>Instance of the TAF adapter.</returns>
        /// <exception cref="UnknownTafAdapterException">No TAF adapter for the specified TAF id.</exception>
        public static ITafAdapter LoadAdapter(TafId tafId)
        {
            var adapterInfo = AvailableAdapters.FirstOrDefault(a => a.TafId == tafId);

            if (adapterInfo == null)
            {
                throw new UnknownTafAdapterException {
                          TafId = tafId
                };
            }

            return(adapterInfo.CreateInstance());
        }
Ejemplo n.º 3
0
        /// <summary>
        /// Converts the TAF id to a friendly name.
        /// </summary>
        /// <param name="id">The TAF identifier.</param>
        /// <returns>The converted text.</returns>
        public static string TafToFriendlyName(this TafId id)
        {
            switch (id)
            {
            case TafId.Taf1:
                return("TAF-1: Datensparsamer Tarif");

            case TafId.Taf2:
                return("TAF-2: Zeitvariabler Tarif");

            case TafId.Taf3:
                return("TAF-3: Lastvariabler Tarif");

            case TafId.Taf4:
                return("TAF-4: Verbrauchsvariabler Tarif");

            case TafId.Taf5:
                return("TAF-5: Ereignisvariabler Tarif");

            case TafId.Taf6:
                return("TAF-6: Ablesung von Messwerten im Bedarfsfall");

            case TafId.Taf7:
                return("TAF-7: Zählerstandgangmessung");

            case TafId.Taf8:
                return("TAF-8: Erfassung von Extremwerten");

            case TafId.Taf9:
                return("TAF-9: Abruf der IST-Einspeisung");

            case TafId.Taf10:
                return("TAF-10: Abruf der Netzzustandsdaten");

            case TafId.Taf11:
                return("TAF-11: Steuerung von unterbrechbaren Verbrauchseinrichtungen und Erzeugungsanlagen");

            case TafId.Taf12:
                return("TAF-12: Prepaid Tarif");

            case TafId.Taf13:
                return("TAF-13: Bereitstellung von Messwertsätzen zur Visualisierung für den Letztverbraucher über die WAN-Schnittstelle");

            case TafId.Taf14:
                return("TAF-14: Hochfrequente Messwertbereitstellung");

            default:
                return(id.ToString().ToUpperInvariant());
            }
        }