private async Task <string> getUserLanguage(int userId) { SettingCls setModel = new SettingCls(); SettingCls set = new SettingCls(); SetValues valueModel = new SetValues(); List <SetValues> languages = new List <SetValues>(); UserSetValues usValueModel = new UserSetValues(); var lanSettings = await setModel.GetAll(); set = lanSettings.Where(l => l.name == "language").FirstOrDefault <SettingCls>(); var lanValues = await valueModel.GetAll(); if (lanValues.Count > 0) { languages = lanValues.Where(vl => vl.settingId == set.settingId).ToList <SetValues>(); usValues = await usValueModel.GetAll(); if (usValues.Count > 0) { var curUserValues = usValues.Where(c => c.userId == userId); if (curUserValues.Count() > 0) { foreach (var l in curUserValues) { if (languages.Any(c => c.valId == l.valId)) { usLanguage = l; } } var lan = await valueModel.GetByID(usLanguage.valId.Value); return(lan.value); } else { return("en"); } } else { return("en"); } } else { return("en"); } }