Esempio n. 1
0
        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);
        }
Esempio n. 2
0
        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);
        }
Esempio n. 3
0
 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;
 }
Esempio n. 4
0
        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);
        }
Esempio n. 5
0
 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));
 }
Esempio n. 6
0
        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);
        }
Esempio n. 7
0
        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;
        }
Esempio n. 8
0
 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;
 }
Esempio n. 9
0
 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);
 }
Esempio n. 10
0
        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;
        }