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)); } }
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 })); } }