|
@@ -1810,43 +1810,49 @@ namespace PRSDesktop
|
|
|
{
|
|
|
string attachmentName = DetermineName(model);
|
|
|
|
|
|
- //this section is meant to be for parsing templates into emails - not working yet!
|
|
|
-
|
|
|
- //var templates = new Client<DataModelTemplate>().Query(new Filter<DataModelTemplate>(x => x.Model).IsEqualTo(model.Name));
|
|
|
- //if (templates.Rows.Any())
|
|
|
- //{
|
|
|
- // var context = new ContextMenu();
|
|
|
- // foreach (var row in templates.Rows)
|
|
|
- // {
|
|
|
- // var menu = new MenuItem
|
|
|
- // {
|
|
|
- // Header = row.Get<DataModelTemplate, string>(x => x.Name),
|
|
|
- // Tag = row
|
|
|
- // };
|
|
|
- // menu.Click += (o, args) =>
|
|
|
- // {
|
|
|
- // var chosenrow = ((MenuItem)o).Tag as CoreRow;
|
|
|
- // try
|
|
|
- // {
|
|
|
- // var data = chosenrow.Get<DataModelTemplate, string>(x => x.Template);
|
|
|
- // var to = chosenrow.Get<DataModelTemplate, string>(x => x.To);
|
|
|
-
|
|
|
- // var body = DataModelUtils.ParseTemplate(model, data);
|
|
|
-
|
|
|
- // }
|
|
|
- // catch (Exception err)
|
|
|
- // {
|
|
|
- // MessageBox.Show("Unable to Parse Template!\n\n" + err.Message);
|
|
|
- // }
|
|
|
- // };
|
|
|
- // context.Items.Add(menu);
|
|
|
- // }
|
|
|
- // context.IsOpen = true;
|
|
|
- //}
|
|
|
- //else
|
|
|
- //{
|
|
|
+ var templates = new Client<DataModelTemplate>().Query(new Filter<DataModelTemplate>(x => x.Model).IsEqualTo(model.Name)
|
|
|
+ .And(x => x.Visible).IsEqualTo(true));
|
|
|
+ if (templates.Rows.Any())
|
|
|
+ {
|
|
|
+ var context = new ContextMenu();
|
|
|
+ foreach (var row in templates.Rows)
|
|
|
+ {
|
|
|
+ var menu = new MenuItem
|
|
|
+ {
|
|
|
+ Header = row.Get<DataModelTemplate, string>(x => x.Name),
|
|
|
+ Tag = row
|
|
|
+ };
|
|
|
+ menu.Click += (o, args) =>
|
|
|
+ {
|
|
|
+ var chosenrow = ((MenuItem)o).Tag as CoreRow;
|
|
|
+ try
|
|
|
+ {
|
|
|
+ var to = chosenrow.Get<DataModelTemplate, string>(x => x.To);
|
|
|
+ var CC = chosenrow.Get<DataModelTemplate, string>(x => x.CC);
|
|
|
+ var BCC = chosenrow.Get<DataModelTemplate, string>(x => x.BCC);
|
|
|
+ var Subject = chosenrow.Get<DataModelTemplate, string>(x => x.Subject);
|
|
|
+ attachmentName = chosenrow.Get<DataModelTemplate, string>(x => x.AttachmentName);
|
|
|
+ var template = chosenrow.Get<DataModelTemplate, string>(x => x.Template);
|
|
|
+
|
|
|
+ var body = DataModelUtils.ParseTemplate(model, template);
|
|
|
+
|
|
|
+ if (string.IsNullOrWhiteSpace(attachmentName))
|
|
|
+ attachmentName = DetermineName(model);
|
|
|
+ EmailUtils.CreateEMLFile(attachmentName, data, App.EmployeeEmail, Subject, body, to, CC, BCC);
|
|
|
+ }
|
|
|
+ catch (Exception err)
|
|
|
+ {
|
|
|
+ MessageBox.Show("Unable to Parse Template!\n\n" + err.Message);
|
|
|
+ }
|
|
|
+ };
|
|
|
+ context.Items.Add(menu);
|
|
|
+ }
|
|
|
+ context.IsOpen = true;
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
EmailUtils.CreateEMLFile(attachmentName, data, App.EmployeeEmail, "Emailing report for " + attachmentName);
|
|
|
- //}
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
private string DetermineName(DataModel model)
|