/// <summary> /// To create Feedback records /// </summary> /// <param name="answersToCreate"></param> /// <param name="surveyId"></param> private void CreateFeedback(List <Answer> answersToCreate, Guid surveyId) { trace.Trace("Processing CreateFeedback - start"); if (answersToCreate == null || answersToCreate.Count == 0 || surveyId == Guid.Empty) { return; } for (int i = 0; i < answersToCreate.Count; i++) { var feedbackEntity = AnswerHelper.GetFeedbackEntityFromPayload(answersToCreate[i], payloadSurvey.Trace); feedbackEntity.Attributes[Attributes.SurveyResponseFeedback.SurveyFeedbackId] = new EntityReference(EntityName.SurveyResponse, surveyId); CommonXrm.CreateEntity(feedbackEntity, payloadSurvey.CrmService); } trace.Trace("Processing CreateFeedback - end"); }
/// <summary> /// To process answer records /// </summary> /// <param name="answers"></param> /// <param name="existingFeedback"></param> /// <param name="isSurveyCreate"></param> /// <returns></returns> private EntityCollection ProcessAnswers(List <Answer> answers, Dictionary <Guid, string> existingFeedback, bool isCreateSurvey) { trace.Trace("Processing ProcessAnswers - start"); var feedbackCollection = new EntityCollection(); if (answers != null) { for (int i = 0; i < answers.Count; i++) { trace.Trace("Processing Answer " + i + " - start"); var feedback = AnswerHelper.GetFeedbackEntityFromPayload(answers[i], existingFeedback, isCreateSurvey, trace); if (feedback != null) { feedbackCollection.Entities.Add(feedback); } trace.Trace("Processing Answer " + i + " - end"); } } trace.Trace("Processing ProcessAnswers - end"); return(feedbackCollection); }