/// <summary> /// Compare Variable Value /// </summary> /// <param name="recordVariables"></param> /// <param name="variableLanguage"></param> /// <param name="compareValue"></param> /// <returns></returns> private bool CompareVariableValue(List <Record_Variable> recordVariables, Variable_Language variableLanguage, string compareValue) { bool isMatch = false; var recorVariable = recordVariables.Where(rv => rv.VariableID == variableLanguage.ID).FirstOrDefault(); if (recorVariable != null && recorVariable.Value == compareValue) { isMatch = true; } return(isMatch); }
/// <summary> /// Get Variable Details /// </summary> /// <param name="id"></param> /// <returns></returns> public static Variable GetVariable(Guid id, Guid languageID) { Variable objVariables = new Variable(); //Variable List <Variable> lstVariables = new List <Variable>(); //Choice Choice objChoice; Choice_Language objChoiceLang; List <Choice> lstChoice = new List <Choice>(); List <Choice_Language> lstChoiceLang = new List <Choice_Language>(); using (var context = new TSMContext()) { // return context.Variables.Where(v => v.ID == id).FirstOrDefault(); var result = from v in context.Variables join vl in context.Variable_Languages on v.ID equals vl.ID where v.ID == id && vl.LanguageID == languageID select new { ID = v.ID, Type = v.Type, ShowInAdvancedSearchFilter = v.ShowInAdvancedSearchFilter, ShowInDetailPage = v.ShowInDetailPage, ShowInReport = v.ShowInReport, IsSytemDefined = v.IsSytemDefined, FilterHeading = v.FilterHeading, IsActive = v.IsActive, IsMandatory = v.IsMandatory, CreatedBy = v.CreatedBy, CreatedDate = v.CreatedDate, DisplayOrder = v.DisplayOrder, VariableCategory = v.VariableCategory, LanguageID = vl.LanguageID, Name = vl.Name, DisplayName = vl.DisplayName, Description = vl.Description }; //Variable Language Variable_Language objVariable_Language; List <Variable_Language> lstVariable_Language = new List <Variable_Language>(); foreach (var val in result) { objVariables = new Variable(); objVariable_Language = new Variable_Language(); lstVariable_Language = new List <Variable_Language>(); objVariables.ID = val.ID; objVariables.Type = val.Type; objVariables.ShowInAdvancedSearchFilter = val.ShowInAdvancedSearchFilter; objVariables.ShowInDetailPage = val.ShowInDetailPage; objVariables.ShowInReport = val.ShowInReport; objVariables.IsSytemDefined = val.IsSytemDefined; objVariables.FilterHeading = val.FilterHeading; objVariables.IsActive = val.IsActive; objVariables.IsMandatory = val.IsMandatory; objVariables.CreatedDate = val.CreatedDate; objVariables.CreatedBy = val.CreatedBy; objVariables.DisplayOrder = val.DisplayOrder; objVariables.VariableCategory = val.VariableCategory; objVariable_Language.LanguageID = val.LanguageID; objVariable_Language.Name = val.Name; objVariable_Language.DisplayName = val.DisplayName; objVariable_Language.Description = val.Description; objVariable_Language.ID = val.ID; lstVariable_Language.Add(objVariable_Language); objVariables.Variable_Languages = lstVariable_Language; } } //For choice using (var context = new TSMContext()) { var ChoiceResult = from C in context.Choices.AsEnumerable() join CL in context.Choice_Languages.AsEnumerable() on C.ID equals CL.ID where C.VariableID == id && CL.LanguageID == languageID select new { ChoiceID = C.ID, ChoiceIsActive = C.IsActive, ChoicelLangId = CL.LanguageID, ChoiceLangName = CL.Name, ChoiceLanguageID = CL.ID, ChoiceVariableId = C.VariableID }; lstChoice = new List <Choice>(); foreach (var ch in ChoiceResult) { lstChoiceLang = new List <Choice_Language>(); objChoice = new Choice(); objChoiceLang = new Choice_Language(); objChoice.ID = ch.ChoiceID; objChoice.IsActive = ch.ChoiceIsActive; objChoiceLang.LanguageID = ch.ChoicelLangId; objChoiceLang.Name = ch.ChoiceLangName; objChoiceLang.ID = ch.ChoiceLanguageID; objChoice.VariableID = ch.ChoiceVariableId; lstChoiceLang.Add(objChoiceLang); objChoice.Choice_Languages = lstChoiceLang; lstChoice.Add(objChoice); } objVariables.Choices = lstChoice; lstVariables.Add(objVariables); } return(lstVariables[0]); }