public void SendMessage(FileSystemEventArgs args, string serviceName, string serviceStatus) { if(_sendMailConfig.Message.Count == 0) return; var valueSource = new TemplateValueSource(args, serviceName, serviceStatus); MatchEvaluator matchEvaluator = match => { ITemplateValueProvider provider; var key = match.Groups[1].Value; return TemplateValueProviders.Instance.TryGet(key, out provider) ? provider.GetTemplateValue(valueSource) : match.ToString(); }; var subject = TemplateKeyRegex.Replace(_sendMailConfig.Message.SubjectTemplate, matchEvaluator); var body = TemplateKeyRegex.Replace(LoadBodyTemplate(), matchEvaluator); var message = new MailMessage { From = new MailAddress(_sendMailConfig.Message.From), Subject = subject, Body = body, IsBodyHtml = _sendMailConfig.Message.IsBodyHtml }; foreach (MailReceiverAddress receiver in _sendMailConfig.Message) { message.To.Add(receiver.Address); } _smtpClient.Send(message); }
public void SendMessage(FileSystemEventArgs args, string serviceName, string serviceStatus) { if (_sendMailConfig.Message.Count == 0) { return; } var valueSource = new TemplateValueSource(args, serviceName, serviceStatus); MatchEvaluator matchEvaluator = match => { ITemplateValueProvider provider; var key = match.Groups[1].Value; return(TemplateValueProviders.Instance.TryGet(key, out provider) ? provider.GetTemplateValue(valueSource) : match.ToString()); }; var subject = TemplateKeyRegex.Replace(_sendMailConfig.Message.SubjectTemplate, matchEvaluator); var body = TemplateKeyRegex.Replace(LoadBodyTemplate(), matchEvaluator); var message = new MailMessage { From = new MailAddress(_sendMailConfig.Message.From), Subject = subject, Body = body, IsBodyHtml = _sendMailConfig.Message.IsBodyHtml }; foreach (MailReceiverAddress receiver in _sendMailConfig.Message) { message.To.Add(receiver.Address); } _smtpClient.Send(message); }
public string GetTemplateValue(TemplateValueSource valueSource) { return Environment.MachineName; }
public string GetTemplateValue(TemplateValueSource valueSource) { return valueSource.FileSystemEventArgs.FullPath; }
public string GetTemplateValue(TemplateValueSource valueSource) { return Path.GetFileName(valueSource.FileSystemEventArgs.FullPath); }
public string GetTemplateValue(TemplateValueSource valueSource) { return valueSource.FileSystemEventArgs.ChangeType.ToString(); }
public string GetTemplateValue(TemplateValueSource valueSource) { return valueSource.ServiceToStopStatus; }
public string GetTemplateValue(TemplateValueSource valueSource) { var renamedArgs = valueSource.FileSystemEventArgs as RenamedEventArgs; return renamedArgs == null ? valueSource.FileSystemEventArgs.Name : renamedArgs.OldName; }
public string GetTemplateValue(TemplateValueSource valueSource) { return DateTime.Now.ToString("G"); }