Esempio n. 1
0
        public static void MailArrived(ModelMail mail)
        {
            try
            {
                if (mail.To == null ||
                    mail.To.Login != SessionClientController.My.Login)
                {
                    return;
                }

                Action <ModelMail> action;
                if (TypeMailProcessing.TryGetValue(mail.GetType(), out action))
                {
                    Loger.Log($"Mail {mail.GetType().Name} "
                              + (mail.From == null ? "-" : mail.From.Login) + "->"
                              + (mail.To == null ? "-" : mail.To.Login) + ":"
                              + mail.ContentString()
                              + "  hash=" + mail.GetHash());
                    action(mail);
                }
                else
                {
                    Loger.Log("Mail fail: error type " + mail.GetType().Name);
                }
            }
            catch (Exception e)
            {
                Loger.Log("Mail Exception: " + e.ToString());
            }
        }