コード例 #1
0
        public IActionResult Load(long?ID, long?productID, long?productDetailedID, long?langId)
        {
            GetProductQuestionears operation = new GetProductQuestionears();

            operation.ID                = ID;
            operation.ProductID         = productID;
            operation.ProductDetailedID = productDetailedID;

            if (langId.HasValue)
            {
                operation.LangID = langId;
            }
            else
            {
                operation.LangID = 1;
            }

            var result = operation.QueryAsync().Result;

            if (result is ValidationsOutput)
            {
                return(Ok(new ApiResult <List <ValidationItem> >()
                {
                    Data = ((ValidationsOutput)result).Errors
                }));
            }
            else
            {
                return(Ok((List <ProductQuestionnaire>)result));
            }
        }
コード例 #2
0
        public IActionResult LoadRelatedQuestionnaire(long?langId, long?productDetailedID, long?LineOfBusiness, long?SubLine)
        {
            GetProductQuestionears questionears = new GetProductQuestionears();
            GetQuestionnaire       operation    = new GetQuestionnaire();

            questionears.ProductDetailedID = productDetailedID;
            questionears.LineOfBusniess    = LineOfBusiness;
            if (langId.HasValue)
            {
                operation.LangID    = langId;
                questionears.LangID = langId;
            }
            else
            {
                operation.LangID    = 1;
                questionears.LangID = 1;
            }


            operation.LineOfBusiness = LineOfBusiness;
            var result = operation.QueryAsync().Result;
            var qus    = questionears.QueryAsync().Result;

            var questionnaires = (List <Questionnaire>)result;

            var productQuestionnaires = (List <ProductQuestionnaire>)qus;
            List <ProductQuestionnaire> RelatedQuestionnaires   = new List <ProductQuestionnaire>();
            List <Questionnaire>        UnRelatedQuestionnaires = new List <Questionnaire>();

            if (productQuestionnaires.Count > 0)
            {
                RelatedQuestionnaires = productQuestionnaires.Where(p => questionnaires.Any(s => s.ID == p.QuestionnaireID && (s.SubLineOfBusiness == SubLine || s.SubLineOfBusiness == null))).ToList();

                UnRelatedQuestionnaires = questionnaires.Where(s => productQuestionnaires.Any(p => p.QuestionnaireID != s.ID &&
                                                                                              (s.SubLineOfBusiness == SubLine || s.SubLineOfBusiness == null))).ToList();

                UnRelatedQuestionnaires = UnRelatedQuestionnaires.Where(un => !RelatedQuestionnaires.Exists(re => un.ID == re.QuestionnaireID)).ToList();
            }
            else
            {
                UnRelatedQuestionnaires = questionnaires.Where(q => q.SubLineOfBusiness == SubLine || q.SubLineOfBusiness == null).ToList();
            }

            if (result is ValidationsOutput)
            {
                return(Ok(new ApiResult <List <ValidationItem> >()
                {
                    Data = ((ValidationsOutput)result).Errors
                }));
            }
            else
            {
                return(Ok(new { RelatedQuestionnaires, UnRelatedQuestionnaires }));
            }
        }