public static bool GetTemplate(AlertTemplateTypes type, string locale, string name, bool getFromDb, bool allowEmpty, out string subject, out string body) { bool ret = false; subject = body = null; if (getFromDb) { ret = GetFromDatabase(string.Format("{0}|{1}", locale, name), out subject, out body); } if (!ret) { ResourceManager rm = null; switch (type) { case AlertTemplateTypes.Notification: rm = AlertTemplate.TemplatesRM; break; case AlertTemplateTypes.Reminder: rm = ReminderTemplate.TemplatesRM; break; case AlertTemplateTypes.Special: rm = SpecialMessage.TemplatesRM; break; } GetFromResources(rm, locale, name, allowEmpty, out subject, out body); } return(ret); }
public static DataTable GetVariablesForTemplateEditor(AlertTemplateTypes type, string templateName) { DataTable table = new DataTable(); table.Columns.Add(new DataColumn("Name", typeof(string))); table.Columns.Add(new DataColumn("Description", typeof(string))); table.Columns.Add(new DataColumn("Value", typeof(string))); AlertVariable[] vars = null; switch (type) { case AlertTemplateTypes.Notification: string[] parts = templateName.Split('|'); vars = AlertVariable.GetVariables((SystemEventTypes)Enum.Parse(typeof(SystemEventTypes), parts[0])); break; case AlertTemplateTypes.Reminder: vars = Reminder.GetVariables((DateTypes)Enum.Parse(typeof(DateTypes), templateName)); break; case AlertTemplateTypes.Special: vars = SpecialMessage.GetVariables((SpecialMessageType)Enum.Parse(typeof(SpecialMessageType), templateName)); break; } if (vars != null) { foreach (AlertVariable var in vars) { DataRow row = table.NewRow(); row["Name"] = var.Name; row["Description"] = string.Empty; string value = "[=" + var.Name + "=]"; if (var.isLink) { value += "[=/" + var.Name + "=]"; } row["Value"] = value; table.Rows.Add(row); } } return(table); }
public static string GetDisplayName(AlertTemplateTypes type, string key) { string ret = null; switch(type) { case AlertTemplateTypes.Notification: string[] parts = key.Split('|'); // EventType|MessageType ret = string.Format("{0} [{1}]", SystemEvents.GetSystemEventName(parts[0]), SystemEvents.GetMessageTypeName(parts[1])); break; case AlertTemplateTypes.Reminder: ret = ReminderTemplate.TypesRM.GetString(key); break; case AlertTemplateTypes.Special: ret = SpecialMessage.TypesRM.GetString(key); break; } return ret; }
public static string GetDisplayName(AlertTemplateTypes type, string key) { string ret = null; switch (type) { case AlertTemplateTypes.Notification: string[] parts = key.Split('|'); // EventType|MessageType ret = string.Format("{0} [{1}]", SystemEvents.GetSystemEventName(parts[0]), SystemEvents.GetMessageTypeName(parts[1])); break; case AlertTemplateTypes.Reminder: ret = ReminderTemplate.TypesRM.GetString(key); break; case AlertTemplateTypes.Special: ret = SpecialMessage.TypesRM.GetString(key); break; } return(ret); }
public static bool GetTemplate(AlertTemplateTypes type, string locale, string name, bool getFromDb, out string subject, out string body) { return(GetTemplate(type, locale, name, getFromDb, false, out subject, out body)); }
public static DataTable GetNames(AlertTemplateTypes type) { DataTable ret = new DataTable(); ret.Columns.Add("Key", typeof(string)); ret.Columns.Add("Name", typeof(string)); ResourceManager rm = null; switch (type) { case AlertTemplateTypes.Notification: rm = AlertTemplate.TemplatesRM; break; case AlertTemplateTypes.Reminder: rm = ReminderTemplate.TemplatesRM; break; case AlertTemplateTypes.Special: rm = SpecialMessage.TemplatesRM; break; } if (rm != null) { bool pm = License.ProjectManagement; bool hd = License.HelpDesk; bool wf = License.WorkflowModule; ResourceSet rs = rm.GetResourceSet(Thread.CurrentThread.CurrentUICulture, true, true); IDictionaryEnumerator en = rs.GetEnumerator(); DataRow row; while (en.MoveNext()) { string key = en.Key.ToString(); int i = key.LastIndexOf("|"); string field = key.Substring(i + 1); if (0 == string.Compare(field, "subject", true)) { string name = key.Substring(0, i); if ( !pm && (name.StartsWith("Project_") || name.StartsWith("Task_")) || !hd && (name.StartsWith("Issue_") || name.StartsWith("IssueRequest_") || name.StartsWith("Project_Updated_IssueList")) || !wf && name.StartsWith("Assignment_") ) { // skip } else { row = ret.NewRow(); row["Key"] = name; row["Name"] = GetDisplayName(type, name); ret.Rows.Add(row); } } } } return(ret); }
public static DataTable GetVariablesForTemplateEditor(AlertTemplateTypes type, string templateName) { DataTable table = new DataTable(); table.Columns.Add(new DataColumn("Name", typeof(string))); table.Columns.Add(new DataColumn("Description", typeof(string))); table.Columns.Add(new DataColumn("Value", typeof(string))); AlertVariable[] vars = null; switch(type) { case AlertTemplateTypes.Notification: string[] parts = templateName.Split('|'); vars = AlertVariable.GetVariables((SystemEventTypes)Enum.Parse(typeof(SystemEventTypes), parts[0])); break; case AlertTemplateTypes.Reminder: vars = Reminder.GetVariables((DateTypes)Enum.Parse(typeof(DateTypes), templateName)); break; case AlertTemplateTypes.Special: vars = SpecialMessage.GetVariables((SpecialMessageType)Enum.Parse(typeof(SpecialMessageType), templateName)); break; } if(vars != null) { foreach(AlertVariable var in vars) { DataRow row = table.NewRow(); row["Name"] = var.Name; row["Description"] = string.Empty; string value = "[=" + var.Name + "=]"; if (var.isLink) value += "[=/" + var.Name + "=]"; row["Value"] = value; table.Rows.Add(row); } } return table; }
public static bool GetTemplate(AlertTemplateTypes type, string locale, string name, bool getFromDb, bool allowEmpty, out string subject, out string body) { bool ret = false; subject = body = null; if(getFromDb) ret = GetFromDatabase(string.Format("{0}|{1}", locale, name), out subject, out body); if(!ret) { ResourceManager rm = null; switch(type) { case AlertTemplateTypes.Notification: rm = AlertTemplate.TemplatesRM; break; case AlertTemplateTypes.Reminder: rm = ReminderTemplate.TemplatesRM; break; case AlertTemplateTypes.Special: rm = SpecialMessage.TemplatesRM; break; } GetFromResources(rm, locale, name, allowEmpty, out subject, out body); } return ret; }
public static bool GetTemplate(AlertTemplateTypes type, string locale, string name, bool getFromDb, out string subject, out string body) { return GetTemplate(type, locale, name, getFromDb, false, out subject, out body); }
public static DataTable GetNames(AlertTemplateTypes type) { DataTable ret = new DataTable(); ret.Columns.Add("Key", typeof(string)); ret.Columns.Add("Name", typeof(string)); ResourceManager rm = null; switch(type) { case AlertTemplateTypes.Notification: rm = AlertTemplate.TemplatesRM; break; case AlertTemplateTypes.Reminder: rm = ReminderTemplate.TemplatesRM; break; case AlertTemplateTypes.Special: rm = SpecialMessage.TemplatesRM; break; } if(rm != null) { bool pm = License.ProjectManagement; bool hd = License.HelpDesk; bool wf = License.WorkflowModule; ResourceSet rs = rm.GetResourceSet(Thread.CurrentThread.CurrentUICulture, true, true); IDictionaryEnumerator en = rs.GetEnumerator(); DataRow row; while(en.MoveNext()) { string key = en.Key.ToString(); int i = key.LastIndexOf("|"); string field = key.Substring(i+1); if(0 == string.Compare(field, "subject", true)) { string name = key.Substring(0, i); if( !pm && (name.StartsWith("Project_") || name.StartsWith("Task_")) || !hd && (name.StartsWith("Issue_") || name.StartsWith("IssueRequest_") || name.StartsWith("Project_Updated_IssueList")) || !wf && name.StartsWith("Assignment_") ) { // skip } else { row = ret.NewRow(); row["Key"] = name; row["Name"] = GetDisplayName(type, name); ret.Rows.Add(row); } } } } return ret; }