Exemplo n.º 1
0
    public static Template GetEmailTemplate(int emailTemplateID, int productFamilyID)
    {
        Template result = new Template();

        EmailTemplate      template = EmailTemplates.GetEmailTemplate(UserSession.LoginUser, emailTemplateID);
        OrganizationEmails emails   = new OrganizationEmails(UserSession.LoginUser);

        emails.LoadByTemplateAndProductFamily(UserSession.LoginUser.OrganizationID, emailTemplateID, productFamilyID);

        result.EmailTemplateID = template.EmailTemplateID;
        result.Description     = template.Description;
        result.Body            = template.Body;
        result.IsHtml          = template.IsHtml;
        result.IsEmail         = template.IsEmail;
        result.Header          = template.Header;
        result.UseTemplate     = template.UseGlobalTemplate && template.IsEmail;
        result.Footer          = template.Footer;
        result.Subject         = template.Subject;

        if (!emails.IsEmpty && UserSession.LoginUser.UserID != -34)
        {
            result.Body        = emails[0].Body;
            result.IsHtml      = emails[0].IsHtml;
            result.Subject     = emails[0].Subject;
            result.Header      = emails[0].Header;
            result.Footer      = emails[0].Footer;
            result.UseTemplate = emails[0].UseGlobalTemplate && template.IsEmail;
        }

        return(result);
    }
        public static string GetOrganizationEmail(RestCommand command, int organizationEmailID)
        {
            OrganizationEmail organizationEmail = OrganizationEmails.GetOrganizationEmail(command.LoginUser, organizationEmailID);

            if (organizationEmail.OrganizationID != command.Organization.OrganizationID)
            {
                throw new RestException(HttpStatusCode.Unauthorized);
            }
            return(organizationEmail.GetXml("OrganizationEmail", true));
        }
Exemplo n.º 3
0
    public static void DeleteTemplate(int emailTemplateID, int productFamilyID)
    {
        if (!UserSession.CurrentUser.IsSystemAdmin)
        {
            return;
        }
        OrganizationEmails emails = new OrganizationEmails(UserSession.LoginUser);

        emails.LoadByTemplateAndProductFamilyForDelete(UserSession.LoginUser.OrganizationID, emailTemplateID, productFamilyID);
        if (!emails.IsEmpty && emails[0].OrganizationID == UserSession.LoginUser.OrganizationID)
        {
            emails[0].Delete();
            emails.Save();
        }
    }
        public static string GetOrganizationEmails(RestCommand command)
        {
            OrganizationEmails organizationEmails = new OrganizationEmails(command.LoginUser);

            organizationEmails.LoadByOrganizationID(command.Organization.OrganizationID);

            if (command.Format == RestFormat.XML)
            {
                return(organizationEmails.GetXml("OrganizationEmails", "OrganizationEmail", true, command.Filters));
            }
            else
            {
                throw new RestException(HttpStatusCode.BadRequest, "Invalid data format");
            }
        }
Exemplo n.º 5
0
    public static void SaveEmailTemplate(int emailTemplateID, string subject, string header, string footer, string body, bool isHtml, bool useTemplate, int productFamilyID)
    {
        if (!UserSession.CurrentUser.IsSystemAdmin)
        {
            return;
        }

        EmailTemplate template = EmailTemplates.GetEmailTemplate(UserSession.LoginUser, emailTemplateID);

        subject = template.IsEmail ? subject : "";

        if (UserSession.LoginUser.UserID == -34)
        {
            template.Body              = body;
            template.EmailTemplateID   = emailTemplateID;
            template.IsHtml            = isHtml;
            template.Subject           = subject;
            template.Header            = header;
            template.Footer            = footer;
            template.UseGlobalTemplate = useTemplate && template.IsEmail;
            template.Collection.Save();
        }
        else
        {
            OrganizationEmails emails = new OrganizationEmails(UserSession.LoginUser);
            emails.LoadByTemplateAndProductFamily(UserSession.LoginUser.OrganizationID, emailTemplateID, productFamilyID);
            OrganizationEmail email = emails.IsEmpty || (emails[0].ProductFamilyID == null && productFamilyID != -1) ? (new OrganizationEmails(UserSession.LoginUser)).AddNewOrganizationEmail() : emails[0];

            email.Body              = body;
            email.EmailTemplateID   = emailTemplateID;
            email.IsHtml            = isHtml;
            email.OrganizationID    = UserSession.LoginUser.OrganizationID;
            email.Subject           = subject;
            email.Header            = header;
            email.Footer            = footer;
            email.UseGlobalTemplate = useTemplate && template.IsEmail;
            if (productFamilyID == -1)
            {
                email.ProductFamilyID = null;
            }
            else
            {
                email.ProductFamilyID = productFamilyID;
            }
            email.Collection.Save();
        }
    }