Exemple #1
0
		private static void Process(ITheaterPlay play)
		{
			var dbName = $@"{DbFolder}\{play.Id}";

			var occurrences = play.Occurrences;

			if (File.Exists(dbName))
			{
				var oldOccurrencesString = File.ReadAllText(dbName);
				var oldOccurrences = DeserializeOccurrences(oldOccurrencesString);

				var addedOccurrences = occurrences.Except(oldOccurrences).ToArray();
				if (addedOccurrences.Any())
				{
					Trace.WriteLine($"play {play.Id} has {addedOccurrences.Length} new occurrences");

					var emailBody = BuildEmailBody(play, addedOccurrences);
					SmtpHelpers.Send(play.Id, emailBody);
				}
				else
				{
					Trace.WriteLine($"play {play.Id} has no added occurrences");
				}
			}

			var occurrencesString = SerializeOccurrences(occurrences);

			if (!Directory.Exists(DbFolder))
				Directory.CreateDirectory(DbFolder);

			File.WriteAllText(dbName, occurrencesString);
		}
Exemple #2
0
		private static string BuildEmailBody(ITheaterPlay play, ICollection<DateTime> addedOccurrences)
		{
			var s = SerializeOccurrences(addedOccurrences)
				.Replace("\r\n", "<br>");

			return $@"<span style='font-family:Tahoma;font-size:13px;'><h1><a href='{play.Link}'>{play.Title}</a></1> <br> <h2>{play.Location}</h2> <div style='color:lightGreen;'>Added Occurrences:</div> <br> {s}</span>";
		}