public IHttpActionResult GetTideSiteList([FromUri] string lang = "en", [FromUri] int skip = 0, [FromUri] int take = 200, [FromUri] string asc = "", [FromUri] string desc = "", [FromUri] string where = "", [FromUri] string extra = "") { using (CSSPDBContext db = new CSSPDBContext(DatabaseType)) { TideSiteService tideSiteService = new TideSiteService(new Query() { Lang = lang }, db, ContactID);
public void TideSite_Controller_Put_Test() { foreach (LanguageEnum LanguageRequest in AllowableLanguages) { foreach (int ContactID in new List <int>() { AdminContactID }) //, TestEmailValidatedContactID, TestEmailNotValidatedContactID }) { TideSiteController tideSiteController = new TideSiteController(DatabaseTypeEnum.SqlServerTestDB); Assert.IsNotNull(tideSiteController); Assert.AreEqual(DatabaseTypeEnum.SqlServerTestDB, tideSiteController.DatabaseType); TideSite tideSiteLast = new TideSite(); using (CSSPDBContext db = new CSSPDBContext(DatabaseType)) { Query query = new Query(); query.Language = LanguageRequest; TideSiteService tideSiteService = new TideSiteService(query, db, ContactID); tideSiteLast = (from c in db.TideSites select c).FirstOrDefault(); } // ok with TideSite info IHttpActionResult jsonRet = tideSiteController.GetTideSiteWithID(tideSiteLast.TideSiteID); Assert.IsNotNull(jsonRet); OkNegotiatedContentResult <TideSite> Ret = jsonRet as OkNegotiatedContentResult <TideSite>; TideSite tideSiteRet = Ret.Content; Assert.AreEqual(tideSiteLast.TideSiteID, tideSiteRet.TideSiteID); BadRequestErrorMessageResult badRequest = jsonRet as BadRequestErrorMessageResult; Assert.IsNull(badRequest); // Put to return success IHttpActionResult jsonRet2 = tideSiteController.Put(tideSiteRet, LanguageRequest.ToString()); Assert.IsNotNull(jsonRet2); OkNegotiatedContentResult <TideSite> tideSiteRet2 = jsonRet2 as OkNegotiatedContentResult <TideSite>; Assert.IsNotNull(tideSiteRet2); BadRequestErrorMessageResult badRequest2 = jsonRet2 as BadRequestErrorMessageResult; Assert.IsNull(badRequest2); // Put to return CSSPError because TideSiteID of 0 does not exist tideSiteRet.TideSiteID = 0; IHttpActionResult jsonRet3 = tideSiteController.Put(tideSiteRet, LanguageRequest.ToString()); Assert.IsNotNull(jsonRet3); OkNegotiatedContentResult <TideSite> tideSiteRet3 = jsonRet3 as OkNegotiatedContentResult <TideSite>; Assert.IsNull(tideSiteRet3); BadRequestErrorMessageResult badRequest3 = jsonRet3 as BadRequestErrorMessageResult; Assert.IsNotNull(badRequest3); } } }
public void TideSite_CRUD_Test() { foreach (CultureInfo culture in AllowableCulture) { ChangeCulture(culture); using (CSSPDBContext dbTestDB = new CSSPDBContext(DatabaseTypeEnum.SqlServerTestDB)) { TideSiteService tideSiteService = new TideSiteService(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] } TideSite tideSite = GetFilledRandomTideSite(""); // ------------------------------- // ------------------------------- // CRUD testing // ------------------------------- // ------------------------------- count = tideSiteService.GetTideSiteList().Count(); Assert.AreEqual(count, (from c in dbTestDB.TideSites select c).Count()); tideSiteService.Add(tideSite); if (tideSite.HasErrors) { Assert.AreEqual("", tideSite.ValidationResults.FirstOrDefault().ErrorMessage); } Assert.AreEqual(true, tideSiteService.GetTideSiteList().Where(c => c == tideSite).Any()); tideSiteService.Update(tideSite); if (tideSite.HasErrors) { Assert.AreEqual("", tideSite.ValidationResults.FirstOrDefault().ErrorMessage); } Assert.AreEqual(count + 1, tideSiteService.GetTideSiteList().Count()); tideSiteService.Delete(tideSite); if (tideSite.HasErrors) { Assert.AreEqual("", tideSite.ValidationResults.FirstOrDefault().ErrorMessage); } Assert.AreEqual(count, tideSiteService.GetTideSiteList().Count()); } } }
public IHttpActionResult GetTideSiteWithID([FromUri] int TideSiteID, [FromUri] string lang = "en", [FromUri] string extra = "") { using (CSSPDBContext db = new CSSPDBContext(DatabaseType)) { TideSiteService tideSiteService = new TideSiteService(new Query() { Language = (lang == "fr" ? LanguageEnum.fr : LanguageEnum.en) }, db, ContactID); tideSiteService.Query = tideSiteService.FillQuery(typeof(TideSite), lang, 0, 1, "", "", extra); if (tideSiteService.Query.Extra == "A") { TideSiteExtraA tideSiteExtraA = new TideSiteExtraA(); tideSiteExtraA = tideSiteService.GetTideSiteExtraAWithTideSiteID(TideSiteID); if (tideSiteExtraA == null) { return(NotFound()); } return(Ok(tideSiteExtraA)); } else if (tideSiteService.Query.Extra == "B") { TideSiteExtraB tideSiteExtraB = new TideSiteExtraB(); tideSiteExtraB = tideSiteService.GetTideSiteExtraBWithTideSiteID(TideSiteID); if (tideSiteExtraB == null) { return(NotFound()); } return(Ok(tideSiteExtraB)); } else { TideSite tideSite = new TideSite(); tideSite = tideSiteService.GetTideSiteWithTideSiteID(TideSiteID); if (tideSite == null) { return(NotFound()); } return(Ok(tideSite)); } } }
public void TideSite_Controller_GetTideSiteWithID_Test() { foreach (LanguageEnum LanguageRequest in AllowableLanguages) { foreach (int ContactID in new List <int>() { AdminContactID }) //, TestEmailValidatedContactID, TestEmailNotValidatedContactID }) { TideSiteController tideSiteController = new TideSiteController(DatabaseTypeEnum.SqlServerTestDB); Assert.IsNotNull(tideSiteController); Assert.AreEqual(DatabaseTypeEnum.SqlServerTestDB, tideSiteController.DatabaseType); TideSite tideSiteFirst = new TideSite(); using (CSSPDBContext db = new CSSPDBContext(DatabaseType)) { TideSiteService tideSiteService = new TideSiteService(new Query(), db, ContactID); tideSiteFirst = (from c in db.TideSites select c).FirstOrDefault(); } // ok with TideSite info IHttpActionResult jsonRet = tideSiteController.GetTideSiteWithID(tideSiteFirst.TideSiteID); Assert.IsNotNull(jsonRet); OkNegotiatedContentResult <TideSite> Ret = jsonRet as OkNegotiatedContentResult <TideSite>; TideSite tideSiteRet = Ret.Content; Assert.AreEqual(tideSiteFirst.TideSiteID, tideSiteRet.TideSiteID); BadRequestErrorMessageResult badRequest = jsonRet as BadRequestErrorMessageResult; Assert.IsNull(badRequest); // Not Found IHttpActionResult jsonRet2 = tideSiteController.GetTideSiteWithID(0); Assert.IsNotNull(jsonRet2); OkNegotiatedContentResult <TideSite> tideSiteRet2 = jsonRet2 as OkNegotiatedContentResult <TideSite>; Assert.IsNull(tideSiteRet2); NotFoundResult notFoundRequest = jsonRet2 as NotFoundResult; Assert.IsNotNull(notFoundRequest); } } }
public IHttpActionResult Delete([FromBody] TideSite tideSite, [FromUri] string lang = "en") { using (CSSPDBContext db = new CSSPDBContext(DatabaseType)) { TideSiteService tideSiteService = new TideSiteService(new Query() { Language = (lang == "fr" ? LanguageEnum.fr : LanguageEnum.en) }, db, ContactID); if (!tideSiteService.Delete(tideSite)) { return(BadRequest(String.Join("|||", tideSite.ValidationResults))); } else { tideSite.ValidationResults = null; return(Ok(tideSite)); } } }
public void SetupTest(ContactModel contactModelToDo, CultureInfo culture) { Thread.CurrentThread.CurrentCulture = culture; Thread.CurrentThread.CurrentUICulture = culture; contactModel = contactModelToDo; user = new GenericPrincipal(new GenericIdentity(contactModel.LoginEmail, "Forms"), null); reportServiceMike_Scenario_File = new ReportServiceMike_Scenario_File((culture.TwoLetterISOLanguageName == "fr" ? LanguageEnum.fr : LanguageEnum.en), user); tvItemService = new TVItemService((culture.TwoLetterISOLanguageName == "fr" ? LanguageEnum.fr : LanguageEnum.en), user); boxModelService = new BoxModelService((culture.TwoLetterISOLanguageName == "fr" ? LanguageEnum.fr : LanguageEnum.en), user); vpScenarioService = new VPScenarioService((culture.TwoLetterISOLanguageName == "fr" ? LanguageEnum.fr : LanguageEnum.en), user); labSheetService = new LabSheetService((culture.TwoLetterISOLanguageName == "fr" ? LanguageEnum.fr : LanguageEnum.en), user); polSourceObservationService = new PolSourceObservationService((culture.TwoLetterISOLanguageName == "fr" ? LanguageEnum.fr : LanguageEnum.en), user); climateSiteService = new ClimateSiteService((culture.TwoLetterISOLanguageName == "fr" ? LanguageEnum.fr : LanguageEnum.en), user); hydrometricSiteService = new HydrometricSiteService((culture.TwoLetterISOLanguageName == "fr" ? LanguageEnum.fr : LanguageEnum.en), user); tideSiteService = new TideSiteService((culture.TwoLetterISOLanguageName == "fr" ? LanguageEnum.fr : LanguageEnum.en), user); randomService = new RandomService((culture.TwoLetterISOLanguageName == "fr" ? LanguageEnum.fr : LanguageEnum.en), user); hydrometricDataValueService = new HydrometricDataValueService((culture.TwoLetterISOLanguageName == "fr" ? LanguageEnum.fr : LanguageEnum.en), user); tideDataValueService = new TideDataValueService((culture.TwoLetterISOLanguageName == "fr" ? LanguageEnum.fr : LanguageEnum.en), user); }
public void GetTideSiteList_Test() { foreach (CultureInfo culture in AllowableCulture) { ChangeCulture(culture); using (CSSPDBContext dbTestDB = new CSSPDBContext(DatabaseTypeEnum.SqlServerTestDB)) { TideSiteService tideSiteService = new TideSiteService(new Query() { Lang = culture.TwoLetterISOLanguageName }, dbTestDB, ContactID); TideSite tideSite = (from c in dbTestDB.TideSites select c).FirstOrDefault(); Assert.IsNotNull(tideSite); List <TideSite> tideSiteDirectQueryList = new List <TideSite>(); tideSiteDirectQueryList = (from c in dbTestDB.TideSites select c).Take(200).ToList(); foreach (string extra in new List <string>() { null, "A", "B", "C", "D", "E" }) { tideSiteService.Query.Extra = extra; if (string.IsNullOrWhiteSpace(extra)) { List <TideSite> tideSiteList = new List <TideSite>(); tideSiteList = tideSiteService.GetTideSiteList().ToList(); CheckTideSiteFields(tideSiteList); } else { //Assert.AreEqual(true, false); } } } } }
public void GetTideSiteList_2Where_Test() { foreach (CultureInfo culture in AllowableCulture) { ChangeCulture(culture); using (CSSPDBContext dbTestDB = new CSSPDBContext(DatabaseTypeEnum.SqlServerTestDB)) { foreach (string extra in new List <string>() { null, "A", "B", "C", "D", "E" }) { TideSiteService tideSiteService = new TideSiteService(new Query() { Lang = culture.TwoLetterISOLanguageName }, dbTestDB, ContactID); tideSiteService.Query = tideSiteService.FillQuery(typeof(TideSite), culture.TwoLetterISOLanguageName, 0, 10000, "", "", "TideSiteID,GT,2|TideSiteID,LT,5", extra); List <TideSite> tideSiteDirectQueryList = new List <TideSite>(); tideSiteDirectQueryList = (from c in dbTestDB.TideSites select c).Where(c => c.TideSiteID > 2 && c.TideSiteID < 5).ToList(); if (string.IsNullOrWhiteSpace(extra)) { List <TideSite> tideSiteList = new List <TideSite>(); tideSiteList = tideSiteService.GetTideSiteList().ToList(); CheckTideSiteFields(tideSiteList); Assert.AreEqual(tideSiteDirectQueryList[0].TideSiteID, tideSiteList[0].TideSiteID); } else { //Assert.AreEqual(true, false); } } } } }
public IHttpActionResult GetTideSiteList([FromUri] string lang = "en", [FromUri] int skip = 0, [FromUri] int take = 200, [FromUri] string asc = "", [FromUri] string desc = "", [FromUri] string where = "", [FromUri] string extra = "") { using (CSSPDBContext db = new CSSPDBContext(DatabaseType)) { TideSiteService tideSiteService = new TideSiteService(new Query() { Lang = lang }, db, ContactID); if (extra == "A") // QueryString contains [extra=A] { tideSiteService.Query = tideSiteService.FillQuery(typeof(TideSiteExtraA), lang, skip, take, asc, desc, where, extra); if (tideSiteService.Query.HasErrors) { return(Ok(new List <TideSiteExtraA>() { new TideSiteExtraA() { HasErrors = tideSiteService.Query.HasErrors, ValidationResults = tideSiteService.Query.ValidationResults, }, }.ToList())); } else { return(Ok(tideSiteService.GetTideSiteExtraAList().ToList())); } } else if (extra == "B") // QueryString contains [extra=B] { tideSiteService.Query = tideSiteService.FillQuery(typeof(TideSiteExtraB), lang, skip, take, asc, desc, where, extra); if (tideSiteService.Query.HasErrors) { return(Ok(new List <TideSiteExtraB>() { new TideSiteExtraB() { HasErrors = tideSiteService.Query.HasErrors, ValidationResults = tideSiteService.Query.ValidationResults, }, }.ToList())); } else { return(Ok(tideSiteService.GetTideSiteExtraBList().ToList())); } } else // QueryString has no parameter [extra] or extra is empty { tideSiteService.Query = tideSiteService.FillQuery(typeof(TideSite), lang, skip, take, asc, desc, where, extra); if (tideSiteService.Query.HasErrors) { return(Ok(new List <TideSite>() { new TideSite() { HasErrors = tideSiteService.Query.HasErrors, ValidationResults = tideSiteService.Query.ValidationResults, }, }.ToList())); } else { return(Ok(tideSiteService.GetTideSiteList().ToList())); } } } }
public void TideSite_Properties_Test() { foreach (CultureInfo culture in AllowableCulture) { ChangeCulture(culture); using (CSSPDBContext dbTestDB = new CSSPDBContext(DatabaseTypeEnum.SqlServerTestDB)) { TideSiteService tideSiteService = new TideSiteService(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] } count = tideSiteService.GetTideSiteList().Count(); TideSite tideSite = GetFilledRandomTideSite(""); // ------------------------------- // ------------------------------- // Properties testing // ------------------------------- // ------------------------------- // ----------------------------------- // [Key] // Is NOT Nullable // tideSite.TideSiteID (Int32) // ----------------------------------- tideSite = null; tideSite = GetFilledRandomTideSite(""); tideSite.TideSiteID = 0; tideSiteService.Update(tideSite); Assert.AreEqual(string.Format(CSSPServicesRes._IsRequired, "TideSiteID"), tideSite.ValidationResults.FirstOrDefault().ErrorMessage); tideSite = null; tideSite = GetFilledRandomTideSite(""); tideSite.TideSiteID = 10000000; tideSiteService.Update(tideSite); Assert.AreEqual(string.Format(CSSPServicesRes.CouldNotFind_With_Equal_, "TideSite", "TideSiteID", tideSite.TideSiteID.ToString()), tideSite.ValidationResults.FirstOrDefault().ErrorMessage); // ----------------------------------- // Is NOT Nullable // [CSSPExist(ExistTypeName = "TVItem", ExistPlurial = "s", ExistFieldID = "TVItemID", AllowableTVtypeList = TideSite)] // tideSite.TideSiteTVItemID (Int32) // ----------------------------------- tideSite = null; tideSite = GetFilledRandomTideSite(""); tideSite.TideSiteTVItemID = 0; tideSiteService.Add(tideSite); Assert.AreEqual(string.Format(CSSPServicesRes.CouldNotFind_With_Equal_, "TVItem", "TideSiteTVItemID", tideSite.TideSiteTVItemID.ToString()), tideSite.ValidationResults.FirstOrDefault().ErrorMessage); tideSite = null; tideSite = GetFilledRandomTideSite(""); tideSite.TideSiteTVItemID = 1; tideSiteService.Add(tideSite); Assert.AreEqual(string.Format(CSSPServicesRes._IsNotOfType_, "TideSiteTVItemID", "TideSite"), tideSite.ValidationResults.FirstOrDefault().ErrorMessage); // ----------------------------------- // Is NOT Nullable // [StringLength(100))] // tideSite.TideSiteName (String) // ----------------------------------- tideSite = null; tideSite = GetFilledRandomTideSite("TideSiteName"); Assert.AreEqual(false, tideSiteService.Add(tideSite)); Assert.AreEqual(1, tideSite.ValidationResults.Count()); Assert.IsTrue(tideSite.ValidationResults.Where(c => c.ErrorMessage == string.Format(CSSPServicesRes._IsRequired, "TideSiteName")).Any()); Assert.AreEqual(null, tideSite.TideSiteName); Assert.AreEqual(count, tideSiteService.GetTideSiteList().Count()); tideSite = null; tideSite = GetFilledRandomTideSite(""); tideSite.TideSiteName = GetRandomString("", 101); Assert.AreEqual(false, tideSiteService.Add(tideSite)); Assert.AreEqual(string.Format(CSSPServicesRes._MaxLengthIs_, "TideSiteName", "100"), tideSite.ValidationResults.FirstOrDefault().ErrorMessage); Assert.AreEqual(count, tideSiteService.GetTideSiteList().Count()); // ----------------------------------- // Is NOT Nullable // [StringLength(2, MinimumLength = 2)] // tideSite.Province (String) // ----------------------------------- tideSite = null; tideSite = GetFilledRandomTideSite("Province"); Assert.AreEqual(false, tideSiteService.Add(tideSite)); Assert.AreEqual(1, tideSite.ValidationResults.Count()); Assert.IsTrue(tideSite.ValidationResults.Where(c => c.ErrorMessage == string.Format(CSSPServicesRes._IsRequired, "Province")).Any()); Assert.AreEqual(null, tideSite.Province); Assert.AreEqual(count, tideSiteService.GetTideSiteList().Count()); tideSite = null; tideSite = GetFilledRandomTideSite(""); tideSite.Province = GetRandomString("", 1); Assert.AreEqual(false, tideSiteService.Add(tideSite)); Assert.AreEqual(string.Format(CSSPServicesRes._LengthShouldBeBetween_And_, "Province", "2", "2"), tideSite.ValidationResults.FirstOrDefault().ErrorMessage); Assert.AreEqual(count, tideSiteService.GetTideSiteList().Count()); tideSite = null; tideSite = GetFilledRandomTideSite(""); tideSite.Province = GetRandomString("", 3); Assert.AreEqual(false, tideSiteService.Add(tideSite)); Assert.AreEqual(string.Format(CSSPServicesRes._LengthShouldBeBetween_And_, "Province", "2", "2"), tideSite.ValidationResults.FirstOrDefault().ErrorMessage); Assert.AreEqual(count, tideSiteService.GetTideSiteList().Count()); // ----------------------------------- // Is NOT Nullable // [Range(0, 10000)] // tideSite.sid (Int32) // ----------------------------------- tideSite = null; tideSite = GetFilledRandomTideSite(""); tideSite.sid = -1; Assert.AreEqual(false, tideSiteService.Add(tideSite)); Assert.AreEqual(string.Format(CSSPServicesRes._ValueShouldBeBetween_And_, "sid", "0", "10000"), tideSite.ValidationResults.FirstOrDefault().ErrorMessage); Assert.AreEqual(count, tideSiteService.GetTideSiteList().Count()); tideSite = null; tideSite = GetFilledRandomTideSite(""); tideSite.sid = 10001; Assert.AreEqual(false, tideSiteService.Add(tideSite)); Assert.AreEqual(string.Format(CSSPServicesRes._ValueShouldBeBetween_And_, "sid", "0", "10000"), tideSite.ValidationResults.FirstOrDefault().ErrorMessage); Assert.AreEqual(count, tideSiteService.GetTideSiteList().Count()); // ----------------------------------- // Is NOT Nullable // [Range(0, 10000)] // tideSite.Zone (Int32) // ----------------------------------- tideSite = null; tideSite = GetFilledRandomTideSite(""); tideSite.Zone = -1; Assert.AreEqual(false, tideSiteService.Add(tideSite)); Assert.AreEqual(string.Format(CSSPServicesRes._ValueShouldBeBetween_And_, "Zone", "0", "10000"), tideSite.ValidationResults.FirstOrDefault().ErrorMessage); Assert.AreEqual(count, tideSiteService.GetTideSiteList().Count()); tideSite = null; tideSite = GetFilledRandomTideSite(""); tideSite.Zone = 10001; Assert.AreEqual(false, tideSiteService.Add(tideSite)); Assert.AreEqual(string.Format(CSSPServicesRes._ValueShouldBeBetween_And_, "Zone", "0", "10000"), tideSite.ValidationResults.FirstOrDefault().ErrorMessage); Assert.AreEqual(count, tideSiteService.GetTideSiteList().Count()); // ----------------------------------- // Is NOT Nullable // [CSSPAfter(Year = 1980)] // tideSite.LastUpdateDate_UTC (DateTime) // ----------------------------------- tideSite = null; tideSite = GetFilledRandomTideSite(""); tideSite.LastUpdateDate_UTC = new DateTime(); tideSiteService.Add(tideSite); Assert.AreEqual(string.Format(CSSPServicesRes._IsRequired, "LastUpdateDate_UTC"), tideSite.ValidationResults.FirstOrDefault().ErrorMessage); tideSite = null; tideSite = GetFilledRandomTideSite(""); tideSite.LastUpdateDate_UTC = new DateTime(1979, 1, 1); tideSiteService.Add(tideSite); Assert.AreEqual(string.Format(CSSPServicesRes._YearShouldBeBiggerThan_, "LastUpdateDate_UTC", "1980"), tideSite.ValidationResults.FirstOrDefault().ErrorMessage); // ----------------------------------- // Is NOT Nullable // [CSSPExist(ExistTypeName = "TVItem", ExistPlurial = "s", ExistFieldID = "TVItemID", AllowableTVtypeList = Contact)] // tideSite.LastUpdateContactTVItemID (Int32) // ----------------------------------- tideSite = null; tideSite = GetFilledRandomTideSite(""); tideSite.LastUpdateContactTVItemID = 0; tideSiteService.Add(tideSite); Assert.AreEqual(string.Format(CSSPServicesRes.CouldNotFind_With_Equal_, "TVItem", "LastUpdateContactTVItemID", tideSite.LastUpdateContactTVItemID.ToString()), tideSite.ValidationResults.FirstOrDefault().ErrorMessage); tideSite = null; tideSite = GetFilledRandomTideSite(""); tideSite.LastUpdateContactTVItemID = 1; tideSiteService.Add(tideSite); Assert.AreEqual(string.Format(CSSPServicesRes._IsNotOfType_, "LastUpdateContactTVItemID", "Contact"), tideSite.ValidationResults.FirstOrDefault().ErrorMessage); // ----------------------------------- // Is NOT Nullable // [NotMapped] // tideSite.HasErrors (Boolean) // ----------------------------------- // No testing requied // ----------------------------------- // Is NOT Nullable // [NotMapped] // tideSite.ValidationResults (IEnumerable`1) // ----------------------------------- // No testing requied } } }
private void GenerateSubsectorFaecalColiformDensitiesDocument(Document document) { Body body = new Body(); Paragraph paragraph = new Paragraph(); Run run = new Run(); Table table = new Table(); TableRow tableRow = new TableRow(); TableCell tableCell = new TableCell(); //string URL = ""; BaseEnumService baseEnumService = new BaseEnumService(_TaskRunnerBaseService._BWObj.appTaskModel.Language); TVItemService tvItemService = new TVItemService(_TaskRunnerBaseService._BWObj.appTaskModel.Language, _TaskRunnerBaseService._User); TVItemStatService tvItemStatService = new TVItemStatService(_TaskRunnerBaseService._BWObj.appTaskModel.Language, _TaskRunnerBaseService._User); MWQMSampleService mwqmSampleService = new MWQMSampleService(_TaskRunnerBaseService._BWObj.appTaskModel.Language, _TaskRunnerBaseService._User); MWQMSiteService mwqmSiteService = new MWQMSiteService(_TaskRunnerBaseService._BWObj.appTaskModel.Language, _TaskRunnerBaseService._User); TideSiteService tideSiteService = new TideSiteService(_TaskRunnerBaseService._BWObj.appTaskModel.Language, _TaskRunnerBaseService._User); TideDataValueService tideDataValueService = new TideDataValueService(_TaskRunnerBaseService._BWObj.appTaskModel.Language, _TaskRunnerBaseService._User); TVItemModel tvItemModelSubsector = tvItemService.GetTVItemModelWithTVItemIDDB(_TaskRunnerBaseService._BWObj.appTaskModel.TVItemID); if (!string.IsNullOrWhiteSpace(tvItemModelSubsector.Error)) { paragraph = DocxBase.AddParagraph(body); DocxBase.AddRunWithCurrentParagraphStyle(paragraph, tvItemModelSubsector.Error); } //tvItemStatService.SetTVItemStatForTVItemIDAndParentsTVItemID(tvItemModelSubsector.TVItemID); TVItemModel tvItemModelTideSite = tvItemService.GetChildrenTVItemModelListWithTVItemIDAndTVTypeDB(tvItemModelSubsector.TVItemID, TVTypeEnum.TideSite).FirstOrDefault(); if (tvItemModelTideSite == null) { if (!string.IsNullOrWhiteSpace(tvItemModelSubsector.Error)) { paragraph = DocxBase.AddParagraph(body); DocxBase.AddRunWithCurrentParagraphStyle(paragraph, DocxServiceSubsectorFCDensitiesRes.CoundNotFindTideSite); return; } } List <TVItemModel> tvItemModelMWQMList = tvItemService.GetChildrenTVItemModelListWithTVItemIDAndTVTypeDB(tvItemModelSubsector.TVItemID, TVTypeEnum.MWQMSite); List <StationDateValue> stationDateValueList = new List <StationDateValue>(); List <DateTime> DateWithDataList = new List <DateTime>(); List <string> StationList = new List <string>(); foreach (TVItemModel tvItemModelMWQM in tvItemModelMWQMList) { string Station = mwqmSiteService.GetMWQMSiteModelWithMWQMSiteTVItemIDDB(tvItemModelMWQM.TVItemID).MWQMSiteNumber; StationList.Add(Station); List <MWQMSampleModel> mwqmSampleModelList = mwqmSampleService.GetMWQMSampleModelListWithMWQMSiteTVItemIDDB(tvItemModelMWQM.TVItemID); foreach (MWQMSampleModel mwqmSampleModel in mwqmSampleModelList.OrderByDescending(c => c.SampleDateTime_Local)) { StationDateValue stationDateValue = new StationDateValue() { Station = Station, Date = new DateTime(mwqmSampleModel.SampleDateTime_Local.Year, mwqmSampleModel.SampleDateTime_Local.Month, mwqmSampleModel.SampleDateTime_Local.Day), Value = mwqmSampleModel.FecCol_MPN_100ml, }; if (!DateWithDataList.Contains(stationDateValue.Date)) { DateWithDataList.Add(stationDateValue.Date); } stationDateValueList.Add(stationDateValue); } } DateWithDataList = DateWithDataList.OrderBy(c => c).ToList(); StationList = StationList.OrderBy(c => c).ToList(); for (int i = 0, count = DateWithDataList.Count; i < count; i = i + 15) { DocxBase.CurrentFontName = FontNameEnum.Arial; DocxBase.CurrentFontSize = 16; DocxBase.CurrentParagraphStyle = ParagraphStyleEnum.Caption; DocxBase.CurrentJustificationValue = JustificationValues.Left; paragraph = DocxBase.AddParagraph(body); paragraph = DocxBase.AddParagraph(body); string TableTitle = DocxServiceSubsectorFCDensitiesRes.Table + "1B-" + ((int)(i / 15) + 1).ToString() + "." + DocxServiceSubsectorFCDensitiesRes.FaecalColiformDensitiesMPNPer100 + " " + DocxServiceSubsectorFCDensitiesRes.For + " " + tvItemModelSubsector.TVText; run = DocxBase.AddRunWithCurrentParagraphStyle(paragraph, TableTitle); DocxBase.CurrentTableStyle = TableStyleEnum.PlainTable1; DocxBase.CurrentFontName = FontNameEnum.Arial; DocxBase.CurrentFontSize = 10; table = DocxBase.AddTableStyle(body); tableRow = DocxBase.AddTableRow(table); List <DateTime> dateTimeNext15 = (from c in DateWithDataList where c >= DateWithDataList[i] select c).Take(15).ToList <DateTime>(); tableCell = DocxBase.AddTableCell(tableRow); paragraph = DocxBase.AddTableCellParagraph(tableCell); run = DocxBase.AddRunWithCurrentParagraphStyle(paragraph, " "); paragraph = DocxBase.AddTableCellParagraph(tableCell); run = DocxBase.AddRunWithCurrentParagraphStyle(paragraph, DocxServiceSubsectorFCDensitiesRes.Station); foreach (DateTime dateTime in dateTimeNext15) { tableCell = DocxBase.AddTableCell(tableRow); paragraph = DocxBase.AddTableCellParagraph(tableCell); run = DocxBase.AddRunWithCurrentParagraphStyle(paragraph, dateTime.ToString("yyyy")); paragraph = DocxBase.AddTableCellParagraph(tableCell); run = DocxBase.AddRunWithCurrentParagraphStyle(paragraph, dateTime.ToString("dd MMM")); } List <StationDateValue> StationDateValueDataList = (from c in stationDateValueList orderby c.Station select c).ToList <StationDateValue>(); foreach (string station in StationList) { tableRow = DocxBase.AddTableRow(table); tableCell = DocxBase.AddTableCell(tableRow); paragraph = DocxBase.AddTableCellParagraph(tableCell); run = DocxBase.AddRunWithCurrentParagraphStyle(paragraph, station); foreach (DateTime dateTime in dateTimeNext15) { StationDateValue stationDateValueForDate = (from c in stationDateValueList where c.Station == station && c.Date.Year == dateTime.Year && c.Date.Month == dateTime.Month && c.Date.Day == dateTime.Day select c).FirstOrDefault(); tableCell = DocxBase.AddTableCell(tableRow); paragraph = DocxBase.AddTableCellParagraph(tableCell); run = DocxBase.AddRunWithCurrentParagraphStyle(paragraph, (stationDateValueForDate == null ? " " : (stationDateValueForDate.Value < 2 ? "<2" : stationDateValueForDate.Value.ToString("F0")))); } } // Tide Row tableRow = DocxBase.AddTableRow(table); tableCell = DocxBase.AddTableCell(tableRow); paragraph = DocxBase.AddTableCellParagraph(tableCell); run = DocxBase.AddRunWithCurrentParagraphStyle(paragraph, DocxServiceSubsectorFCDensitiesRes.Tide); foreach (DateTime dateTime in dateTimeNext15) { TideDataValueModel tideDataValueModel = tideDataValueService.GetTideDataValueModelWithTideSiteTVItemIDAndDateDB(tvItemModelTideSite.TVItemID, dateTime); string TideStartAccronym = GetTideTextAccronym(tideDataValueModel.TideStart); string TideEndAccronym = GetTideTextAccronym(tideDataValueModel.TideEnd); tableCell = DocxBase.AddTableCell(tableRow); paragraph = DocxBase.AddTableCellParagraph(tableCell); run = DocxBase.AddRunWithCurrentParagraphStyle(paragraph, TideStartAccronym + "-" + TideEndAccronym); } // Rain (mm) Row tableRow = DocxBase.AddTableRow(table); tableCell = DocxBase.AddTableCell(tableRow); paragraph = DocxBase.AddTableCellParagraph(tableCell); run = DocxBase.AddRunWithCurrentParagraphStyle(paragraph, DocxServiceSubsectorFCDensitiesRes.Rain_mm); foreach (DateTime dateTime in dateTimeNext15) { tableCell = DocxBase.AddTableCell(tableRow); paragraph = DocxBase.AddTableCellParagraph(tableCell); run = DocxBase.AddRunWithCurrentParagraphStyle(paragraph, ""); } // 0-24 h Row tableRow = DocxBase.AddTableRow(table); tableCell = DocxBase.AddTableCell(tableRow); paragraph = DocxBase.AddTableCellParagraph(tableCell); run = DocxBase.AddRunWithCurrentParagraphStyle(paragraph, DocxServiceSubsectorFCDensitiesRes._0_24h); foreach (DateTime dateTime in dateTimeNext15) { tableCell = DocxBase.AddTableCell(tableRow); paragraph = DocxBase.AddTableCellParagraph(tableCell); run = DocxBase.AddRunWithCurrentParagraphStyle(paragraph, "ToDo"); } // 0-48 h Row tableRow = DocxBase.AddTableRow(table); tableCell = DocxBase.AddTableCell(tableRow); paragraph = DocxBase.AddTableCellParagraph(tableCell); run = DocxBase.AddRunWithCurrentParagraphStyle(paragraph, DocxServiceSubsectorFCDensitiesRes._0_48h); foreach (DateTime dateTime in dateTimeNext15) { tableCell = DocxBase.AddTableCell(tableRow); paragraph = DocxBase.AddTableCellParagraph(tableCell); run = DocxBase.AddRunWithCurrentParagraphStyle(paragraph, "ToDo"); } // 0-72 h Row tableRow = DocxBase.AddTableRow(table); tableCell = DocxBase.AddTableCell(tableRow); paragraph = DocxBase.AddTableCellParagraph(tableCell); run = DocxBase.AddRunWithCurrentParagraphStyle(paragraph, DocxServiceSubsectorFCDensitiesRes._0_72h); foreach (DateTime dateTime in dateTimeNext15) { tableCell = DocxBase.AddTableCell(tableRow); paragraph = DocxBase.AddTableCellParagraph(tableCell); run = DocxBase.AddRunWithCurrentParagraphStyle(paragraph, "ToDo"); } } DocxBase.CurrentParagraphStyle = ParagraphStyleEnum.Quote; paragraph = DocxBase.AddParagraph(body); string NoteTxt = DocxServiceSubsectorFCDensitiesRes.Note + " : "; for (int i = 1, count = Enum.GetNames(typeof(TideTextEnum)).Length; i < count; i++) { NoteTxt = GetTideTextAccronym((TideTextEnum)i) + " = " + baseEnumService.GetEnumText_TideTextEnum((TideTextEnum)i) + " | "; } DocxBase.AddRunWithCurrentParagraphStyle(paragraph, NoteTxt); DocxBase.AddSectionProp(body); document.Append(body); }
public void TideSite_Controller_GetTideSiteList_Test() { foreach (LanguageEnum LanguageRequest in AllowableLanguages) { foreach (int ContactID in new List <int>() { AdminContactID }) //, TestEmailValidatedContactID, TestEmailNotValidatedContactID }) { TideSiteController tideSiteController = new TideSiteController(DatabaseTypeEnum.SqlServerTestDB); Assert.IsNotNull(tideSiteController); Assert.AreEqual(DatabaseTypeEnum.SqlServerTestDB, tideSiteController.DatabaseType); TideSite tideSiteFirst = new TideSite(); int count = -1; Query query = new Query(); using (CSSPDBContext db = new CSSPDBContext(DatabaseTypeEnum.SqlServerTestDB)) { TideSiteService tideSiteService = new TideSiteService(query, db, ContactID); tideSiteFirst = (from c in db.TideSites select c).FirstOrDefault(); count = (from c in db.TideSites select c).Count(); count = (query.Take > count ? count : query.Take); } // ok with TideSite info IHttpActionResult jsonRet = tideSiteController.GetTideSiteList(); Assert.IsNotNull(jsonRet); OkNegotiatedContentResult <List <TideSite> > ret = jsonRet as OkNegotiatedContentResult <List <TideSite> >; Assert.AreEqual(tideSiteFirst.TideSiteID, ret.Content[0].TideSiteID); Assert.AreEqual((count > query.Take ? query.Take : count), ret.Content.Count); List <TideSite> tideSiteList = new List <TideSite>(); count = -1; query = new Query(); using (CSSPDBContext db = new CSSPDBContext(DatabaseTypeEnum.SqlServerTestDB)) { TideSiteService tideSiteService = new TideSiteService(query, db, ContactID); tideSiteList = (from c in db.TideSites select c).OrderBy(c => c.TideSiteID).Skip(0).Take(2).ToList(); count = (from c in db.TideSites select c).Count(); } if (count > 0) { query.Skip = 0; query.Take = 5; count = (query.Take > count ? query.Take : count); // ok with TideSite info jsonRet = tideSiteController.GetTideSiteList(query.Language.ToString(), query.Skip, query.Take); Assert.IsNotNull(jsonRet); ret = jsonRet as OkNegotiatedContentResult <List <TideSite> >; Assert.AreEqual(tideSiteList[0].TideSiteID, ret.Content[0].TideSiteID); Assert.AreEqual((count > query.Take ? query.Take : count), ret.Content.Count); if (count > 1) { query.Skip = 1; query.Take = 5; count = (query.Take > count ? query.Take : count); // ok with TideSite info IHttpActionResult jsonRet2 = tideSiteController.GetTideSiteList(query.Language.ToString(), query.Skip, query.Take); Assert.IsNotNull(jsonRet2); OkNegotiatedContentResult <List <TideSite> > ret2 = jsonRet2 as OkNegotiatedContentResult <List <TideSite> >; Assert.AreEqual(tideSiteList[1].TideSiteID, ret2.Content[0].TideSiteID); Assert.AreEqual((count > query.Take ? query.Take : count), ret2.Content.Count); } } } } }
public void TideSite_Controller_Post_Test() { foreach (LanguageEnum LanguageRequest in AllowableLanguages) { foreach (int ContactID in new List <int>() { AdminContactID }) //, TestEmailValidatedContactID, TestEmailNotValidatedContactID }) { TideSiteController tideSiteController = new TideSiteController(DatabaseTypeEnum.SqlServerTestDB); Assert.IsNotNull(tideSiteController); Assert.AreEqual(DatabaseTypeEnum.SqlServerTestDB, tideSiteController.DatabaseType); TideSite tideSiteLast = new TideSite(); using (CSSPDBContext db = new CSSPDBContext(DatabaseType)) { Query query = new Query(); query.Language = LanguageRequest; query.Asc = ""; query.Desc = ""; TideSiteService tideSiteService = new TideSiteService(query, db, ContactID); tideSiteLast = (from c in db.TideSites select c).FirstOrDefault(); } // ok with TideSite info IHttpActionResult jsonRet = tideSiteController.GetTideSiteWithID(tideSiteLast.TideSiteID); Assert.IsNotNull(jsonRet); OkNegotiatedContentResult <TideSite> Ret = jsonRet as OkNegotiatedContentResult <TideSite>; TideSite tideSiteRet = Ret.Content; Assert.AreEqual(tideSiteLast.TideSiteID, tideSiteRet.TideSiteID); BadRequestErrorMessageResult badRequest = jsonRet as BadRequestErrorMessageResult; Assert.IsNull(badRequest); // Post to return CSSPError because TideSiteID exist IHttpActionResult jsonRet2 = tideSiteController.Post(tideSiteRet, LanguageRequest.ToString()); Assert.IsNotNull(jsonRet2); OkNegotiatedContentResult <TideSite> tideSiteRet2 = jsonRet2 as OkNegotiatedContentResult <TideSite>; Assert.IsNull(tideSiteRet2); BadRequestErrorMessageResult badRequest2 = jsonRet2 as BadRequestErrorMessageResult; Assert.IsNotNull(badRequest2); // Post to return newly added TideSite tideSiteRet.TideSiteID = 0; tideSiteController.Request = new System.Net.Http.HttpRequestMessage(); tideSiteController.Request.RequestUri = new System.Uri("http://localhost:5000/api/tideSite"); IHttpActionResult jsonRet3 = tideSiteController.Post(tideSiteRet, LanguageRequest.ToString()); Assert.IsNotNull(jsonRet3); CreatedNegotiatedContentResult <TideSite> tideSiteRet3 = jsonRet3 as CreatedNegotiatedContentResult <TideSite>; Assert.IsNotNull(tideSiteRet3); BadRequestErrorMessageResult badRequest3 = jsonRet3 as BadRequestErrorMessageResult; Assert.IsNull(badRequest3); IHttpActionResult jsonRet4 = tideSiteController.Delete(tideSiteRet, LanguageRequest.ToString()); Assert.IsNotNull(jsonRet4); OkNegotiatedContentResult <TideSite> tideSiteRet4 = jsonRet4 as OkNegotiatedContentResult <TideSite>; Assert.IsNotNull(tideSiteRet4); BadRequestErrorMessageResult badRequest4 = jsonRet4 as BadRequestErrorMessageResult; Assert.IsNull(badRequest4); } } }