private static void MessagesChangedCallback(DependencyObject d, DependencyPropertyChangedEventArgs e)
        {
            MessageView owner = (MessageView)d;

            Base.Interfaces.IMessage mess = e.NewValue as Base.Interfaces.IMessage;
            Run r = new Run();

            if (mess is Base.Interfaces.IErrorMessage)
            {
                Base.Interfaces.IErrorMessage err = mess as Base.Interfaces.IErrorMessage;
                r.Text = err.ToString();
                owner.tb.Inlines.Add(r);
                if (err.ErrorLevel.HasFlag(Base.Enumerations.ErrorLevel.Severe))
                {
                    owner.tb.Inlines.Last().Foreground = owner._errorColors[5];
                }
                else if (err.ErrorLevel.HasFlag(Base.Enumerations.ErrorLevel.Fatal))
                {
                    owner.tb.Inlines.Last().Foreground = owner._errorColors[4];
                }
                else if (err.ErrorLevel.HasFlag(Base.Enumerations.ErrorLevel.Major))
                {
                    owner.tb.Inlines.Last().Foreground = owner._errorColors[3];
                }
                else if (err.ErrorLevel.HasFlag(Base.Enumerations.ErrorLevel.Minor))
                {
                    owner.tb.Inlines.Last().Foreground = owner._errorColors[2];
                }
                else if (err.ErrorLevel.HasFlag(Base.Enumerations.ErrorLevel.Info))
                {
                    owner.tb.Inlines.Last().Foreground = owner._errorColors[1];
                }
            }
            else
            {
                r.Text = mess.Message;
                owner.tb.Inlines.Add(r);
            }
            if (owner.tb.Inlines.Count() > owner.MessageCount)
            {
                owner.tb.Inlines.Remove(owner.tb.Inlines.First());
            }
        }
Esempio n. 2
0
        public void SetErrors(Dictionary <string, Base.Interfaces.IPropertyRule> ruleMap)
        {
            Base.Interfaces.IMessage imsg = null;
            int messageCount = ruleMap.Values.Count();

            MessageCounter = messageCount;

            foreach (Base.Interfaces.IPropertyRule r in ruleMap.Values)
            {
                string msg = "";
                if (r.ErrorLevel > Base.Enumerations.ErrorLevel.Unassigned)
                {
                    foreach (string m in r.Errors)
                    {
                        msg += m;
                    }
                    imsg     = new Model.Messaging.ErrorMessage(msg, r.ErrorLevel);
                    IMessage = imsg;
                }
            }
        }