示例#1
0
        public void ProcessForm(NameValueCollection formData, List <FormFieldModel> fields, BaseFormPostActionModel model)
        {
            try
            {
                EmailPostActionModel emailPostActionModel = model as EmailPostActionModel;

                SmtpClient client = new SmtpClient();

                MailMessage email = new MailMessage();

                foreach (var recipient in emailPostActionModel.To)
                {
                    email.To.Add(recipient);
                }

                foreach (var recipient in emailPostActionModel.Cc)
                {
                    email.CC.Add(recipient);
                }
                // TODO: pass from, subject and body template as parameters
                email.From = new MailAddress("*****@*****.**");

                email.Subject = "DXA Module Form Data";

                email.Body = GenerateEmailBody(fields);

                client.Send(email);
            }
            catch (Exception ex)
            {
                Log.Debug(string.Format("Error while sending email: {0}", ex.Message));
                throw ex;
            }
        }
        public void ProcessForm(NameValueCollection formData, List <FormFieldModel> fields, BaseFormPostActionModel model)
        {
            SalesforcePostActionModel sfPostActionModel = model as SalesforcePostActionModel;

            try
            {
                string salesforceUrl = "https://www.salesforce.com/servlet/servlet.WebToLead?encoding=UTF-8";

                NameValueCollection webToLeadFormData = new NameValueCollection();
                webToLeadFormData.Add("oid", sfPostActionModel.OrganizationId);
                webToLeadFormData.Add("submit", "Submit");
                //webToLeadFormData.Add("", "");

                foreach (var field in fields)
                {
                    if (field.Purpose != null)
                    {
                        switch (field.PurposeType)
                        {
                        case FieldPurposeType.Salutation:
                            webToLeadFormData.Add("salutation", field.Value);
                            break;

                        case FieldPurposeType.FirstName:
                            webToLeadFormData.Add("first_name", field.Value);
                            break;

                        case FieldPurposeType.LastName:
                            webToLeadFormData.Add("last_name", field.Value);
                            break;

                        case FieldPurposeType.Email:
                            webToLeadFormData.Add("email", field.Value);
                            break;

                        case FieldPurposeType.Company:
                            webToLeadFormData.Add("company", field.Value);
                            break;

                        case FieldPurposeType.PhoneNumber:
                            webToLeadFormData.Add("mobile", field.Value);
                            break;

                        case FieldPurposeType.City:
                            webToLeadFormData.Add("city", field.Value);
                            break;

                        case FieldPurposeType.State:
                            webToLeadFormData.Add("state", field.Value);
                            break;

                        case FieldPurposeType.Address:
                            webToLeadFormData.Add("street", field.Value);
                            break;

                        default:
                            break;
                        }
                    }
                }


                WebClient webclient = new WebClient();
                webclient.Encoding = Encoding.UTF8;

                ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12 | SecurityProtocolType.Tls11 | SecurityProtocolType.Tls;
                byte[] responseArray = webclient.UploadValues(salesforceUrl, "POST", webToLeadFormData);
                Log.Debug("Form data was successufully submited to SalesForce. Response: ", Encoding.ASCII.GetString(responseArray));
            }
            catch (Exception ex)
            {
                Log.Error(string.Format("Error while posting data to SalesForce: {0}", ex.Message));
                throw ex;
            }
        }
        public void ProcessForm(NameValueCollection formData, List <FormFieldModel> fields, BaseFormPostActionModel model)
        {
            AudienceManagerPostActionModel amPostActionModel = model as AudienceManagerPostActionModel;

            try
            {
                if (formData[amPostActionModel.IdentificationKeyConfig] == null)
                {
                    throw new Exception("Audience Manager Identification Key Config is invalid! Cannot find such field.");
                }

                string identificationKey = formData[amPostActionModel.IdentificationKeyConfig];

                Repositories.AudienceManagerRepository rep = new Repositories.AudienceManagerRepository(identificationKey, amPostActionModel.IdentificationSource, amPostActionModel.EmailConfirmationIdentifier, amPostActionModel.AddressBookId);
                rep.CreateContact(fields);
            }
            catch (Exception ex)
            {
                Log.Debug(string.Format("Error while saving data to Audience Manager: {0}", ex.Message));
                throw ex;
            }
        }
示例#4
0
 public void ProcessForm(NameValueCollection formData, List <FormFieldModel> fields, BaseFormPostActionModel model)
 {
     try
     {
         EmailPostActionModel emailPostActionModel = model as EmailPostActionModel;
         List <string>        emailTo          = new List <string>();
         string        emailFrom               = ConfigurationManager.AppSettings["EmailFrom_Gen_Contact"];
         string        emailRecipientSeparator = ConfigurationManager.AppSettings["EmailRecipientsSeparator"] ?? ";";
         string        EmailAppName            = ConfigurationManager.AppSettings["EmailManager_AppName"];
         List <string> emailCC = new List <string>();
         foreach (var field in fields.Where(i => i.FieldType == FieldType.DropDown))
         {
             if (!string.IsNullOrEmpty(field.GetEmailIds()))
             {
                 emailTo.Add(field.GetEmailIds());
             }
         }
         if (emailPostActionModel.To != null)
         {
             foreach (var recipient in emailPostActionModel.To)
             {
                 emailTo.Add(recipient);
             }
         }
         if (emailPostActionModel.Cc != null)
         {
             foreach (var recipient in emailPostActionModel.Cc)
             {
                 emailCC.Add(recipient);
             }
         }
         string emailBody = GenerateEmailBody(fields, emailPostActionModel.EmailBody);
         Log.Debug("The list of recipients CC {0}", emailBody);
         string toEmail = emailTo.Count > 0? string.Join(emailRecipientSeparator, emailTo):string.Empty;
         Log.Debug("The list of recipients To {0}", toEmail);
         string ccEmail = emailCC.Count > 0?string.Join(emailRecipientSeparator, emailCC):string.Empty;
         Log.Debug("The list of recipients CC {0}", ccEmail);
         // Write down the code to send email
         // SendMail.SendEMail(toEmail, emailFrom, string.Empty, ccEmail, string.Empty, emailPostActionModel.Subject, emailBody, EmailAppName, emailRecipientSeparator);
     }
     catch (Exception ex)
     {
         Log.Error(string.Format("Error while sending email: {0}", ex.Message));
     }
 }