public IHttpActionResult GetPolSourceSiteWithID([FromUri] int PolSourceSiteID, [FromUri] string lang = "en", [FromUri] string extra = "") { using (CSSPDBContext db = new CSSPDBContext(DatabaseType)) { PolSourceSiteService polSourceSiteService = new PolSourceSiteService(new Query() { Language = (lang == "fr" ? LanguageEnum.fr : LanguageEnum.en) }, db, ContactID); polSourceSiteService.Query = polSourceSiteService.FillQuery(typeof(PolSourceSite), lang, 0, 1, "", "", extra); if (polSourceSiteService.Query.Extra == "A") { PolSourceSiteExtraA polSourceSiteExtraA = new PolSourceSiteExtraA(); polSourceSiteExtraA = polSourceSiteService.GetPolSourceSiteExtraAWithPolSourceSiteID(PolSourceSiteID); if (polSourceSiteExtraA == null) { return(NotFound()); } return(Ok(polSourceSiteExtraA)); } else if (polSourceSiteService.Query.Extra == "B") { PolSourceSiteExtraB polSourceSiteExtraB = new PolSourceSiteExtraB(); polSourceSiteExtraB = polSourceSiteService.GetPolSourceSiteExtraBWithPolSourceSiteID(PolSourceSiteID); if (polSourceSiteExtraB == null) { return(NotFound()); } return(Ok(polSourceSiteExtraB)); } else { PolSourceSite polSourceSite = new PolSourceSite(); polSourceSite = polSourceSiteService.GetPolSourceSiteWithPolSourceSiteID(PolSourceSiteID); if (polSourceSite == null) { return(NotFound()); } return(Ok(polSourceSite)); } } }