public void TideLocation_CRUD_Test() { foreach (CultureInfo culture in AllowableCulture) { ChangeCulture(culture); using (CSSPDBContext dbTestDB = new CSSPDBContext(DatabaseTypeEnum.SqlServerTestDB)) { TideLocationService tideLocationService = new TideLocationService(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] } TideLocation tideLocation = GetFilledRandomTideLocation(""); // ------------------------------- // ------------------------------- // CRUD testing // ------------------------------- // ------------------------------- count = tideLocationService.GetTideLocationList().Count(); Assert.AreEqual(count, (from c in dbTestDB.TideLocations select c).Count()); tideLocationService.Add(tideLocation); if (tideLocation.HasErrors) { Assert.AreEqual("", tideLocation.ValidationResults.FirstOrDefault().ErrorMessage); } Assert.AreEqual(true, tideLocationService.GetTideLocationList().Where(c => c == tideLocation).Any()); tideLocationService.Update(tideLocation); if (tideLocation.HasErrors) { Assert.AreEqual("", tideLocation.ValidationResults.FirstOrDefault().ErrorMessage); } Assert.AreEqual(count + 1, tideLocationService.GetTideLocationList().Count()); tideLocationService.Delete(tideLocation); if (tideLocation.HasErrors) { Assert.AreEqual("", tideLocation.ValidationResults.FirstOrDefault().ErrorMessage); } Assert.AreEqual(count, tideLocationService.GetTideLocationList().Count()); } } }
public IHttpActionResult Delete([FromBody] TideLocation tideLocation, [FromUri] string lang = "en") { using (CSSPDBContext db = new CSSPDBContext(DatabaseType)) { TideLocationService tideLocationService = new TideLocationService(new Query() { Language = (lang == "fr" ? LanguageEnum.fr : LanguageEnum.en) }, db, ContactID); if (!tideLocationService.Delete(tideLocation)) { return(BadRequest(String.Join("|||", tideLocation.ValidationResults))); } else { tideLocation.ValidationResults = null; return(Ok(tideLocation)); } } }