Beispiel #1
0
        /// <summary>
        /// Transforms an WAS-Alarm (WAS-specific) to an internal alarm object.
        /// Uses WHITE if it is specified (in the AIC-Settings).
        /// </summary>
        /// <param name="wasAlarm">The WAS-Alarm object.</param>
        /// <returns>The transformed alarm.</returns>
        private Alarm Transformate(WasAlarm wasAlarm)
        {
            Alarm alarm = Alarm.Create(wasAlarm);

            // Remove the BMA identifier at the end
            if (string.Equals(alarm.Subject, Constants.BMAType, StringComparison.OrdinalIgnoreCase) && alarm.Location.Contains(Constants.BMAIdentificationCharacter))
            {
                alarm.Location = alarm.Location.Substring(0, alarm.Location.IndexOf(Constants.BMAIdentificationCharacter)).Trim();
            }

            return(alarm);

            /*if (!AicSettings.Global.UseWhite)
             * {
             * return alarm;
             * }
             *
             * // Evaluate if there is already a valid location
             * bool hasValidLocation = !alarm.Location.ToLower().Contains(AicServerSettings.NoLocationPattern.ToLower());
             *
             * if (hasValidLocation)
             * {
             * return alarm;
             * }
             *
             * // Already parsed strings (alarm update)
             * if (mWhiteParsedAlarms.ContainsKey(alarm.Id))
             * {
             * alarm.LocationProposition = this.mWhiteParsedAlarms[alarm.Id];
             *
             * return alarm;
             * }
             *
             * string locationProposition = null;
             *
             * try
             * {
             * locationProposition = WhiteUtilities.FindPlace(alarm);
             *
             * if (locationProposition == null)
             * {
             * this.mLogger.LogInformation("White hasn't found the place in the info text", InformationType.AlarmState_WhiteFailed);
             * }
             *
             * else
             * {
             * alarm.LocationProposition = locationProposition;
             * this.mLogger.LogInformation(string.Format("White found the place: {0}", locationProposition), InformationType.AlarmState_WhiteSucceded);
             * }
             *
             * this.mWhiteParsedAlarms.Add(alarm.Id, locationProposition);
             * }
             *
             * catch (Exception ex)
             * {
             *      this.mLogger.LogError("(AlarmState/Transformate/Exception)", ErrorType.Undefined, ex);
             * }
             *
             * return alarm;*/
        }
Beispiel #2
0
        /// <summary>
        /// Creates an alarm from a WasAlarm.
        /// </summary>
        /// <param name="wasAlarm">A WasAlarm.</param>
        /// <returns>An alarm.</returns>
        public static Alarm Create(WasAlarm wasAlarm)
        {
            var alarm = new Alarm
            {
                Id                    = wasAlarm.Id,
                Subject               = wasAlarm.Subject,
                Location              = wasAlarm.Location,
                LocationProposition   = string.Empty,
                AdditionalInformation = wasAlarm.AdditionalInformation,
                StartTime             = wasAlarm.StartTime,
                LaunchTime            = wasAlarm.LaunchTime,
                EndTime               = wasAlarm.EndTime,
                Status                = wasAlarm.Status,
                AlarmStation          = wasAlarm.AlarmStation,
                AlarmLevel            = wasAlarm.AlarmLevel,
                CallerName            = wasAlarm.CallerName,
                CallerTelephoneNumber = wasAlarm.CallerTelephoneNumber,
                FireBrigades          = new List <string>(),
                SirenProgram          = wasAlarm.SirenProgram
            };

            if (wasAlarm.FireBrigades != null && wasAlarm.FireBrigades.Count > 0)
            {
                foreach (string fireBrigade in wasAlarm.FireBrigades.Where(fireBrigade => fireBrigade != null))
                {
                    alarm.FireBrigades.Add(fireBrigade);
                }
            }

            return(alarm);
        }