Exemplo n.º 1
0
        /// <summary>
        /// Save Question data in Table Storage for deafult questions based on different conditions.
        /// </summary>
        /// <returns>Null.</returns>
        public async Task SaveDefaultQuestionsDataAsync()
        {
            QuestionsDataRepository questionsDataRepository = new QuestionsDataRepository(_configuration, _telemetry);
            var isDefaultQuestionsPresent = await questionsDataRepository.IsDefaultQuestionAlreadyPresent();

            if (!isDefaultQuestionsPresent)
            {
                _telemetry.TrackEvent("DefaultQuestions");
                try
                {
                    List <string> questions = _configuration.GetSection("DefaultQuestions:Questions").Get <List <string> >();
                    foreach (string question in questions)
                    {
                        QuestionsDataEntity questionEntity = new QuestionsDataEntity
                        {
                            QuestionID          = Guid.NewGuid(),
                            PartitionKey        = PartitionKeyNames.QuestionsDataTable.QuestionsDataPartition,
                            RowKey              = Guid.NewGuid().ToString(),
                            Question            = question,
                            IsDefaultFlag       = true,
                            QuestionCreatedDate = DateTime.Now,
                        };
                        await questionsDataRepository.CreateOrUpdateAsync(questionEntity);
                    }
                }
                catch (Exception ex)
                {
                    _telemetry.TrackException(ex);
                }
            }
        }
Exemplo n.º 2
0
        /// <summary>
        /// Save Question data in Table Storage based on different conditions.
        /// </summary>
        /// <param name="taskInfo">This parameter is a ViewModel.</param>
        /// <returns>Null.</returns>
        public async Task SaveQuestionsDataAsync(TaskInfo taskInfo)
        {
            _telemetry.TrackEvent("DeleteReflections");
            try
            {
                QuestionsDataRepository questionsDataRepository = new QuestionsDataRepository(_configuration, _telemetry);
                QuestionsDataEntity     questionEntity          = new QuestionsDataEntity
                {
                    QuestionID          = taskInfo.questionID,
                    PartitionKey        = PartitionKeyNames.QuestionsDataTable.QuestionsDataPartition,
                    RowKey              = taskInfo.questionRowKey,
                    Question            = taskInfo.question,
                    IsDefaultFlag       = false,
                    QuestionCreatedDate = DateTime.Now,
                    CreatedBy           = taskInfo.postCreateBy,
                    CreatedByEmail      = taskInfo.postCreatedByEmail,
                };

                await questionsDataRepository.CreateOrUpdateAsync(questionEntity);
            }
            catch (Exception ex)
            {
                _telemetry.TrackException(ex);
            }
        }