// METODI public void AddTo(string email, string name = null) { Tos.Add(new EmailAddress() { Email = email, Name = name }); }
/// <summary> /// 邮件消息对象 /// </summary> private MailMessage GetClient() { if (string.IsNullOrEmpty(Tos)) { return(null); } var mailMessage = new MailMessage(); //多个接收者 foreach (var str in Tos.Split(',')) { mailMessage.To.Add(str); } mailMessage.From = new MailAddress(Username, Username); mailMessage.Subject = Subject; mailMessage.Body = Body; mailMessage.IsBodyHtml = true; mailMessage.BodyEncoding = System.Text.Encoding.UTF8; mailMessage.SubjectEncoding = System.Text.Encoding.UTF8; mailMessage.Priority = MailPriority.High; foreach (var item in Attachments) { mailMessage.Attachments.Add(item); } return(mailMessage); }
/// <summary> /// EmailMessage uses a from address of [email protected] /// </summary> public EmailMessage(string subject, string text, string html, EmailAddress to) { Subject = subject; From = new EmailAddress("*****@*****.**", "Arragro Support"); Text = text; Html = html; Tos.Add(to); }
public EmailMessage(string subject, EmailAddress from, string text, string html, EmailAddress to) { Subject = subject; From = from; Text = text; Html = html; Tos.Add(to); }
public void AddTo(Email email) { if (Tos == null) { Tos = new List <Email>(); } Tos.Add(email); }
public bool AddTo(Point point) { if (InFroms(point)) { return(false); } Tos.Add(point); return(true); }
private static void Main() { Console.CursorVisible = false; var tos = new Tos(TransponderReceiverFactory.CreateTransponderDataReceiver()); var atm = new AirTrafficController(new CollisionDetector(), new TrackStorage(), new AirSpace(), new ConsoleView(new ConsoleOutput()), new FileLogger()); tos.Attach(atm); Console.ReadLine(); }
/// <summary> /// 初始化动画关键点值 /// </summary> /// <param name="defaultOriginValue"></param> /// <param name="defaultDestinationValue"></param> private void InitAnimationKeyValues(CameraLookDirection defaultOriginValue, CameraLookDirection defaultDestinationValue) { if (From.HasValue) { if (To.HasValue) { _keyValues = new CameraLookDirection[2]; _keyValues[0] = From.Value; _keyValues[1] = To.Value; } else if (Tos != null && Tos.Count() != 0) { _keyValues = new CameraLookDirection[Tos.Count() + 1]; _keyValues[0] = From.Value; int index = 1; foreach (CameraLookDirection lookDirection in Tos) { _keyValues[index] = lookDirection; index++; } } else { _keyValues = new CameraLookDirection[2]; _keyValues[0] = From.Value; _keyValues[1] = defaultDestinationValue; } } else if (To.HasValue) { _keyValues = new CameraLookDirection[2]; _keyValues[0] = defaultOriginValue; _keyValues[1] = To.Value; } else if (Tos != null && Tos.Count() != 0) { _keyValues = new CameraLookDirection[Tos.Count() + 1]; _keyValues[0] = defaultOriginValue; int index = 1; foreach (CameraLookDirection lookDirection in Tos) { _keyValues[index] = lookDirection; index++; } } else { _keyValues = new CameraLookDirection[2]; _keyValues[0] = defaultOriginValue; _keyValues[1] = defaultDestinationValue; } }
public void SetUp() { _collisionDetector = Substitute.For <ICollisionDetector>(); _airSpace = Substitute.For <IAirSpace>(); _log = Substitute.For <ILog>(); _render = Substitute.For <IRender>(); _trackStorage = Substitute.For <ITrackStorage>(); _tos = Substitute.For <Tos>(Substitute.For <ITransponderReceiver>()); validTrack1 = new Track { Tag = "AAA111", PositionX = 12000, PositionY = 80000, Altitude = 700 }; validTrack2 = new Track { Tag = "BBB222", PositionX = 80000, PositionY = 12000, Altitude = 1700 }; _uut = new AirTrafficController(_collisionDetector, _trackStorage, _airSpace, _render, _log); }
public void Send() { try { Objects.Requires(EmailSettings != null, () => new NullReferenceException("email settings is null")); Objects.Requires(!string.IsNullOrWhiteSpace(From), () => new NullReferenceException("email From is null or empty")); Objects.Requires(Tos.Count > 0, () => new NullReferenceException("email To is empty")); Objects.Requires(!string.IsNullOrWhiteSpace(Subject), () => new NullReferenceException("email Subject is null or empty")); var message = new MailMessage(); message.From = new MailAddress(From); Tos.ForEach(to => message.To.Add(new MailAddress(to))); message.Subject = Subject; message.Body = Body; message.IsBodyHtml = IsBodyHtml; Ccs.ForEach(cc => message.CC.Add(cc)); using (var smtpClient = new SmtpClient(EmailSettings.Host, EmailSettings.Port) { EnableSsl = EmailSettings.EnableSsl }) { if (!string.IsNullOrWhiteSpace(EmailSettings.UserName)) { smtpClient.Credentials = string.IsNullOrWhiteSpace(EmailSettings.Domain) ? new NetworkCredential(EmailSettings.UserName, EmailSettings.Password) : new NetworkCredential(EmailSettings.UserName, EmailSettings.Password, EmailSettings.Domain); } smtpClient.Send(message); } } catch (Exception ex) { Log.Error($"Sending email {this} with settings {EmailSettings} failed", ex); throw; } }
public void SetUp() { _transponderReceiver = Substitute.For <ITransponderReceiver>(); _uut = new Tos(_transponderReceiver); }
public void SetUp() { // The faked IOutpus must return a screen size to ConsoleViews ctor. _output = Substitute.For <IOutput>(); _output.When(x => x.GetLargetsScreenSize(out int w, out int h)).Do(x => { x[0] = 80; x[1] = 40; }); _collisionDetector = new CollisionDetector(); _trackStorage = new TrackStorage(); _airSpace = new AirSpace(); _log = new FileLogger(_logPath); _consoleView = new ConsoleView(_output); _atm = new AirTrafficController(_collisionDetector, _trackStorage, _airSpace, _consoleView, _log); // Create Tos with fake TransponderReceiver, attach ATM to subscribe on Tos. // _tos.Notify(_tos) will call _atm.Update(). Notify will start the system. _tos = new Tos(Substitute.For <ITransponderReceiver>()); _tos.Attach(_atm); // Init some standard List with valid tracks, used to give to Tos before Notify() call. _tracks1 = new List <ITrack> { new Track { Tag = "AAA111", PositionX = 15000, PositionY = 30000, Altitude = 850, Course = 0, Timestamp = DateTime.Now, Velocity = 0 }, new Track { Tag = "BBB222", PositionX = 15000, PositionY = 30000, Altitude = 850, Course = 0, Timestamp = DateTime.Now, Velocity = 0 }, new Track { Tag = "CCC333", PositionX = 15000, PositionY = 30000, Altitude = 850, Course = 0, Timestamp = DateTime.Now, Velocity = 0 }, new Track { Tag = "DDD444", PositionX = 15000, PositionY = 30000, Altitude = 850, Course = 0, Timestamp = DateTime.Now, Velocity = 0 }, new Track { Tag = "EEE555", PositionX = 15000, PositionY = 30000, Altitude = 850, Course = 0, Timestamp = DateTime.Now, Velocity = 0 }, }; _tracks2 = new List <ITrack> { new Track { Tag = "AAA111", PositionX = 15000, PositionY = 80000, Altitude = 850, Course = 0, Timestamp = DateTime.Now, Velocity = 0 }, new Track { Tag = "BBB222", PositionX = 25000, PositionY = 36000, Altitude = 850, Course = 0, Timestamp = DateTime.Now, Velocity = 0 }, new Track { Tag = "CCC333", PositionX = 10000, PositionY = 27000, Altitude = 1900, Course = 0, Timestamp = DateTime.Now, Velocity = 0 }, new Track { Tag = "DDD444", PositionX = 45000, PositionY = 66000, Altitude = 833, Course = 0, Timestamp = DateTime.Now, Velocity = 0 }, new Track { Tag = "EEE555", PositionX = 15000, PositionY = 28000, Altitude = 2500, Course = 0, Timestamp = DateTime.Now, Velocity = 0 }, }; }
public void AddTos(List <EmailAddress> emails) { Tos.AddRange(emails); }
public void AddTo(EmailAddress email) { Tos.Add(email); }
private bool InTos(Point point) { return(Tos.Any(p => p.Name == point.Name) || Tos.Select(to => to.InTos(point)).Any(to => to)); }
public void SetUp() { _uut = new Tos(Substitute.For <ITransponderReceiver>()); _observer = Substitute.For <AirTrafficMonitoring.Lib.IObserver <Tos> >(); }