public IActionResult Load(long?ID, long?QusLevel, long?LineOfBusiness, long?SubLineOfBusiness, long?langId) { GetQuestionnaire operation = new GetQuestionnaire(); operation.ID = ID; operation.QustionnaireLevel = QusLevel; operation.LineOfBusiness = LineOfBusiness; operation.SubLineOfBusiness = SubLineOfBusiness; 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 <Questionnaire>)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 })); } }
public IActionResult LoadQuestionnaire(long?langId, long?productID, long?productDetailedID) { GetProductsDetails operation = new GetProductsDetails(); GetQuestionnaire questionears = new GetQuestionnaire(); operation.ProductID = productID; if (langId.HasValue) { operation.LangID = langId; questionears.LangID = langId; } else { operation.LangID = 1; questionears.LangID = 1; } var result = operation.QueryAsync().Result; var qus = questionears.QueryAsync().Result; var ProductDetails = (List <ProductDetails>)result; var productQuestionnaires = (List <Questionnaire>)qus; List <Questionnaire> RelatedQuestionnaires = new List <Questionnaire>(); List <Questionnaire> UnRelatedQuestionnaires = new List <Questionnaire>(); if (productQuestionnaires.Count > 0) { foreach (var prod in ProductDetails) { foreach (var item in productQuestionnaires) { if (prod.LineOfBusniess == item.LineOfBusiness && item.SubLineOfBusiness == null) { bool alreadyExist = UnRelatedQuestionnaires.Contains(item); bool alreadyExistInSecondList = RelatedQuestionnaires.Contains(item); if (!alreadyExist && !alreadyExistInSecondList) { UnRelatedQuestionnaires.Add(item); } else { UnRelatedQuestionnaires.Add(item); RelatedQuestionnaires.Remove(item); } } else { bool alreadyExist = RelatedQuestionnaires.Contains(item); bool alreadyExistInFirstList = UnRelatedQuestionnaires.Contains(item); if (!alreadyExist && !alreadyExistInFirstList) { RelatedQuestionnaires.Add(item); } } } } } else { UnRelatedQuestionnaires = productQuestionnaires; } if (result is ValidationsOutput) { return(Ok(new ApiResult <List <ValidationItem> >() { Data = ((ValidationsOutput)result).Errors })); } else { return(Ok(new { RelatedQuestionnaires, UnRelatedQuestionnaires })); } }