public PartialViewResult _addressEditPolSourceSite(int PolSourceSiteTVItemID) { ViewBag.AddressModel = null; ViewBag.Lat = null; ViewBag.Lng = null; TVItemModel tvItemModel = _TVItemService.GetTVItemModelWithTVItemIDDB(PolSourceSiteTVItemID); ViewBag.TVItemModel = tvItemModel; PolSourceSiteModel polSourceSiteModel = _PolSourceSiteService.GetPolSourceSiteModelWithPolSourceSiteTVItemIDDB(PolSourceSiteTVItemID); ViewBag.PolSourceSiteModel = polSourceSiteModel; if (polSourceSiteModel.CivicAddressTVItemID != null) { AddressModel addressModel = _AddressService.GetAddressModelWithAddressTVItemIDDB((int)polSourceSiteModel.CivicAddressTVItemID); if (string.IsNullOrWhiteSpace(addressModel.Error)) { ViewBag.AddressModel = addressModel; } } List <MapInfoPointModel> mapInfoPointModelList = _MapInfoService._MapInfoPointService.GetMapInfoPointModelListWithTVItemIDAndTVTypeAndMapInfoDrawTypeDB(PolSourceSiteTVItemID, TVTypeEnum.PolSourceSite, MapInfoDrawTypeEnum.Point); if (mapInfoPointModelList.Count > 0) { ViewBag.Lat = mapInfoPointModelList[0].Lat; ViewBag.Lng = mapInfoPointModelList[0].Lng; } ViewBag.AddressController = _AddressController; ViewBag.AddressService = _AddressService; return(PartialView()); }
// Fill public string FillPolSourceSite(PolSourceSite polSourceSite, PolSourceSiteModel polSourceSiteModel, ContactOK contactOK) { polSourceSite.DBCommand = (int)polSourceSiteModel.DBCommand; polSourceSite.PolSourceSiteTVItemID = polSourceSiteModel.PolSourceSiteTVItemID; polSourceSite.Temp_Locator_CanDelete = polSourceSiteModel.Temp_Locator_CanDelete; polSourceSite.Oldsiteid = polSourceSiteModel.Oldsiteid; polSourceSite.Site = polSourceSiteModel.Site; polSourceSite.SiteID = polSourceSiteModel.SiteID; polSourceSite.IsPointSource = polSourceSiteModel.IsPointSource; if (polSourceSiteModel.InactiveReason == null) { polSourceSite.InactiveReason = null; } else { polSourceSite.InactiveReason = (int)polSourceSiteModel.InactiveReason; } polSourceSite.CivicAddressTVItemID = polSourceSiteModel.CivicAddressTVItemID; polSourceSite.LastUpdateDate_UTC = DateTime.UtcNow; if (contactOK == null) { polSourceSite.LastUpdateContactTVItemID = 2; } else { polSourceSite.LastUpdateContactTVItemID = contactOK.ContactTVItemID; } return(""); }
public PolSourceSiteModel PostDeletePolSourceSiteWithPolSourceSiteTVItemIDDB(int PolSourceSiteTVItemID) { ContactOK contactOK = IsContactOK(); if (!string.IsNullOrEmpty(contactOK.Error)) { return(ReturnError(contactOK.Error)); } PolSourceSite polSourceSiteToDelete = GetPolSourceSiteWithPolSourceSiteWithPolSourceSiteTVItemIDDB(PolSourceSiteTVItemID); if (polSourceSiteToDelete == null) { return(ReturnError(string.Format(ServiceRes.CouldNotFind_ToDelete, ServiceRes.PolSourceSite))); } PolSourceSiteModel polSourceSiteModelRet = PostDeletePolSourceSiteDB(polSourceSiteToDelete.PolSourceSiteID); if (!string.IsNullOrWhiteSpace(polSourceSiteModelRet.Error)) { return(ReturnError(polSourceSiteModelRet.Error)); } return(ReturnError("")); }
public PolSourceSiteModel GetPolSourceSiteModelWithPolSourceSiteTVItemIDDB(int PolSourceSiteTVItemID) { PolSourceSiteModel polSourceSiteModel = (from c in db.PolSourceSites let siteName = (from cl in db.TVItemLanguages where cl.Language == (int)LanguageRequest && cl.TVItemID == c.PolSourceSiteTVItemID select cl.TVText).FirstOrDefault <string>() where c.PolSourceSiteTVItemID == PolSourceSiteTVItemID select new PolSourceSiteModel { Error = "", PolSourceSiteID = c.PolSourceSiteID, DBCommand = (DBCommandEnum)c.DBCommand, PolSourceSiteTVItemID = c.PolSourceSiteTVItemID, PolSourceSiteTVText = siteName, Temp_Locator_CanDelete = c.Temp_Locator_CanDelete, Oldsiteid = c.Oldsiteid, Site = c.Site, SiteID = c.SiteID, IsPointSource = c.IsPointSource, InactiveReason = (PolSourceInactiveReasonEnum)c.InactiveReason, CivicAddressTVItemID = c.CivicAddressTVItemID, LastUpdateDate_UTC = c.LastUpdateDate_UTC, LastUpdateContactTVItemID = c.LastUpdateContactTVItemID, }).FirstOrDefault <PolSourceSiteModel>(); if (polSourceSiteModel == null) { return(ReturnError(string.Format(ServiceRes.CouldNotFind_With_Equal_, ServiceRes.PolSourceSite, ServiceRes.PolSourceSiteTVItemID, PolSourceSiteTVItemID))); } else { polSourceSiteModel.PolSourceObservationModelList = _PolSourceObservationService.GetPolSourceObservationModelListWithPolSourceSiteIDDB(polSourceSiteModel.PolSourceSiteID); } return(polSourceSiteModel); }
public PolSourceObservationModel PostAddPolSourceObservationDB(PolSourceObservationModel polSourceObservationModel) { string retStr = PolSourceObservationModelOK(polSourceObservationModel); if (!string.IsNullOrEmpty(retStr)) { return(ReturnError(retStr)); } ContactOK contactOK = IsContactOK(); if (!string.IsNullOrEmpty(contactOK.Error)) { return(ReturnError(contactOK.Error)); } PolSourceSiteService polSourceSiteService = new PolSourceSiteService(LanguageRequest, User); PolSourceSiteModel polSourceSiteModel = polSourceSiteService.GetPolSourceSiteModelWithPolSourceSiteIDDB(polSourceObservationModel.PolSourceSiteID); if (!string.IsNullOrWhiteSpace(polSourceSiteModel.Error)) { return(ReturnError(polSourceSiteModel.Error)); } PolSourceObservation polSourceObservationExist = GetPolSourceObservationExistDB(polSourceObservationModel); if (polSourceObservationExist != null) { return(ReturnError(string.Format(ServiceRes._AlreadyExists, ServiceRes.PolSourceObservation))); } PolSourceObservation polSourceObservationNew = new PolSourceObservation(); retStr = FillPolSourceObservation(polSourceObservationNew, polSourceObservationModel, contactOK); if (!string.IsNullOrWhiteSpace(retStr)) { return(ReturnError(retStr)); } using (TransactionScope ts = new TransactionScope()) { db.PolSourceObservations.Add(polSourceObservationNew); retStr = DoAddChanges(); if (!string.IsNullOrWhiteSpace(retStr)) { return(ReturnError(retStr)); } LogModel logModel = _LogService.PostAddLogForObj("PolSourceObservations", polSourceObservationNew.PolSourceObservationID, LogCommandEnum.Add, polSourceObservationNew); if (!string.IsNullOrWhiteSpace(logModel.Error)) { return(ReturnError(logModel.Error)); } ts.Complete(); } return(GetPolSourceObservationModelWithPolSourceObservationIDDB(polSourceObservationNew.PolSourceObservationID)); }
public bool GetIsItSameObject(PolSourceSiteModel polSourceSiteModel, TVItemModel tvItemModelPolSourceSiteExit) { bool IsSame = false; if (polSourceSiteModel.PolSourceSiteTVItemID == tvItemModelPolSourceSiteExit.TVItemID) { IsSame = true; } return(IsSame); }
public PolSourceSiteModel PostAddPolSourceSiteDB(PolSourceSiteModel polSourceSiteModel) { string retStr = PolSourceSiteModelOK(polSourceSiteModel); if (!string.IsNullOrWhiteSpace(retStr)) { return(ReturnError(retStr)); } ContactOK contactOK = IsContactOK(); if (!string.IsNullOrEmpty(contactOK.Error)) { return(ReturnError(contactOK.Error)); } TVItemModel tvItemModelExist = _TVItemService.GetTVItemModelWithTVItemIDDB(polSourceSiteModel.PolSourceSiteTVItemID); if (!string.IsNullOrWhiteSpace(tvItemModelExist.Error)) { return(ReturnError(tvItemModelExist.Error)); } PolSourceSite polSourceSiteNew = new PolSourceSite(); retStr = FillPolSourceSite(polSourceSiteNew, polSourceSiteModel, contactOK); if (!string.IsNullOrWhiteSpace(retStr)) { return(new PolSourceSiteModel() { Error = retStr }); } using (TransactionScope ts = new TransactionScope()) { db.PolSourceSites.Add(polSourceSiteNew); retStr = DoAddChanges(); if (!string.IsNullOrWhiteSpace(retStr)) { return(ReturnError(retStr)); } LogModel logModel = _LogService.PostAddLogForObj("PolSourceSites", polSourceSiteNew.PolSourceSiteID, LogCommandEnum.Add, polSourceSiteNew); if (!string.IsNullOrWhiteSpace(logModel.Error)) { return(ReturnError(logModel.Error)); } ts.Complete(); } return(GetPolSourceSiteModelWithPolSourceSiteIDDB(polSourceSiteNew.PolSourceSiteID)); }
public PolSourceSiteModel PostUpdatePolSourceSiteDB(PolSourceSiteModel polSourceSiteModel) { string retStr = PolSourceSiteModelOK(polSourceSiteModel); if (!string.IsNullOrWhiteSpace(retStr)) { return(ReturnError(retStr)); } ContactOK contactOK = IsContactOK(); if (!string.IsNullOrEmpty(contactOK.Error)) { return(ReturnError(contactOK.Error)); } PolSourceSite polSourceSiteToUpdate = GetPolSourceSiteWithPolSourceSiteIDDB(polSourceSiteModel.PolSourceSiteID); if (polSourceSiteToUpdate == null) { return(ReturnError(string.Format(ServiceRes.CouldNotFind_ToUpdate, ServiceRes.PolSourceSite))); } retStr = FillPolSourceSite(polSourceSiteToUpdate, polSourceSiteModel, 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("PolSourceSites", polSourceSiteToUpdate.PolSourceSiteID, LogCommandEnum.Change, polSourceSiteToUpdate); if (!string.IsNullOrWhiteSpace(logModel.Error)) { return(ReturnError(logModel.Error)); } ts.Complete(); } return(GetPolSourceSiteModelWithPolSourceSiteIDDB(polSourceSiteToUpdate.PolSourceSiteID)); }
// Check public string PolSourceSiteModelOK(PolSourceSiteModel polSourceSiteModel) { string retStr = FieldCheckNotZeroInt(polSourceSiteModel.PolSourceSiteTVItemID, ServiceRes.PolSourceSiteTVItemID); if (!string.IsNullOrWhiteSpace(retStr)) { return(retStr); } retStr = FieldCheckNotNullAndMinMaxLengthString(polSourceSiteModel.PolSourceSiteTVText, ServiceRes.PolSourceSiteTVText, 3, 200); if (!string.IsNullOrWhiteSpace(retStr)) { return(retStr); } retStr = FieldCheckIfNotNullMaxLengthString(polSourceSiteModel.Temp_Locator_CanDelete, ServiceRes.Temp_Locator_CanDelete, 50); if (!string.IsNullOrWhiteSpace(retStr)) { return(retStr); } retStr = FieldCheckIfNotNullNotZeroInt(polSourceSiteModel.Oldsiteid, ServiceRes.Oldsiteid); if (!string.IsNullOrWhiteSpace(retStr)) { return(retStr); } retStr = FieldCheckIfNotNullWithinRangeInt(polSourceSiteModel.Site, ServiceRes.Site, 0, 1000000); if (!string.IsNullOrWhiteSpace(retStr)) { return(retStr); } retStr = FieldCheckIfNotNullNotZeroInt(polSourceSiteModel.SiteID, ServiceRes.SiteID); if (!string.IsNullOrWhiteSpace(retStr)) { return(retStr); } retStr = _BaseEnumService.DBCommandOK(polSourceSiteModel.DBCommand); if (!string.IsNullOrWhiteSpace(retStr)) { return(retStr); } return(""); }
public ActionResult _polSourceSite(string Q) { SetArgs(Q); ViewBag.URLModel = urlModel; ViewBag.AddressModel = null; TVItemModel tvItemModelLocationCurrent = _TVItemService.GetTVItemModelWithTVItemIDDB(urlModel.TVItemIDList[0]); ViewBag.TVItemModelLocationCurrent = tvItemModelLocationCurrent; TVAuthEnum tvAuth = _TVItemService.GetTVAuthWithTVItemIDAndLoggedInUser(urlModel.TVItemIDList[0], null, null, null); ViewBag.TVAuth = tvAuth; List <TabInfo> tabInfoList = GetTab1ViewTVItemInfoDB(tvItemModelLocationCurrent, tvAuth); ViewBag.TabInfoList = tabInfoList; ViewBag.PolSourceController = _PolSourceController; PolSourceSiteModel polSourceSiteModel = _PolSourceSiteService.GetPolSourceSiteModelWithPolSourceSiteTVItemIDDB(urlModel.TVItemIDList[0]); ViewBag.PolSourceSiteModel = polSourceSiteModel; List <PolSourceObservationModel> polSourceObservationModelList = _PolSourceSiteService._PolSourceObservationService.GetPolSourceObservationModelListWithPolSourceSiteIDDB(polSourceSiteModel.PolSourceSiteID).OrderByDescending(c => c.ObservationDate_Local).OrderByDescending(c => c.LastUpdateDate_UTC).ToList(); foreach (PolSourceObservationModel polSourceObservationModel in polSourceObservationModelList) { polSourceObservationModel.PolSourceObservationIssueModelList = _PolSourceSiteService._PolSourceObservationService._PolSourceObservationIssueService.GetPolSourceObservationIssueModelListWithPolSourceObservationIDDB(polSourceObservationModel.PolSourceObservationID); } ViewBag.PolSourceObservationModelList = polSourceObservationModelList; List <MapInfoPointModel> mapInfoPointModelList = _MapInfoService._MapInfoPointService.GetMapInfoPointModelListWithTVItemIDAndTVTypeAndMapInfoDrawTypeDB(urlModel.TVItemIDList[0], TVTypeEnum.PolSourceSite, MapInfoDrawTypeEnum.Point); ViewBag.MapInfoPointModel = mapInfoPointModelList[0]; if (polSourceSiteModel.CivicAddressTVItemID != null) { AddressModel addressModel = _AddressService.GetAddressModelWithAddressTVItemIDDB((int)polSourceSiteModel.CivicAddressTVItemID); ViewBag.AddressModel = addressModel; } return(PartialView()); }
public ActionResult _polSourceObservationList(int PolSourceSiteTVItemID) { ViewBag.PolSourceSiteTVItemID = PolSourceSiteTVItemID; ViewBag.PolSourceController = _PolSourceController; ViewBag.PolSourceObservationModelList = null; PolSourceSiteModel polSourceSiteModel = _PolSourceSiteService.GetPolSourceSiteModelWithPolSourceSiteTVItemIDDB(PolSourceSiteTVItemID); if (string.IsNullOrWhiteSpace(polSourceSiteModel.Error)) { List <PolSourceObservationModel> polSourceObservationModelList = _PolSourceSiteService._PolSourceObservationService.GetPolSourceObservationModelListWithPolSourceSiteIDDB(polSourceSiteModel.PolSourceSiteID).OrderByDescending(c => c.ObservationDate_Local).OrderByDescending(c => c.LastUpdateDate_UTC).ToList(); foreach (PolSourceObservationModel polSourceObservationModel in polSourceObservationModelList) { polSourceObservationModel.PolSourceObservationIssueModelList = _PolSourceSiteService._PolSourceObservationService._PolSourceObservationIssueService.GetPolSourceObservationIssueModelListWithPolSourceObservationIDDB(polSourceObservationModel.PolSourceObservationID); } ViewBag.PolSourceObservationModelList = polSourceObservationModelList; } return(PartialView()); }
public ActionResult _polSourceSiteAddOrModify(int ParentTVItemID, int PolSourceSiteTVItemID) { ViewBag.PolSourceSiteModel = null; ViewBag.MapInfoPointModel = null; ViewBag.ParentTVItemID = ParentTVItemID; ViewBag.PolSourceSiteTVItemID = PolSourceSiteTVItemID; ViewBag.PolSourceController = _PolSourceController; ViewBag.PolSourceObservationModelList = null; ViewBag.TVItemModel = null; ViewBag.AddressModel = null; if (ParentTVItemID == 0 && PolSourceSiteTVItemID == 0) { return(PartialView()); } PolSourceSiteModel polSourceSiteModel = null; if (PolSourceSiteTVItemID > 0) { ViewBag.IsModify = true; polSourceSiteModel = _PolSourceSiteService.GetPolSourceSiteModelWithPolSourceSiteTVItemIDDB(PolSourceSiteTVItemID); if (ParentTVItemID == 0) { ViewBag.ParentTVItemID = _TVItemService.GetTVItemModelWithTVItemIDDB(polSourceSiteModel.PolSourceSiteTVItemID).ParentID; } ViewBag.PolSourceSiteModel = polSourceSiteModel; List <PolSourceObservationModel> polSourceObservationModelList = _PolSourceSiteService._PolSourceObservationService.GetPolSourceObservationModelListWithPolSourceSiteIDDB(polSourceSiteModel.PolSourceSiteID).OrderByDescending(c => c.ObservationDate_Local).OrderByDescending(c => c.LastUpdateDate_UTC).ToList(); foreach (PolSourceObservationModel polSourceObservationModel in polSourceObservationModelList) { polSourceObservationModel.PolSourceObservationIssueModelList = _PolSourceSiteService._PolSourceObservationService._PolSourceObservationIssueService.GetPolSourceObservationIssueModelListWithPolSourceObservationIDDB(polSourceObservationModel.PolSourceObservationID); } ViewBag.PolSourceObservationModelList = polSourceObservationModelList; List <MapInfoPointModel> mapInfoPointModelList = _MapInfoService._MapInfoPointService.GetMapInfoPointModelListWithTVItemIDAndTVTypeAndMapInfoDrawTypeDB(PolSourceSiteTVItemID, TVTypeEnum.PolSourceSite, MapInfoDrawTypeEnum.Point); ViewBag.MapInfoPointModel = mapInfoPointModelList[0]; TVItemModel tvItemModel = _TVItemService.GetTVItemModelWithTVItemIDDB(polSourceSiteModel.PolSourceSiteTVItemID); ViewBag.TVItemModel = tvItemModel; if (polSourceSiteModel.CivicAddressTVItemID != null) { AddressModel addressModel = _AddressService.GetAddressModelWithAddressTVItemIDDB((int)polSourceSiteModel.CivicAddressTVItemID); ViewBag.AddressModel = addressModel; } } List <PolSourceObsInfoEnumTextAndID> polSourceObsInfoEnumTextAndIDList = new List <PolSourceObsInfoEnumTextAndID>(); foreach (int id in Enum.GetValues(typeof(PolSourceObsInfoEnum))) { if (id == 0) { continue; } string tempText = _BaseEnumService.GetEnumText_PolSourceObsInfoEnum((PolSourceObsInfoEnum)id); if (tempText.IndexOf("|") > 0) { tempText = tempText.Substring(0, tempText.IndexOf("|")); } polSourceObsInfoEnumTextAndIDList.Add(new PolSourceObsInfoEnumTextAndID() { Text = tempText, ID = id }); } ViewBag.PolSourceObsInfoEnumTextAndIDList = polSourceObsInfoEnumTextAndIDList; List <PolSourceInactiveReasonEnumTextAndID> polSourceInactiveReasonEnumTextAndIDList = new List <PolSourceInactiveReasonEnumTextAndID>(); foreach (int id in Enum.GetValues(typeof(PolSourceInactiveReasonEnum))) { if (id != 0) { polSourceInactiveReasonEnumTextAndIDList.Add(new PolSourceInactiveReasonEnumTextAndID() { Text = _BaseEnumService.GetEnumText_PolSourceInactiveReasonEnum((PolSourceInactiveReasonEnum)id), ID = id }); } } ViewBag.PolSourceInactiveReasonEnumTextAndIDList = polSourceInactiveReasonEnumTextAndIDList; return(PartialView()); }
public bool CreateQCPolSourceAll() { if (Cancel) { return(false); } lblStatus.Text = "Starting ... CreateSanitaryQC - CreateQCPolSourceAll"; Application.DoEvents(); 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 tvItemModelQC = tvItemServiceR.GetChildTVItemModelWithParentIDAndTVTextAndTVTypeDB(tvItemModelCanada.TVItemID, "Québec", TVTypeEnum.Province); if (!CheckModelOK <TVItemModel>(tvItemModelQC)) { return(false); } List <TVItemModel> TVItemModelSubsectorList = tvItemServiceR.GetChildrenTVItemModelListWithTVItemIDAndTVTypeDB(tvItemModelQC.TVItemID, TVTypeEnum.Subsector); if (TVItemModelSubsectorList.Count == 0) { richTextBoxStatus.AppendText("Error: could not find TVItem Subsector for " + tvItemModelQC.TVText + "\r\n"); return(false); } List <string> NoSecList = new List <string>() { "M", "G-00" }; List <TempData.QCSecteurMPol> qcSecteurMPol = new List <TempData.QCSecteurMPol>(); using (TempData.TempDataToolDBEntities dbDT = new TempData.TempDataToolDBEntities()) { qcSecteurMPol = (from c in dbDT.QCSecteurMPols select c).ToList <TempData.QCSecteurMPol>(); } List <Obs> obsTypeList = new List <Obs>(); List <string> sectorList = new List <string>(); List <TempData.QCSubsectorAssociation> qcsubsectorAssociationList = new List <TempData.QCSubsectorAssociation>(); using (TempData.TempDataToolDBEntities dbDT = new TempData.TempDataToolDBEntities()) { qcsubsectorAssociationList = (from c in dbDT.QCSubsectorAssociations select c).ToList <TempData.QCSubsectorAssociation>(); } using (PCCSM.pccsmEntities dbQC = new PCCSM.pccsmEntities()) { sectorList = (from s in dbQC.geo_pollution_p select s.secteur).Distinct().ToList(); } List <string> sectorOrderedList = (from c in sectorList orderby c select c).ToList(); int StartQCCreateSanitarysQC = int.Parse(textBoxQCCreateSanitaryQC.Text); int TotalCount = sectorOrderedList.Count(); int Count = 0; foreach (string sec in sectorOrderedList) { Count += 1; TVItemService tvItemService = new TVItemService(LanguageEnum.en, user); PolSourceSiteService polSourceSiteService = new PolSourceSiteService(LanguageEnum.en, user); MapInfoService mapInfoService = new MapInfoService(LanguageEnum.en, user); PolSourceObservationService polSourceObservationService = new PolSourceObservationService(LanguageEnum.en, user); PolSourceObservationIssueService polSourceObservationIssueService = new PolSourceObservationIssueService(LanguageEnum.en, user); lblStatus.Text = (Count * 100 / TotalCount).ToString() + " ... CreateSanitaryQC for sector " + sec; lblStatus2.Text = Count + " of " + TotalCount; Application.DoEvents(); textBoxQCCreateSanitaryQC.Text = Count.ToString(); if (StartQCCreateSanitarysQC > Count) { continue; } if (sec != null) { Application.DoEvents(); TVItemModel tvItemModelSubsector = new TVItemModel(); if (sec.StartsWith("M") || sec.StartsWith("G-00")) { } else { TempData.QCSubsectorAssociation qcsubAss = (from c in qcsubsectorAssociationList where c.QCSectorText == sec select c).FirstOrDefault <TempData.QCSubsectorAssociation>(); tvItemModelSubsector = tvItemService.GetChildTVItemModelWithTVItemIDAndTVTextStartWithAndTVTypeDB(tvItemModelQC.TVItemID, qcsubAss.SubsectorText, TVTypeEnum.Subsector); if (!CheckModelOK <TVItemModel>(tvItemModelSubsector)) { return(false); } } List <PCCSM.geo_pollution_p> polQCList = new List <PCCSM.geo_pollution_p>(); using (PCCSM.pccsmEntities dbQC = new PCCSM.pccsmEntities()) { polQCList = (from c in dbQC.geo_pollution_p where c.secteur == sec && c.id_geo_pollution_p != 0 && (c.x != null && c.y != null) //&& c.ex.exlure_importation == false select c).ToList <PCCSM.geo_pollution_p>(); } int countPol = 0; int totalCountPol = polQCList.Count; foreach (PCCSM.geo_pollution_p pqc in polQCList) { if (Cancel) { return(false); } countPol += 1; lblStatus2.Text = "Doing " + countPol + " of " + totalCountPol; Application.DoEvents(); PolSourceSiteModel polSourceSiteModelNew = new PolSourceSiteModel(); string Code = tvItemService.CleanText(pqc.code.ToUpper()); List <PolSourceObsInfoEnum> polSourceObsInfoList = GetPolSourceType(Code.Trim(), "--", "QC"); string ObservationInfo = (int)polSourceObsInfoList[0] + "," + (int)polSourceObsInfoList[1] + ","; polSourceSiteModelNew.IsPointSource = true; //if (pqc.status == "actif") //{ // polSourceSiteModelNew.IsActive = true; //} //else //{ // polSourceSiteModelNew.IsActive = false; //} polSourceSiteModelNew.Oldsiteid = pqc.id_geo_pollution_p; string SectText = (from c in qcSecteurMPol where c.geo_pollution_id == pqc.id_geo_pollution_p select c.Subsector).FirstOrDefault <string>(); if (string.IsNullOrWhiteSpace(SectText)) { List <MapInfoModel> mapInfoModelList = mapInfoService.GetMapInfoModelWithLatAndLngInPolygonWithTVTypeDB((float)pqc.y, (float)pqc.x, TVTypeEnum.Subsector); foreach (MapInfoModel mapInfoModel in mapInfoModelList) { List <MapInfoPointModel> mapInfoPointModelList = mapInfoService._MapInfoPointService.GetMapInfoPointModelListWithMapInfoIDDB(mapInfoModel.MapInfoID); List <Coord> coordList2 = new List <Coord>(); foreach (MapInfoPointModel mapInfoPointModel in mapInfoPointModelList) { coordList2.Add(new Coord() { Lat = (float)mapInfoPointModel.Lat, Lng = (float)mapInfoPointModel.Lng, Ordinal = mapInfoPointModel.Ordinal }); } if (mapInfoService.CoordInPolygon(coordList2, new Coord() { Lat = (float)pqc.y, Lng = (float)pqc.x, Ordinal = 0 })) { TVItemModel tvItemModelSS = tvItemService.GetTVItemModelWithTVItemIDDB(mapInfoModel.TVItemID); SectText = tvItemModelSS.TVText.Substring(0, tvItemModelSS.TVText.IndexOf(" ")).Trim(); using (TempData.TempDataToolDBEntities dbDT = new TempData.TempDataToolDBEntities()) { TempData.QCSecteurMPol qcSecteurMPolExist = (from c in dbDT.QCSecteurMPols where c.Subsector == SectText && c.geo_pollution_id == pqc.id_geo_pollution_p select c).FirstOrDefault(); if (qcSecteurMPolExist == null) { TempData.QCSecteurMPol qcsmpol = new TempData.QCSecteurMPol() { geo_pollution_id = pqc.id_geo_pollution_p, Subsector = SectText, }; dbDT.QCSecteurMPols.Add(qcsmpol); try { dbDT.SaveChanges(); } catch (Exception ex) { richTextBoxStatus.AppendText("Error saving new TempData.QCSecteurMPol [" + ex.Message + "]"); return(false); } } } break; } } if (string.IsNullOrWhiteSpace(SectText)) { int MapInfoID = 0; float MinDist = 10000000f; foreach (TVItemModel tvItemModel in TVItemModelSubsectorList) { List <MapInfoPointModel> mapInfoPointModelList = mapInfoService._MapInfoPointService.GetMapInfoPointModelListWithTVItemIDAndTVTypeAndMapInfoDrawTypeDB(tvItemModel.TVItemID, TVTypeEnum.Subsector, MapInfoDrawTypeEnum.Point); float tempDist = (float)mapInfoService.CalculateDistance(mapInfoPointModelList[0].Lat, mapInfoPointModelList[0].Lng, (double)pqc.y, (double)pqc.x, mapInfoService.R); if (tempDist < MinDist) { MapInfoID = mapInfoPointModelList[0].MapInfoID; MinDist = tempDist; } } MapInfoModel mapInfoModel = mapInfoService.GetMapInfoModelWithMapInfoIDDB(MapInfoID); if (!string.IsNullOrWhiteSpace(mapInfoModel.Error)) { richTextBoxStatus.AppendText("Error [" + mapInfoModel.Error + "]"); return(false); } TVItemModel tvItemModelSS = tvItemService.GetTVItemModelWithTVItemIDDB(mapInfoModel.TVItemID); SectText = tvItemModelSS.TVText.Substring(0, tvItemModelSS.TVText.IndexOf(" ")).Trim(); } } if (string.IsNullOrWhiteSpace(SectText)) { richTextBoxStatus.AppendText(pqc.y + " " + pqc.x + " " + pqc.id_geo_pollution_p + "\r\n"); continue; } tvItemModelSubsector = tvItemService.GetChildTVItemModelWithTVItemIDAndTVTextStartWithAndTVTypeDB(tvItemModelQC.TVItemID, SectText, TVTypeEnum.Subsector); if (!CheckModelOK <TVItemModel>(tvItemModelSubsector)) { return(false); } // doing EN TVText string PolSourceSiteTVTextEN = _BaseEnumService.GetEnumText_PolSourceObsInfoEnum(polSourceObsInfoList[0]); if (polSourceObsInfoList.Count > 1) { if (polSourceObsInfoList[1] != PolSourceObsInfoEnum.Error) { PolSourceSiteTVTextEN += " - " + _BaseEnumService.GetEnumText_PolSourceObsInfoEnum(polSourceObsInfoList[1]); } } PolSourceSiteTVTextEN = tvItemService.CleanText(PolSourceSiteTVTextEN + " - " + " ".Substring(0, 6 - pqc.id_geo_pollution_p.ToString().Length) + pqc.id_geo_pollution_p.ToString()); Thread.CurrentThread.CurrentCulture = new CultureInfo("fr-CA"); Thread.CurrentThread.CurrentUICulture = new CultureInfo("fr-CA"); // Doing FR TVText PolSourceObservationService polSourceObservationService2 = new PolSourceObservationService(LanguageEnum.fr, user); string PolSourceSiteTVTextFR = _BaseEnumService.GetEnumText_PolSourceObsInfoEnum(polSourceObsInfoList[0]); if (polSourceObsInfoList.Count > 1) { if (polSourceObsInfoList[1] != PolSourceObsInfoEnum.Error) { PolSourceSiteTVTextFR += " - " + _BaseEnumService.GetEnumText_PolSourceObsInfoEnum(polSourceObsInfoList[1]); } } PolSourceSiteTVTextFR = tvItemService.CleanText(PolSourceSiteTVTextFR + " - " + " ".Substring(0, 6 - pqc.id_geo_pollution_p.ToString().Length) + pqc.id_geo_pollution_p.ToString()); Thread.CurrentThread.CurrentCulture = new CultureInfo("en-CA"); Thread.CurrentThread.CurrentUICulture = new CultureInfo("en-CA"); TVItemModel tvItemModelPolSourceSite = tvItemService.PostCreateTVItem(tvItemModelSubsector.TVItemID, PolSourceSiteTVTextEN, PolSourceSiteTVTextFR, TVTypeEnum.PolSourceSite); if (!CheckModelOK <TVItemModel>(tvItemModelPolSourceSite)) { return(false); } List <Coord> coordList = new List <Coord>() { new Coord() { Lat = (float)pqc.y, Lng = (float)pqc.x, } }; MapInfoModel mapInfoModelRet = mapInfoService.CreateMapInfoObjectDB(coordList, MapInfoDrawTypeEnum.Point, TVTypeEnum.PolSourceSite, tvItemModelPolSourceSite.TVItemID); if (!CheckModelOK <MapInfoModel>(mapInfoModelRet)) { return(false); } polSourceSiteModelNew.PolSourceSiteTVItemID = tvItemModelPolSourceSite.TVItemID; polSourceSiteModelNew.PolSourceSiteTVText = PolSourceSiteTVTextEN; PolSourceSiteModel polSourceSiteModelRet = polSourceSiteService.GetPolSourceSiteModelWithPolSourceSiteTVItemIDDB(tvItemModelPolSourceSite.TVItemID); if (!string.IsNullOrWhiteSpace(polSourceSiteModelRet.Error)) { polSourceSiteModelRet = polSourceSiteService.PostAddPolSourceSiteDB(polSourceSiteModelNew); if (!CheckModelOK <PolSourceSiteModel>(polSourceSiteModelRet)) { return(false); } } string TextObs = tvItemService.CleanText(string.IsNullOrEmpty(pqc.description) ? "" : pqc.description); PolSourceObservationModel polSourceObservationModelNew = new PolSourceObservationModel(); if (pqc.date_observation == null) { polSourceObservationModelNew.ObservationDate_Local = new DateTime(2050, 1, 1); } else { polSourceObservationModelNew.ObservationDate_Local = (DateTime)(pqc.date_observation.Value).AddHours(1); } string observateur = "unknown"; if (pqc.observateur != null) { if (pqc.observateur.Length > 98) { observateur = pqc.observateur.Substring(0, 60); } else { observateur = pqc.observateur; } } string observation = "(empty)"; if (pqc.description != null) { observation = Code.ToString().ToUpper() + " - " + pqc.description; } string TVTextInspectorEN = "Inspector " + observateur + " - (QC)"; string TVTextInspectorFR = "Inspecteur " + observateur + " - (QC)"; TVItemModel tvItemModelContact = tvItemService.GetChildTVItemModelWithTVItemIDAndTVTextStartWithAndTVTypeDB(tvItemModelRoot.TVItemID, TVTextInspectorEN, TVTypeEnum.Contact); if (!string.IsNullOrWhiteSpace(tvItemModelContact.Error)) { tvItemModelContact = tvItemService.PostCreateTVItem(tvItemModelRoot.TVItemID, TVTextInspectorEN, TVTextInspectorFR, TVTypeEnum.Contact); if (!CheckModelOK <TVItemModel>(tvItemModelContact)) { return(false); } } polSourceObservationModelNew.ContactTVItemID = tvItemModelContact.TVItemID; polSourceObservationModelNew.PolSourceSiteID = polSourceSiteModelRet.PolSourceSiteID; polSourceObservationModelNew.Observation_ToBeDeleted = observation; PolSourceObservationModel polSourceObservationModelRet = polSourceObservationService.GetPolSourceObservationModelExistDB(polSourceObservationModelNew); if (!string.IsNullOrWhiteSpace(polSourceObservationModelRet.Error)) { polSourceObservationModelRet = polSourceObservationService.PostAddPolSourceObservationDB(polSourceObservationModelNew); if (!CheckModelOK <PolSourceObservationModel>(polSourceObservationModelRet)) { return(false); } } PolSourceObservationIssueModel polSourceObservationIssueModelNew = new PolSourceObservationIssueModel() { PolSourceObservationID = polSourceObservationModelNew.PolSourceObservationID, ObservationInfo = ObservationInfo, PolSourceObsInfoList = polSourceObsInfoList, Ordinal = 0, }; PolSourceObservationIssueModel polSourceObservationIssueModelRet = polSourceObservationIssueService.GetPolSourceObservationIssueModelExistDB(polSourceObservationIssueModelNew); if (!string.IsNullOrWhiteSpace(polSourceObservationIssueModelRet.Error)) { polSourceObservationIssueModelRet = polSourceObservationIssueService.PostAddPolSourceObservationIssueDB(polSourceObservationIssueModelNew); if (!CheckModelOK <PolSourceObservationModel>(polSourceObservationModelRet)) { return(false); } } // do historic PolSourceObservation List <PCCSM.db_histo_operation> histoPolSourceList = new List <PCCSM.db_histo_operation>(); using (PCCSM.pccsmEntities dbQC = new PCCSM.pccsmEntities()) { histoPolSourceList = (from c in dbQC.geo_pollution_p from h in dbQC.db_histo_operation where c.id_geo_pollution_p == h.id_geo_pollution_p && c.id_geo_pollution_p == pqc.id_geo_pollution_p select h).ToList(); } foreach (PCCSM.db_histo_operation hist in histoPolSourceList) { Application.DoEvents(); PolSourceObservationModel polSourceObservationModelNew2 = new PolSourceObservationModel(); if (hist.date_operation == null) { polSourceObservationModelNew2.ObservationDate_Local = new DateTime(1900, 1, 1); } else { polSourceObservationModelNew2.ObservationDate_Local = (DateTime)hist.date_operation; } observateur = "unknown"; if (hist.auteur != null) { if (hist.auteur.Length > 98) { observateur = hist.auteur.Substring(0, 60); } else { observateur = hist.auteur; } } observation = "(vide)"; if (hist.description != null) { observation = hist.description; } TVTextInspectorEN = "Inspector " + observateur + " - (QC)"; TVTextInspectorFR = "Inspecteur " + observateur + " - (QC)"; tvItemModelContact = tvItemService.GetChildTVItemModelWithTVItemIDAndTVTextStartWithAndTVTypeDB(tvItemModelRoot.TVItemID, TVTextInspectorEN, TVTypeEnum.Contact); if (!string.IsNullOrWhiteSpace(tvItemModelContact.Error)) { tvItemModelContact = tvItemService.PostCreateTVItem(tvItemModelRoot.TVItemID, TVTextInspectorEN, TVTextInspectorFR, TVTypeEnum.Contact); if (!CheckModelOK <TVItemModel>(tvItemModelContact)) { return(false); } } polSourceObservationModelNew2.ContactTVItemID = tvItemModelContact.TVItemID; polSourceObservationModelNew2.PolSourceSiteID = polSourceSiteModelRet.PolSourceSiteID; polSourceObservationModelNew2.Observation_ToBeDeleted = observation; PolSourceObservationModel polSourceObservationModelRet2 = polSourceObservationService.GetPolSourceObservationModelExistDB(polSourceObservationModelNew2); if (!string.IsNullOrWhiteSpace(polSourceObservationModelRet2.Error)) { polSourceObservationModelRet2 = polSourceObservationService.PostAddPolSourceObservationDB(polSourceObservationModelNew2); if (!CheckModelOK <PolSourceObservationModel>(polSourceObservationModelRet2)) { return(false); } } PolSourceObservationIssueModel polSourceObservationIssueModelNew2 = new PolSourceObservationIssueModel() { PolSourceObservationID = polSourceObservationModelNew2.PolSourceObservationID, ObservationInfo = ObservationInfo, PolSourceObsInfoList = polSourceObsInfoList, Ordinal = 0, }; PolSourceObservationIssueModel polSourceObservationIssueModelRet2 = polSourceObservationIssueService.GetPolSourceObservationIssueModelExistDB(polSourceObservationIssueModelNew2); if (!string.IsNullOrWhiteSpace(polSourceObservationIssueModelRet2.Error)) { polSourceObservationIssueModelRet2 = polSourceObservationIssueService.PostAddPolSourceObservationIssueDB(polSourceObservationIssueModelNew2); if (!CheckModelOK <PolSourceObservationModel>(polSourceObservationModelRet2)) { return(false); } } } } } } return(true); }
public JsonResult PolSourceSiteAddOrModifyJSON(FormCollection fc) { PolSourceSiteModel polSourceSiteModel = _PolSourceSiteService.PolSourceSiteAddOrModifyDB(fc); return(Json(polSourceSiteModel.Error, JsonRequestBehavior.AllowGet)); }
public JsonResult PolSourceSiteSetActiveJSON(int TVItemID, bool SetActive) { PolSourceSiteModel polSourceSiteModel = _PolSourceSiteService.PolSourceSiteSetActiveDB(TVItemID, SetActive); return(Json(polSourceSiteModel.Error, JsonRequestBehavior.AllowGet)); }
public bool CreateSanitaryBC() { lblStatus.Text = "Starting ... CreateSanitaryBC"; Application.DoEvents(); if (Cancel) { return(false); } TVItemService tvItemServiceR = new TVItemService(LanguageEnum.en, user); BaseEnumService _BaseEnumSerice = new BaseEnumService(LanguageEnum.en); 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> TVItemModelSubsectorList = tvItemServiceR.GetChildrenTVItemModelListWithTVItemIDAndTVTypeDB(tvItemModelBC.TVItemID, TVTypeEnum.Subsector); if (TVItemModelSubsectorList.Count == 0) { richTextBoxStatus.AppendText("Error: could not find TVItem Subsector for " + tvItemModelBC.TVText + "\r\n"); return(false); } List <TempData.BCPolSource> bcPolSourceList = new List <TempData.BCPolSource>(); using (TempData.TempDataToolDBEntities dbDT = new TempData.TempDataToolDBEntities()) { bcPolSourceList = (from c in dbDT.BCPolSources orderby c.BCPolSourceID select c).ToList <TempData.BCPolSource>(); } int StartBCCreateSanitarysBC = int.Parse(textBoxBCCreateSanitaryBC.Text); int TotalCount = bcPolSourceList.Count(); int Count = 0; foreach (TempData.BCPolSource bcps in bcPolSourceList) { if (Cancel) { return(false); } Count += 1; lblStatus.Text = Count + " of " + TotalCount + " ... LoadSanitary BC"; Application.DoEvents(); textBoxBCCreateSanitaryBC.Text = Count.ToString(); if (StartBCCreateSanitarysBC > Count) { continue; } TVItemService tvItemService = new TVItemService(LanguageEnum.en, user); PolSourceObservationService polSourceObservationService = new PolSourceObservationService(LanguageEnum.en, user); PolSourceObservationIssueService polSourceObservationIssueService = new PolSourceObservationIssueService(LanguageEnum.en, user); PolSourceSiteService polSourceSiteService = new PolSourceSiteService(LanguageEnum.en, user); MapInfoService mapInfoService = new MapInfoService(LanguageEnum.en, user); PolSourceSiteModel polSourceSiteModelNew = new PolSourceSiteModel(); polSourceSiteModelNew.Oldsiteid = int.Parse(bcps.Key_.Substring(2)); string LCODE = tvItemService.CleanText(bcps.LCode); string ICODE = tvItemService.CleanText(bcps.ICode); if (LCODE.Trim() == "") { LCODE = "--"; } if (ICODE.Trim() == "") { ICODE = "--"; } List <PolSourceObsInfoEnum> polSourceObsInfoList = GetPolSourceType(LCODE.Trim(), ICODE.Trim(), "BC"); string ObservationInfo = ((int)polSourceObsInfoList[0]).ToString() + "," + ((int)polSourceObsInfoList[1]).ToString() + ","; List <MapInfoModel> mapInfoModelListSubsector = new List <MapInfoModel>(); if (bcps.Y_calc == 48.984828948974609f && bcps.X_calc == -123.02297973632812f) { mapInfoModelListSubsector = mapInfoService.GetMapInfoModelWithLatAndLngInPolygonWithTVTypeDB(49.01f, (float)bcps.X_calc, TVTypeEnum.Subsector); } else if (bcps.Y_calc == 49.3099250793457f && bcps.X_calc == -121.77302551269531f) { mapInfoModelListSubsector = mapInfoService.GetMapInfoModelWithLatAndLngInPolygonWithTVTypeDB((float)bcps.Y_calc, (float)-122.2, TVTypeEnum.Subsector); } else if (bcps.Y_calc == 48.3582878112793f && bcps.X_calc == -123.73906707763672f) { mapInfoModelListSubsector = mapInfoService.GetMapInfoModelWithLatAndLngInPolygonWithTVTypeDB((float)bcps.Y_calc, (float)-123.72, TVTypeEnum.Subsector); } else if (bcps.Y_calc == 51.266487121582031f && bcps.X_calc == -128.20162963867187f) { mapInfoModelListSubsector = mapInfoService.GetMapInfoModelWithLatAndLngInPolygonWithTVTypeDB((float)bcps.Y_calc, (float)-128, TVTypeEnum.Subsector); } else if (bcps.Y_calc == 55.91217041015625f && bcps.X_calc == -130.01992797851562f) { mapInfoModelListSubsector = mapInfoService.GetMapInfoModelWithLatAndLngInPolygonWithTVTypeDB((float)bcps.Y_calc, (float)-129, TVTypeEnum.Subsector); } else if (bcps.Y_calc == 55.912052154541016f && bcps.X_calc == -130.01669311523437f) { mapInfoModelListSubsector = mapInfoService.GetMapInfoModelWithLatAndLngInPolygonWithTVTypeDB((float)bcps.Y_calc, (float)-129, TVTypeEnum.Subsector); } else { mapInfoModelListSubsector = mapInfoService.GetMapInfoModelWithLatAndLngInPolygonWithTVTypeDB((float)bcps.Y_calc, (float)bcps.X_calc, TVTypeEnum.Subsector); } if (mapInfoModelListSubsector.Count == 0) { richTextBoxStatus.AppendText("GetMapInfoModelWithLatAndLngInPolygonWithTVTypeDB did not find anything\r\n"); return(false); } // doing EN TVText string PolSourceSiteTVTextEN = _BaseEnumSerice.GetEnumText_PolSourceObsInfoEnum(polSourceObsInfoList[0]); if (polSourceObsInfoList.Count > 1) { if (polSourceObsInfoList[1] != PolSourceObsInfoEnum.Error) { PolSourceSiteTVTextEN += " - " + _BaseEnumSerice.GetEnumText_PolSourceObsInfoEnum(polSourceObsInfoList[1]); } } int Site = (int)bcps.OBJECTID; PolSourceSiteTVTextEN = tvItemService.CleanText(PolSourceSiteTVTextEN + " - " + " ".Substring(0, 6 - Site.ToString().Length) + Site.ToString()); Thread.CurrentThread.CurrentCulture = new CultureInfo("fr-CA"); Thread.CurrentThread.CurrentUICulture = new CultureInfo("fr-CA"); // Doing FR TVText PolSourceObservationService polSourceObservationService2 = new PolSourceObservationService(LanguageEnum.fr, user); string PolSourceSiteTVTextFR = _BaseEnumSerice.GetEnumText_PolSourceObsInfoEnum(polSourceObsInfoList[0]); if (polSourceObsInfoList.Count > 1) { if (polSourceObsInfoList[1] != PolSourceObsInfoEnum.Error) { PolSourceSiteTVTextFR += " - " + _BaseEnumSerice.GetEnumText_PolSourceObsInfoEnum(polSourceObsInfoList[1]); } } PolSourceSiteTVTextFR = tvItemService.CleanText(PolSourceSiteTVTextFR + " - " + " ".Substring(0, 6 - Site.ToString().Length) + Site.ToString()); Thread.CurrentThread.CurrentCulture = new CultureInfo("en-CA"); Thread.CurrentThread.CurrentUICulture = new CultureInfo("en-CA"); TVItemModel tvItemModelPolSourceSite = tvItemService.PostCreateTVItem(mapInfoModelListSubsector[0].TVItemID, PolSourceSiteTVTextEN, PolSourceSiteTVTextFR, TVTypeEnum.PolSourceSite); if (!CheckModelOK <TVItemModel>(tvItemModelPolSourceSite)) { return(false); } List <Coord> coordList = new List <Coord>() { new Coord() { Lat = (float)bcps.Y_calc, Lng = (float)bcps.X_calc, } }; MapInfoModel mapInfoModelRet = mapInfoService.CreateMapInfoObjectDB(coordList, MapInfoDrawTypeEnum.Point, TVTypeEnum.PolSourceSite, tvItemModelPolSourceSite.TVItemID); if (!CheckModelOK <MapInfoModel>(mapInfoModelRet)) { return(false); } polSourceSiteModelNew.PolSourceSiteTVItemID = tvItemModelPolSourceSite.TVItemID; polSourceSiteModelNew.PolSourceSiteTVText = PolSourceSiteTVTextEN; polSourceSiteModelNew.Site = Site; polSourceSiteModelNew.Oldsiteid = Site; PolSourceSiteModel polSourceSiteModelRet = polSourceSiteService.GetPolSourceSiteModelWithPolSourceSiteTVItemIDDB(tvItemModelPolSourceSite.TVItemID); if (!string.IsNullOrWhiteSpace(polSourceSiteModelRet.Error)) { polSourceSiteModelRet = polSourceSiteService.PostAddPolSourceSiteDB(polSourceSiteModelNew); if (!CheckModelOK <PolSourceSiteModel>(polSourceSiteModelRet)) { return(false); } } PolSourceObservationModel polSourceObservationModelNew = new PolSourceObservationModel(); if (bcps.yyyymmdd == null) { polSourceObservationModelNew.ObservationDate_Local = new DateTime(2050, 1, 1); } else { polSourceObservationModelNew.ObservationDate_Local = (DateTime)bcps.yyyymmdd; } string Inspector = "unknown"; if (!string.IsNullOrWhiteSpace(bcps.Verified)) { Inspector = bcps.Verified + " - (BC)"; } string TVTextInspectorEN = "Inspector " + Inspector; string TVTextInspectorFR = "Inspecteur " + Inspector; TVItemModel tvItemModelContactRet = tvItemService.GetChildTVItemModelWithParentIDAndTVTextAndTVTypeDB(tvItemModelRoot.TVItemID, TVTextInspectorEN, TVTypeEnum.Contact); if (!string.IsNullOrWhiteSpace(tvItemModelContactRet.Error)) { tvItemModelContactRet = tvItemService.PostCreateTVItem(tvItemModelRoot.TVItemID, TVTextInspectorEN, TVTextInspectorFR, TVTypeEnum.Contact); if (!CheckModelOK <TVItemModel>(tvItemModelContactRet)) { return(false); } } polSourceObservationModelNew.ContactTVItemID = tvItemModelContactRet.TVItemID; string Observation = "(empty)"; if (!string.IsNullOrWhiteSpace(bcps.Remarks)) { Observation = LCODE.Trim().ToUpper() + " - " + ICODE.Trim().ToUpper() + " - " + bcps.Remarks; } polSourceObservationModelNew.Observation_ToBeDeleted = Observation; polSourceObservationModelNew.PolSourceSiteID = polSourceSiteModelRet.PolSourceSiteID; PolSourceObservationModel polSourceObservationModelRet = polSourceObservationService.GetPolSourceObservationModelExistDB(polSourceObservationModelNew); if (!string.IsNullOrWhiteSpace(polSourceObservationModelRet.Error)) { polSourceObservationModelRet = polSourceObservationService.PostAddPolSourceObservationDB(polSourceObservationModelNew); if (!CheckModelOK <PolSourceObservationModel>(polSourceObservationModelRet)) { return(false); } } PolSourceObservationIssueModel polSourceObservationIssueModelNew = new PolSourceObservationIssueModel() { PolSourceObservationID = polSourceObservationModelNew.PolSourceObservationID, ObservationInfo = ObservationInfo, PolSourceObsInfoList = polSourceObsInfoList, Ordinal = 0, }; PolSourceObservationIssueModel polSourceObservationIssueModelRet = polSourceObservationIssueService.GetPolSourceObservationIssueModelExistDB(polSourceObservationIssueModelNew); if (!string.IsNullOrWhiteSpace(polSourceObservationIssueModelRet.Error)) { polSourceObservationIssueModelRet = polSourceObservationIssueService.PostAddPolSourceObservationIssueDB(polSourceObservationIssueModelNew); if (!CheckModelOK <PolSourceObservationModel>(polSourceObservationModelRet)) { return(false); } } } return(true); }
// Post public PolSourceSiteModel PolSourceSiteAddOrModifyDB(FormCollection fc) { int tempInt = 0; int ParentTVItemID = 0; int PolSourceSiteTVItemID = 0; bool IsActive = false; bool IsPointSource = false; double Lat = 0.0D; double Lng = 0.0D; ContactOK contactOK = IsContactOK(); if (!string.IsNullOrWhiteSpace(contactOK.Error)) { return(ReturnError(contactOK.Error)); } if (string.IsNullOrWhiteSpace(fc["ParentTVItemID"])) { return(ReturnError(string.Format(ServiceRes._IsRequired, ServiceRes.ParentTVItemID))); } int.TryParse(fc["ParentTVItemID"], out ParentTVItemID); if (ParentTVItemID == 0) { return(ReturnError(string.Format(ServiceRes._IsRequired, ServiceRes.ParentTVItemID))); } if (string.IsNullOrWhiteSpace(fc["PolSourceSiteTVItemID"])) { return(ReturnError(string.Format(ServiceRes._IsRequired, ServiceRes.PolSourceSiteTVItemID))); } int.TryParse(fc["PolSourceSiteTVItemID"], out PolSourceSiteTVItemID); // PolSourceSiteTVItemID == 0 ==> Add // PolSourceSiteTVItemID > 0 ==> Modify TVItemModel tvItemModelPolSource = null; if (PolSourceSiteTVItemID != 0) { tvItemModelPolSource = _TVItemService.GetTVItemModelWithTVItemIDDB(PolSourceSiteTVItemID); if (!string.IsNullOrWhiteSpace(tvItemModelPolSource.Error)) { return(ReturnError(tvItemModelPolSource.Error)); } } PolSourceSiteModel polSourceSiteNewOrToChange = new PolSourceSiteModel(); if (PolSourceSiteTVItemID != 0) { polSourceSiteNewOrToChange = GetPolSourceSiteModelWithPolSourceSiteTVItemIDDB(PolSourceSiteTVItemID); if (!string.IsNullOrWhiteSpace(polSourceSiteNewOrToChange.Error)) { return(ReturnError(polSourceSiteNewOrToChange.Error)); } } polSourceSiteNewOrToChange.DBCommand = DBCommandEnum.Original; if (string.IsNullOrWhiteSpace(fc["IsActive"])) { IsActive = false; } else { IsActive = true; } if (!IsActive) { int.TryParse(fc["InactiveReason"], out tempInt); if (tempInt == 0) { return(ReturnError(string.Format(ServiceRes._IsRequired, ServiceRes.InactiveReason))); } polSourceSiteNewOrToChange.InactiveReason = (PolSourceInactiveReasonEnum)tempInt; } else { polSourceSiteNewOrToChange.InactiveReason = null; } if (string.IsNullOrWhiteSpace(fc["IsPointSource"])) { IsPointSource = false; } else { IsPointSource = true; } polSourceSiteNewOrToChange.IsPointSource = IsPointSource; double.TryParse(fc["Lat"], out Lat); if (Lat == 0.0D) { return(ReturnError(string.Format(ServiceRes._IsRequired, ServiceRes.Lat))); } double.TryParse(fc["Lng"], out Lng); if (Lng == 0.0D) { return(ReturnError(string.Format(ServiceRes._IsRequired, ServiceRes.Lng))); } List <Coord> coordList = new List <Coord>() { new Coord() { Lat = (float)Lat, Lng = (float)Lng, Ordinal = 0 } }; using (TransactionScope ts = new TransactionScope()) { string ObservationInfo = ((int)PolSourceObsInfoEnum.SourceStart).ToString() + ","; List <int> obsIntList = ObservationInfo.Split(",".ToCharArray(), StringSplitOptions.RemoveEmptyEntries).Select(int.Parse).ToList(); string ObservationLanguageTVText = ServiceRes.Error; string TVText = _BaseEnumService.GetEnumText_PolSourceObsInfoTextEnum(PolSourceObsInfoEnum.Error); int NextSiteNumber = 0; if (PolSourceSiteTVItemID == 0) { NextSiteNumber = GetNextAvailableSiteNumberWithParentTVItemIDDB(ParentTVItemID); polSourceSiteNewOrToChange.Site = NextSiteNumber; TVText = TVText + " - " + "000000".Substring(0, "000000".Length - NextSiteNumber.ToString().Length) + NextSiteNumber.ToString(); TVItemModel tvItemModelNewPolSourceSite = _TVItemService.PostAddChildTVItemDB(ParentTVItemID, TVText, TVTypeEnum.PolSourceSite); if (!string.IsNullOrWhiteSpace(tvItemModelNewPolSourceSite.Error)) { return(ReturnError(tvItemModelNewPolSourceSite.Error)); } polSourceSiteNewOrToChange.PolSourceSiteTVItemID = tvItemModelNewPolSourceSite.TVItemID; polSourceSiteNewOrToChange.PolSourceSiteTVText = TVText; polSourceSiteNewOrToChange = PostAddPolSourceSiteDB(polSourceSiteNewOrToChange); if (!string.IsNullOrWhiteSpace(polSourceSiteNewOrToChange.Error)) { return(ReturnError(polSourceSiteNewOrToChange.Error)); } // Automatically add one Pollution Source Observation for today PolSourceObservationModel polSourceObservationModelNew = new PolSourceObservationModel() { DBCommand = DBCommandEnum.Original, PolSourceSiteID = polSourceSiteNewOrToChange.PolSourceSiteID, ObservationDate_Local = new DateTime(DateTime.Now.Year, DateTime.Now.Month, DateTime.Now.Day), ContactTVItemID = contactOK.ContactTVItemID, Observation_ToBeDeleted = "", }; PolSourceObservationModel polSourceObservationModelRet = _PolSourceObservationService.PostAddPolSourceObservationDB(polSourceObservationModelNew); if (!string.IsNullOrWhiteSpace(polSourceObservationModelRet.Error)) { return(ReturnError(polSourceObservationModelRet.Error)); } // Automatically add one Pollution Source Observation Issue PolSourceObservationIssueModel polSourceObservationIssueModelNew = new PolSourceObservationIssueModel(); polSourceObservationIssueModelNew.DBCommand = DBCommandEnum.Original; polSourceObservationIssueModelNew.PolSourceObservationID = polSourceObservationModelRet.PolSourceObservationID; polSourceObservationIssueModelNew.ObservationInfo = ObservationInfo; polSourceObservationIssueModelNew.Ordinal = 0; PolSourceObservationIssueModel polSourceObservationIssueModelRet = _PolSourceObservationService._PolSourceObservationIssueService.PostAddPolSourceObservationIssueDB(polSourceObservationIssueModelNew); if (!string.IsNullOrWhiteSpace(polSourceObservationIssueModelRet.Error)) { return(ReturnError(polSourceObservationIssueModelRet.Error)); } // doing the other language foreach (LanguageEnum lang in LanguageListAllowable.Where(c => c != LanguageRequest)) { TVItemService tvItemService = new TVItemService(lang, _TVItemService.User); Thread.CurrentThread.CurrentCulture = new CultureInfo(lang + "-CA"); Thread.CurrentThread.CurrentUICulture = new CultureInfo(lang + "-CA"); ObservationInfo = ((int)PolSourceObsInfoEnum.SourceStart).ToString() + ","; ObservationLanguageTVText = ServiceRes.Error; TVText = _BaseEnumService.GetEnumText_PolSourceObsInfoTextEnum(PolSourceObsInfoEnum.Error); TVText = (string.IsNullOrWhiteSpace(TVText) ? ServiceRes.Error : TVText); if (PolSourceSiteTVItemID == 0) { TVText = TVText + " - " + "000000".Substring(0, "000000".Length - NextSiteNumber.ToString().Length) + NextSiteNumber.ToString(); } else { TVText = TVText + " - " + "000000".Substring(0, "000000".Length - polSourceSiteNewOrToChange.Site.ToString().Length) + polSourceSiteNewOrToChange.Site.ToString(); } TVItemLanguageModel tvItemLanguageModel = new TVItemLanguageModel(); tvItemLanguageModel.DBCommand = DBCommandEnum.Original; tvItemLanguageModel.Language = lang; tvItemLanguageModel.TVText = TVText; tvItemLanguageModel.TVItemID = polSourceSiteNewOrToChange.PolSourceSiteTVItemID; TVItemLanguageModel tvItemLanguageModelRet = tvItemService._TVItemLanguageService.PostUpdateTVItemLanguageDB(tvItemLanguageModel); if (!string.IsNullOrWhiteSpace(tvItemLanguageModelRet.Error)) { return(ReturnError(tvItemLanguageModelRet.Error)); } Thread.CurrentThread.CurrentCulture = new CultureInfo(LanguageRequest + "-CA"); Thread.CurrentThread.CurrentUICulture = new CultureInfo(LanguageRequest + "-CA"); } } else { polSourceSiteNewOrToChange = PostUpdatePolSourceSiteDB(polSourceSiteNewOrToChange); if (!string.IsNullOrWhiteSpace(polSourceSiteNewOrToChange.Error)) { return(ReturnError(polSourceSiteNewOrToChange.Error)); } } // Adding map info List <MapInfoPointModel> mapInfoPointModelList = _MapInfoService._MapInfoPointService.GetMapInfoPointModelListWithTVItemIDAndTVTypeAndMapInfoDrawTypeDB(polSourceSiteNewOrToChange.PolSourceSiteTVItemID, TVTypeEnum.PolSourceSite, MapInfoDrawTypeEnum.Point); if (mapInfoPointModelList.Count == 0) { MapInfoModel mapInfoModelRet = _MapInfoService.CreateMapInfoObjectDB(coordList, MapInfoDrawTypeEnum.Point, TVTypeEnum.PolSourceSite, polSourceSiteNewOrToChange.PolSourceSiteTVItemID); if (!string.IsNullOrWhiteSpace(mapInfoModelRet.Error)) { return(ReturnError(mapInfoModelRet.Error)); } } else { mapInfoPointModelList[0].Lat = coordList[0].Lat; mapInfoPointModelList[0].Lng = coordList[0].Lng; MapInfoPointModel mapInfoPointModelRet = _MapInfoService._MapInfoPointService.PostUpdateMapInfoPointDB(mapInfoPointModelList[0]); if (!string.IsNullOrWhiteSpace(mapInfoPointModelRet.Error)) { return(ReturnError(mapInfoPointModelRet.Error)); } } TVItemModel tvItemModelPolSourceSite = _TVItemService.GetTVItemModelWithTVItemIDDB(polSourceSiteNewOrToChange.PolSourceSiteTVItemID); if (!string.IsNullOrWhiteSpace(tvItemModelPolSourceSite.Error)) { return(ReturnError(tvItemModelPolSourceSite.Error)); } tvItemModelPolSourceSite.IsActive = IsActive; TVItemModel tvItemModelRet = _TVItemService.PostUpdateTVItemDB(tvItemModelPolSourceSite); if (!string.IsNullOrWhiteSpace(tvItemModelRet.Error)) { return(ReturnError(tvItemModelRet.Error)); } ts.Complete(); } return(polSourceSiteNewOrToChange); }
public bool CreateQCPolSourceNullAll() { lblStatus.Text = "Starting ... CreateSanitaryQC - CreateQCPolSourceNullAll"; Application.DoEvents(); 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 tvItemModelQC = tvItemServiceR.GetChildTVItemModelWithParentIDAndTVTextAndTVTypeDB(tvItemModelCanada.TVItemID, "Québec", TVTypeEnum.Province); if (!CheckModelOK <TVItemModel>(tvItemModelQC)) { return(false); } List <TVItemModel> TVItemModelSubsectorList = tvItemServiceR.GetChildrenTVItemModelListWithTVItemIDAndTVTypeDB(tvItemModelQC.TVItemID, TVTypeEnum.Subsector); if (TVItemModelSubsectorList.Count == 0) { richTextBoxStatus.AppendText("Error: could not find TVItem Subsector for " + tvItemModelQC.TVText + "\r\n"); return(false); } List <MapInfo> mapInfoList = (from c in TVItemModelSubsectorList from m in tvItemServiceR.db.MapInfos where c.TVItemID == m.TVItemID && m.MapInfoDrawType == (int)MapInfoDrawTypeEnum.Polygon select m).ToList(); List <TVItemSubsectorAndCoordCentroid> TVItemSubsectorAndCoordCentroidList = (from c in mapInfoList let lat = (c.LatMax - c.LatMin) / 2 + c.LatMin let lng = (c.LngMax - c.LngMin) / 2 + c.LngMin select new TVItemSubsectorAndCoordCentroid { TVItemID = c.TVItemID, Lat = (float)lat, Lng = (float)lng, }).ToList(); List <string> sectorList = new List <string>(); using (PCCSM.pccsmEntities dbQC = new PCCSM.pccsmEntities()) { sectorList = (from s in dbQC.geo_pollution_p select s.secteur).Distinct().ToList(); } List <string> sectorOrderedList = (from c in sectorList orderby c select c).ToList(); Application.DoEvents(); List <PCCSM.geo_pollution_p> polQCList = new List <PCCSM.geo_pollution_p>(); using (PCCSM.pccsmEntities dbQC = new PCCSM.pccsmEntities()) { polQCList = (from c in dbQC.geo_pollution_p where c.secteur == null && c.id_geo_pollution_p != 0 && (c.x != null && c.y != null) select c).ToList <PCCSM.geo_pollution_p>(); } int TotalCount = polQCList.Count(); int Count = 0; foreach (PCCSM.geo_pollution_p pqc in polQCList) { Count += 1; lblStatus.Text = (Count * 100 / TotalCount).ToString() + "... CreateSanitaryQC for sector " + pqc.secteur; Application.DoEvents(); TVItemService tvItemService = new TVItemService(LanguageEnum.en, user); PolSourceSiteService polSourceSiteService = new PolSourceSiteService(LanguageEnum.en, user); MapInfoService mapInfoService = new MapInfoService(LanguageEnum.en, user); PolSourceObservationService polSourceObservationService = new PolSourceObservationService(LanguageEnum.en, user); PolSourceObservationIssueService polSourceObservationIssueService = new PolSourceObservationIssueService(LanguageEnum.en, user); PolSourceSiteModel polSourceSiteModelNew = new PolSourceSiteModel(); string Code = tvItemService.CleanText(pqc.code.ToUpper()); List <PolSourceObsInfoEnum> polSourceObsInfoList = GetPolSourceType(Code.Trim(), "", "QC"); string ObservationInfo = (int)polSourceObsInfoList[0] + "," + (int)polSourceObsInfoList[1] + ","; polSourceSiteModelNew.IsPointSource = true; //if (pqc.status == "actif") //{ // polSourceSiteModelNew.IsActive = true; //} //else //{ // polSourceSiteModelNew.IsActive = false; //} polSourceSiteModelNew.InactiveReason = PolSourceInactiveReasonEnum.Error; polSourceSiteModelNew.Oldsiteid = pqc.id_geo_pollution_p; // Pollution Source Type string PolSourceSiteTVText = tvItemService.CleanText(Code + " ".Substring(0, 6 - pqc.id_geo_pollution_p.ToString().Length) + pqc.id_geo_pollution_p.ToString()); List <MapInfoModel> mapInfoModelListSubsector = mapInfoService.GetMapInfoModelWithLatAndLngInPolygonWithTVTypeDB((float)pqc.y, (float)pqc.x, TVTypeEnum.Subsector); int TempTVItemID = 0; if (mapInfoModelListSubsector.Count == 0) { float SmallestDistance = 100000000f; foreach (TVItemSubsectorAndCoordCentroid tvItemSubsectorAndCoordCentroid in TVItemSubsectorAndCoordCentroidList) { float TempDistance = (float)mapInfoService.CalculateDistance((double)pqc.y, (double)pqc.x, (double)tvItemSubsectorAndCoordCentroid.Lat, (double)tvItemSubsectorAndCoordCentroid.Lng, mapInfoService.R); if (SmallestDistance > TempDistance) { TempTVItemID = tvItemSubsectorAndCoordCentroid.TVItemID; SmallestDistance = TempDistance; } } } else { TempTVItemID = mapInfoModelListSubsector[0].TVItemID; } if (TempTVItemID == 0) { richTextBoxStatus.AppendText("TempTVItemID equal 0"); return(false); } TVItemModel tvItemModelPolSourceSite = tvItemService.GetChildTVItemModelWithTVItemIDAndTVTextStartWithAndTVTypeDB(TempTVItemID, PolSourceSiteTVText, TVTypeEnum.PolSourceSite); if (!CheckModelOK <TVItemModel>(tvItemModelPolSourceSite)) { tvItemModelPolSourceSite = tvItemService.PostCreateTVItem(TempTVItemID, PolSourceSiteTVText, PolSourceSiteTVText, TVTypeEnum.PolSourceSite); if (!CheckModelOK <TVItemModel>(tvItemModelPolSourceSite)) { return(false); } } ; List <Coord> coordList = new List <Coord>() { new Coord() { Lat = (float)pqc.y, Lng = (float)pqc.x, } }; MapInfoModel mapInfoModelRet = mapInfoService.CreateMapInfoObjectDB(coordList, MapInfoDrawTypeEnum.Point, TVTypeEnum.PolSourceSite, tvItemModelPolSourceSite.TVItemID); if (!CheckModelOK <MapInfoModel>(mapInfoModelRet)) { return(false); } polSourceSiteModelNew.PolSourceSiteTVItemID = tvItemModelPolSourceSite.TVItemID; polSourceSiteModelNew.PolSourceSiteTVText = PolSourceSiteTVText; PolSourceSiteModel polSourceSiteModelRet = polSourceSiteService.GetPolSourceSiteModelWithPolSourceSiteTVItemIDDB(tvItemModelPolSourceSite.TVItemID); if (!string.IsNullOrWhiteSpace(polSourceSiteModelRet.Error)) { polSourceSiteModelRet = polSourceSiteService.PostAddPolSourceSiteDB(polSourceSiteModelNew); if (!CheckModelOK <PolSourceSiteModel>(polSourceSiteModelRet)) { return(false); } } string TVTextObservation = tvItemService.CleanText(string.IsNullOrEmpty(pqc.description) ? "" : pqc.description);; PolSourceObservationModel polSourceObservationModelNew = new PolSourceObservationModel(); if (pqc.date_observation == null) { polSourceObservationModelNew.ObservationDate_Local = new DateTime(1970, 1, 1); } else { polSourceObservationModelNew.ObservationDate_Local = (DateTime)(pqc.date_observation.Value).AddHours(1); } string Observateur = ""; if (pqc.observateur != null) { if (pqc.observateur.Length > 98) { Observateur = pqc.observateur.Substring(0, 60); } else { Observateur = pqc.observateur; } } string TVText = "Inspector " + Observateur; TVText = (TVText.Length > 50 ? TVText.Substring(0, 50) : TVText); TVItemModel tvItemModelContact = tvItemService.GetChildTVItemModelWithTVItemIDAndTVTextStartWithAndTVTypeDB(tvItemModelRoot.TVItemID, TVText, TVTypeEnum.Contact); if (!string.IsNullOrWhiteSpace(tvItemModelContact.Error)) { tvItemModelContact = tvItemService.PostCreateTVItem(tvItemModelRoot.TVItemID, TVText, TVText, TVTypeEnum.Contact); if (!CheckModelOK <TVItemModel>(tvItemModelContact)) { return(false); } } polSourceObservationModelNew.ContactTVItemID = tvItemModelContact.TVItemID; polSourceObservationModelNew.Observation_ToBeDeleted = TVTextObservation; polSourceObservationModelNew.PolSourceSiteID = polSourceSiteModelRet.PolSourceSiteID; PolSourceObservationModel polSourceObservationModelRet = polSourceObservationService.GetPolSourceObservationModelExistDB(polSourceObservationModelNew); if (!string.IsNullOrWhiteSpace(polSourceObservationModelRet.Error)) { PolSourceObservationModel polSourceObservationModel = polSourceObservationService.PostAddPolSourceObservationDB(polSourceObservationModelNew); if (!CheckModelOK <PolSourceObservationModel>(polSourceObservationModel)) { return(false); } } PolSourceObservationIssueModel polSourceObservationIssueModelNew = new PolSourceObservationIssueModel() { PolSourceObservationID = polSourceObservationModelNew.PolSourceObservationID, ObservationInfo = ObservationInfo, PolSourceObsInfoList = polSourceObsInfoList, Ordinal = 0, }; PolSourceObservationIssueModel polSourceObservationIssueModelRet = polSourceObservationIssueService.GetPolSourceObservationIssueModelExistDB(polSourceObservationIssueModelNew); if (!string.IsNullOrWhiteSpace(polSourceObservationIssueModelRet.Error)) { polSourceObservationIssueModelRet = polSourceObservationIssueService.PostAddPolSourceObservationIssueDB(polSourceObservationIssueModelNew); if (!CheckModelOK <PolSourceObservationModel>(polSourceObservationModelRet)) { return(false); } } // do historic PolSourceObservation List <PCCSM.db_histo_operation> histoPolSourceList = new List <PCCSM.db_histo_operation>(); using (PCCSM.pccsmEntities dbQC = new PCCSM.pccsmEntities()) { histoPolSourceList = (from c in dbQC.geo_pollution_p from h in dbQC.db_histo_operation where c.id_geo_pollution_p == h.id_geo_pollution_p && c.id_geo_pollution_p == pqc.id_geo_pollution_p select h).ToList(); } foreach (PCCSM.db_histo_operation hist in histoPolSourceList) { Application.DoEvents(); PolSourceObservationModel polSourceObservationModelNew2 = new PolSourceObservationModel(); if (hist.date_operation == null) { polSourceObservationModelNew2.ObservationDate_Local = new DateTime(1970, 1, 1); } else { polSourceObservationModelNew2.ObservationDate_Local = (DateTime)hist.date_operation; } if (hist.auteur != null) { if (hist.auteur.Length > 98) { Observateur = hist.auteur.Substring(0, 60); } else { Observateur = hist.auteur; } } TVText = "Inspector " + Observateur; TVText = (TVText.Length > 50 ? TVText.Substring(0, 50) : TVText); TVItemModel tvItemModelContact2 = tvItemService.GetChildTVItemModelWithTVItemIDAndTVTextStartWithAndTVTypeDB(tvItemModelRoot.TVItemID, TVText, TVTypeEnum.Contact); if (!string.IsNullOrWhiteSpace(tvItemModelContact.Error)) { tvItemModelContact = tvItemService.PostCreateTVItem(tvItemModelRoot.TVItemID, TVText, TVText, TVTypeEnum.Contact); if (!CheckModelOK <TVItemModel>(tvItemModelContact)) { return(false); } } polSourceObservationModelNew2.ContactTVItemID = tvItemModelContact2.TVItemID; polSourceObservationModelNew2.Observation_ToBeDeleted = TVTextObservation; polSourceObservationModelNew2.PolSourceSiteID = polSourceSiteModelRet.PolSourceSiteID; PolSourceObservationModel polSourceObservationModelRet2 = polSourceObservationService.GetPolSourceObservationModelExistDB(polSourceObservationModelNew2); if (!string.IsNullOrWhiteSpace(polSourceObservationModelRet2.Error)) { polSourceObservationModelRet2 = polSourceObservationService.PostAddPolSourceObservationDB(polSourceObservationModelNew2); if (!CheckModelOK <PolSourceObservationModel>(polSourceObservationModelRet2)) { return(false); } } PolSourceObservationIssueModel polSourceObservationIssueModelNew2 = new PolSourceObservationIssueModel() { PolSourceObservationID = polSourceObservationModelNew2.PolSourceObservationID, ObservationInfo = ObservationInfo, PolSourceObsInfoList = polSourceObsInfoList, Ordinal = 0, }; PolSourceObservationIssueModel polSourceObservationIssueModelRet2 = polSourceObservationIssueService.GetPolSourceObservationIssueModelExistDB(polSourceObservationIssueModelNew2); if (!string.IsNullOrWhiteSpace(polSourceObservationIssueModelRet2.Error)) { polSourceObservationIssueModelRet2 = polSourceObservationIssueService.PostAddPolSourceObservationIssueDB(polSourceObservationIssueModelNew2); if (!CheckModelOK <PolSourceObservationModel>(polSourceObservationModelRet2)) { return(false); } } } } return(true); }
private bool GenerateHTMLSUBSECTOR_POLLUTION_SOURCE_SITES(StringBuilder sbTemp) { int Percent = 10; string NotUsed = ""; LanguageEnum language = _TaskRunnerBaseService._BWObj.appTaskModel.Language; _TaskRunnerBaseService.SendPercentToDB(_TaskRunnerBaseService._BWObj.appTaskModel.AppTaskID, Percent); _TaskRunnerBaseService.SendStatusTextToDB(_TaskRunnerBaseService.GetTextLanguageFormat1List("Creating_", ReportGenerateObjectsKeywordEnum.SUBSECTOR_POLLUTION_SOURCE_SITES.ToString())); //sbTemp.AppendLine("<h2>SUBSECTOR_POLLUTION_SOURCE_SITES - Not implemented</h2>"); List <string> ParamValueList = Parameters.Split("|||".ToCharArray(), StringSplitOptions.RemoveEmptyEntries).ToList(); // TVItemID and Year already loaded TVItemModel tvItemModelSubsector = _TVItemService.GetTVItemModelWithTVItemIDDB(TVItemID); if (!string.IsNullOrWhiteSpace(tvItemModelSubsector.Error)) { NotUsed = string.Format(TaskRunnerServiceRes.CouldNotFind_With_Equal_, TaskRunnerServiceRes.TVItem, TaskRunnerServiceRes.TVItemID, TVItemID.ToString()); _TaskRunnerBaseService._BWObj.TextLanguageList = _TaskRunnerBaseService.GetTextLanguageFormat3List("CouldNotFind_With_Equal_", TaskRunnerServiceRes.TVItem, TaskRunnerServiceRes.TVItemID, TVItemID.ToString()); return(false); } string ServerPath = _TVFileService.GetServerFilePath(tvItemModelSubsector.TVItemID); _TaskRunnerBaseService.SendPercentToDB(_TaskRunnerBaseService._BWObj.appTaskModel.AppTaskID, 5); List <TVItemModel> tvItemModelListPolSourceSite = _TVItemService.GetChildrenTVItemModelListWithTVItemIDAndTVTypeDB(tvItemModelSubsector.TVItemID, TVTypeEnum.PolSourceSite); List <PolSourceSiteModel> polSourceSiteModelList = _PolSourceSiteService.GetPolSourceSiteModelListWithSubsectorTVItemIDDB(TVItemID).OrderBy(c => c.Site).ToList(); List <PolSourceObservationModel> polSourceObservationModelList = _PolSourceObservationService.GetPolSourceObservationModelListWithSubsectorTVItemIDDB(TVItemID); List <PolSourceObservationIssueModel> polSourceObservationIssueModelList = _PolSourceObservationIssueService.GetPolSourceObservationIssueModelListWithSubsectorTVItemIDDB(TVItemID); List <int> TVItemIDPolSourceSiteActiveList = tvItemModelListPolSourceSite.Where(c => c.IsActive == true).Select(c => c.TVItemID).ToList(); List <int> TVItemIDPolSourceSiteInactiveList = tvItemModelListPolSourceSite.Where(c => c.IsActive == false).Select(c => c.TVItemID).ToList(); List <int> TVItemIDCivicAddressList = polSourceSiteModelList.Where(c => c.CivicAddressTVItemID != null && c.CivicAddressTVItemID != 0).Where(c => c != null).Select(c => (int)c.CivicAddressTVItemID).ToList(); List <int> TVItemIDContactList = polSourceObservationModelList.Select(c => c.ContactTVItemID).ToList(); List <Address> addressList = new List <Address>(); List <MapInfo> mapInfoActiveList = new List <MapInfo>(); List <MapInfo> mapInfoInactiveList = new List <MapInfo>(); List <MapInfoPoint> mapInfoPointActiveList = new List <MapInfoPoint>(); List <MapInfoPoint> mapInfoPointInactiveList = new List <MapInfoPoint>(); List <TVItemLanguage> countryList = new List <TVItemLanguage>(); List <TVItemLanguage> provinceList = new List <TVItemLanguage>(); List <TVItemLanguage> municipalityList = new List <TVItemLanguage>(); List <TVItemLanguage> contactList = new List <TVItemLanguage>(); using (CSSPDBEntities db2 = new CSSPDBEntities()) { addressList = (from c in db2.Addresses from a in TVItemIDCivicAddressList where c.AddressTVItemID == a select c).ToList(); List <int> countryTVItemIDList = addressList.Select(c => c.CountryTVItemID).ToList(); List <int> provinceTVItemIDList = addressList.Select(c => c.ProvinceTVItemID).ToList(); List <int> municipalityTVItemIDList = addressList.Select(c => c.MunicipalityTVItemID).ToList(); countryList = (from c in db2.TVItemLanguages from a in countryTVItemIDList where c.TVItemID == a && c.Language == (int)language select c).ToList(); provinceList = (from c in db2.TVItemLanguages from a in provinceTVItemIDList where c.TVItemID == a && c.Language == (int)language select c).ToList(); municipalityList = (from c in db2.TVItemLanguages from a in municipalityTVItemIDList where c.TVItemID == a && c.Language == (int)language select c).ToList(); contactList = (from c in db2.TVItemLanguages from a in TVItemIDContactList where c.TVItemID == a && c.Language == (int)language select c).ToList(); mapInfoActiveList = (from c in db2.MapInfos from a in TVItemIDPolSourceSiteActiveList where c.TVItemID == a select c).ToList(); mapInfoInactiveList = (from c in db2.MapInfos from a in TVItemIDPolSourceSiteInactiveList where c.TVItemID == a select c).ToList(); List <int> mapInfoIDActiveList = mapInfoActiveList.Select(c => c.MapInfoID).ToList(); mapInfoPointActiveList = (from c in db2.MapInfoPoints from a in mapInfoIDActiveList where c.MapInfoID == a select c).ToList(); List <int> mapInfoIDInactiveList = mapInfoInactiveList.Select(c => c.MapInfoID).ToList(); mapInfoPointInactiveList = (from c in db2.MapInfoPoints from a in mapInfoIDInactiveList where c.MapInfoID == a select c).ToList(); } _TaskRunnerBaseService.SendPercentToDB(_TaskRunnerBaseService._BWObj.appTaskModel.AppTaskID, 10); //sbTemp.AppendLine(@"<p>|||PAGE_BREAK|||</p>"); //sbTemp.AppendLine(""); //sbTemp.AppendLine($@"<h1 style=""text-align: center"">{ tvItemModelSubsector.TVText }</h1>"); //sbTemp.AppendLine($@"<h2 style=""text-align: center"">{ TaskRunnerServiceRes.ActivePollutionSourceSites }</h2>"); foreach (TVItemModel tvItemModelPSSActive in tvItemModelListPolSourceSite.Where(c => c.IsActive == true)) { PolSourceSiteModel polSourceSiteModel = polSourceSiteModelList.Where(c => c.PolSourceSiteTVItemID == tvItemModelPSSActive.TVItemID).FirstOrDefault(); if (polSourceSiteModel != null) { sbTemp.AppendLine($@"<div>"); sbTemp.AppendLine($@"<p>"); sbTemp.AppendLine($@"<strong>{ TaskRunnerServiceRes.Site }</strong>: { polSourceSiteModel.Site } "); MapInfo mapInfo = mapInfoActiveList.Where(c => c.TVItemID == tvItemModelPSSActive.TVItemID).FirstOrDefault(); if (mapInfo != null) { List <MapInfoPoint> mapInfoPointListCurrent = mapInfoPointActiveList.Where(c => c.MapInfoID == mapInfo.MapInfoID).ToList(); if (mapInfoPointListCurrent.Count > 0) { sbTemp.AppendLine($@"<span><strong>{ TaskRunnerServiceRes.Lat } { TaskRunnerServiceRes.Long }</strong>: { mapInfoPointListCurrent[0].Lat.ToString("F5") } { mapInfoPointListCurrent[0].Lng.ToString("F5") }</span>"); } } else { sbTemp.AppendLine($@"<span><strong>{ TaskRunnerServiceRes.Lat } { TaskRunnerServiceRes.Long }</strong>: --- ---</span>"); } sbTemp.AppendLine($@"</p>"); if (polSourceSiteModel.CivicAddressTVItemID != null) { if (polSourceSiteModel.CivicAddressTVItemID != 0) { Address address = addressList.Where(c => c.AddressTVItemID == ((int)polSourceSiteModel.CivicAddressTVItemID)).FirstOrDefault(); if (address != null) { sbTemp.AppendLine($@"<p>"); if (_TaskRunnerBaseService._BWObj.appTaskModel.Language == LanguageEnum.fr) { string CountryText = countryList.Where(c => c.TVItemID == address.CountryTVItemID).Select(c => c.TVText).FirstOrDefault(); string ProvinceText = provinceList.Where(c => c.TVItemID == address.ProvinceTVItemID).Select(c => c.TVText).FirstOrDefault(); string MunicipalityText = municipalityList.Where(c => c.TVItemID == address.MunicipalityTVItemID).Select(c => c.TVText).FirstOrDefault(); string StreetTypeText = _BaseEnumService.GetEnumText_StreetTypeEnum((StreetTypeEnum)address.StreetType); string AddressText = $" { address.StreetNumber} { address.StreetName } { StreetTypeText }, { MunicipalityText }, { ProvinceText }, { CountryText }"; sbTemp.AppendLine($@"<strong>{ TaskRunnerServiceRes.CivicAddress }</strong>: { AddressText }"); } else { string CountryText = countryList.Where(c => c.TVItemID == address.CountryTVItemID).Select(c => c.TVText).FirstOrDefault(); string ProvinceText = provinceList.Where(c => c.TVItemID == address.ProvinceTVItemID).Select(c => c.TVText).FirstOrDefault(); string MunicipalityText = municipalityList.Where(c => c.TVItemID == address.MunicipalityTVItemID).Select(c => c.TVText).FirstOrDefault(); string StreetTypeText = _BaseEnumService.GetEnumText_StreetTypeEnum((StreetTypeEnum)address.StreetType); string AddressText = $" { address.StreetNumber}, { StreetTypeText } { address.StreetName }, { MunicipalityText }, { ProvinceText }, { CountryText }"; sbTemp.AppendLine($@"<strong>{ TaskRunnerServiceRes.CivicAddress }</strong>: { AddressText }"); } sbTemp.AppendLine($@"</p>"); } } } PolSourceObservationModel polSourceObservationModel = polSourceObservationModelList.Where(c => c.PolSourceSiteID == polSourceSiteModel.PolSourceSiteID).OrderByDescending(c => c.ObservationDate_Local).FirstOrDefault(); if (polSourceObservationModel != null) { sbTemp.AppendLine($@"<p>"); string ContactObsText = contactList.Where(c => c.TVItemID == polSourceObservationModel.ContactTVItemID).Select(c => c.TVText).FirstOrDefault(); sbTemp.AppendLine($@"<strong>{ TaskRunnerServiceRes.LastObservationDate }</strong>: { polSourceObservationModel.ObservationDate_Local.ToString("yyyy MMMM dd") } <strong>{ TaskRunnerServiceRes.by }</strong>: { ContactObsText }"); sbTemp.AppendLine($@"</p>"); int IssueNumber = 0; foreach (PolSourceObservationIssueModel polSourceObservationIssueModel in polSourceObservationIssueModelList.Where(c => c.PolSourceObservationID == polSourceObservationModel.PolSourceObservationID).OrderBy(c => c.Ordinal).ToList()) { IssueNumber += 1; string TVText = ""; sbTemp.AppendLine($@"<p><strong>{ TaskRunnerServiceRes.Issue }</strong>: { IssueNumber }</p>"); sbTemp.AppendLine($@"<blockquote>"); List <string> ObservationInfoList = (string.IsNullOrWhiteSpace(polSourceObservationIssueModel.ObservationInfo) ? new List <string>() : polSourceObservationIssueModel.ObservationInfo.Trim().Split(",".ToCharArray(), StringSplitOptions.RemoveEmptyEntries).ToList()); for (int i = 0, countObs = ObservationInfoList.Count; i < countObs; i++) { string Temp = _BaseEnumService.GetEnumText_PolSourceObsInfoReportEnum((PolSourceObsInfoEnum)int.Parse(ObservationInfoList[i])); switch (ObservationInfoList[i].Substring(0, 3)) { case "101": { Temp = Temp.Replace("Source", "<br /><strong>Source</strong>"); } break; //case "153": // { // Temp = Temp.Replace("Dilution Analyses", " Dilution Analyses"); // } // break; case "250": { Temp = Temp.Replace("Pathway", "<br /><strong>Pathway</strong>"); } break; case "900": { Temp = Temp.Replace("Status", "<br /><strong>Status</strong>"); } break; case "910": { Temp = Temp.Replace("Risk", "<br /><strong>Risk</strong>"); } break; case "110": case "120": case "122": case "151": case "152": case "153": case "155": case "156": case "157": case "163": case "166": case "167": case "170": case "171": case "172": case "173": case "176": case "178": case "181": case "182": case "183": case "185": case "186": case "187": case "190": case "191": case "192": case "193": case "194": case "196": case "198": case "199": case "220": case "930": { //Temp = @"<span class=""hidden"">" + Temp + "</span>"; } break; default: break; } TVText = TVText + Temp; } sbTemp.AppendLine($@"{ TVText }"); if (polSourceObservationIssueModel.ExtraComment != null) { if (polSourceObservationIssueModel.ExtraComment.Length > 0) { sbTemp.AppendLine($@"<p><strong>{ TaskRunnerServiceRes.ExtraComment }</strong></p>"); sbTemp.AppendLine($@"<p>"); sbTemp.AppendLine($@"{ polSourceObservationIssueModel.ExtraComment }"); sbTemp.AppendLine($@"</p>"); } } sbTemp.AppendLine($@"</blockquote>"); } } sbTemp.AppendLine($@"</div>"); sbTemp.AppendLine($@"<hr />"); } } Percent = 98; _TaskRunnerBaseService.SendPercentToDB(_TaskRunnerBaseService._BWObj.appTaskModel.AppTaskID, Percent); return(true); }
// Helper public string CreateTVText(PolSourceSiteModel polSourceSiteModel) { return(polSourceSiteModel.PolSourceSiteTVText); }