Exemple #1
0
        private void SaveDateRangeQuestion(QuestionResponseModel response, Guid userPlantId)
        {
            try
            {
                CDPDateRangeAnswer data = _context.CDPDateRangeAnswers.FirstOrDefault(ans => ans.PlantId == userPlantId &&
                                                                                      ans.QuestionId.Equals(response.QuestionId) && ans.Year == response.Year);
                string[] date = response.Value.ToString().Split('s');

                if (data != null)
                {
                    data.StartDate = Convert.ToDateTime(date[0]);
                    data.EndDate   = Convert.ToDateTime(date[1]);
                }
                else
                {
                    data            = new CDPDateRangeAnswer();
                    data.AnswerId   = Guid.NewGuid();
                    data.PlantId    = userPlantId;
                    data.Year       = response.Year;
                    data.QuestionId = response.QuestionId;
                    data.StartDate  = Convert.ToDateTime(date[0]);
                    data.EndDate    = Convert.ToDateTime(date[1]);
                    _context.CDPDateRangeAnswers.AddObject(data);
                }
                _context.SaveChanges();
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Exemple #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);
        }