Exemplo n.º 1
0
        /// <summary>
        /// Method to save question response.
        /// </summary>
        public void SaveResponseTableType(List <QuestionResponseTableTypeModel> modelData, Guid questionId, Guid userPlantId, int selectedYear)
        {
            using (var transaction = new TransactionScope())
            {
                try
                {
                    List <CDPTabularAnswer> responseList = _context.CDPTabularAnswers.Where(answer =>
                                                                                            answer.PlantId == userPlantId && answer.QuestionId == questionId && answer.Year == selectedYear).ToList();

                    foreach (var data in responseList)
                    {
                        CDPTabularAnswer response = _context.CDPTabularAnswers.First(m => m.Id == data.Id);
                        _context.CDPTabularAnswers.DeleteObject(response);
                    }

                    if (modelData != null)
                    {
                        foreach (var data in modelData)
                        {
                            CDPTabularAnswer response = new CDPTabularAnswer()
                            {
                                Id         = Guid.NewGuid(),
                                PlantId    = userPlantId,
                                Year       = selectedYear,
                                QuestionId = questionId,
                                Answer     = data.Answer
                            };
                            _context.CDPTabularAnswers.AddObject(response);
                        }
                    }

                    _context.SaveChanges();

                    transaction.Complete();
                }

                catch (Exception ex)
                {
                    transaction.Dispose();
                    throw ex;
                }
            }
        }
Exemplo n.º 2
0
        private object GetQuestionAnswerDetails(Guid userPlantId, Guid questionId, QuestionType contextName, int selectionYear)
        {
            object result = null;

            switch (contextName)
            {
            case QuestionType.Simple:
                CDPSimpleChoiceAnswer userSimpleAnswer = _context.CDPSimpleChoiceAnswers.FirstOrDefault(ans => ans.PlantId == userPlantId &&
                                                                                                        ans.QuestionId == questionId && ans.Year == selectionYear);
                if (userSimpleAnswer != null)
                {
                    result = userSimpleAnswer.AnswerValue;
                }
                break;

            case QuestionType.List:
                break;

            case QuestionType.DropDown:
                CDPSimpleChoiceAnswer userDropDownAnswer = _context.CDPSimpleChoiceAnswers.FirstOrDefault(ans => ans.PlantId == userPlantId &&
                                                                                                          ans.QuestionId == questionId && ans.Year == selectionYear);
                if (userDropDownAnswer != null)
                {
                    result = userDropDownAnswer.AnswerValue;
                }
                break;

            case QuestionType.DropDownList:
                CDPSimpleChoiceAnswer userAnswer = _context.CDPSimpleChoiceAnswers.FirstOrDefault(ans => ans.PlantId == userPlantId &&
                                                                                                  ans.QuestionId == questionId && ans.Year == selectionYear);
                if (userAnswer != null)
                {
                    result = userAnswer.AnswerValue;
                }
                break;

            case QuestionType.Option:
                CDPSimpleChoiceAnswer userOptionAnswer = _context.CDPSimpleChoiceAnswers.FirstOrDefault(ans => ans.PlantId == userPlantId &&
                                                                                                        ans.QuestionId == questionId && ans.Year == selectionYear);
                if (userOptionAnswer != null)
                {
                    result = userOptionAnswer.AnswerValue;
                }
                break;

            case QuestionType.MultipleSelectList:
                CDPSimpleChoiceAnswer userMultipleSelectListAnswer = _context.CDPSimpleChoiceAnswers.FirstOrDefault(ans => ans.PlantId == userPlantId &&
                                                                                                                    ans.QuestionId == questionId && ans.Year == selectionYear);
                if (userMultipleSelectListAnswer != null)
                {
                    result = userMultipleSelectListAnswer.AnswerValue;
                }
                break;

            case QuestionType.DateRange:
                CDPDateRangeAnswer dateRangeAns = _context.CDPDateRangeAnswers.FirstOrDefault(ans => ans.PlantId == userPlantId && ans.QuestionId == questionId && ans.Year == selectionYear);
                if (dateRangeAns != null)
                {
                    result = new DateRange()
                    {
                        StartDate = dateRangeAns.StartDate, EndDate = dateRangeAns.EndDate
                    };
                }
                break;

            case QuestionType.Date:
                break;

            case QuestionType.Boolean:
                CDPSimpleChoiceAnswer userBooleanAnswer = _context.CDPSimpleChoiceAnswers.FirstOrDefault(ans => ans.PlantId == userPlantId &&
                                                                                                         ans.QuestionId == questionId && ans.Year == selectionYear);
                if (userBooleanAnswer != null)
                {
                    result = userBooleanAnswer.AnswerValue;
                }
                break;

            case QuestionType.CDPGridResultList:
                //var gridResponse = _context.CDPTabularAnswers.FirstOrDefault(ans => ans.PlantId == userPlantId &&
                //    ans.QuestionId == questionId && ans.Year == selectionYear);
                // List<string> gridResponse
                var Answers = from tablans in _context.CDPTabularAnswers
                              where tablans.PlantId == userPlantId && tablans.QuestionId == questionId && tablans.Year == selectionYear
                              orderby tablans.Id
                              select tablans;
                //).ToList();
                List <CDPTabularAnswer> gridResponse = new List <CDPTabularAnswer>();
                foreach (var item in Answers)
                {
                    CDPTabularAnswer oCDPTabularAnswer = new CDPTabularAnswer();
                    oCDPTabularAnswer.Answer     = item.Answer;
                    oCDPTabularAnswer.Id         = item.Id;
                    oCDPTabularAnswer.PlantId    = item.PlantId;
                    oCDPTabularAnswer.QuestionId = item.QuestionId;
                    oCDPTabularAnswer.Year       = item.Year;
                    gridResponse.Add(oCDPTabularAnswer);
                }
                if (gridResponse != null)
                {
                    result = gridResponse;
                }
                break;

            case QuestionType.CDPGrid:
                //var gridResponse = _context.CDPTabularAnswers.FirstOrDefault(ans => ans.PlantId == userPlantId &&
                //    ans.QuestionId == questionId && ans.Year == selectionYear);
                // List<string> gridResponse
                var gridAnswers = from tablans in _context.CDPTabularAnswers
                                  where tablans.PlantId == userPlantId && tablans.QuestionId == questionId && tablans.Year == selectionYear
                                  orderby tablans.Id
                                  select tablans;
                //).ToList();
                List <CDPTabularAnswer> cdpgridResponse = new List <CDPTabularAnswer>();
                foreach (var item in gridAnswers)
                {
                    CDPTabularAnswer oCDPTabularAnswer = new CDPTabularAnswer();
                    oCDPTabularAnswer.Answer     = item.Answer;
                    oCDPTabularAnswer.Id         = item.Id;
                    oCDPTabularAnswer.PlantId    = item.PlantId;
                    oCDPTabularAnswer.QuestionId = item.QuestionId;
                    oCDPTabularAnswer.Year       = item.Year;
                    cdpgridResponse.Add(oCDPTabularAnswer);
                }
                if (cdpgridResponse != null)
                {
                    result = cdpgridResponse;
                }

                break;

            default:
                break;
            }
            return(result);
        }