public void DocTemplate_CRUD_Test() { foreach (CultureInfo culture in AllowableCulture) { ChangeCulture(culture); using (CSSPDBContext dbTestDB = new CSSPDBContext(DatabaseTypeEnum.SqlServerTestDB)) { DocTemplateService docTemplateService = new DocTemplateService(new Query() { Lang = culture.TwoLetterISOLanguageName }, dbTestDB, ContactID); int count = 0; if (count == 1) { // just so we don't get a warning during compile [The variable 'count' is assigned but its value is never used] } DocTemplate docTemplate = GetFilledRandomDocTemplate(""); // ------------------------------- // ------------------------------- // CRUD testing // ------------------------------- // ------------------------------- count = docTemplateService.GetDocTemplateList().Count(); Assert.AreEqual(count, (from c in dbTestDB.DocTemplates select c).Count()); docTemplateService.Add(docTemplate); if (docTemplate.HasErrors) { Assert.AreEqual("", docTemplate.ValidationResults.FirstOrDefault().ErrorMessage); } Assert.AreEqual(true, docTemplateService.GetDocTemplateList().Where(c => c == docTemplate).Any()); docTemplateService.Update(docTemplate); if (docTemplate.HasErrors) { Assert.AreEqual("", docTemplate.ValidationResults.FirstOrDefault().ErrorMessage); } Assert.AreEqual(count + 1, docTemplateService.GetDocTemplateList().Count()); docTemplateService.Delete(docTemplate); if (docTemplate.HasErrors) { Assert.AreEqual("", docTemplate.ValidationResults.FirstOrDefault().ErrorMessage); } Assert.AreEqual(count, docTemplateService.GetDocTemplateList().Count()); } } }
public IHttpActionResult Delete([FromBody] DocTemplate docTemplate, [FromUri] string lang = "en") { using (CSSPDBContext db = new CSSPDBContext(DatabaseType)) { DocTemplateService docTemplateService = new DocTemplateService(new Query() { Language = (lang == "fr" ? LanguageEnum.fr : LanguageEnum.en) }, db, ContactID); if (!docTemplateService.Delete(docTemplate)) { return(BadRequest(String.Join("|||", docTemplate.ValidationResults))); } else { docTemplate.ValidationResults = null; return(Ok(docTemplate)); } } }