Beispiel #1
0
 public int SetMailTemplate(BasicMailTemplate mailTemplate)
 {
     return(SetMailTemplate(mailTemplate.TemplateId,
                            mailTemplate.TemplateName,
                            mailTemplate.LanguageCode,
                            mailTemplate.CountryCode,
                            mailTemplate.OrganizationId,
                            mailTemplate.TemplateBody));
 }
Beispiel #2
0
        public static MailTemplate FromNameAndOrg(string name, Organization sender)
        {
            if (name == "")
            {
                return(MailTemplate.None);
            }

            Country country     = sender.DefaultCountry;
            string  countrycode = country.Code;
            string  lang        = country.Culture.Substring(0, 2);

            BasicMailTemplate basic = MailTemplateCache.GetBestMatch(name, lang, countrycode, sender);

            return(FromBasic(basic));
        }
Beispiel #3
0
        //----------------------------------------------//
        // Cached retreval

        public static MailTemplate FromNameCountryAndOrg(string name, string countrycode, int orgId)
        {
            if (name == "")
            {
                return(MailTemplate.None);
            }

            Country      country = Country.FromCode(countrycode);
            string       lang    = country.Culture.Substring(0, 2);
            Organization org     = Organization.FromIdentity(orgId);

            BasicMailTemplate basic = MailTemplateCache.GetBestMatch(name, lang, countrycode, org);

            return(FromBasic(basic));
        }
        static public BasicMailTemplate GetBestMatch(string templateName, string language, string country, Organization org)
        {
            List <BasicMailTemplate> tmplList = GetCachedTemplates(templateName);

            Organizations orgLine = (org != null) ? org.GetLine() : new Organizations();

            int[]      lineIDs = orgLine.Identities;
            List <int> idlist  = new List <int>(lineIDs);

            BasicMailTemplate templateDefault = null;
            BasicMailTemplate countryDefault  = null;
            BasicMailTemplate bestSofar       = null;
            int bestIndex = -1;

            foreach (BasicMailTemplate bmt in tmplList)
            {
                int thisIndex = idlist.IndexOf(bmt.OrganizationId);
                if (thisIndex > bestIndex)
                {
                    bestIndex = thisIndex;
                    bestSofar = bmt;
                }
                else if (bmt.CountryCode.ToUpper() == country && bmt.OrganizationId < 1)
                {
                    countryDefault = bmt;
                }
                else if (bmt.CountryCode == "" && bmt.OrganizationId < 1)
                {
                    templateDefault = bmt;
                }
            }
            if (bestSofar != null)
            {
                return(bestSofar);
            }
            else if (countryDefault != null)
            {
                return(countryDefault);
            }
            else if (templateDefault != null)
            {
                return(templateDefault);
            }
            else
            {
                return(null);
            }
        }
Beispiel #5
0
        internal static MailTemplate FromBasic(BasicMailTemplate basic)
        {
            MailTemplate templ = new MailTemplate(basic);

            return(templ);
        }
Beispiel #6
0
        public static MailTemplate FromIdentity(int templateId)
        {
            BasicMailTemplate basic = SwarmDb.GetDatabaseForReading().GetMailTemplateById(templateId);

            return(FromBasic(basic));
        }
Beispiel #7
0
 public MailTemplate(BasicMailTemplate basic)
     : base(basic)
 {
     originallyLoadedContent = basic.TemplateBody;
 }