public IHttpActionResult GetSamplingPlanEmailWithID([FromUri] int SamplingPlanEmailID, [FromUri] string lang = "en", [FromUri] string extra = "") { using (CSSPDBContext db = new CSSPDBContext(DatabaseType)) { SamplingPlanEmailService samplingPlanEmailService = new SamplingPlanEmailService(new Query() { Language = (lang == "fr" ? LanguageEnum.fr : LanguageEnum.en) }, db, ContactID); samplingPlanEmailService.Query = samplingPlanEmailService.FillQuery(typeof(SamplingPlanEmail), lang, 0, 1, "", "", extra); if (samplingPlanEmailService.Query.Extra == "A") { SamplingPlanEmailExtraA samplingPlanEmailExtraA = new SamplingPlanEmailExtraA(); samplingPlanEmailExtraA = samplingPlanEmailService.GetSamplingPlanEmailExtraAWithSamplingPlanEmailID(SamplingPlanEmailID); if (samplingPlanEmailExtraA == null) { return(NotFound()); } return(Ok(samplingPlanEmailExtraA)); } else if (samplingPlanEmailService.Query.Extra == "B") { SamplingPlanEmailExtraB samplingPlanEmailExtraB = new SamplingPlanEmailExtraB(); samplingPlanEmailExtraB = samplingPlanEmailService.GetSamplingPlanEmailExtraBWithSamplingPlanEmailID(SamplingPlanEmailID); if (samplingPlanEmailExtraB == null) { return(NotFound()); } return(Ok(samplingPlanEmailExtraB)); } else { SamplingPlanEmail samplingPlanEmail = new SamplingPlanEmail(); samplingPlanEmail = samplingPlanEmailService.GetSamplingPlanEmailWithSamplingPlanEmailID(SamplingPlanEmailID); if (samplingPlanEmail == null) { return(NotFound()); } return(Ok(samplingPlanEmail)); } } }