public IHttpActionResult GetTVItemLanguageWithID([FromUri] int TVItemLanguageID, [FromUri] string lang = "en", [FromUri] string extra = "") { using (CSSPDBContext db = new CSSPDBContext(DatabaseType)) { TVItemLanguageService tvItemLanguageService = new TVItemLanguageService(new Query() { Language = (lang == "fr" ? LanguageEnum.fr : LanguageEnum.en) }, db, ContactID); tvItemLanguageService.Query = tvItemLanguageService.FillQuery(typeof(TVItemLanguage), lang, 0, 1, "", "", extra); if (tvItemLanguageService.Query.Extra == "A") { TVItemLanguageExtraA tvItemLanguageExtraA = new TVItemLanguageExtraA(); tvItemLanguageExtraA = tvItemLanguageService.GetTVItemLanguageExtraAWithTVItemLanguageID(TVItemLanguageID); if (tvItemLanguageExtraA == null) { return(NotFound()); } return(Ok(tvItemLanguageExtraA)); } else if (tvItemLanguageService.Query.Extra == "B") { TVItemLanguageExtraB tvItemLanguageExtraB = new TVItemLanguageExtraB(); tvItemLanguageExtraB = tvItemLanguageService.GetTVItemLanguageExtraBWithTVItemLanguageID(TVItemLanguageID); if (tvItemLanguageExtraB == null) { return(NotFound()); } return(Ok(tvItemLanguageExtraB)); } else { TVItemLanguage tvItemLanguage = new TVItemLanguage(); tvItemLanguage = tvItemLanguageService.GetTVItemLanguageWithTVItemLanguageID(TVItemLanguageID); if (tvItemLanguage == null) { return(NotFound()); } return(Ok(tvItemLanguage)); } } }
public void GetTVItemLanguageWithTVItemLanguageID__tvItemLanguage_TVItemLanguageID__Test() { foreach (CultureInfo culture in AllowableCulture) { ChangeCulture(culture); using (CSSPDBContext dbTestDB = new CSSPDBContext(DatabaseTypeEnum.SqlServerTestDB)) { TVItemLanguageService tvItemLanguageService = new TVItemLanguageService(new Query() { Lang = culture.TwoLetterISOLanguageName }, dbTestDB, ContactID); TVItemLanguage tvItemLanguage = (from c in dbTestDB.TVItemLanguages select c).FirstOrDefault(); Assert.IsNotNull(tvItemLanguage); foreach (string extra in new List <string>() { null, "A", "B", "C", "D", "E" }) { tvItemLanguageService.Query.Extra = extra; if (string.IsNullOrWhiteSpace(extra)) { TVItemLanguage tvItemLanguageRet = tvItemLanguageService.GetTVItemLanguageWithTVItemLanguageID(tvItemLanguage.TVItemLanguageID); CheckTVItemLanguageFields(new List <TVItemLanguage>() { tvItemLanguageRet }); Assert.AreEqual(tvItemLanguage.TVItemLanguageID, tvItemLanguageRet.TVItemLanguageID); } else { //Assert.AreEqual(true, false); } } } } }