public TVItemLanguageModel PostDeleteTVItemLanguageDB(int TVItemID, LanguageEnum Language) { ContactOK contactOK = IsContactOK(); if (!string.IsNullOrWhiteSpace(contactOK.Error)) { return(ReturnError(contactOK.Error)); } TVItemLanguage tvItemLanguageToDelete = GetTVItemLanguageWithTVItemIDAndLanguageDB(TVItemID, Language); if (tvItemLanguageToDelete == null) { return(ReturnError(string.Format(ServiceRes.CouldNotFind_ToDelete, ServiceRes.TVItemLanguage))); } using (TransactionScope ts = new TransactionScope()) { db.TVItemLanguages.Remove(tvItemLanguageToDelete); string retStr = DoDeleteChanges(); if (!string.IsNullOrWhiteSpace(retStr)) { return(ReturnError(retStr)); } LogModel logModel = _LogService.PostAddLogForObj("TVItemLanguages", tvItemLanguageToDelete.TVItemLanguageID, LogCommandEnum.Delete, tvItemLanguageToDelete); if (!string.IsNullOrWhiteSpace(logModel.Error)) { return(ReturnError(logModel.Error)); } ts.Complete(); } return(ReturnError("")); }
private TVItemLanguage GetFilledRandomTVItemLanguage(string OmitPropName) { TVItemLanguage tvItemLanguage = new TVItemLanguage(); if (OmitPropName != "TVItemID") { tvItemLanguage.TVItemID = 1; } if (OmitPropName != "Language") { tvItemLanguage.Language = LanguageRequest; } if (OmitPropName != "TVText") { tvItemLanguage.TVText = GetRandomString("", 5); } if (OmitPropName != "TranslationStatus") { tvItemLanguage.TranslationStatus = (TranslationStatusEnum)GetRandomEnumType(typeof(TranslationStatusEnum)); } if (OmitPropName != "LastUpdateDate_UTC") { tvItemLanguage.LastUpdateDate_UTC = new DateTime(2005, 3, 6); } if (OmitPropName != "LastUpdateContactTVItemID") { tvItemLanguage.LastUpdateContactTVItemID = 2; } return(tvItemLanguage); }
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 TVItemLanguage GetTVItemLanguageWithTVItemIDAndLanguageDB(int TVItemID, LanguageEnum Language) { TVItemLanguage tvItemLanguage = (from c in db.TVItemLanguages where c.TVItemID == TVItemID && c.Language == (int)Language select c).FirstOrDefault <TVItemLanguage>(); return(tvItemLanguage); }
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 TVItemLanguageModel PostUpdateTVItemLanguageDB(TVItemLanguageModel tvItemLanguageModel) { string retStr = TVItemLanguageModelOK(tvItemLanguageModel); if (!string.IsNullOrWhiteSpace(retStr)) { return(ReturnError(retStr)); } ContactOK contactOK = IsContactOK(); if (!string.IsNullOrEmpty(contactOK.Error)) { return(ReturnError(contactOK.Error)); } TVItemLanguage tvItemLanguageToUpdate = GetTVItemLanguageWithTVItemIDAndLanguageDB(tvItemLanguageModel.TVItemID, tvItemLanguageModel.Language); if (tvItemLanguageToUpdate == null) { return(ReturnError(string.Format(ServiceRes.CouldNotFind_ToUpdate, ServiceRes.TVItemLanguage))); } retStr = FillTVItemLanguage(tvItemLanguageToUpdate, tvItemLanguageModel, contactOK); if (!string.IsNullOrWhiteSpace(retStr)) { return(ReturnError(retStr)); } using (TransactionScope ts = new TransactionScope()) { retStr = DoUpdateChanges(); if (!string.IsNullOrWhiteSpace(retStr)) { return(ReturnError(retStr)); } LogModel logModel = _LogService.PostAddLogForObj("TVItemLanguages", tvItemLanguageToUpdate.TVItemLanguageID, LogCommandEnum.Change, tvItemLanguageToUpdate); if (!string.IsNullOrWhiteSpace(logModel.Error)) { return(ReturnError(logModel.Error)); } ts.Complete(); } return(GetTVItemLanguageModelWithTVItemIDAndLanguageDB(tvItemLanguageToUpdate.TVItemID, (LanguageEnum)tvItemLanguageToUpdate.Language)); }
public TVItemLanguageModel PostAddTVItemLanguageDB(TVItemLanguageModel tvItemLanguageModel) { string retStr = TVItemLanguageModelOK(tvItemLanguageModel); if (!string.IsNullOrWhiteSpace(retStr)) { return(ReturnError(retStr)); } ContactOK contactOK = IsContactOK(); if (!string.IsNullOrEmpty(contactOK.Error)) { return(ReturnError(contactOK.Error)); } TVItemLanguageModel tvItemLanguageModelExist = GetTVItemLanguageModelWithTVItemIDAndLanguageDB(tvItemLanguageModel.TVItemID, tvItemLanguageModel.Language); if (string.IsNullOrWhiteSpace(tvItemLanguageModelExist.Error)) { return(ReturnError(string.Format(ServiceRes._AlreadyExists, ServiceRes.TVItemLanguage))); } TVItemLanguage tvItemLanguageNew = new TVItemLanguage(); retStr = FillTVItemLanguage(tvItemLanguageNew, tvItemLanguageModel, contactOK); if (!string.IsNullOrWhiteSpace(retStr)) { return(ReturnError(retStr)); } db.TVItemLanguages.Add(tvItemLanguageNew); retStr = DoAddChanges(); if (!string.IsNullOrWhiteSpace(retStr)) { return(ReturnError(retStr)); } LogModel logModel = _LogService.PostAddLogForObj("TVItemLanguages", tvItemLanguageNew.TVItemLanguageID, LogCommandEnum.Add, tvItemLanguageNew); if (!string.IsNullOrWhiteSpace(logModel.Error)) { return(ReturnError(logModel.Error)); } return(GetTVItemLanguageModelWithTVItemIDAndLanguageDB(tvItemLanguageNew.TVItemID, tvItemLanguageModel.Language)); }
/// <summary> /// Updates an [TVItemLanguage](CSSPModels.TVItemLanguage.html) item in CSSPDB /// </summary> /// <param name="tvItemLanguage">Is the TVItemLanguage item the client want to add to CSSPDB. What's important here is the TVItemLanguageID</param> /// <returns>true if TVItemLanguage item was updated to CSSPDB, false if an error happened during the DB requested transtaction</returns> public bool Update(TVItemLanguage tvItemLanguage) { tvItemLanguage.ValidationResults = Validate(new ValidationContext(tvItemLanguage), ActionDBTypeEnum.Update); if (tvItemLanguage.ValidationResults.Count() > 0) { return(false); } db.TVItemLanguages.Update(tvItemLanguage); if (!TryToSave(tvItemLanguage)) { return(false); } return(true); }
/// <summary> /// Tries to execute the CSSPDB transaction (add/delete/update) on an [TVItemLanguage](CSSPModels.TVItemLanguage.html) item /// </summary> /// <param name="tvItemLanguage">Is the TVItemLanguage item the client want to add to CSSPDB. What's important here is the TVItemLanguageID</param> /// <returns>true if TVItemLanguage item was updated to CSSPDB, false if an error happened during the DB requested transtaction</returns> private bool TryToSave(TVItemLanguage tvItemLanguage) { try { db.SaveChanges(); } catch (DbUpdateException ex) { tvItemLanguage.ValidationResults = new List <ValidationResult>() { new ValidationResult(ex.Message + (ex.InnerException != null ? " Inner: " + ex.InnerException.Message : "")) }.AsEnumerable(); return(false); } return(true); }
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); } } }
// Post public TVItemLanguageModel PostAddRootTVItemLanguageDB(TVItemLanguageModel tvItemLanguageModel) { int TVItemLanguageCount = GetTVItemLanguageModelCountDB(); if (TVItemLanguageCount > 1) { return(ReturnError(ServiceRes.TVItemRootShouldBeTheFirstOneAdded)); } string retStr = TVItemLanguageModelOK(tvItemLanguageModel); if (!string.IsNullOrWhiteSpace(retStr)) { return(ReturnError(retStr)); } TVItemLanguage tvItemLanguageNew = new TVItemLanguage(); retStr = FillTVItemLanguage(tvItemLanguageNew, tvItemLanguageModel, null); if (!string.IsNullOrWhiteSpace(retStr)) { return(ReturnError(retStr)); } using (TransactionScope ts = new TransactionScope()) { db.TVItemLanguages.Add(tvItemLanguageNew); retStr = DoAddChanges(); if (!string.IsNullOrWhiteSpace(retStr)) { return(ReturnError(retStr)); } LogModel logModel = _LogService.PostAddLogForObj("TVItemLanguages", tvItemLanguageNew.TVItemLanguageID, LogCommandEnum.Add, tvItemLanguageNew); if (!string.IsNullOrWhiteSpace(logModel.Error)) { return(ReturnError(logModel.Error)); } ts.Complete(); } return(GetTVItemLanguageModelWithTVItemIDAndLanguageDB(tvItemLanguageNew.TVItemID, tvItemLanguageModel.Language)); }
// Fill public string FillTVItemLanguage(TVItemLanguage tvItemLanguageNew, TVItemLanguageModel tvItemLanguageModel, ContactOK contactOK) { tvItemLanguageNew.DBCommand = (int)tvItemLanguageModel.DBCommand; tvItemLanguageNew.TVItemID = tvItemLanguageModel.TVItemID; tvItemLanguageNew.Language = (int)tvItemLanguageModel.Language; tvItemLanguageNew.TranslationStatus = (int)tvItemLanguageModel.TranslationStatus; tvItemLanguageNew.TVText = tvItemLanguageModel.TVText; tvItemLanguageNew.LastUpdateDate_UTC = DateTime.UtcNow; if (contactOK == null) { tvItemLanguageNew.LastUpdateContactTVItemID = 2; } else { tvItemLanguageNew.LastUpdateContactTVItemID = contactOK.ContactTVItemID; } return(""); }
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 TVItemLanguageTest() { tVItemLanguage = new TVItemLanguage(); tVItemLanguageExtraA = new TVItemLanguageExtraA(); tVItemLanguageExtraB = new TVItemLanguageExtraB(); }
/// <summary> /// Validate function for all TVItemLanguageService commands /// </summary> /// <param name="validationContext">System.ComponentModel.DataAnnotations.ValidationContext (Describes the context in which a validation check is performed.)</param> /// <param name="actionDBType">[ActionDBTypeEnum] (CSSPEnums.ActionDBTypeEnum.html) action type to validate</param> /// <returns>IEnumerable of ValidationResult (Where ValidationResult is a container for the results of a validation request.)</returns> private IEnumerable <ValidationResult> Validate(ValidationContext validationContext, ActionDBTypeEnum actionDBType) { string retStr = ""; Enums enums = new Enums(LanguageRequest); TVItemLanguage tvItemLanguage = validationContext.ObjectInstance as TVItemLanguage; tvItemLanguage.HasErrors = false; if (actionDBType == ActionDBTypeEnum.Update || actionDBType == ActionDBTypeEnum.Delete) { if (tvItemLanguage.TVItemLanguageID == 0) { tvItemLanguage.HasErrors = true; yield return(new ValidationResult(string.Format(CSSPServicesRes._IsRequired, "TVItemLanguageID"), new[] { "TVItemLanguageID" })); } if (!(from c in db.TVItemLanguages select c).Where(c => c.TVItemLanguageID == tvItemLanguage.TVItemLanguageID).Any()) { tvItemLanguage.HasErrors = true; yield return(new ValidationResult(string.Format(CSSPServicesRes.CouldNotFind_With_Equal_, "TVItemLanguage", "TVItemLanguageID", tvItemLanguage.TVItemLanguageID.ToString()), new[] { "TVItemLanguageID" })); } } TVItem TVItemTVItemID = (from c in db.TVItems where c.TVItemID == tvItemLanguage.TVItemID select c).FirstOrDefault(); if (TVItemTVItemID == null) { tvItemLanguage.HasErrors = true; yield return(new ValidationResult(string.Format(CSSPServicesRes.CouldNotFind_With_Equal_, "TVItem", "TVItemID", tvItemLanguage.TVItemID.ToString()), new[] { "TVItemID" })); } else { List <TVTypeEnum> AllowableTVTypes = new List <TVTypeEnum>() { TVTypeEnum.Root, TVTypeEnum.Address, TVTypeEnum.Area, TVTypeEnum.ClimateSite, TVTypeEnum.Contact, TVTypeEnum.Country, TVTypeEnum.Email, TVTypeEnum.HydrometricSite, TVTypeEnum.Infrastructure, TVTypeEnum.MikeBoundaryConditionWebTide, TVTypeEnum.MikeBoundaryConditionMesh, TVTypeEnum.MikeScenario, TVTypeEnum.MikeSource, TVTypeEnum.Municipality, TVTypeEnum.MWQMSite, TVTypeEnum.PolSourceSite, TVTypeEnum.Province, TVTypeEnum.Sector, TVTypeEnum.Subsector, TVTypeEnum.Tel, TVTypeEnum.MWQMRun, TVTypeEnum.Classification, }; if (!AllowableTVTypes.Contains(TVItemTVItemID.TVType)) { tvItemLanguage.HasErrors = true; yield return(new ValidationResult(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"), new[] { "TVItemID" })); } } retStr = enums.EnumTypeOK(typeof(LanguageEnum), (int?)tvItemLanguage.Language); if (!string.IsNullOrWhiteSpace(retStr)) { tvItemLanguage.HasErrors = true; yield return(new ValidationResult(string.Format(CSSPServicesRes._IsRequired, "Language"), new[] { "Language" })); } if (string.IsNullOrWhiteSpace(tvItemLanguage.TVText)) { tvItemLanguage.HasErrors = true; yield return(new ValidationResult(string.Format(CSSPServicesRes._IsRequired, "TVText"), new[] { "TVText" })); } if (!string.IsNullOrWhiteSpace(tvItemLanguage.TVText) && tvItemLanguage.TVText.Length > 200) { tvItemLanguage.HasErrors = true; yield return(new ValidationResult(string.Format(CSSPServicesRes._MaxLengthIs_, "TVText", "200"), new[] { "TVText" })); } retStr = enums.EnumTypeOK(typeof(TranslationStatusEnum), (int?)tvItemLanguage.TranslationStatus); if (!string.IsNullOrWhiteSpace(retStr)) { tvItemLanguage.HasErrors = true; yield return(new ValidationResult(string.Format(CSSPServicesRes._IsRequired, "TranslationStatus"), new[] { "TranslationStatus" })); } if (tvItemLanguage.LastUpdateDate_UTC.Year == 1) { tvItemLanguage.HasErrors = true; yield return(new ValidationResult(string.Format(CSSPServicesRes._IsRequired, "LastUpdateDate_UTC"), new[] { "LastUpdateDate_UTC" })); } else { if (tvItemLanguage.LastUpdateDate_UTC.Year < 1980) { tvItemLanguage.HasErrors = true; yield return(new ValidationResult(string.Format(CSSPServicesRes._YearShouldBeBiggerThan_, "LastUpdateDate_UTC", "1980"), new[] { "LastUpdateDate_UTC" })); } } TVItem TVItemLastUpdateContactTVItemID = (from c in db.TVItems where c.TVItemID == tvItemLanguage.LastUpdateContactTVItemID select c).FirstOrDefault(); if (TVItemLastUpdateContactTVItemID == null) { tvItemLanguage.HasErrors = true; yield return(new ValidationResult(string.Format(CSSPServicesRes.CouldNotFind_With_Equal_, "TVItem", "LastUpdateContactTVItemID", tvItemLanguage.LastUpdateContactTVItemID.ToString()), new[] { "LastUpdateContactTVItemID" })); } else { List <TVTypeEnum> AllowableTVTypes = new List <TVTypeEnum>() { TVTypeEnum.Contact, }; if (!AllowableTVTypes.Contains(TVItemLastUpdateContactTVItemID.TVType)) { tvItemLanguage.HasErrors = true; yield return(new ValidationResult(string.Format(CSSPServicesRes._IsNotOfType_, "LastUpdateContactTVItemID", "Contact"), new[] { "LastUpdateContactTVItemID" })); } } retStr = ""; // added to stop compiling CSSPError if (retStr != "") // will never be true { tvItemLanguage.HasErrors = true; yield return(new ValidationResult("AAA", new[] { "AAA" })); } }
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 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 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); }