public void MWQMSite_Controller_Put_Test() { foreach (LanguageEnum LanguageRequest in AllowableLanguages) { foreach (int ContactID in new List <int>() { AdminContactID }) //, TestEmailValidatedContactID, TestEmailNotValidatedContactID }) { MWQMSiteController mwqmSiteController = new MWQMSiteController(DatabaseTypeEnum.SqlServerTestDB); Assert.IsNotNull(mwqmSiteController); Assert.AreEqual(DatabaseTypeEnum.SqlServerTestDB, mwqmSiteController.DatabaseType); MWQMSite mwqmSiteLast = new MWQMSite(); using (CSSPDBContext db = new CSSPDBContext(DatabaseType)) { Query query = new Query(); query.Language = LanguageRequest; MWQMSiteService mwqmSiteService = new MWQMSiteService(query, db, ContactID); mwqmSiteLast = (from c in db.MWQMSites select c).FirstOrDefault(); } // ok with MWQMSite info IHttpActionResult jsonRet = mwqmSiteController.GetMWQMSiteWithID(mwqmSiteLast.MWQMSiteID); Assert.IsNotNull(jsonRet); OkNegotiatedContentResult <MWQMSite> Ret = jsonRet as OkNegotiatedContentResult <MWQMSite>; MWQMSite mwqmSiteRet = Ret.Content; Assert.AreEqual(mwqmSiteLast.MWQMSiteID, mwqmSiteRet.MWQMSiteID); BadRequestErrorMessageResult badRequest = jsonRet as BadRequestErrorMessageResult; Assert.IsNull(badRequest); // Put to return success IHttpActionResult jsonRet2 = mwqmSiteController.Put(mwqmSiteRet, LanguageRequest.ToString()); Assert.IsNotNull(jsonRet2); OkNegotiatedContentResult <MWQMSite> mwqmSiteRet2 = jsonRet2 as OkNegotiatedContentResult <MWQMSite>; Assert.IsNotNull(mwqmSiteRet2); BadRequestErrorMessageResult badRequest2 = jsonRet2 as BadRequestErrorMessageResult; Assert.IsNull(badRequest2); // Put to return CSSPError because MWQMSiteID of 0 does not exist mwqmSiteRet.MWQMSiteID = 0; IHttpActionResult jsonRet3 = mwqmSiteController.Put(mwqmSiteRet, LanguageRequest.ToString()); Assert.IsNotNull(jsonRet3); OkNegotiatedContentResult <MWQMSite> mwqmSiteRet3 = jsonRet3 as OkNegotiatedContentResult <MWQMSite>; Assert.IsNull(mwqmSiteRet3); BadRequestErrorMessageResult badRequest3 = jsonRet3 as BadRequestErrorMessageResult; Assert.IsNotNull(badRequest3); } } }
public IHttpActionResult GetMWQMSiteList([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)) { MWQMSiteService mwqmSiteService = new MWQMSiteService(new Query() { Lang = lang }, db, ContactID);
protected override void Initialize(System.Web.Routing.RequestContext requestContext) { base.Initialize(requestContext); _PolSourceSiteEffectService = new PolSourceSiteEffectService(LanguageRequest, User); _PolSourceSiteEffectTermService = new PolSourceSiteEffectTermService(LanguageRequest, User); _PolSourceSiteService = new PolSourceSiteService(LanguageRequest, User); _MWQMSiteService = new MWQMSiteService(LanguageRequest, User); _UseOfSiteService = new UseOfSiteService(LanguageRequest, User); _PolSourceSiteEffectService = new PolSourceSiteEffectService(LanguageRequest, User); _BaseEnumService = new BaseEnumService(LanguageRequest); }
protected override void Initialize(System.Web.Routing.RequestContext requestContext) { base.Initialize(requestContext); _AppTaskService = new AppTaskService(LanguageRequest, User); _MWQMSiteService = new MWQMSiteService(LanguageRequest, User); _MWQMRunService = new MWQMRunService(LanguageRequest, User); _MWQMSampleService = new MWQMSampleService(LanguageRequest, User); _MapInfoPointService = new MapInfoPointService(LanguageRequest, User); _MWQMSubsectorService = new MWQMSubsectorService(LanguageRequest, User); _MWQMAnalysisReportParameterService = new MWQMAnalysisReportParameterService(LanguageRequest, User); }
public void MWQMSite_CRUD_Test() { foreach (CultureInfo culture in AllowableCulture) { ChangeCulture(culture); using (CSSPDBContext dbTestDB = new CSSPDBContext(DatabaseTypeEnum.SqlServerTestDB)) { MWQMSiteService mwqmSiteService = new MWQMSiteService(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] } MWQMSite mwqmSite = GetFilledRandomMWQMSite(""); // ------------------------------- // ------------------------------- // CRUD testing // ------------------------------- // ------------------------------- count = mwqmSiteService.GetMWQMSiteList().Count(); Assert.AreEqual(count, (from c in dbTestDB.MWQMSites select c).Count()); mwqmSiteService.Add(mwqmSite); if (mwqmSite.HasErrors) { Assert.AreEqual("", mwqmSite.ValidationResults.FirstOrDefault().ErrorMessage); } Assert.AreEqual(true, mwqmSiteService.GetMWQMSiteList().Where(c => c == mwqmSite).Any()); mwqmSiteService.Update(mwqmSite); if (mwqmSite.HasErrors) { Assert.AreEqual("", mwqmSite.ValidationResults.FirstOrDefault().ErrorMessage); } Assert.AreEqual(count + 1, mwqmSiteService.GetMWQMSiteList().Count()); mwqmSiteService.Delete(mwqmSite); if (mwqmSite.HasErrors) { Assert.AreEqual("", mwqmSite.ValidationResults.FirstOrDefault().ErrorMessage); } Assert.AreEqual(count, mwqmSiteService.GetMWQMSiteList().Count()); } } }
public IHttpActionResult GetMWQMSiteWithID([FromUri] int MWQMSiteID, [FromUri] string lang = "en", [FromUri] string extra = "") { using (CSSPDBContext db = new CSSPDBContext(DatabaseType)) { MWQMSiteService mwqmSiteService = new MWQMSiteService(new Query() { Language = (lang == "fr" ? LanguageEnum.fr : LanguageEnum.en) }, db, ContactID); mwqmSiteService.Query = mwqmSiteService.FillQuery(typeof(MWQMSite), lang, 0, 1, "", "", extra); if (mwqmSiteService.Query.Extra == "A") { MWQMSiteExtraA mwqmSiteExtraA = new MWQMSiteExtraA(); mwqmSiteExtraA = mwqmSiteService.GetMWQMSiteExtraAWithMWQMSiteID(MWQMSiteID); if (mwqmSiteExtraA == null) { return(NotFound()); } return(Ok(mwqmSiteExtraA)); } else if (mwqmSiteService.Query.Extra == "B") { MWQMSiteExtraB mwqmSiteExtraB = new MWQMSiteExtraB(); mwqmSiteExtraB = mwqmSiteService.GetMWQMSiteExtraBWithMWQMSiteID(MWQMSiteID); if (mwqmSiteExtraB == null) { return(NotFound()); } return(Ok(mwqmSiteExtraB)); } else { MWQMSite mwqmSite = new MWQMSite(); mwqmSite = mwqmSiteService.GetMWQMSiteWithMWQMSiteID(MWQMSiteID); if (mwqmSite == null) { return(NotFound()); } return(Ok(mwqmSite)); } } }
public void MWQMSite_Controller_GetMWQMSiteWithID_Test() { foreach (LanguageEnum LanguageRequest in AllowableLanguages) { foreach (int ContactID in new List <int>() { AdminContactID }) //, TestEmailValidatedContactID, TestEmailNotValidatedContactID }) { MWQMSiteController mwqmSiteController = new MWQMSiteController(DatabaseTypeEnum.SqlServerTestDB); Assert.IsNotNull(mwqmSiteController); Assert.AreEqual(DatabaseTypeEnum.SqlServerTestDB, mwqmSiteController.DatabaseType); MWQMSite mwqmSiteFirst = new MWQMSite(); using (CSSPDBContext db = new CSSPDBContext(DatabaseType)) { MWQMSiteService mwqmSiteService = new MWQMSiteService(new Query(), db, ContactID); mwqmSiteFirst = (from c in db.MWQMSites select c).FirstOrDefault(); } // ok with MWQMSite info IHttpActionResult jsonRet = mwqmSiteController.GetMWQMSiteWithID(mwqmSiteFirst.MWQMSiteID); Assert.IsNotNull(jsonRet); OkNegotiatedContentResult <MWQMSite> Ret = jsonRet as OkNegotiatedContentResult <MWQMSite>; MWQMSite mwqmSiteRet = Ret.Content; Assert.AreEqual(mwqmSiteFirst.MWQMSiteID, mwqmSiteRet.MWQMSiteID); BadRequestErrorMessageResult badRequest = jsonRet as BadRequestErrorMessageResult; Assert.IsNull(badRequest); // Not Found IHttpActionResult jsonRet2 = mwqmSiteController.GetMWQMSiteWithID(0); Assert.IsNotNull(jsonRet2); OkNegotiatedContentResult <MWQMSite> mwqmSiteRet2 = jsonRet2 as OkNegotiatedContentResult <MWQMSite>; Assert.IsNull(mwqmSiteRet2); NotFoundResult notFoundRequest = jsonRet2 as NotFoundResult; Assert.IsNotNull(notFoundRequest); } } }
public IHttpActionResult Delete([FromBody] MWQMSite mwqmSite, [FromUri] string lang = "en") { using (CSSPDBContext db = new CSSPDBContext(DatabaseType)) { MWQMSiteService mwqmSiteService = new MWQMSiteService(new Query() { Language = (lang == "fr" ? LanguageEnum.fr : LanguageEnum.en) }, db, ContactID); if (!mwqmSiteService.Delete(mwqmSite)) { return(BadRequest(String.Join("|||", mwqmSite.ValidationResults))); } else { mwqmSite.ValidationResults = null; return(Ok(mwqmSite)); } } }
public void GetMWQMSiteList_Test() { foreach (CultureInfo culture in AllowableCulture) { ChangeCulture(culture); using (CSSPDBContext dbTestDB = new CSSPDBContext(DatabaseTypeEnum.SqlServerTestDB)) { MWQMSiteService mwqmSiteService = new MWQMSiteService(new Query() { Lang = culture.TwoLetterISOLanguageName }, dbTestDB, ContactID); MWQMSite mwqmSite = (from c in dbTestDB.MWQMSites select c).FirstOrDefault(); Assert.IsNotNull(mwqmSite); List <MWQMSite> mwqmSiteDirectQueryList = new List <MWQMSite>(); mwqmSiteDirectQueryList = (from c in dbTestDB.MWQMSites select c).Take(200).ToList(); foreach (string extra in new List <string>() { null, "A", "B", "C", "D", "E" }) { mwqmSiteService.Query.Extra = extra; if (string.IsNullOrWhiteSpace(extra)) { List <MWQMSite> mwqmSiteList = new List <MWQMSite>(); mwqmSiteList = mwqmSiteService.GetMWQMSiteList().ToList(); CheckMWQMSiteFields(mwqmSiteList); } else { //Assert.AreEqual(true, false); } } } } }
public void GetMWQMSiteList_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" }) { MWQMSiteService mwqmSiteService = new MWQMSiteService(new Query() { Lang = culture.TwoLetterISOLanguageName }, dbTestDB, ContactID); mwqmSiteService.Query = mwqmSiteService.FillQuery(typeof(MWQMSite), culture.TwoLetterISOLanguageName, 0, 10000, "", "", "MWQMSiteID,GT,2|MWQMSiteID,LT,5", extra); List <MWQMSite> mwqmSiteDirectQueryList = new List <MWQMSite>(); mwqmSiteDirectQueryList = (from c in dbTestDB.MWQMSites select c).Where(c => c.MWQMSiteID > 2 && c.MWQMSiteID < 5).ToList(); if (string.IsNullOrWhiteSpace(extra)) { List <MWQMSite> mwqmSiteList = new List <MWQMSite>(); mwqmSiteList = mwqmSiteService.GetMWQMSiteList().ToList(); CheckMWQMSiteFields(mwqmSiteList); Assert.AreEqual(mwqmSiteDirectQueryList[0].MWQMSiteID, mwqmSiteList[0].MWQMSiteID); } else { //Assert.AreEqual(true, false); } } } } }
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); }
public PartialViewResult _LabSheetsHistoryDetail(int SamplingPlanID, int LabSheetID) { ViewBag.SamplingPlanController = _SamplingPlanController; ViewBag.AdminContactModelList = null; ViewBag.IsSamplingPlanner = false; ViewBag.LabSheetModelAndA1Sheet = null; ViewBag.AnalyzeMethod = AnalyzeMethodEnum.Error; ViewBag.SampleMatrix = SampleMatrixEnum.Error; ViewBag.Laboratory = LaboratoryEnum.Error; ViewBag.MWQMSiteModelList = new List <MWQMSiteModel>(); SamplingPlanService SamplingPlanService = new SamplingPlanService(_TVItemService.LanguageRequest, _TVItemService.User); LabSheetService labSheetService = new LabSheetService(_TVItemService.LanguageRequest, _TVItemService.User); MWQMRunService mwqmRunService = new MWQMRunService(_TVItemService.LanguageRequest, _TVItemService.User); MWQMSiteService mwqmSiteService = new MWQMSiteService(_TVItemService.LanguageRequest, _TVItemService.User); ContactModel contactModel = _ContactService.GetContactLoggedInDB(); SamplingPlanModel SamplingPlanModel = SamplingPlanService.GetSamplingPlanModelWithSamplingPlanIDDB(SamplingPlanID); if (string.IsNullOrWhiteSpace(SamplingPlanModel.Error)) { ViewBag.IsSamplingPlanner = false; if (contactModel.SamplingPlanner_ProvincesTVItemID.Contains(SamplingPlanModel.ProvinceTVItemID.ToString())) { ViewBag.IsSamplingPlanner = true; } else { List <ContactModel> adminContactModelList = _ContactService.GetAdminContactModelListDB(); ViewBag.AdminContactModelList = adminContactModelList; } LabSheetModel labSheetModel = labSheetService.GetLabSheetModelWithLabSheetIDDB(LabSheetID); LabSheetModelAndA1Sheet labSheetModelAndA1Sheet = new LabSheetModelAndA1Sheet(); labSheetModelAndA1Sheet.LabSheetModel = labSheetModel; labSheetModelAndA1Sheet.LabSheetA1Sheet = labSheetService.ParseLabSheetA1WithLabSheetID(labSheetModel.LabSheetID); ViewBag.LabSheetModelAndA1Sheet = labSheetModelAndA1Sheet; if (labSheetModel.MWQMRunTVItemID != null) { MWQMRunModel mwqmRunModel = mwqmRunService.GetMWQMRunModelWithMWQMRunTVItemIDDB((int)labSheetModel.MWQMRunTVItemID); if (string.IsNullOrWhiteSpace(mwqmRunModel.Error)) { if (mwqmRunModel.AnalyzeMethod != null) { ViewBag.AnalyzeMethod = (AnalyzeMethodEnum)mwqmRunModel.AnalyzeMethod; } if (mwqmRunModel.SampleMatrix != null) { ViewBag.SampleMatrix = (SampleMatrixEnum)mwqmRunModel.SampleMatrix; } if (mwqmRunModel.Laboratory != null) { ViewBag.Laboratory = (LaboratoryEnum)mwqmRunModel.Laboratory; } } } List <MWQMSiteModel> mwqmSiteModelList = mwqmSiteService.GetMWQMSiteModelListWithSubsectorTVItemIDDB(labSheetModelAndA1Sheet.LabSheetA1Sheet.SubsectorTVItemID); ViewBag.MWQMSiteModelList = mwqmSiteModelList; } return(PartialView()); }
public bool CreateStationsBC() { if (Cancel) { return(false); } TVItemService tvItemServiceR = new TVItemService(LanguageEnum.en, user); TVItemModel tvItemModelRoot = tvItemServiceR.GetRootTVItemModelDB(); if (!CheckModelOK <TVItemModel>(tvItemModelRoot)) { return(false); } TVItemModel tvItemModelCanada = tvItemServiceR.GetChildTVItemModelWithParentIDAndTVTextAndTVTypeDB(tvItemModelRoot.TVItemID, "Canada", TVTypeEnum.Country); if (!CheckModelOK <TVItemModel>(tvItemModelCanada)) { return(false); } TVItemModel tvItemModelBC = tvItemServiceR.GetChildTVItemModelWithParentIDAndTVTextAndTVTypeDB(tvItemModelCanada.TVItemID, "British Columbia", TVTypeEnum.Province); if (!CheckModelOK <TVItemModel>(tvItemModelBC)) { return(false); } List <TVItemModel> tvItemModelSubsectorBCList = tvItemServiceR.GetChildrenTVItemModelListWithTVItemIDAndTVTypeDB(tvItemModelBC.TVItemID, TVTypeEnum.Subsector); if (tvItemModelSubsectorBCList.Count == 0) { richTextBoxStatus.AppendText("Could not find TVItem Subsector under British Columbia\r\n"); return(false); } lblStatus.Text = "Starting ... LoadStationsBC"; Application.DoEvents(); int StartBCCreateStationBC = int.Parse(textBoxBCCreateStationsBC.Text); List <BCStation> BCWQMSiteList = new List <BCStation>(); TVItemModel TVItemModelSubsectorBC = new TVItemModel(); List <TT> tideTextInDBList = new List <TT>(); List <AM> analyseMethodInDBList = new List <AM>(); List <Mat> matrixInDBList = new List <Mat>(); List <Lab> labInDBList = new List <Lab>(); int TotalCount = tvItemModelSubsectorBCList.Count(); int Count = 0; foreach (TVItemModel tvItemModelSubsector in tvItemModelSubsectorBCList) { if (Cancel) { return(false); } Count += 1; lblStatus.Text = (Count * 100 / TotalCount).ToString() + " ... CreateStationsBC for " + tvItemModelSubsector.TVText; lblStatus2.Text = Count + " of " + TotalCount; Application.DoEvents(); textBoxBCCreateStationsBC.Text = Count.ToString(); if (StartBCCreateStationBC > Count) { continue; } // doing Land base stations List <TempData.BCLandSampleStation> bcLandSampleStation = new List <TempData.BCLandSampleStation>(); using (TempData.TempDataToolDBEntities dbDT = new TempData.TempDataToolDBEntities()) { string TVText = tvItemModelSubsector.TVText.Substring(0, 4); bcLandSampleStation = (from c in dbDT.BCLandSampleStations where c.SS_SHELLFI == TVText orderby c.BCLandSampleStationID select c).ToList <TempData.BCLandSampleStation>(); } int CountSta = 0; int TotalCountSta = bcLandSampleStation.Count; foreach (TempData.BCLandSampleStation bcmss in bcLandSampleStation) { if (Cancel) { return(false); } CountSta += 1; lblStatus2.Text = "Doing Land Base ... " + CountSta + " of " + TotalCountSta; Application.DoEvents(); string TVText = bcmss.SS_STATION; TVItemService tvItemService = new TVItemService(LanguageEnum.en, user); MapInfoService mapInfoService = new MapInfoService(LanguageEnum.en, user); MWQMSiteService mwqmSiteService = new MWQMSiteService(LanguageEnum.en, user); TVItemModel tvItemModelMWQMSite = tvItemService.GetChildTVItemModelWithParentIDAndTVTextAndTVTypeDB(tvItemModelSubsector.TVItemID, TVText, TVTypeEnum.MWQMSite); if (!string.IsNullOrWhiteSpace(tvItemModelMWQMSite.Error)) { tvItemModelMWQMSite = tvItemService.PostCreateTVItem(tvItemModelSubsector.TVItemID, TVText, TVText, TVTypeEnum.MWQMSite); if (!CheckModelOK <TVItemModel>(tvItemModelMWQMSite)) { return(false); } List <Coord> coordList2 = new List <Coord>() { new Coord() { Lat = (float)(bcmss.LAT == null ? 50.0f : bcmss.LAT), Lng = (float)(bcmss.LON == null ? -132.0f : bcmss.LON), } }; if (coordList2[0].Lat == 124.40966796875 && coordList2[0].Lng == -48.585498809814453) { coordList2[0].Lat = 48.585498809814453f; coordList2[0].Lng = -124.40966796875f; } MapInfoModel mapInfoModelRet = mapInfoService.CreateMapInfoObjectDB(coordList2, MapInfoDrawTypeEnum.Point, TVTypeEnum.MWQMSite, tvItemModelMWQMSite.TVItemID); if (!CheckModelOK <MapInfoModel>(mapInfoModelRet)) { return(false); } MWQMSiteModel mwqmSiteModelNew = new MWQMSiteModel() { MWQMSiteTVItemID = tvItemModelMWQMSite.TVItemID, MWQMSiteNumber = bcmss.SS_STATION.ToString(), MWQMSiteTVText = TVText, MWQMSiteDescription = "empty", }; MWQMSiteModel mwqmSiteModelRet = mwqmSiteService.PostAddMWQMSiteDB(mwqmSiteModelNew); if (!CheckModelOK <MWQMSiteModel>(mwqmSiteModelRet)) { return(false); } } } // doing Marine base stations List <TempData.BCMarineSampleStation> bcMarineSampleStation = new List <TempData.BCMarineSampleStation>(); using (TempData.TempDataToolDBEntities dbDT = new TempData.TempDataToolDBEntities()) { string TVText = tvItemModelSubsector.TVText.Substring(0, 4); bcMarineSampleStation = (from c in dbDT.BCMarineSampleStations where c.SS_SHELLFI == TVText orderby c.BCMarineSampleStationID select c).ToList <TempData.BCMarineSampleStation>(); } CountSta = 0; TotalCountSta = bcMarineSampleStation.Count; foreach (TempData.BCMarineSampleStation bcmss in bcMarineSampleStation) { if (Cancel) { return(false); } CountSta += 1; lblStatus2.Text = "Doing Marine Base ... " + CountSta + " of " + TotalCountSta; Application.DoEvents(); string TVText = bcmss.SS_STATION; TVItemService tvItemService = new TVItemService(LanguageEnum.en, user); MapInfoService mapInfoService = new MapInfoService(LanguageEnum.en, user); MWQMSiteService mwqmSiteService = new MWQMSiteService(LanguageEnum.en, user); TVItemModel tvItemModelMWQMSite = tvItemService.GetChildTVItemModelWithParentIDAndTVTextAndTVTypeDB(tvItemModelSubsector.TVItemID, TVText, TVTypeEnum.MWQMSite); if (!string.IsNullOrWhiteSpace(tvItemModelMWQMSite.Error)) { tvItemModelMWQMSite = tvItemService.PostCreateTVItem(tvItemModelSubsector.TVItemID, TVText, TVText, TVTypeEnum.MWQMSite); if (!CheckModelOK <TVItemModel>(tvItemModelMWQMSite)) { return(false); } List <Coord> coordList2 = new List <Coord>() { new Coord() { Lat = (float)(bcmss.LAT == null ? 50.0f : bcmss.LAT), Lng = (float)(bcmss.LON == null ? -132.0f : bcmss.LON), } }; MapInfoModel mapInfoModelRet = mapInfoService.CreateMapInfoObjectDB(coordList2, MapInfoDrawTypeEnum.Point, TVTypeEnum.MWQMSite, tvItemModelMWQMSite.TVItemID); if (!CheckModelOK <MapInfoModel>(mapInfoModelRet)) { return(false); } MWQMSiteModel mwqmSiteModelNew = new MWQMSiteModel() { MWQMSiteTVItemID = tvItemModelMWQMSite.TVItemID, MWQMSiteNumber = bcmss.SS_STATION.ToString(), MWQMSiteTVText = TVText, MWQMSiteDescription = "empty", }; MWQMSiteModel mwqmSiteModelRet = mwqmSiteService.PostAddMWQMSiteDB(mwqmSiteModelNew); if (!CheckModelOK <MWQMSiteModel>(mwqmSiteModelRet)) { return(false); } } } } return(true); }
public void MWQMSite_Controller_GetMWQMSiteList_Test() { foreach (LanguageEnum LanguageRequest in AllowableLanguages) { foreach (int ContactID in new List <int>() { AdminContactID }) //, TestEmailValidatedContactID, TestEmailNotValidatedContactID }) { MWQMSiteController mwqmSiteController = new MWQMSiteController(DatabaseTypeEnum.SqlServerTestDB); Assert.IsNotNull(mwqmSiteController); Assert.AreEqual(DatabaseTypeEnum.SqlServerTestDB, mwqmSiteController.DatabaseType); MWQMSite mwqmSiteFirst = new MWQMSite(); int count = -1; Query query = new Query(); using (CSSPDBContext db = new CSSPDBContext(DatabaseTypeEnum.SqlServerTestDB)) { MWQMSiteService mwqmSiteService = new MWQMSiteService(query, db, ContactID); mwqmSiteFirst = (from c in db.MWQMSites select c).FirstOrDefault(); count = (from c in db.MWQMSites select c).Count(); count = (query.Take > count ? count : query.Take); } // ok with MWQMSite info IHttpActionResult jsonRet = mwqmSiteController.GetMWQMSiteList(); Assert.IsNotNull(jsonRet); OkNegotiatedContentResult <List <MWQMSite> > ret = jsonRet as OkNegotiatedContentResult <List <MWQMSite> >; Assert.AreEqual(mwqmSiteFirst.MWQMSiteID, ret.Content[0].MWQMSiteID); Assert.AreEqual((count > query.Take ? query.Take : count), ret.Content.Count); List <MWQMSite> mwqmSiteList = new List <MWQMSite>(); count = -1; query = new Query(); using (CSSPDBContext db = new CSSPDBContext(DatabaseTypeEnum.SqlServerTestDB)) { MWQMSiteService mwqmSiteService = new MWQMSiteService(query, db, ContactID); mwqmSiteList = (from c in db.MWQMSites select c).OrderBy(c => c.MWQMSiteID).Skip(0).Take(2).ToList(); count = (from c in db.MWQMSites select c).Count(); } if (count > 0) { query.Skip = 0; query.Take = 5; count = (query.Take > count ? query.Take : count); // ok with MWQMSite info jsonRet = mwqmSiteController.GetMWQMSiteList(query.Language.ToString(), query.Skip, query.Take); Assert.IsNotNull(jsonRet); ret = jsonRet as OkNegotiatedContentResult <List <MWQMSite> >; Assert.AreEqual(mwqmSiteList[0].MWQMSiteID, ret.Content[0].MWQMSiteID); 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 MWQMSite info IHttpActionResult jsonRet2 = mwqmSiteController.GetMWQMSiteList(query.Language.ToString(), query.Skip, query.Take); Assert.IsNotNull(jsonRet2); OkNegotiatedContentResult <List <MWQMSite> > ret2 = jsonRet2 as OkNegotiatedContentResult <List <MWQMSite> >; Assert.AreEqual(mwqmSiteList[1].MWQMSiteID, ret2.Content[0].MWQMSiteID); Assert.AreEqual((count > query.Take ? query.Take : count), ret2.Content.Count); } } } } }
public void MWQMSite_Properties_Test() { foreach (CultureInfo culture in AllowableCulture) { ChangeCulture(culture); using (CSSPDBContext dbTestDB = new CSSPDBContext(DatabaseTypeEnum.SqlServerTestDB)) { MWQMSiteService mwqmSiteService = new MWQMSiteService(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 = mwqmSiteService.GetMWQMSiteList().Count(); MWQMSite mwqmSite = GetFilledRandomMWQMSite(""); // ------------------------------- // ------------------------------- // Properties testing // ------------------------------- // ------------------------------- // ----------------------------------- // [Key] // Is NOT Nullable // mwqmSite.MWQMSiteID (Int32) // ----------------------------------- mwqmSite = null; mwqmSite = GetFilledRandomMWQMSite(""); mwqmSite.MWQMSiteID = 0; mwqmSiteService.Update(mwqmSite); Assert.AreEqual(string.Format(CSSPServicesRes._IsRequired, "MWQMSiteID"), mwqmSite.ValidationResults.FirstOrDefault().ErrorMessage); mwqmSite = null; mwqmSite = GetFilledRandomMWQMSite(""); mwqmSite.MWQMSiteID = 10000000; mwqmSiteService.Update(mwqmSite); Assert.AreEqual(string.Format(CSSPServicesRes.CouldNotFind_With_Equal_, "MWQMSite", "MWQMSiteID", mwqmSite.MWQMSiteID.ToString()), mwqmSite.ValidationResults.FirstOrDefault().ErrorMessage); // ----------------------------------- // Is NOT Nullable // [CSSPExist(ExistTypeName = "TVItem", ExistPlurial = "s", ExistFieldID = "TVItemID", AllowableTVtypeList = MWQMSite)] // mwqmSite.MWQMSiteTVItemID (Int32) // ----------------------------------- mwqmSite = null; mwqmSite = GetFilledRandomMWQMSite(""); mwqmSite.MWQMSiteTVItemID = 0; mwqmSiteService.Add(mwqmSite); Assert.AreEqual(string.Format(CSSPServicesRes.CouldNotFind_With_Equal_, "TVItem", "MWQMSiteTVItemID", mwqmSite.MWQMSiteTVItemID.ToString()), mwqmSite.ValidationResults.FirstOrDefault().ErrorMessage); mwqmSite = null; mwqmSite = GetFilledRandomMWQMSite(""); mwqmSite.MWQMSiteTVItemID = 1; mwqmSiteService.Add(mwqmSite); Assert.AreEqual(string.Format(CSSPServicesRes._IsNotOfType_, "MWQMSiteTVItemID", "MWQMSite"), mwqmSite.ValidationResults.FirstOrDefault().ErrorMessage); // ----------------------------------- // Is NOT Nullable // [StringLength(8))] // mwqmSite.MWQMSiteNumber (String) // ----------------------------------- mwqmSite = null; mwqmSite = GetFilledRandomMWQMSite("MWQMSiteNumber"); Assert.AreEqual(false, mwqmSiteService.Add(mwqmSite)); Assert.AreEqual(1, mwqmSite.ValidationResults.Count()); Assert.IsTrue(mwqmSite.ValidationResults.Where(c => c.ErrorMessage == string.Format(CSSPServicesRes._IsRequired, "MWQMSiteNumber")).Any()); Assert.AreEqual(null, mwqmSite.MWQMSiteNumber); Assert.AreEqual(count, mwqmSiteService.GetMWQMSiteList().Count()); mwqmSite = null; mwqmSite = GetFilledRandomMWQMSite(""); mwqmSite.MWQMSiteNumber = GetRandomString("", 9); Assert.AreEqual(false, mwqmSiteService.Add(mwqmSite)); Assert.AreEqual(string.Format(CSSPServicesRes._MaxLengthIs_, "MWQMSiteNumber", "8"), mwqmSite.ValidationResults.FirstOrDefault().ErrorMessage); Assert.AreEqual(count, mwqmSiteService.GetMWQMSiteList().Count()); // ----------------------------------- // Is NOT Nullable // [StringLength(200))] // mwqmSite.MWQMSiteDescription (String) // ----------------------------------- mwqmSite = null; mwqmSite = GetFilledRandomMWQMSite("MWQMSiteDescription"); Assert.AreEqual(false, mwqmSiteService.Add(mwqmSite)); Assert.AreEqual(1, mwqmSite.ValidationResults.Count()); Assert.IsTrue(mwqmSite.ValidationResults.Where(c => c.ErrorMessage == string.Format(CSSPServicesRes._IsRequired, "MWQMSiteDescription")).Any()); Assert.AreEqual(null, mwqmSite.MWQMSiteDescription); Assert.AreEqual(count, mwqmSiteService.GetMWQMSiteList().Count()); mwqmSite = null; mwqmSite = GetFilledRandomMWQMSite(""); mwqmSite.MWQMSiteDescription = GetRandomString("", 201); Assert.AreEqual(false, mwqmSiteService.Add(mwqmSite)); Assert.AreEqual(string.Format(CSSPServicesRes._MaxLengthIs_, "MWQMSiteDescription", "200"), mwqmSite.ValidationResults.FirstOrDefault().ErrorMessage); Assert.AreEqual(count, mwqmSiteService.GetMWQMSiteList().Count()); // ----------------------------------- // Is NOT Nullable // [CSSPEnumType] // mwqmSite.MWQMSiteLatestClassification (MWQMSiteLatestClassificationEnum) // ----------------------------------- mwqmSite = null; mwqmSite = GetFilledRandomMWQMSite(""); mwqmSite.MWQMSiteLatestClassification = (MWQMSiteLatestClassificationEnum)1000000; mwqmSiteService.Add(mwqmSite); Assert.AreEqual(string.Format(CSSPServicesRes._IsRequired, "MWQMSiteLatestClassification"), mwqmSite.ValidationResults.FirstOrDefault().ErrorMessage); // ----------------------------------- // Is NOT Nullable // [Range(0, 1000)] // mwqmSite.Ordinal (Int32) // ----------------------------------- mwqmSite = null; mwqmSite = GetFilledRandomMWQMSite(""); mwqmSite.Ordinal = -1; Assert.AreEqual(false, mwqmSiteService.Add(mwqmSite)); Assert.AreEqual(string.Format(CSSPServicesRes._ValueShouldBeBetween_And_, "Ordinal", "0", "1000"), mwqmSite.ValidationResults.FirstOrDefault().ErrorMessage); Assert.AreEqual(count, mwqmSiteService.GetMWQMSiteList().Count()); mwqmSite = null; mwqmSite = GetFilledRandomMWQMSite(""); mwqmSite.Ordinal = 1001; Assert.AreEqual(false, mwqmSiteService.Add(mwqmSite)); Assert.AreEqual(string.Format(CSSPServicesRes._ValueShouldBeBetween_And_, "Ordinal", "0", "1000"), mwqmSite.ValidationResults.FirstOrDefault().ErrorMessage); Assert.AreEqual(count, mwqmSiteService.GetMWQMSiteList().Count()); // ----------------------------------- // Is NOT Nullable // [CSSPAfter(Year = 1980)] // mwqmSite.LastUpdateDate_UTC (DateTime) // ----------------------------------- mwqmSite = null; mwqmSite = GetFilledRandomMWQMSite(""); mwqmSite.LastUpdateDate_UTC = new DateTime(); mwqmSiteService.Add(mwqmSite); Assert.AreEqual(string.Format(CSSPServicesRes._IsRequired, "LastUpdateDate_UTC"), mwqmSite.ValidationResults.FirstOrDefault().ErrorMessage); mwqmSite = null; mwqmSite = GetFilledRandomMWQMSite(""); mwqmSite.LastUpdateDate_UTC = new DateTime(1979, 1, 1); mwqmSiteService.Add(mwqmSite); Assert.AreEqual(string.Format(CSSPServicesRes._YearShouldBeBiggerThan_, "LastUpdateDate_UTC", "1980"), mwqmSite.ValidationResults.FirstOrDefault().ErrorMessage); // ----------------------------------- // Is NOT Nullable // [CSSPExist(ExistTypeName = "TVItem", ExistPlurial = "s", ExistFieldID = "TVItemID", AllowableTVtypeList = Contact)] // mwqmSite.LastUpdateContactTVItemID (Int32) // ----------------------------------- mwqmSite = null; mwqmSite = GetFilledRandomMWQMSite(""); mwqmSite.LastUpdateContactTVItemID = 0; mwqmSiteService.Add(mwqmSite); Assert.AreEqual(string.Format(CSSPServicesRes.CouldNotFind_With_Equal_, "TVItem", "LastUpdateContactTVItemID", mwqmSite.LastUpdateContactTVItemID.ToString()), mwqmSite.ValidationResults.FirstOrDefault().ErrorMessage); mwqmSite = null; mwqmSite = GetFilledRandomMWQMSite(""); mwqmSite.LastUpdateContactTVItemID = 1; mwqmSiteService.Add(mwqmSite); Assert.AreEqual(string.Format(CSSPServicesRes._IsNotOfType_, "LastUpdateContactTVItemID", "Contact"), mwqmSite.ValidationResults.FirstOrDefault().ErrorMessage); // ----------------------------------- // Is NOT Nullable // [NotMapped] // mwqmSite.HasErrors (Boolean) // ----------------------------------- // No testing requied // ----------------------------------- // Is NOT Nullable // [NotMapped] // mwqmSite.ValidationResults (IEnumerable`1) // ----------------------------------- // No testing requied } } }
public PartialViewResult _LabSheetsTranferred(int SamplingPlanID) { ViewBag.SamplingPlanController = _SamplingPlanController; ViewBag.AdminContactModelList = null; ViewBag.IsSamplingPlanner = false; ViewBag.LabSheetModelAndA1SheetList = null; ViewBag.LastAnalyzeMethod = AnalyzeMethodEnum.Error; ViewBag.LastSampleMatrix = SampleMatrixEnum.Error; ViewBag.LastLaboratory = LaboratoryEnum.Error; ViewBag.MWQMSampleModelList = new List <MWQMSampleModel>(); ViewBag.SubsectorMWQMSiteModelList = new List <SubsectorMWQMSiteModel>(); ViewBag.SamplingPlanModel = null; ViewBag.LabSheetSiteMonitoredCountsList = null; List <LabSheetModelAndA1Sheet> labSheetModelAndA1SheetList = new List <LabSheetModelAndA1Sheet>(); SamplingPlanService SamplingPlanService = new SamplingPlanService(_TVItemService.LanguageRequest, _TVItemService.User); LabSheetService labSheetService = new LabSheetService(_TVItemService.LanguageRequest, _TVItemService.User); MWQMRunService mwqmRunService = new MWQMRunService(_TVItemService.LanguageRequest, _TVItemService.User); MWQMSampleService mwqmSampleService = new MWQMSampleService(_TVItemService.LanguageRequest, _TVItemService.User); MWQMSiteService mwqmSiteService = new MWQMSiteService(_TVItemService.LanguageRequest, _TVItemService.User); ContactModel contactModel = _ContactService.GetContactLoggedInDB(); SamplingPlanModel SamplingPlanModel = SamplingPlanService.GetSamplingPlanModelWithSamplingPlanIDDB(SamplingPlanID); if (string.IsNullOrWhiteSpace(SamplingPlanModel.Error)) { ViewBag.SamplingPlanModel = SamplingPlanModel; ViewBag.IsSamplingPlanner = false; if (contactModel.SamplingPlanner_ProvincesTVItemID.Contains(SamplingPlanModel.ProvinceTVItemID.ToString())) { ViewBag.IsSamplingPlanner = true; } else { List <ContactModel> adminContactModelList = _ContactService.GetAdminContactModelListDB(); ViewBag.AdminContactModelList = adminContactModelList; } List <LabSheetModel> labSheetModelList = labSheetService.GetLabSheetModelListWithSamplingPlanIDAndLabSheetStatusDB(SamplingPlanID, LabSheetStatusEnum.Transferred); foreach (LabSheetModel labSheetModel in labSheetModelList) { LabSheetModelAndA1Sheet labSheetModelAndA1Sheet = new LabSheetModelAndA1Sheet(); labSheetModelAndA1Sheet.LabSheetModel = labSheetModel; labSheetModelAndA1Sheet.LabSheetA1Sheet = labSheetService.ParseLabSheetA1WithLabSheetID(labSheetModel.LabSheetID); labSheetModelAndA1SheetList.Add(labSheetModelAndA1Sheet); } ViewBag.LabSheetModelAndA1SheetList = labSheetModelAndA1SheetList; if (labSheetModelAndA1SheetList.Count > 0) { MWQMRunModel mwqmRunModelLast = mwqmRunService.GetMWQMRunModelLastWithSubsectorTVItemIDDB(labSheetModelAndA1SheetList[0].LabSheetModel.SubsectorTVItemID); if (string.IsNullOrWhiteSpace(mwqmRunModelLast.Error)) { if (mwqmRunModelLast.AnalyzeMethod != null) { ViewBag.LastAnalyzeMethod = (AnalyzeMethodEnum)mwqmRunModelLast.AnalyzeMethod; } if (mwqmRunModelLast.SampleMatrix != null) { ViewBag.LastSampleMatrix = (SampleMatrixEnum)mwqmRunModelLast.SampleMatrix; } if (mwqmRunModelLast.Laboratory != null) { ViewBag.LastLaboratory = (LaboratoryEnum)mwqmRunModelLast.Laboratory; } } } List <MWQMSampleModel> mwqmSampleModelList = new List <MWQMSampleModel>(); foreach (LabSheetModelAndA1Sheet labSheetModelAndA1Sheet in labSheetModelAndA1SheetList) { int Year = 0; int Month = 0; int Day = 0; if (int.TryParse(labSheetModelAndA1Sheet.LabSheetA1Sheet.RunYear, out Year)) { if (int.TryParse(labSheetModelAndA1Sheet.LabSheetA1Sheet.RunMonth, out Month)) { if (int.TryParse(labSheetModelAndA1Sheet.LabSheetA1Sheet.RunDay, out Day)) { MWQMRunModel mwqmRunModelNew = new MWQMRunModel() { SubsectorTVItemID = labSheetModelAndA1Sheet.LabSheetA1Sheet.SubsectorTVItemID, DateTime_Local = new DateTime(Year, Month, Day), RunSampleType = labSheetModelAndA1Sheet.LabSheetA1Sheet.SampleType, RunNumber = labSheetModelList[0].RunNumber, }; MWQMRunModel mwqmRunModel = mwqmRunService.GetMWQMRunModelExistDB(mwqmRunModelNew); if (string.IsNullOrWhiteSpace(mwqmRunModel.Error)) { List <MWQMSampleModel> mwqmSampleModelList2 = mwqmSampleService.GetMWQMSampleModelListWithMWQMRunTVItemIDDB(mwqmRunModel.MWQMRunTVItemID); foreach (MWQMSampleModel mwqmSampleModel in mwqmSampleModelList2) { mwqmSampleModelList.Add(mwqmSampleModel); } } } } } } ViewBag.MWQMSampleModelList = mwqmSampleModelList; if (labSheetModelAndA1SheetList.Count > 0) { List <SubsectorMWQMSiteModel> subsectorMWQMSiteModelList = new List <SubsectorMWQMSiteModel>(); foreach (LabSheetModelAndA1Sheet labSheetModelAndA1Sheet in labSheetModelAndA1SheetList) { List <MWQMSiteModel> mwqmSiteModelList = mwqmSiteService.GetMWQMSiteModelListWithSubsectorTVItemIDDB(labSheetModelAndA1Sheet.LabSheetA1Sheet.SubsectorTVItemID); subsectorMWQMSiteModelList.Add(new SubsectorMWQMSiteModel() { Subsector = labSheetModelAndA1Sheet.LabSheetA1Sheet.SubsectorName, MWQMSiteModelList = mwqmSiteModelList }); } ViewBag.SubsectorMWQMSiteModelList = subsectorMWQMSiteModelList; } List <LabSheetSiteMonitoredCounts> labSheetSiteMonitoredCountsList = labSheetService.GetLabSheetIDListAndCountSamplesWithSamplingPlanIDDB(SamplingPlanID); ViewBag.LabSheetSiteMonitoredCountsList = labSheetSiteMonitoredCountsList; } return(PartialView()); }
public void MWQMSite_Controller_Post_Test() { foreach (LanguageEnum LanguageRequest in AllowableLanguages) { foreach (int ContactID in new List <int>() { AdminContactID }) //, TestEmailValidatedContactID, TestEmailNotValidatedContactID }) { MWQMSiteController mwqmSiteController = new MWQMSiteController(DatabaseTypeEnum.SqlServerTestDB); Assert.IsNotNull(mwqmSiteController); Assert.AreEqual(DatabaseTypeEnum.SqlServerTestDB, mwqmSiteController.DatabaseType); MWQMSite mwqmSiteLast = new MWQMSite(); using (CSSPDBContext db = new CSSPDBContext(DatabaseType)) { Query query = new Query(); query.Language = LanguageRequest; query.Asc = ""; query.Desc = ""; MWQMSiteService mwqmSiteService = new MWQMSiteService(query, db, ContactID); mwqmSiteLast = (from c in db.MWQMSites select c).FirstOrDefault(); } // ok with MWQMSite info IHttpActionResult jsonRet = mwqmSiteController.GetMWQMSiteWithID(mwqmSiteLast.MWQMSiteID); Assert.IsNotNull(jsonRet); OkNegotiatedContentResult <MWQMSite> Ret = jsonRet as OkNegotiatedContentResult <MWQMSite>; MWQMSite mwqmSiteRet = Ret.Content; Assert.AreEqual(mwqmSiteLast.MWQMSiteID, mwqmSiteRet.MWQMSiteID); BadRequestErrorMessageResult badRequest = jsonRet as BadRequestErrorMessageResult; Assert.IsNull(badRequest); // Post to return CSSPError because MWQMSiteID exist IHttpActionResult jsonRet2 = mwqmSiteController.Post(mwqmSiteRet, LanguageRequest.ToString()); Assert.IsNotNull(jsonRet2); OkNegotiatedContentResult <MWQMSite> mwqmSiteRet2 = jsonRet2 as OkNegotiatedContentResult <MWQMSite>; Assert.IsNull(mwqmSiteRet2); BadRequestErrorMessageResult badRequest2 = jsonRet2 as BadRequestErrorMessageResult; Assert.IsNotNull(badRequest2); // Post to return newly added MWQMSite mwqmSiteRet.MWQMSiteID = 0; mwqmSiteController.Request = new System.Net.Http.HttpRequestMessage(); mwqmSiteController.Request.RequestUri = new System.Uri("http://localhost:5000/api/mwqmSite"); IHttpActionResult jsonRet3 = mwqmSiteController.Post(mwqmSiteRet, LanguageRequest.ToString()); Assert.IsNotNull(jsonRet3); CreatedNegotiatedContentResult <MWQMSite> mwqmSiteRet3 = jsonRet3 as CreatedNegotiatedContentResult <MWQMSite>; Assert.IsNotNull(mwqmSiteRet3); BadRequestErrorMessageResult badRequest3 = jsonRet3 as BadRequestErrorMessageResult; Assert.IsNull(badRequest3); IHttpActionResult jsonRet4 = mwqmSiteController.Delete(mwqmSiteRet, LanguageRequest.ToString()); Assert.IsNotNull(jsonRet4); OkNegotiatedContentResult <MWQMSite> mwqmSiteRet4 = jsonRet4 as OkNegotiatedContentResult <MWQMSite>; Assert.IsNotNull(mwqmSiteRet4); BadRequestErrorMessageResult badRequest4 = jsonRet4 as BadRequestErrorMessageResult; Assert.IsNull(badRequest4); } } }
public IHttpActionResult GetMWQMSiteList([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)) { MWQMSiteService mwqmSiteService = new MWQMSiteService(new Query() { Lang = lang }, db, ContactID); if (extra == "A") // QueryString contains [extra=A] { mwqmSiteService.Query = mwqmSiteService.FillQuery(typeof(MWQMSiteExtraA), lang, skip, take, asc, desc, where, extra); if (mwqmSiteService.Query.HasErrors) { return(Ok(new List <MWQMSiteExtraA>() { new MWQMSiteExtraA() { HasErrors = mwqmSiteService.Query.HasErrors, ValidationResults = mwqmSiteService.Query.ValidationResults, }, }.ToList())); } else { return(Ok(mwqmSiteService.GetMWQMSiteExtraAList().ToList())); } } else if (extra == "B") // QueryString contains [extra=B] { mwqmSiteService.Query = mwqmSiteService.FillQuery(typeof(MWQMSiteExtraB), lang, skip, take, asc, desc, where, extra); if (mwqmSiteService.Query.HasErrors) { return(Ok(new List <MWQMSiteExtraB>() { new MWQMSiteExtraB() { HasErrors = mwqmSiteService.Query.HasErrors, ValidationResults = mwqmSiteService.Query.ValidationResults, }, }.ToList())); } else { return(Ok(mwqmSiteService.GetMWQMSiteExtraBList().ToList())); } } else // QueryString has no parameter [extra] or extra is empty { mwqmSiteService.Query = mwqmSiteService.FillQuery(typeof(MWQMSite), lang, skip, take, asc, desc, where, extra); if (mwqmSiteService.Query.HasErrors) { return(Ok(new List <MWQMSite>() { new MWQMSite() { HasErrors = mwqmSiteService.Query.HasErrors, ValidationResults = mwqmSiteService.Query.ValidationResults, }, }.ToList())); } else { return(Ok(mwqmSiteService.GetMWQMSiteList().ToList())); } } } }
public bool CreateSamplesBC() { lblStatus.Text = "Starting ... CreateSamplesBC"; Application.DoEvents(); TVItemService tvItemServiceR = new TVItemService(LanguageEnum.en, user); MWQMRunService mwqmRunService = new MWQMRunService(LanguageEnum.en, user); MWQMSiteService mwqmSiteService = new MWQMSiteService(LanguageEnum.en, user); TVItemModel tvItemModelRoot = tvItemServiceR.GetRootTVItemModelDB(); if (!CheckModelOK <TVItemModel>(tvItemModelRoot)) { return(false); } TVItemModel tvItemModelCanada = tvItemServiceR.GetChildTVItemModelWithParentIDAndTVTextAndTVTypeDB(tvItemModelRoot.TVItemID, "Canada", TVTypeEnum.Country); if (!CheckModelOK <TVItemModel>(tvItemModelCanada)) { return(false); } TVItemModel tvItemModelProv = tvItemServiceR.GetChildTVItemModelWithParentIDAndTVTextAndTVTypeDB(tvItemModelCanada.TVItemID, "British Columbia", TVTypeEnum.Province); if (!CheckModelOK <TVItemModel>(tvItemModelProv)) { return(false); } List <TVItemModel> BCSubSectorLangList = tvItemServiceR.GetChildrenTVItemModelListWithTVItemIDAndTVTypeDB(tvItemModelProv.TVItemID, TVTypeEnum.Subsector); if (BCSubSectorLangList.Count == 0) { return(false); } List <BCStation> BCWQMSiteList = new List <BCStation>(); TVItemModel BCSubSector = new TVItemModel(); List <TT> tideTextInDBList = new List <TT>(); List <AM> analyseMethodInDBList = new List <AM>(); List <Mat> matrixInDBList = new List <Mat>(); List <Lab> labInDBList = new List <Lab>(); int StartBCCreateSamplesBC = int.Parse(textBoxBCCreateSamplesBC.Text); int TotalCount = BCSubSectorLangList.Count(); int Count = 0; foreach (TVItemModel tvItemModelSubsector in BCSubSectorLangList) { if (Cancel) { return(false); } Count += 1; lblStatus.Text = (Count * 100 / TotalCount).ToString() + " ... CreateSamplesBC of " + tvItemModelSubsector.TVText; lblStatus2.Text = Count + " of " + TotalCount; Application.DoEvents(); textBoxBCCreateSamplesBC.Text = Count.ToString(); if (StartBCCreateSamplesBC > Count) { continue; } List <MWQMRunModel> BCRunModelList = mwqmRunService.GetMWQMRunModelListWithSubsectorTVItemIDDB(tvItemModelSubsector.TVItemID); if (BCRunModelList.Count == 0) { continue; } List <TVItemModel> tvItemModelList = tvItemServiceR.GetChildrenTVItemModelListWithTVItemIDAndTVTypeDB(tvItemModelSubsector.TVItemID, TVTypeEnum.MWQMSite); if (tvItemModelList.Count == 0) { return(false); } MWQMSampleService mwqmSampleService = new MWQMSampleService(LanguageEnum.en, user); List <MWQMSample> mwqmSampleList = new List <MWQMSample>(); using (CSSPDBEntities dd = new CSSPDBEntities()) { mwqmSampleList = (from c in dd.MWQMSamples from ts in dd.TVItems from tr in dd.TVItems where c.MWQMSiteTVItemID == ts.TVItemID && c.MWQMRunTVItemID == tr.TVItemID && ts.ParentID == tvItemModelSubsector.TVItemID && tr.ParentID == tvItemModelSubsector.TVItemID select c).Distinct().ToList(); } // doing land samples List <TempData.BCLandSampleStation> bcLandSampleStation = new List <TempData.BCLandSampleStation>(); using (TempData.TempDataToolDBEntities dbDT = new TempData.TempDataToolDBEntities()) { string TVText = tvItemModelSubsector.TVText.Substring(0, 4); bcLandSampleStation = (from c in dbDT.BCLandSampleStations where c.SS_STATION == TVText orderby c.BCLandSampleStationID select c).ToList <TempData.BCLandSampleStation>(); } int countSta = 0; int totalSta = bcLandSampleStation.Count; foreach (TempData.BCLandSampleStation bcmss in bcLandSampleStation) { if (Cancel) { return(false); } countSta += 1; lblStatus2.Text = "Doing Land Station " + bcmss.SS_STATION + " --- " + countSta + " of " + totalSta; Application.DoEvents(); string TVText = bcmss.SS_STATION; BCSubSector = (from c in BCSubSectorLangList where c.TVText.StartsWith(bcmss.SS_SHELLFI) select c).FirstOrDefault(); if (!CheckModelOK <TVItemModel>(BCSubSector)) { continue; } TVItemService tvItemService = new TVItemService(LanguageEnum.en, user); TVItemModel tvItemModelMWQMSite = tvItemModelList.Where(c => c.TVText == TVText).FirstOrDefault(); if (tvItemModelMWQMSite == null) { richTextBoxStatus.AppendText("Could not find MWQMSite [" + TVText + "]"); return(false); } List <TempData.BCLandSample> bcLandSampleList = new List <TempData.BCLandSample>(); using (TempData.TempDataToolDBEntities dbDT = new TempData.TempDataToolDBEntities()) { bcLandSampleList = (from c in dbDT.BCLandSamples where c.SR_STATION_CODE == bcmss.SS_STATION orderby c.SR_READING_DATE select c).ToList <TempData.BCLandSample>(); } int countSample = 0; int TotalSample = bcLandSampleList.Count; foreach (TempData.BCLandSample bcms in bcLandSampleList) { if (Cancel) { return(false); } countSample += 1; lblStatus2.Text = "Doing Marine Station " + bcms.SR_STATION_CODE + " --- " + countSta + " of " + totalSta + " Sample " + countSample + " of " + TotalSample; Application.DoEvents(); try { DateTime DayOfSample = (DateTime)(bcms.SR_READING_DATE); string SampleTime = bcms.SR_READING_TIME; if (SampleTime == null) { SampleTime = "0000"; } DateTime SampleDate = new DateTime(DayOfSample.Year, DayOfSample.Month, DayOfSample.Day, (SampleTime.Length == 1 ? 0 : (SampleTime.Length == 3 ? (int.Parse(SampleTime.Substring(0, 1))) : (int.Parse(SampleTime.Substring(0, 1))))), (SampleTime.Length == 1 ? 0 : (SampleTime.Length == 3 ? (int.Parse(SampleTime.Substring(1, 2))) : (SampleTime.Substring(2, 2) == "60" ? 59 : (int.Parse(SampleTime.Substring(2, 2)))))), 0); int FecCol = 0; if (bcms.SR_FECAL_COLIFORM_IND == "<" && bcms.SR_FECAL_COLIFORM == 2) { FecCol = 1; } else { if (bcms.SR_FECAL_COLIFORM == null) { continue; } FecCol = (int)bcms.SR_FECAL_COLIFORM; } MWQMRunModel mwqmRunModel = (from c in BCRunModelList where c.SubsectorTVItemID == BCSubSector.TVItemID && c.DateTime_Local.Year == SampleDate.Year && c.DateTime_Local.Month == SampleDate.Month && c.DateTime_Local.Day == SampleDate.Day select c).FirstOrDefault(); if (mwqmRunModel == null) { richTextBoxStatus.AppendText("Could not find run for date [" + SampleDate.ToString("yyyy MMM dd") + "] for subsector [" + BCSubSector.TVText + "]\r\n"); continue; //return false; } bool SampleExist = (from c in mwqmSampleList where c.MWQMSiteTVItemID == tvItemModelMWQMSite.TVItemID && c.MWQMRunTVItemID == mwqmRunModel.MWQMRunTVItemID && c.SampleDateTime_Local == SampleDate && c.FecCol_MPN_100ml == FecCol && c.Salinity_PPT == null && c.WaterTemp_C == null && c.SampleTypesText.Contains(((int)SampleTypeEnum.Routine).ToString()) select c).Any(); if (!SampleExist) { MWQMSampleModel mwqmSampleModelNew = new MWQMSampleModel() { MWQMSiteTVItemID = tvItemModelMWQMSite.TVItemID, MWQMRunTVItemID = mwqmRunModel.MWQMRunTVItemID, SampleDateTime_Local = SampleDate, Depth_m = null, FecCol_MPN_100ml = FecCol, Salinity_PPT = null, MWQMSampleNote = (string.IsNullOrWhiteSpace(bcms.SR_OBS) == true ? "--" : bcms.SR_OBS.Trim()), WaterTemp_C = null, SampleTypesText = ((int)SampleTypeEnum.Routine).ToString() + ",", SampleTypeList = new List <SampleTypeEnum>() { SampleTypeEnum.Routine }, }; MWQMSampleModel mwqmSampleModelRet = mwqmSampleService.GetMWQMSampleModelExistDB(mwqmSampleModelNew); if (!string.IsNullOrWhiteSpace(mwqmSampleModelRet.Error)) { mwqmSampleModelRet = mwqmSampleService.PostAddMWQMSampleDB(mwqmSampleModelNew); if (!CheckModelOK <MWQMSampleModel>(mwqmSampleModelRet)) { return(false); } } } } catch (Exception) { continue; } } } // doing water samples List <TempData.BCMarineSampleStation> bcMarineSampleStation = new List <TempData.BCMarineSampleStation>(); using (TempData.TempDataToolDBEntities dbDT = new TempData.TempDataToolDBEntities()) { string TVText = tvItemModelSubsector.TVText.Substring(0, 4); bcMarineSampleStation = (from c in dbDT.BCMarineSampleStations where c.SS_SHELLFI == TVText orderby c.BCMarineSampleStationID select c).ToList <TempData.BCMarineSampleStation>(); } countSta = 0; totalSta = bcMarineSampleStation.Count; foreach (TempData.BCMarineSampleStation bcmss in bcMarineSampleStation) { if (Cancel) { return(false); } countSta += 1; lblStatus2.Text = "Doing Marine Sample " + countSta + " of " + totalSta; Application.DoEvents(); string TVText = bcmss.SS_STATION; BCSubSector = (from c in BCSubSectorLangList where c.TVText.StartsWith(bcmss.SS_SHELLFI) select c).FirstOrDefault(); if (!CheckModelOK <TVItemModel>(BCSubSector)) { return(false); } TVItemService tvItemService = new TVItemService(LanguageEnum.en, user); TVItemModel tvItemModelMWQMSite = tvItemModelList.Where(c => c.TVText == TVText).FirstOrDefault(); if (tvItemModelMWQMSite == null) { richTextBoxStatus.AppendText("Could not find MWQMSite [" + TVText + "]"); return(false); } List <TempData.BCMarineSample> bcMarineSampleList = new List <TempData.BCMarineSample>(); using (TempData.TempDataToolDBEntities dbDT = new TempData.TempDataToolDBEntities()) { bcMarineSampleList = (from c in dbDT.BCMarineSamples where c.SR_STATION_CODE == bcmss.SS_STATION orderby c.SR_READING_DATE select c).ToList <TempData.BCMarineSample>(); } int countSample = 0; int TotalSample = bcMarineSampleList.Count; foreach (TempData.BCMarineSample bcms in bcMarineSampleList) { if (Cancel) { return(false); } countSample += 1; lblStatus2.Text = "Doing Marine station " + bcms.SR_STATION_CODE + " ----" + countSta + " of " + totalSta + " Sample " + countSample + " of " + TotalSample; Application.DoEvents(); try { DateTime DayOfSample = (DateTime)(bcms.SR_READING_DATE); string SampleTime = bcms.SR_READING_TIME; if (SampleTime == null) { SampleTime = "0000"; } if (SampleTime == "093") { SampleTime = "0930"; } if (SampleTime == "080") { SampleTime = "0800"; } if (SampleTime == "073") { SampleTime = "0730"; } if (SampleTime == "060") { SampleTime = "0600"; } DateTime SampleDate = new DateTime(DayOfSample.Year, DayOfSample.Month, DayOfSample.Day, (SampleTime.Length == 1 ? 0 : (SampleTime.Length == 3 ? (int.Parse(SampleTime.Substring(0, 1))) : (int.Parse(SampleTime.Substring(0, 1))))), (SampleTime.Length == 1 ? 0 : (SampleTime.Length == 3 ? (int.Parse(SampleTime.Substring(1, 2))) : (SampleTime.Substring(2, 2) == "60" ? 59 : (int.Parse(SampleTime.Substring(2, 2)))))), 0); int FecCol = 0; if (bcms.SR_FECAL_COLIFORM_IND == "<" && bcms.SR_FECAL_COLIFORM == 2) { FecCol = 1; } else { FecCol = (int)bcms.SR_FECAL_COLIFORM; } MWQMRunModel mwqmRunModel = (from c in BCRunModelList where c.SubsectorTVItemID == BCSubSector.TVItemID && c.DateTime_Local.Year == SampleDate.Year && c.DateTime_Local.Month == SampleDate.Month && c.DateTime_Local.Day == SampleDate.Day select c).FirstOrDefault(); if (mwqmRunModel == null) { richTextBoxStatus.AppendText("Could not find run for date [" + SampleDate.ToString("yyyy MMM dd") + "] for subsector [" + BCSubSector.TVText + "]\r\n"); continue; //return false; } bool SampleExist = (from c in mwqmSampleList where c.MWQMSiteTVItemID == tvItemModelMWQMSite.TVItemID && c.MWQMRunTVItemID == mwqmRunModel.MWQMRunTVItemID && c.SampleDateTime_Local == SampleDate && c.FecCol_MPN_100ml == FecCol && c.Salinity_PPT == bcms.SR_SALINITY && c.WaterTemp_C == bcms.SR_TEMPERATURE && c.SampleTypesText.Contains(((int)SampleTypeEnum.Routine).ToString()) select c).Any(); if (!SampleExist) { MWQMSampleModel mwqmSampleModelNew = new MWQMSampleModel() { MWQMSiteTVItemID = tvItemModelMWQMSite.TVItemID, MWQMRunTVItemID = mwqmRunModel.MWQMRunTVItemID, SampleDateTime_Local = SampleDate, Depth_m = bcms.SR_SAMPLE_DEPTH, FecCol_MPN_100ml = FecCol, Salinity_PPT = bcms.SR_SALINITY, MWQMSampleNote = (string.IsNullOrWhiteSpace(bcms.SR_OBS) == true ? "--" : bcms.SR_OBS.Trim()), WaterTemp_C = bcms.SR_TEMPERATURE, SampleTypesText = ((int)SampleTypeEnum.Routine).ToString() + ",", SampleTypeList = new List <SampleTypeEnum>() { SampleTypeEnum.Routine }, }; MWQMSampleModel mwqmSampleModelRet = mwqmSampleService.GetMWQMSampleModelExistDB(mwqmSampleModelNew); if (!string.IsNullOrWhiteSpace(mwqmSampleModelRet.Error)) { mwqmSampleModelRet = mwqmSampleService.PostAddMWQMSampleDB(mwqmSampleModelNew); if (!CheckModelOK <MWQMSampleModel>(mwqmSampleModelRet)) { return(false); } } } } catch (Exception) { continue; } } } } return(true); }
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); }