Exemplo n.º 1
0
        /// <summary>
        /// Get Format String
        /// </summary>
        /// <param name="alarmObject"></param>
        /// <param name="languageID"></param>
        /// <param name="formatType"></param>
        /// <returns></returns>
        public string GetFormatString(Interface.Alarm.AlarmObject alarmObject, int languageID, string formatType)
        {
            string sensorType = "", frmtstring = "";
            int    i = 0, formatID = 0;

            //Sensor Type
            sensorType = (alarmObject.AlarmType == AlarmType.COMMUNICATIONS ? "MISS" : alarmObject.SensorType);
            try
            {
                while ((sensorType != "" && i < 2))
                {
                    if (i > 0)
                    {
                        sensorType = "";
                    }
                    //Get Sensor FomratID
                    while (true)
                    {
                        //Individual message format
                        formatID = GetFormatID(alarmObject, formatType, 1);
                        if (formatID != 0)
                        {
                            break;
                        }
                        //Next, check for Group default message format...
                        formatID = GetFormatID(alarmObject, formatType, 2);
                        if (formatID != 0)
                        {
                            break;
                        }
                        //Finally, get default message format...
                        formatID = GetFormatID(alarmObject, formatType, 3);
                        break;
                    }
                    if (formatID != 0)
                    {
                        //Get Sensor format string.
                        using (FormatString formatString = new FormatString())
                        {
                            formatString.FormatID   = formatID;
                            formatString.LanguageID = languageID;
                            formatString.SensorType = sensorType;
                            formatString.Execute(formatString);
                            frmtstring = formatString.ComposeString;
                            if (frmtstring.ToStr() != "")
                            {
                                break;
                            }
                        }
                    }
                    i = i + 1;
                }
            }
            catch (Exception ex)
            {
                /*Write Log*/
                LogBook.Write("Error occurred getting the format string.", ex, "CooperAtkins.NotificationClient.NotificationComposer.NotificationStyle");
            }

            //If FormatString is empty set default value.
            if (frmtstring.ToStr() == string.Empty)
            {
                frmtstring = GetDefaultFormatString(alarmObject, languageID, formatType);
            }
            else
            {
                return(frmtstring);
            }

            return(frmtstring);
        }