public void TVItemLanguage_Controller_Put_Test() { foreach (LanguageEnum LanguageRequest in AllowableLanguages) { foreach (int ContactID in new List <int>() { AdminContactID }) //, TestEmailValidatedContactID, TestEmailNotValidatedContactID }) { TVItemLanguageController tvItemLanguageController = new TVItemLanguageController(DatabaseTypeEnum.SqlServerTestDB); Assert.IsNotNull(tvItemLanguageController); Assert.AreEqual(DatabaseTypeEnum.SqlServerTestDB, tvItemLanguageController.DatabaseType); TVItemLanguage tvItemLanguageLast = new TVItemLanguage(); using (CSSPDBContext db = new CSSPDBContext(DatabaseType)) { Query query = new Query(); query.Language = LanguageRequest; TVItemLanguageService tvItemLanguageService = new TVItemLanguageService(query, db, ContactID); tvItemLanguageLast = (from c in db.TVItemLanguages select c).FirstOrDefault(); } // ok with TVItemLanguage info IHttpActionResult jsonRet = tvItemLanguageController.GetTVItemLanguageWithID(tvItemLanguageLast.TVItemLanguageID); Assert.IsNotNull(jsonRet); OkNegotiatedContentResult <TVItemLanguage> Ret = jsonRet as OkNegotiatedContentResult <TVItemLanguage>; TVItemLanguage tvItemLanguageRet = Ret.Content; Assert.AreEqual(tvItemLanguageLast.TVItemLanguageID, tvItemLanguageRet.TVItemLanguageID); BadRequestErrorMessageResult badRequest = jsonRet as BadRequestErrorMessageResult; Assert.IsNull(badRequest); // Put to return success IHttpActionResult jsonRet2 = tvItemLanguageController.Put(tvItemLanguageRet, LanguageRequest.ToString()); Assert.IsNotNull(jsonRet2); OkNegotiatedContentResult <TVItemLanguage> tvItemLanguageRet2 = jsonRet2 as OkNegotiatedContentResult <TVItemLanguage>; Assert.IsNotNull(tvItemLanguageRet2); BadRequestErrorMessageResult badRequest2 = jsonRet2 as BadRequestErrorMessageResult; Assert.IsNull(badRequest2); // Put to return CSSPError because TVItemLanguageID of 0 does not exist tvItemLanguageRet.TVItemLanguageID = 0; IHttpActionResult jsonRet3 = tvItemLanguageController.Put(tvItemLanguageRet, LanguageRequest.ToString()); Assert.IsNotNull(jsonRet3); OkNegotiatedContentResult <TVItemLanguage> tvItemLanguageRet3 = jsonRet3 as OkNegotiatedContentResult <TVItemLanguage>; Assert.IsNull(tvItemLanguageRet3); BadRequestErrorMessageResult badRequest3 = jsonRet3 as BadRequestErrorMessageResult; Assert.IsNotNull(badRequest3); } } }
public IHttpActionResult GetTVItemLanguageList([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)) { TVItemLanguageService tvItemLanguageService = new TVItemLanguageService(new Query() { Lang = lang }, db, ContactID);
public void TVItemLanguage_CRUD_Test() { foreach (CultureInfo culture in AllowableCulture) { ChangeCulture(culture); using (CSSPDBContext dbTestDB = new CSSPDBContext(DatabaseTypeEnum.SqlServerTestDB)) { TVItemLanguageService tvItemLanguageService = new TVItemLanguageService(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] } TVItemLanguage tvItemLanguage = GetFilledRandomTVItemLanguage(""); // ------------------------------- // ------------------------------- // CRUD testing // ------------------------------- // ------------------------------- count = tvItemLanguageService.GetTVItemLanguageList().Count(); Assert.AreEqual(count, (from c in dbTestDB.TVItemLanguages select c).Count()); tvItemLanguageService.Add(tvItemLanguage); if (tvItemLanguage.HasErrors) { Assert.AreEqual("", tvItemLanguage.ValidationResults.FirstOrDefault().ErrorMessage); } Assert.AreEqual(true, tvItemLanguageService.GetTVItemLanguageList().Where(c => c == tvItemLanguage).Any()); tvItemLanguageService.Update(tvItemLanguage); if (tvItemLanguage.HasErrors) { Assert.AreEqual("", tvItemLanguage.ValidationResults.FirstOrDefault().ErrorMessage); } Assert.AreEqual(count + 1, tvItemLanguageService.GetTVItemLanguageList().Count()); tvItemLanguageService.Delete(tvItemLanguage); if (tvItemLanguage.HasErrors) { Assert.AreEqual("", tvItemLanguage.ValidationResults.FirstOrDefault().ErrorMessage); } Assert.AreEqual(count, tvItemLanguageService.GetTVItemLanguageList().Count()); } } }
public IHttpActionResult GetTVItemLanguageWithID([FromUri] int TVItemLanguageID, [FromUri] string lang = "en", [FromUri] string extra = "") { using (CSSPDBContext db = new CSSPDBContext(DatabaseType)) { TVItemLanguageService tvItemLanguageService = new TVItemLanguageService(new Query() { Language = (lang == "fr" ? LanguageEnum.fr : LanguageEnum.en) }, db, ContactID); tvItemLanguageService.Query = tvItemLanguageService.FillQuery(typeof(TVItemLanguage), lang, 0, 1, "", "", extra); if (tvItemLanguageService.Query.Extra == "A") { TVItemLanguageExtraA tvItemLanguageExtraA = new TVItemLanguageExtraA(); tvItemLanguageExtraA = tvItemLanguageService.GetTVItemLanguageExtraAWithTVItemLanguageID(TVItemLanguageID); if (tvItemLanguageExtraA == null) { return(NotFound()); } return(Ok(tvItemLanguageExtraA)); } else if (tvItemLanguageService.Query.Extra == "B") { TVItemLanguageExtraB tvItemLanguageExtraB = new TVItemLanguageExtraB(); tvItemLanguageExtraB = tvItemLanguageService.GetTVItemLanguageExtraBWithTVItemLanguageID(TVItemLanguageID); if (tvItemLanguageExtraB == null) { return(NotFound()); } return(Ok(tvItemLanguageExtraB)); } else { TVItemLanguage tvItemLanguage = new TVItemLanguage(); tvItemLanguage = tvItemLanguageService.GetTVItemLanguageWithTVItemLanguageID(TVItemLanguageID); if (tvItemLanguage == null) { return(NotFound()); } return(Ok(tvItemLanguage)); } } }
public void TVItemLanguage_Controller_GetTVItemLanguageWithID_Test() { foreach (LanguageEnum LanguageRequest in AllowableLanguages) { foreach (int ContactID in new List <int>() { AdminContactID }) //, TestEmailValidatedContactID, TestEmailNotValidatedContactID }) { TVItemLanguageController tvItemLanguageController = new TVItemLanguageController(DatabaseTypeEnum.SqlServerTestDB); Assert.IsNotNull(tvItemLanguageController); Assert.AreEqual(DatabaseTypeEnum.SqlServerTestDB, tvItemLanguageController.DatabaseType); TVItemLanguage tvItemLanguageFirst = new TVItemLanguage(); using (CSSPDBContext db = new CSSPDBContext(DatabaseType)) { TVItemLanguageService tvItemLanguageService = new TVItemLanguageService(new Query(), db, ContactID); tvItemLanguageFirst = (from c in db.TVItemLanguages select c).FirstOrDefault(); } // ok with TVItemLanguage info IHttpActionResult jsonRet = tvItemLanguageController.GetTVItemLanguageWithID(tvItemLanguageFirst.TVItemLanguageID); Assert.IsNotNull(jsonRet); OkNegotiatedContentResult <TVItemLanguage> Ret = jsonRet as OkNegotiatedContentResult <TVItemLanguage>; TVItemLanguage tvItemLanguageRet = Ret.Content; Assert.AreEqual(tvItemLanguageFirst.TVItemLanguageID, tvItemLanguageRet.TVItemLanguageID); BadRequestErrorMessageResult badRequest = jsonRet as BadRequestErrorMessageResult; Assert.IsNull(badRequest); // Not Found IHttpActionResult jsonRet2 = tvItemLanguageController.GetTVItemLanguageWithID(0); Assert.IsNotNull(jsonRet2); OkNegotiatedContentResult <TVItemLanguage> tvItemLanguageRet2 = jsonRet2 as OkNegotiatedContentResult <TVItemLanguage>; Assert.IsNull(tvItemLanguageRet2); NotFoundResult notFoundRequest = jsonRet2 as NotFoundResult; Assert.IsNotNull(notFoundRequest); } } }
public IHttpActionResult Delete([FromBody] TVItemLanguage tvItemLanguage, [FromUri] string lang = "en") { using (CSSPDBContext db = new CSSPDBContext(DatabaseType)) { TVItemLanguageService tvItemLanguageService = new TVItemLanguageService(new Query() { Language = (lang == "fr" ? LanguageEnum.fr : LanguageEnum.en) }, db, ContactID); if (!tvItemLanguageService.Delete(tvItemLanguage)) { return(BadRequest(String.Join("|||", tvItemLanguage.ValidationResults))); } else { tvItemLanguage.ValidationResults = null; return(Ok(tvItemLanguage)); } } }
public void GetTVItemLanguageList_Test() { foreach (CultureInfo culture in AllowableCulture) { ChangeCulture(culture); using (CSSPDBContext dbTestDB = new CSSPDBContext(DatabaseTypeEnum.SqlServerTestDB)) { TVItemLanguageService tvItemLanguageService = new TVItemLanguageService(new Query() { Lang = culture.TwoLetterISOLanguageName }, dbTestDB, ContactID); TVItemLanguage tvItemLanguage = (from c in dbTestDB.TVItemLanguages select c).FirstOrDefault(); Assert.IsNotNull(tvItemLanguage); List <TVItemLanguage> tvItemLanguageDirectQueryList = new List <TVItemLanguage>(); tvItemLanguageDirectQueryList = (from c in dbTestDB.TVItemLanguages select c).Take(200).ToList(); foreach (string extra in new List <string>() { null, "A", "B", "C", "D", "E" }) { tvItemLanguageService.Query.Extra = extra; if (string.IsNullOrWhiteSpace(extra)) { List <TVItemLanguage> tvItemLanguageList = new List <TVItemLanguage>(); tvItemLanguageList = tvItemLanguageService.GetTVItemLanguageList().ToList(); CheckTVItemLanguageFields(tvItemLanguageList); } else { //Assert.AreEqual(true, false); } } } } }
public void GetTVItemLanguageList_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" }) { TVItemLanguageService tvItemLanguageService = new TVItemLanguageService(new Query() { Lang = culture.TwoLetterISOLanguageName }, dbTestDB, ContactID); tvItemLanguageService.Query = tvItemLanguageService.FillQuery(typeof(TVItemLanguage), culture.TwoLetterISOLanguageName, 0, 10000, "", "", "TVItemLanguageID,GT,2|TVItemLanguageID,LT,5", extra); List <TVItemLanguage> tvItemLanguageDirectQueryList = new List <TVItemLanguage>(); tvItemLanguageDirectQueryList = (from c in dbTestDB.TVItemLanguages select c).Where(c => c.TVItemLanguageID > 2 && c.TVItemLanguageID < 5).ToList(); if (string.IsNullOrWhiteSpace(extra)) { List <TVItemLanguage> tvItemLanguageList = new List <TVItemLanguage>(); tvItemLanguageList = tvItemLanguageService.GetTVItemLanguageList().ToList(); CheckTVItemLanguageFields(tvItemLanguageList); Assert.AreEqual(tvItemLanguageDirectQueryList[0].TVItemLanguageID, tvItemLanguageList[0].TVItemLanguageID); } else { //Assert.AreEqual(true, false); } } } } }
public void TVItemLanguage_Controller_GetTVItemLanguageList_Test() { foreach (LanguageEnum LanguageRequest in AllowableLanguages) { foreach (int ContactID in new List <int>() { AdminContactID }) //, TestEmailValidatedContactID, TestEmailNotValidatedContactID }) { TVItemLanguageController tvItemLanguageController = new TVItemLanguageController(DatabaseTypeEnum.SqlServerTestDB); Assert.IsNotNull(tvItemLanguageController); Assert.AreEqual(DatabaseTypeEnum.SqlServerTestDB, tvItemLanguageController.DatabaseType); TVItemLanguage tvItemLanguageFirst = new TVItemLanguage(); int count = -1; Query query = new Query(); using (CSSPDBContext db = new CSSPDBContext(DatabaseTypeEnum.SqlServerTestDB)) { TVItemLanguageService tvItemLanguageService = new TVItemLanguageService(query, db, ContactID); tvItemLanguageFirst = (from c in db.TVItemLanguages select c).FirstOrDefault(); count = (from c in db.TVItemLanguages select c).Count(); count = (query.Take > count ? count : query.Take); } // ok with TVItemLanguage info IHttpActionResult jsonRet = tvItemLanguageController.GetTVItemLanguageList(); Assert.IsNotNull(jsonRet); OkNegotiatedContentResult <List <TVItemLanguage> > ret = jsonRet as OkNegotiatedContentResult <List <TVItemLanguage> >; Assert.AreEqual(tvItemLanguageFirst.TVItemLanguageID, ret.Content[0].TVItemLanguageID); Assert.AreEqual((count > query.Take ? query.Take : count), ret.Content.Count); List <TVItemLanguage> tvItemLanguageList = new List <TVItemLanguage>(); count = -1; query = new Query(); using (CSSPDBContext db = new CSSPDBContext(DatabaseTypeEnum.SqlServerTestDB)) { TVItemLanguageService tvItemLanguageService = new TVItemLanguageService(query, db, ContactID); tvItemLanguageList = (from c in db.TVItemLanguages select c).OrderBy(c => c.TVItemLanguageID).Skip(0).Take(2).ToList(); count = (from c in db.TVItemLanguages select c).Count(); } if (count > 0) { query.Skip = 0; query.Take = 5; count = (query.Take > count ? query.Take : count); // ok with TVItemLanguage info jsonRet = tvItemLanguageController.GetTVItemLanguageList(query.Language.ToString(), query.Skip, query.Take); Assert.IsNotNull(jsonRet); ret = jsonRet as OkNegotiatedContentResult <List <TVItemLanguage> >; Assert.AreEqual(tvItemLanguageList[0].TVItemLanguageID, ret.Content[0].TVItemLanguageID); 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 TVItemLanguage info IHttpActionResult jsonRet2 = tvItemLanguageController.GetTVItemLanguageList(query.Language.ToString(), query.Skip, query.Take); Assert.IsNotNull(jsonRet2); OkNegotiatedContentResult <List <TVItemLanguage> > ret2 = jsonRet2 as OkNegotiatedContentResult <List <TVItemLanguage> >; Assert.AreEqual(tvItemLanguageList[1].TVItemLanguageID, ret2.Content[0].TVItemLanguageID); Assert.AreEqual((count > query.Take ? query.Take : count), ret2.Content.Count); } } } } }
public void TVItemLanguage_Controller_Post_Test() { foreach (LanguageEnum LanguageRequest in AllowableLanguages) { foreach (int ContactID in new List <int>() { AdminContactID }) //, TestEmailValidatedContactID, TestEmailNotValidatedContactID }) { TVItemLanguageController tvItemLanguageController = new TVItemLanguageController(DatabaseTypeEnum.SqlServerTestDB); Assert.IsNotNull(tvItemLanguageController); Assert.AreEqual(DatabaseTypeEnum.SqlServerTestDB, tvItemLanguageController.DatabaseType); TVItemLanguage tvItemLanguageLast = new TVItemLanguage(); using (CSSPDBContext db = new CSSPDBContext(DatabaseType)) { Query query = new Query(); query.Language = LanguageRequest; query.Asc = ""; query.Desc = ""; TVItemLanguageService tvItemLanguageService = new TVItemLanguageService(query, db, ContactID); tvItemLanguageLast = (from c in db.TVItemLanguages select c).FirstOrDefault(); } // ok with TVItemLanguage info IHttpActionResult jsonRet = tvItemLanguageController.GetTVItemLanguageWithID(tvItemLanguageLast.TVItemLanguageID); Assert.IsNotNull(jsonRet); OkNegotiatedContentResult <TVItemLanguage> Ret = jsonRet as OkNegotiatedContentResult <TVItemLanguage>; TVItemLanguage tvItemLanguageRet = Ret.Content; Assert.AreEqual(tvItemLanguageLast.TVItemLanguageID, tvItemLanguageRet.TVItemLanguageID); BadRequestErrorMessageResult badRequest = jsonRet as BadRequestErrorMessageResult; Assert.IsNull(badRequest); // Post to return CSSPError because TVItemLanguageID exist IHttpActionResult jsonRet2 = tvItemLanguageController.Post(tvItemLanguageRet, LanguageRequest.ToString()); Assert.IsNotNull(jsonRet2); OkNegotiatedContentResult <TVItemLanguage> tvItemLanguageRet2 = jsonRet2 as OkNegotiatedContentResult <TVItemLanguage>; Assert.IsNull(tvItemLanguageRet2); BadRequestErrorMessageResult badRequest2 = jsonRet2 as BadRequestErrorMessageResult; Assert.IsNotNull(badRequest2); // Post to return newly added TVItemLanguage tvItemLanguageRet.TVItemLanguageID = 0; tvItemLanguageController.Request = new System.Net.Http.HttpRequestMessage(); tvItemLanguageController.Request.RequestUri = new System.Uri("http://localhost:5000/api/tvItemLanguage"); IHttpActionResult jsonRet3 = tvItemLanguageController.Post(tvItemLanguageRet, LanguageRequest.ToString()); Assert.IsNotNull(jsonRet3); CreatedNegotiatedContentResult <TVItemLanguage> tvItemLanguageRet3 = jsonRet3 as CreatedNegotiatedContentResult <TVItemLanguage>; Assert.IsNotNull(tvItemLanguageRet3); BadRequestErrorMessageResult badRequest3 = jsonRet3 as BadRequestErrorMessageResult; Assert.IsNull(badRequest3); IHttpActionResult jsonRet4 = tvItemLanguageController.Delete(tvItemLanguageRet, LanguageRequest.ToString()); Assert.IsNotNull(jsonRet4); OkNegotiatedContentResult <TVItemLanguage> tvItemLanguageRet4 = jsonRet4 as OkNegotiatedContentResult <TVItemLanguage>; Assert.IsNotNull(tvItemLanguageRet4); BadRequestErrorMessageResult badRequest4 = jsonRet4 as BadRequestErrorMessageResult; Assert.IsNull(badRequest4); } } }
public void TVItemLanguage_Properties_Test() { foreach (CultureInfo culture in AllowableCulture) { ChangeCulture(culture); using (CSSPDBContext dbTestDB = new CSSPDBContext(DatabaseTypeEnum.SqlServerTestDB)) { TVItemLanguageService tvItemLanguageService = new TVItemLanguageService(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 = tvItemLanguageService.GetTVItemLanguageList().Count(); TVItemLanguage tvItemLanguage = GetFilledRandomTVItemLanguage(""); // ------------------------------- // ------------------------------- // Properties testing // ------------------------------- // ------------------------------- // ----------------------------------- // [Key] // Is NOT Nullable // tvItemLanguage.TVItemLanguageID (Int32) // ----------------------------------- tvItemLanguage = null; tvItemLanguage = GetFilledRandomTVItemLanguage(""); tvItemLanguage.TVItemLanguageID = 0; tvItemLanguageService.Update(tvItemLanguage); Assert.AreEqual(string.Format(CSSPServicesRes._IsRequired, "TVItemLanguageID"), tvItemLanguage.ValidationResults.FirstOrDefault().ErrorMessage); tvItemLanguage = null; tvItemLanguage = GetFilledRandomTVItemLanguage(""); tvItemLanguage.TVItemLanguageID = 10000000; tvItemLanguageService.Update(tvItemLanguage); Assert.AreEqual(string.Format(CSSPServicesRes.CouldNotFind_With_Equal_, "TVItemLanguage", "TVItemLanguageID", tvItemLanguage.TVItemLanguageID.ToString()), tvItemLanguage.ValidationResults.FirstOrDefault().ErrorMessage); // ----------------------------------- // Is NOT Nullable // [CSSPExist(ExistTypeName = "TVItem", ExistPlurial = "s", ExistFieldID = "TVItemID", AllowableTVtypeList = Root,Address,Area,ClimateSite,Contact,Country,Email,HydrometricSite,Infrastructure,MikeBoundaryConditionWebTide,MikeBoundaryConditionMesh,MikeScenario,MikeSource,Municipality,MWQMSite,PolSourceSite,Province,Sector,Subsector,Tel,MWQMRun,Classification)] // tvItemLanguage.TVItemID (Int32) // ----------------------------------- tvItemLanguage = null; tvItemLanguage = GetFilledRandomTVItemLanguage(""); tvItemLanguage.TVItemID = 0; tvItemLanguageService.Add(tvItemLanguage); Assert.AreEqual(string.Format(CSSPServicesRes.CouldNotFind_With_Equal_, "TVItem", "TVItemID", tvItemLanguage.TVItemID.ToString()), tvItemLanguage.ValidationResults.FirstOrDefault().ErrorMessage); tvItemLanguage = null; tvItemLanguage = GetFilledRandomTVItemLanguage(""); tvItemLanguage.TVItemID = 38; tvItemLanguageService.Add(tvItemLanguage); Assert.AreEqual(string.Format(CSSPServicesRes._IsNotOfType_, "TVItemID", "Root,Address,Area,ClimateSite,Contact,Country,Email,HydrometricSite,Infrastructure,MikeBoundaryConditionWebTide,MikeBoundaryConditionMesh,MikeScenario,MikeSource,Municipality,MWQMSite,PolSourceSite,Province,Sector,Subsector,Tel,MWQMRun,Classification"), tvItemLanguage.ValidationResults.FirstOrDefault().ErrorMessage); // ----------------------------------- // Is NOT Nullable // [CSSPEnumType] // tvItemLanguage.Language (LanguageEnum) // ----------------------------------- tvItemLanguage = null; tvItemLanguage = GetFilledRandomTVItemLanguage(""); tvItemLanguage.Language = (LanguageEnum)1000000; tvItemLanguageService.Add(tvItemLanguage); Assert.AreEqual(string.Format(CSSPServicesRes._IsRequired, "Language"), tvItemLanguage.ValidationResults.FirstOrDefault().ErrorMessage); // ----------------------------------- // Is NOT Nullable // [StringLength(200))] // tvItemLanguage.TVText (String) // ----------------------------------- tvItemLanguage = null; tvItemLanguage = GetFilledRandomTVItemLanguage("TVText"); Assert.AreEqual(false, tvItemLanguageService.Add(tvItemLanguage)); Assert.AreEqual(1, tvItemLanguage.ValidationResults.Count()); Assert.IsTrue(tvItemLanguage.ValidationResults.Where(c => c.ErrorMessage == string.Format(CSSPServicesRes._IsRequired, "TVText")).Any()); Assert.AreEqual(null, tvItemLanguage.TVText); Assert.AreEqual(count, tvItemLanguageService.GetTVItemLanguageList().Count()); tvItemLanguage = null; tvItemLanguage = GetFilledRandomTVItemLanguage(""); tvItemLanguage.TVText = GetRandomString("", 201); Assert.AreEqual(false, tvItemLanguageService.Add(tvItemLanguage)); Assert.AreEqual(string.Format(CSSPServicesRes._MaxLengthIs_, "TVText", "200"), tvItemLanguage.ValidationResults.FirstOrDefault().ErrorMessage); Assert.AreEqual(count, tvItemLanguageService.GetTVItemLanguageList().Count()); // ----------------------------------- // Is NOT Nullable // [CSSPEnumType] // tvItemLanguage.TranslationStatus (TranslationStatusEnum) // ----------------------------------- tvItemLanguage = null; tvItemLanguage = GetFilledRandomTVItemLanguage(""); tvItemLanguage.TranslationStatus = (TranslationStatusEnum)1000000; tvItemLanguageService.Add(tvItemLanguage); Assert.AreEqual(string.Format(CSSPServicesRes._IsRequired, "TranslationStatus"), tvItemLanguage.ValidationResults.FirstOrDefault().ErrorMessage); // ----------------------------------- // Is NOT Nullable // [CSSPAfter(Year = 1980)] // tvItemLanguage.LastUpdateDate_UTC (DateTime) // ----------------------------------- tvItemLanguage = null; tvItemLanguage = GetFilledRandomTVItemLanguage(""); tvItemLanguage.LastUpdateDate_UTC = new DateTime(); tvItemLanguageService.Add(tvItemLanguage); Assert.AreEqual(string.Format(CSSPServicesRes._IsRequired, "LastUpdateDate_UTC"), tvItemLanguage.ValidationResults.FirstOrDefault().ErrorMessage); tvItemLanguage = null; tvItemLanguage = GetFilledRandomTVItemLanguage(""); tvItemLanguage.LastUpdateDate_UTC = new DateTime(1979, 1, 1); tvItemLanguageService.Add(tvItemLanguage); Assert.AreEqual(string.Format(CSSPServicesRes._YearShouldBeBiggerThan_, "LastUpdateDate_UTC", "1980"), tvItemLanguage.ValidationResults.FirstOrDefault().ErrorMessage); // ----------------------------------- // Is NOT Nullable // [CSSPExist(ExistTypeName = "TVItem", ExistPlurial = "s", ExistFieldID = "TVItemID", AllowableTVtypeList = Contact)] // tvItemLanguage.LastUpdateContactTVItemID (Int32) // ----------------------------------- tvItemLanguage = null; tvItemLanguage = GetFilledRandomTVItemLanguage(""); tvItemLanguage.LastUpdateContactTVItemID = 0; tvItemLanguageService.Add(tvItemLanguage); Assert.AreEqual(string.Format(CSSPServicesRes.CouldNotFind_With_Equal_, "TVItem", "LastUpdateContactTVItemID", tvItemLanguage.LastUpdateContactTVItemID.ToString()), tvItemLanguage.ValidationResults.FirstOrDefault().ErrorMessage); tvItemLanguage = null; tvItemLanguage = GetFilledRandomTVItemLanguage(""); tvItemLanguage.LastUpdateContactTVItemID = 1; tvItemLanguageService.Add(tvItemLanguage); Assert.AreEqual(string.Format(CSSPServicesRes._IsNotOfType_, "LastUpdateContactTVItemID", "Contact"), tvItemLanguage.ValidationResults.FirstOrDefault().ErrorMessage); // ----------------------------------- // Is NOT Nullable // [NotMapped] // tvItemLanguage.HasErrors (Boolean) // ----------------------------------- // No testing requied // ----------------------------------- // Is NOT Nullable // [NotMapped] // tvItemLanguage.ValidationResults (IEnumerable`1) // ----------------------------------- // No testing requied } } }
public IHttpActionResult GetTVItemLanguageList([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)) { TVItemLanguageService tvItemLanguageService = new TVItemLanguageService(new Query() { Lang = lang }, db, ContactID); if (extra == "A") // QueryString contains [extra=A] { tvItemLanguageService.Query = tvItemLanguageService.FillQuery(typeof(TVItemLanguageExtraA), lang, skip, take, asc, desc, where, extra); if (tvItemLanguageService.Query.HasErrors) { return(Ok(new List <TVItemLanguageExtraA>() { new TVItemLanguageExtraA() { HasErrors = tvItemLanguageService.Query.HasErrors, ValidationResults = tvItemLanguageService.Query.ValidationResults, }, }.ToList())); } else { return(Ok(tvItemLanguageService.GetTVItemLanguageExtraAList().ToList())); } } else if (extra == "B") // QueryString contains [extra=B] { tvItemLanguageService.Query = tvItemLanguageService.FillQuery(typeof(TVItemLanguageExtraB), lang, skip, take, asc, desc, where, extra); if (tvItemLanguageService.Query.HasErrors) { return(Ok(new List <TVItemLanguageExtraB>() { new TVItemLanguageExtraB() { HasErrors = tvItemLanguageService.Query.HasErrors, ValidationResults = tvItemLanguageService.Query.ValidationResults, }, }.ToList())); } else { return(Ok(tvItemLanguageService.GetTVItemLanguageExtraBList().ToList())); } } else // QueryString has no parameter [extra] or extra is empty { tvItemLanguageService.Query = tvItemLanguageService.FillQuery(typeof(TVItemLanguage), lang, skip, take, asc, desc, where, extra); if (tvItemLanguageService.Query.HasErrors) { return(Ok(new List <TVItemLanguage>() { new TVItemLanguage() { HasErrors = tvItemLanguageService.Query.HasErrors, ValidationResults = tvItemLanguageService.Query.ValidationResults, }, }.ToList())); } else { return(Ok(tvItemLanguageService.GetTVItemLanguageList().ToList())); } } } }
public bool CreateStationsQC() { TVItemService tvItemService = new TVItemService(LanguageEnum.en, user); TVItemLanguageService tvItemLanguageService = new TVItemLanguageService(LanguageEnum.en, user); MapInfoService mapInfoService = new MapInfoService(LanguageEnum.en, user); MWQMSiteService mwqmSiteService = new MWQMSiteService(LanguageEnum.en, user); TVItemModel tvItemModelRoot = tvItemService.GetRootTVItemModelDB(); if (!CheckModelOK <TVItemModel>(tvItemModelRoot)) { return(false); } TVItemModel tvItemModelCanada = tvItemService.GetChildTVItemModelWithParentIDAndTVTextAndTVTypeDB(tvItemModelRoot.TVItemID, "Canada", TVTypeEnum.Country); if (!CheckModelOK <TVItemModel>(tvItemModelCanada)) { return(false); } TVItemModel tvItemModelQC = tvItemService.GetChildTVItemModelWithParentIDAndTVTextAndTVTypeDB(tvItemModelCanada.TVItemID, "Québec", TVTypeEnum.Province); if (!CheckModelOK <TVItemModel>(tvItemModelQC)) { return(false); } List <TVItemModel> tvItemModelSubsectorQCList = tvItemService.GetChildrenTVItemModelListWithTVItemIDAndTVTypeDB(tvItemModelQC.TVItemID, TVTypeEnum.Subsector); if (tvItemModelSubsectorQCList.Count == 0) { richTextBoxStatus.AppendText("Could not find TVItem Subsector under British Columbia\r\n"); return(false); } lblStatus.Text = "Starting ... CreateStationsQC"; Application.DoEvents(); int StartQCCreateStationQC = int.Parse(textBoxQCCreateStationsQC.Text); List <Obs> obsTypeList = new List <Obs>(); List <string> sectorList = new List <string>(); List <TT> tideTextInDBList = new List <TT>(); List <AM> analyseMethodInDBList = new List <AM>(); List <Mat> matrixInDBList = new List <Mat>(); List <Lab> labInDBList = new List <Lab>(); List <SampleStatus> sampleStatusInDBList = new List <SampleStatus>(); List <TempData.QCSubsectorAssociation> qcSubAssList = new List <TempData.QCSubsectorAssociation>(); using (TempData.TempDataToolDBEntities dbDT = new TempData.TempDataToolDBEntities()) { qcSubAssList = (from c in dbDT.QCSubsectorAssociations select c).ToList <TempData.QCSubsectorAssociation>(); } using (PCCSM.pccsmEntities dbQC = new PCCSM.pccsmEntities()) { sectorList = (from s in dbQC.geo_stations_p where s.secteur != null select s.secteur).Distinct().OrderBy(c => c).ToList(); } List <TVItemModel> tvItemModelSubsectorList = tvItemService.GetChildrenTVItemModelListWithTVItemIDAndTVTypeDB(tvItemModelQC.TVItemID, TVTypeEnum.Subsector); List <TVItemModel> tvItemModelSiteList = tvItemService.GetChildrenTVItemModelListWithTVItemIDAndTVTypeDB(tvItemModelQC.TVItemID, TVTypeEnum.MWQMSite); TempData.QCSubsectorAssociation qcSubsectAss = new TempData.QCSubsectorAssociation(); // doing every sector with the exception of MS__ List <PCCSM.geo_stations_p> staQCList = new List <PCCSM.geo_stations_p>(); using (PCCSM.pccsmEntities dbQC = new PCCSM.pccsmEntities()) { staQCList = (from c in dbQC.geo_stations_p where (c.x != null && c.y != null) && c.secteur != null orderby c.secteur, c.station select c).ToList <PCCSM.geo_stations_p>(); } List <TVItemLanguage> tvItemSiteLanguageList = new List <TVItemLanguage>(); int TVItemIDSSOld = 0; int count = 0; int total = staQCList.Count; foreach (PCCSM.geo_stations_p geoStat in staQCList) { if (Cancel) { return(false); } textBoxQCCreateStationsQC.Text = count.ToString(); if (StartQCCreateStationQC > count) { continue; } qcSubsectAss = (from c in qcSubAssList where c.QCSectorText == geoStat.secteur select c).FirstOrDefault <TempData.QCSubsectorAssociation>(); if (qcSubsectAss == null) { richTextBoxStatus.AppendText(geoStat.secteur + " does not exist\r\n"); //return false; continue; } TVItemModel tvItemModelSubsector = (from c in tvItemModelSubsectorList where c.TVText.StartsWith(qcSubsectAss.SubsectorText) select c).FirstOrDefault(); if (TVItemIDSSOld != tvItemModelSubsector.TVItemID) { using (CSSPDBEntities db2 = new CSSPDBEntities()) { tvItemSiteLanguageList = (from c in db2.TVItems from cl in db2.TVItemLanguages where c.TVItemID == cl.TVItemID && c.ParentID == tvItemModelSubsector.TVItemID && c.TVType == (int)TVTypeEnum.MWQMSite select cl).ToList(); } TVItemIDSSOld = tvItemModelSubsector.TVItemID; } if (tvItemModelSubsector == null) { richTextBoxStatus.AppendText("could not find subsector" + geoStat.secteur + "\r\n"); //return false; continue; } bool IsActive = true; if (geoStat.status != null) { IsActive = (geoStat.status.Substring(0, 1) == "i" ? false : true); } string PreText = ""; if (geoStat.secteur.Length < qcSubsectAss.SubsectorText.Length) { PreText = ""; } else { if (geoStat.secteur.StartsWith(qcSubsectAss.SubsectorText)) { PreText = geoStat.secteur.Substring(qcSubsectAss.SubsectorText.Length) + "_"; } else { PreText = geoStat.secteur + "_"; } } if (PreText.StartsWith(".") || PreText.StartsWith("_")) { PreText = PreText.Substring(1); } string MWQMSiteTVText = PreText + "0000".Substring(0, 4 - geoStat.station.ToString().Length) + geoStat.station.ToString(); string subsector = tvItemModelSubsector.TVText; if (subsector.Contains(" ")) { subsector = subsector.Substring(0, subsector.IndexOf(" ")); } count += 1; lblStatus.Text = $"{subsector} --- {MWQMSiteTVText} --- { count.ToString()}/{total.ToString()}"; Application.DoEvents(); List <MapInfoModel> mapInfoModelList = mapInfoService.GetMapInfoModelWithLatAndLngInPolygonWithTVTypeDB((float)geoStat.y, (float)geoStat.x, TVTypeEnum.Subsector); if (mapInfoModelList.Count == 0) { //return false; continue; } TVItemModel tvItemModel = (from c in tvItemModelSiteList where c.ParentID == tvItemModelSubsector.TVItemID && c.TVText.EndsWith(MWQMSiteTVText) select c).FirstOrDefault(); //TVItemModel tvItemModel = tvItemModelMWQMSiteList.Where(c => c.TVText.EndsWith(MWQMSiteTVText)).FirstOrDefault(); if (tvItemModel == null) { TVItemModel tvItemModelRet = tvItemService.PostCreateTVItem(tvItemModelSubsector.TVItemID, MWQMSiteTVText, MWQMSiteTVText, TVTypeEnum.MWQMSite); if (!CheckModelOK <TVItemModel>(tvItemModelRet)) { //return false; continue; } if (geoStat.status == null) { tvItemModelRet.IsActive = false; } else { tvItemModelRet.IsActive = (geoStat.status.Substring(0, 1) == "i" ? false : true); } TVItemModel tvItemModelRet2 = tvItemService.PostUpdateTVItemDB(tvItemModelRet); if (!CheckModelOK <TVItemModel>(tvItemModelRet2)) { //return false; continue; } List <Coord> coordList2 = new List <Coord>() { new Coord() { Lat = (float)geoStat.y, Lng = (float)geoStat.x, } }; MapInfoModel mapInfoModelRet = mapInfoService.CreateMapInfoObjectDB(coordList2, MapInfoDrawTypeEnum.Point, TVTypeEnum.MWQMSite, tvItemModelRet2.TVItemID); if (!CheckModelOK <MapInfoModel>(mapInfoModelRet)) { //return false; continue; } // should add the QC station to WQMSite MWQMSiteModel mwqmSiteModelNew = new MWQMSiteModel() { MWQMSiteTVItemID = tvItemModelRet2.TVItemID, MWQMSiteNumber = geoStat.station.ToString(), Ordinal = (int)geoStat.station, MWQMSiteTVText = MWQMSiteTVText, MWQMSiteDescription = "--" }; MWQMSiteModel mwqmSiteModelRet = mwqmSiteService.PostAddMWQMSiteDB(mwqmSiteModelNew); if (!CheckModelOK <MWQMSiteModel>(mwqmSiteModelRet)) { //return false; continue; } } else { TVItemLanguage tvItemLanguageEN = (from c in tvItemSiteLanguageList where c.TVItemID == tvItemModel.TVItemID && c.Language == (int)LanguageEnum.en select c).FirstOrDefault(); TVItemLanguage tvItemLanguageFR = (from c in tvItemSiteLanguageList where c.TVItemID == tvItemModel.TVItemID && c.Language == (int)LanguageEnum.fr select c).FirstOrDefault(); if (tvItemLanguageEN.TVText != MWQMSiteTVText || tvItemLanguageFR.TVText != MWQMSiteTVText) { foreach (LanguageEnum language in new List <LanguageEnum>() { LanguageEnum.en, LanguageEnum.fr }) { TVItemLanguageModel tvItemLanguageModel = tvItemLanguageService.GetTVItemLanguageModelWithTVItemIDAndLanguageDB(tvItemModel.TVItemID, language); if (!CheckModelOK <TVItemLanguageModel>(tvItemLanguageModel)) { //return false; continue; } if (tvItemLanguageModel.TVText != MWQMSiteTVText) { tvItemLanguageModel.TVText = MWQMSiteTVText; TVItemLanguageModel tvItemLanguageModelRet = tvItemLanguageService.PostUpdateTVItemLanguageDB(tvItemLanguageModel); if (!CheckModelOK <TVItemLanguageModel>(tvItemLanguageModelRet)) { //return false; continue; } } } } } } return(true); }