Exemplo n.º 1
0
        public void ReplaceDynamicPlaceholders(StringBuilder messageBody, CompleteResponseDTO complete)
        {
            MatchCollection matches = Regex.Matches(messageBody.ToString(), "\\[[0-9]+\\]");
            List<IResponseElementProvider> elements = complete.ResponseHolder.GetElements();
            foreach (Match m in matches)
            {
                string placeholder = m.Value;
                string placeholderId = placeholder.Substring(1);
                placeholderId = placeholderId.Substring(0, placeholderId.Length - 1);
                int questionID = 0;
                Int32.TryParse(placeholderId, out questionID);
                IResponseElementProvider element  = null;
                List<ResponseDto> responses = null;
                if (questionID != 0)
                {
                    if( complete.ResponseHolder.GetElements() != null)
                          element = complete.ResponseHolder.GetElements().Find(delegate(IResponseElementProvider irep) { return irep.PageElement.ElementId == questionID; });

                    //Added if condition to prevent Object references issues on 10/22/10
                    if (element != null)
                    {
                        responses = element.GetResponseDto(complete.ResponseKey);

                    }
                    else
                    {
                        responses = new List<ResponseDto>();
                        if (complete.Responses.Count != -1)
                        {
                            foreach (ResponseDto responses1 in complete.Responses)
                            {
                                Type respType = responses1.GetType();

                                if (respType == typeof(QuestionResponseDto))
                                {
                                    responses.Add((QuestionResponseDto)responses1);
                                }

                            }
                        }
                    }
                    PageElementChoiceDto choice  = null;
                    if (responses != null)
                    {
                        if (responses.Count == 0)
                            responses = null;
                    }
                        //Added if condition to prevent Object references issues on 10/22/10
                        if (responses != null)
                        {
                            if (responses.Count > 0)
                            {
                                string response = "";
                                foreach (ResponseDto rd in responses)
                                {
                                    QuestionResponseDto r = rd as QuestionResponseDto;
                                    if (r != null)
                                    {
                                        int choiceId = r.ChoiceId;
                                        if (element != null)
                                            choice = element.Choices.Find(delegate(PageElementChoiceDto pecd) { return pecd.ChoiceId == choiceId; });

                                        if (choice != null)
                                        {
                                            response = response.TrimStart(' ');

                                            if (!string.IsNullOrEmpty(response))
                                            {
                                                response += ", ";
                                            }
                                            response += choice.ElementText;

                                            if (r.ListOfValuesId != null)
                                            {
                                                response += " - " + choice.Choices.Find(delegate(LovInfo lov) { return lov.LovKey == r.ListOfValuesId; }).ColValue;
                                            }

                                            if (!string.IsNullOrEmpty(r.ChoiceText))
                                            {
                                                response = response.TrimStart(' ');
                                                if (!string.IsNullOrEmpty(response))
                                                {
                                                    response += (" - ");
                                                }
                                            }
                                            response += r.ChoiceText;
                                            //response.Append(" ");
                                        }
                                        else
                                        {
                                            if (r.ChoiceId == questionID)
                                            {
                                                response += GetElementText(r.ChoiceId) + " ";
                                                response += r.ChoiceText + " ";
                                            }
                                        }
                                    }
                                }
                                messageBody.Replace(placeholder, response);
                            }
                        }
						//Added by Chandra on 11/03/2010
                        else
                        {
                            messageBody.Replace(placeholder, String.Empty);
                        }
                    
                }
            }
        }
Exemplo n.º 2
0
        private void SendUnsubscribeEmail(QuestionnaireDto questionnaire, PersonalResponseDto customer, string rid)
        {
            List<ResponseDto> responses = new List<ResponseDto>();
            CompleteResponseDTO complete = new CompleteResponseDTO(customer.CustomerId, rid, responses,
                new FormSubmissionFacade.IResponseServiceClass(questionnaire, this.PageAssembly.Page, questionnaire.CountryCode, questionnaire.LanguageCode, true),
                customer.ResponseKey);

            responses.Add(customer);

            EmailFacade.SendUnsubscribeEmail(complete, customer.EmailAddress);
        }
Exemplo n.º 3
0
 /// <summary>
 /// SendMails()
 /// </summary>
 /// <param name="QuestionaireID"></param>
 private void SendMails(int QuestionnaireID, string languageCode, string CountryCode, StringBuilder QuestionRespSummary)
 {
     QuestionnaireDto questionnaire = FormRegistry.QuestionnaireDao.Get((int)QuestionnaireID, QuestionnaireType.Questionnaire, ViewType.Undefined);
     PageDto page = FormRegistry.PageDao.Get(QuestionnaireID, PageType.FormPage);
     IResponseServiceClass ResponseProvider = new IResponseServiceClass(questionnaire, page, CountryCode, languageCode, true);
     CompleteResponseDTO e = new CompleteResponseDTO(CustomerID, string.Empty, responses, ResponseProvider, Convert.ToInt64(ResponseID));
     EmailFacade.SendEmail(e, MailtoRecipent, QuestionRespSummary);
 }