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