private void GenerateMunicipalityDocument(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 = ""; TVItemService tvItemService = new TVItemService(_TaskRunnerBaseService._BWObj.appTaskModel.Language, _TaskRunnerBaseService._User); TVItemStatService tvItemStatService = new TVItemStatService(_TaskRunnerBaseService._BWObj.appTaskModel.Language, _TaskRunnerBaseService._User); TVItemModel tvItemModelMunicipality = tvItemService.GetTVItemModelWithTVItemIDDB(_TaskRunnerBaseService._BWObj.appTaskModel.TVItemID); if (!string.IsNullOrWhiteSpace(tvItemModelMunicipality.Error)) { paragraph = DocxBase.AddParagraph(body); DocxBase.AddRunWithCurrentParagraphStyle(paragraph, tvItemModelMunicipality.Error); } //tvItemStatService.SetTVItemStatForTVItemIDAndParentsTVItemID(tvItemModelMunicipality.TVItemID); DocxBase.CurrentParagraphStyle = ParagraphStyleEnum.Heading1; DocxBase.CurrentJustificationValue = JustificationValues.Center; paragraph = DocxBase.AddParagraph(body); URL = _TaskRunnerBaseService.GetUrlFromTVItem(tvItemModelMunicipality); run = DocxBase.AddRunHyperlink(paragraph, URL, tvItemModelMunicipality.TVText); List <TVItemModel> tvItemModelInfrastructureList = tvItemService.GetChildrenTVItemModelListWithTVItemIDAndTVTypeDB(tvItemModelMunicipality.TVItemID, TVTypeEnum.Infrastructure); foreach (TVItemModel tvItemModelInfrastructure in tvItemModelInfrastructureList) { DocxBase.CurrentParagraphStyle = ParagraphStyleEnum.Heading2; paragraph = DocxBase.AddParagraph(body); URL = _TaskRunnerBaseService.GetUrlFromTVItem(tvItemModelInfrastructure); run = DocxBase.AddRunHyperlink(paragraph, URL, tvItemModelInfrastructure.TVText); } DocxBase.CurrentParagraphStyle = ParagraphStyleEnum.Normal; DocxBase.CurrentJustificationValue = JustificationValues.Left; paragraph = DocxBase.AddParagraph(body); paragraph = DocxBase.AddParagraph(body); DocxBase.AddRunWithCurrentParagraphStyle(paragraph, "Etc ... "); DocxBase.AddSectionProp(body); document.Append(body); }
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 void Generate(FileInfo fi) { TVItemService tvItemService = new TVItemService(_TaskRunnerBaseService._BWObj.appTaskModel.Language, _TaskRunnerBaseService._User); MapInfoService mapInfoService = new MapInfoService(_TaskRunnerBaseService._BWObj.appTaskModel.Language, _TaskRunnerBaseService._User); if (_TaskRunnerBaseService._BWObj.appTaskModel.Language == "fr") { Thread.CurrentThread.CurrentCulture = new CultureInfo("fr-CA"); Thread.CurrentThread.CurrentUICulture = new CultureInfo("fr-CA"); } else { Thread.CurrentThread.CurrentCulture = new CultureInfo("en-CA"); Thread.CurrentThread.CurrentUICulture = new CultureInfo("en-CA"); } TVFileService tvFileService = new TVFileService(_TaskRunnerBaseService._BWObj.appTaskModel.Language, _TaskRunnerBaseService._User); string ServerFilePath = tvFileService.GetServerFilePath(_TaskRunnerBaseService._BWObj.appTaskModel.TVItemID); DirectoryInfo di = new DirectoryInfo(ServerFilePath); if (!di.Exists) { di.Create(); } if (fi.Exists) { fi.Delete(); } StringBuilder sbKMZ = new StringBuilder(); sbKMZ.AppendLine(@"<?xml version=""1.0"" encoding=""UTF-8""?>"); sbKMZ.AppendLine(@"<kml xmlns=""http://www.opengis.net/kml/2.2"" xmlns:gx=""http://www.google.com/kml/ext/2.2"" xmlns:kml=""http://www.opengis.net/kml/2.2"" xmlns:atom=""http://www.w3.org/2005/Atom"">"); sbKMZ.AppendLine(@"<Document>"); sbKMZ.AppendLine(@" <name>" + _TaskRunnerBaseService.generateDocParams.FileName + "</name>"); sbKMZ.AppendLine(@" <StyleMap id=""msn_ylw-pushpin"">"); sbKMZ.AppendLine(@" <Pair>"); sbKMZ.AppendLine(@" <key>normal</key>"); sbKMZ.AppendLine(@" <styleUrl>#sn_ylw-pushpin</styleUrl>"); sbKMZ.AppendLine(@" </Pair>"); sbKMZ.AppendLine(@" <Pair>"); sbKMZ.AppendLine(@" <key>highlight</key>"); sbKMZ.AppendLine(@" <styleUrl>#sh_ylw-pushpin</styleUrl>"); sbKMZ.AppendLine(@" </Pair>"); sbKMZ.AppendLine(@" </StyleMap>"); sbKMZ.AppendLine(@" <Style id=""sh_ylw-pushpin"">"); sbKMZ.AppendLine(@" <IconStyle>"); sbKMZ.AppendLine(@" <scale>1.2</scale>"); sbKMZ.AppendLine(@" </IconStyle>"); sbKMZ.AppendLine(@" <LineStyle>"); sbKMZ.AppendLine(@" <color>ff00ff00</color>"); sbKMZ.AppendLine(@" <width>1.5</width>"); sbKMZ.AppendLine(@" </LineStyle>"); sbKMZ.AppendLine(@" <PolyStyle>"); sbKMZ.AppendLine(@" <color>0000ff00</color>"); sbKMZ.AppendLine(@" </PolyStyle>"); sbKMZ.AppendLine(@" </Style>"); sbKMZ.AppendLine(@" <Style id=""sn_ylw-pushpin"">"); sbKMZ.AppendLine(@" <LineStyle>"); sbKMZ.AppendLine(@" <color>ff00ff00</color>"); sbKMZ.AppendLine(@" <width>1.5</width>"); sbKMZ.AppendLine(@" </LineStyle>"); sbKMZ.AppendLine(@" <PolyStyle>"); sbKMZ.AppendLine(@" <color>0000ff00</color>"); sbKMZ.AppendLine(@" </PolyStyle>"); sbKMZ.AppendLine(@" </Style>"); TVItemModel tvItemModelProvince = tvItemService.GetTVItemModelWithTVItemIDDB(_TaskRunnerBaseService._BWObj.appTaskModel.TVItemID); List <MapInfoPointModel> mapInfoPointModelList = mapInfoService._MapInfoPointService.GetMapInfoPointModelListWithTVItemIDAndTVTypeAndMapInfoDrawTypeDB(tvItemModelProvince.TVItemID, TVTypeEnum.Province, MapInfoDrawTypeEnum.Point); sbKMZ.AppendLine(@" <Folder>"); sbKMZ.AppendLine(@" <name>Province</name>"); // Doing Point sbKMZ.AppendLine(@" <Placemark>"); sbKMZ.AppendLine(@" <name>" + tvItemModelProvince.TVText + "</name>"); sbKMZ.AppendLine(@"<styleUrl>#msn_ylw-pushpin</styleUrl>"); //sbKMZ.AppendLine(@" <description>"); //sbKMZ.AppendLine(@"<![CDATA["); //sbKMZ.AppendLine(@"<a href=""" + _TaskRunnerBaseService.GetUrlFromTVItem(tvItemModelRoot) + @""">" + tvItemModelRoot.TVText + "</a>"); //sbKMZ.AppendLine(@"]]>"); //sbKMZ.AppendLine(@" </description>"); sbKMZ.AppendLine(@" <Point>"); sbKMZ.AppendLine(@" <coordinates>"+ mapInfoPointModelList[0].Lng + "," + mapInfoPointModelList[0].Lat + ",0</coordinates>"); sbKMZ.AppendLine(@" </Point>"); sbKMZ.AppendLine(@" </Placemark>"); // Doing Polygon sbKMZ.AppendLine(@" <Placemark>"); sbKMZ.AppendLine(@" <name>"+ tvItemModelProvince.TVText + " (poly)</name>"); sbKMZ.AppendLine(@"<styleUrl>#msn_ylw-pushpin</styleUrl>"); //sbKMZ.AppendLine(@" <description>"); //sbKMZ.AppendLine(@"<![CDATA["); //sbKMZ.AppendLine(@"<a href=""" + _TaskRunnerBaseService.GetUrlFromTVItem(tvItemModelRoot) + @""">" + tvItemModelRoot.TVText + "</a>"); //sbKMZ.AppendLine(@"]]>"); //sbKMZ.AppendLine(@" </description>"); sbKMZ.AppendLine(@" <Polygon>"); sbKMZ.AppendLine(@" <outerBoundaryIs>"); sbKMZ.AppendLine(@" <LinearRing>"); sbKMZ.AppendLine(@" <coordinates>"); sbKMZ.AppendLine(@" "+ (mapInfoPointModelList[0].Lng - 0.1) + "," + (mapInfoPointModelList[0].Lat - 0.1) + ",0"); sbKMZ.AppendLine(@" "+ (mapInfoPointModelList[0].Lng + 0.1) + "," + (mapInfoPointModelList[0].Lat - 0.1) + ",0"); sbKMZ.AppendLine(@" "+ (mapInfoPointModelList[0].Lng + 0.1) + "," + (mapInfoPointModelList[0].Lat + 0.1) + ",0"); sbKMZ.AppendLine(@" "+ (mapInfoPointModelList[0].Lng - 0.1) + "," + (mapInfoPointModelList[0].Lat + 0.1) + ",0"); sbKMZ.AppendLine(@" "+ (mapInfoPointModelList[0].Lng - 0.1) + "," + (mapInfoPointModelList[0].Lat - 0.1) + ",0"); sbKMZ.AppendLine(@" </coordinates>"); sbKMZ.AppendLine(@" </LinearRing>"); sbKMZ.AppendLine(@" </outerBoundaryIs>"); sbKMZ.AppendLine(@" </Polygon>"); sbKMZ.AppendLine(@" </Placemark>"); sbKMZ.AppendLine(@" <Folder>"); sbKMZ.AppendLine(@" <name>Areas</name>"); List <TVItemModel> tvItemModelAreaList = tvItemService.GetChildrenTVItemModelListWithTVItemIDAndTVTypeDB(tvItemModelProvince.TVItemID, TVTypeEnum.Area); foreach (TVItemModel tvItemModelArea in tvItemModelAreaList) { // Doing point sbKMZ.AppendLine(@" <Placemark>"); sbKMZ.AppendLine(@" <name>" + tvItemModelArea.TVText + "</name>"); sbKMZ.AppendLine(@"<styleUrl>#msn_ylw-pushpin</styleUrl>"); //sbKMZ.AppendLine(@" <description>"); //sbKMZ.AppendLine(@"<![CDATA["); //sbKMZ.AppendLine(@"<a href=""" + _TaskRunnerBaseService.GetUrlFromTVItem(tvItemModelCountry) + @""">" + tvItemModelCountry.TVText + "</a>"); //sbKMZ.AppendLine(@"]]>"); //sbKMZ.AppendLine(@" </description>"); mapInfoPointModelList = mapInfoService._MapInfoPointService.GetMapInfoPointModelListWithTVItemIDAndTVTypeAndMapInfoDrawTypeDB(tvItemModelArea.TVItemID, TVTypeEnum.Area, MapInfoDrawTypeEnum.Point); sbKMZ.AppendLine(@" <Point>"); sbKMZ.AppendLine(@" <coordinates>"+ mapInfoPointModelList[0].Lng + "," + mapInfoPointModelList[0].Lat + ",0</coordinates>"); sbKMZ.AppendLine(@" </Point>"); sbKMZ.AppendLine(@" </Placemark>"); // Doing Polygon sbKMZ.AppendLine(@" <Placemark>"); sbKMZ.AppendLine(@" <name>"+ tvItemModelArea.TVText + " (poly)</name>"); sbKMZ.AppendLine(@"<styleUrl>#msn_ylw-pushpin</styleUrl>"); //sbKMZ.AppendLine(@" <description>"); //sbKMZ.AppendLine(@"<![CDATA["); //sbKMZ.AppendLine(@"<a href=""" + _TaskRunnerBaseService.GetUrlFromTVItem(tvItemModelCountry) + @""">" + tvItemModelCountry.TVText + "</a>"); //sbKMZ.AppendLine(@"]]>"); //sbKMZ.AppendLine(@" </description>"); sbKMZ.AppendLine(@" <Polygon>"); sbKMZ.AppendLine(@" <outerBoundaryIs>"); sbKMZ.AppendLine(@" <LinearRing>"); sbKMZ.AppendLine(@" <coordinates>"); mapInfoPointModelList = mapInfoService._MapInfoPointService.GetMapInfoPointModelListWithTVItemIDAndTVTypeAndMapInfoDrawTypeDB(tvItemModelArea.TVItemID, TVTypeEnum.Area, MapInfoDrawTypeEnum.Polygon); foreach (MapInfoPointModel mapInfoPointModel in mapInfoPointModelList) { sbKMZ.AppendLine(mapInfoPointModel.Lng + "," + mapInfoPointModel.Lat + ",0 "); } sbKMZ.AppendLine(@" </coordinates>"); sbKMZ.AppendLine(@" </LinearRing>"); sbKMZ.AppendLine(@" </outerBoundaryIs>"); sbKMZ.AppendLine(@" </Polygon>"); sbKMZ.AppendLine(@" </Placemark>"); } sbKMZ.AppendLine(@" </Folder>"); sbKMZ.AppendLine(@" </Folder>"); sbKMZ.AppendLine(@"</Document>"); sbKMZ.AppendLine(@"</kml>"); StreamWriter sw = fi.CreateText(); sw.Write(sbKMZ.ToString()); sw.Close(); }
public void Generate(FileInfo fi) { if (_TaskRunnerBaseService._BWObj.appTaskModel.Language == "fr") { Thread.CurrentThread.CurrentCulture = new CultureInfo("fr-CA"); Thread.CurrentThread.CurrentUICulture = new CultureInfo("fr-CA"); } else { Thread.CurrentThread.CurrentCulture = new CultureInfo("en-CA"); Thread.CurrentThread.CurrentUICulture = new CultureInfo("en-CA"); } TVFileService tvFileService = new TVFileService(_TaskRunnerBaseService._BWObj.appTaskModel.Language, _TaskRunnerBaseService._User); string ServerFilePath = tvFileService.GetServerFilePath(_TaskRunnerBaseService._BWObj.appTaskModel.TVItemID); DirectoryInfo di = new DirectoryInfo(ServerFilePath); if (!di.Exists) { di.Create(); } if (fi.Exists) { fi.Delete(); } StringBuilder sbHTML = new StringBuilder(); TVItemService tvItemService = new TVItemService(_TaskRunnerBaseService._BWObj.appTaskModel.Language, _TaskRunnerBaseService._User); TVItemModel tvItemModelSector = tvItemService.GetTVItemModelWithTVItemIDDB(_TaskRunnerBaseService._BWObj.appTaskModel.TVItemID); sbHTML.AppendLine(@"<!DOCTYPE html>"); sbHTML.AppendLine(@"<html xmlns=""http://www.w3.org/1999/xhtml"">"); sbHTML.AppendLine(@"<head>"); sbHTML.AppendLine(@"<meta charset=""utf-8"">"); sbHTML.AppendLine(@"<meta http-equiv=""X-UA-Compatible"" content=""IE=edge"">"); sbHTML.AppendLine(@"<title>"); sbHTML.AppendLine(tvItemModelSector.TVText); sbHTML.AppendLine(@"</title>"); sbHTML.AppendLine(@"</head>"); sbHTML.AppendLine(@"<body>"); List <TVItemModel> tvItemModelSubsectorList = tvItemService.GetChildrenTVItemModelListWithTVItemIDAndTVTypeDB(tvItemModelSector.TVItemID, TVTypeEnum.Subsector); sbHTML.AppendLine(@"<ul>"); foreach (TVItemModel tvItemModelSubsector in tvItemModelSubsectorList) { sbHTML.AppendLine(@"<li>"); sbHTML.AppendLine(@"" + tvItemModelSubsector.TVText + ""); sbHTML.AppendLine(@"</li>"); } sbHTML.AppendLine(@"</ul>"); sbHTML.AppendLine(@"</body>"); sbHTML.AppendLine(@"</html>"); StreamWriter sw = fi.CreateText(); sw.Write(sbHTML.ToString()); sw.Close(); }
private void GenerateWorksheetAContent(WorksheetPart worksheetPart, int SheetOrdinal) { MergeCells mergeCells = new MergeCells(); Row row = new Row(); Cell cell = new Cell(); Hyperlinks hyperlinks = new Hyperlinks(); string Id = XlsxBase.sheetNameAndIDList[SheetOrdinal].SheetID; XlsxBase.CurrentColumn = 0; XlsxBase.CurrentRow = 0; XlsxBase.CurrentColumnProp = 0; Worksheet worksheet = new Worksheet() { MCAttributes = new MarkupCompatibilityAttributes() { Ignorable = "x14ac" } }; worksheet.AddNamespaceDeclaration("r", "http://schemas.openxmlformats.org/officeDocument/2006/relationships"); worksheet.AddNamespaceDeclaration("mc", "http://schemas.openxmlformats.org/markup-compatibility/2006"); worksheet.AddNamespaceDeclaration("x14ac", "http://schemas.microsoft.com/office/spreadsheetml/2009/9/ac"); SheetViews sheetViews = new SheetViews(); SheetView sheetView = new SheetView() { TabSelected = true, WorkbookViewId = (UInt32Value)0U }; Selection selection = new Selection() { ActiveCell = "A1", SequenceOfReferences = new ListValue <StringValue>() { InnerText = "A1" } }; sheetView.Append(selection); sheetViews.Append(sheetView); SheetFormatProperties sheetFormatProperties = new SheetFormatProperties() { DefaultRowHeight = 15D, DyDescent = 0.25D }; Columns columns = new Columns(); List <double?> columnWidthList = new List <double?>() { 20D, 20D, 20D }; foreach (double?width in columnWidthList) { Column colum = XlsxBase.AddColumnProp(columns, width); } SheetData sheetData = new SheetData(); MapInfoService mapInfoService = new MapInfoService(_TaskRunnerBaseService._BWObj.appTaskModel.Language, _TaskRunnerBaseService._User); MWQMPlanService mwqmPlanService = new MWQMPlanService(_TaskRunnerBaseService._BWObj.appTaskModel.Language, _TaskRunnerBaseService._User); MWQMPlanSubsectorService mwqmPlanSubsectorService = new MWQMPlanSubsectorService(_TaskRunnerBaseService._BWObj.appTaskModel.Language, _TaskRunnerBaseService._User); MWQMPlanSubsectorSiteService mwqmPlanSubsectorSiteService = new MWQMPlanSubsectorSiteService(_TaskRunnerBaseService._BWObj.appTaskModel.Language, _TaskRunnerBaseService._User); TVItemService tvItemService = new TVItemService(_TaskRunnerBaseService._BWObj.appTaskModel.Language, _TaskRunnerBaseService._User); MWQMPlanModel mwqmPlanModel = mwqmPlanService.GetMWQMPlanModelWithMWQMPlanIDDB(_TaskRunnerBaseService._BWObj.MWQMPlanID); XlsxBase.CurrentRowHeight = 18D; XlsxBase.CurrentFontSize = 16; XlsxBase.CurrentHorizontalAlignmentValue = HorizontalAlignmentValues.Center; if (!string.IsNullOrWhiteSpace(mwqmPlanModel.Error)) { // Config File Name row = XlsxBase.AddRow(); XlsxBase.CurrentFontColor = null; cell = XlsxBase.AddCellString(row, XslxServiceMWQMPlanRes.Error + " [" + mwqmPlanModel.Error + "]"); sheetData.Append(row); } else { XlsxBase.CurrentHorizontalAlignmentValue = HorizontalAlignmentValues.Center; // Province and Year string Province = tvItemService.GetTVItemModelWithTVItemIDDB(mwqmPlanModel.ProvinceTVItemID).TVText; row = XlsxBase.AddRow(); XlsxBase.CurrentFontColor = null; cell = XlsxBase.AddCellString(row, Province + " (" + mwqmPlanModel.Year.ToString() + ")"); cell = XlsxBase.AddCellString(row, ""); cell = XlsxBase.AddCellString(row, ""); sheetData.Append(row); MergeCell mergeCell = new MergeCell() { Reference = "A" + XlsxBase.CurrentRow.ToString() + ":C" + XlsxBase.CurrentRow.ToString() }; mergeCells.Append(mergeCell); // Config File Name row = XlsxBase.AddRow(); XlsxBase.CurrentFontColor = null; cell = XlsxBase.AddCellString(row, XslxServiceMWQMPlanRes.FileName + " (config_" + mwqmPlanModel.ConfigFileName + ".txt)"); cell = XlsxBase.AddCellString(row, ""); cell = XlsxBase.AddCellString(row, ""); sheetData.Append(row); mergeCell = new MergeCell() { Reference = "A" + XlsxBase.CurrentRow.ToString() + ":C" + XlsxBase.CurrentRow.ToString() }; mergeCells.Append(mergeCell); // For Group Name row = XlsxBase.AddRow(); XlsxBase.CurrentFontColor = null; cell = XlsxBase.AddCellString(row, XslxServiceMWQMPlanRes.For + " (" + mwqmPlanModel.ForGroupName + ")"); cell = XlsxBase.AddCellString(row, ""); cell = XlsxBase.AddCellString(row, ""); sheetData.Append(row); mergeCell = new MergeCell() { Reference = "A" + XlsxBase.CurrentRow.ToString() + ":C" + XlsxBase.CurrentRow.ToString() }; mergeCells.Append(mergeCell); row = XlsxBase.AddRow(); sheetData.Append(row); List <MWQMPlanSubsectorModel> mwqmPlanSubsectorModelList = mwqmPlanSubsectorService.GetMWQMPlanSubsectorModelListWithMWQMPlanIDDB(mwqmPlanModel.MWQMPlanID); foreach (MWQMPlanSubsectorModel mwqmPlanSubsectorModel in mwqmPlanSubsectorModelList) { XlsxBase.CurrentRowHeight = 18D; XlsxBase.CurrentFontSize = 16; XlsxBase.CurrentHorizontalAlignmentValue = HorizontalAlignmentValues.Center; row = XlsxBase.AddRow(); string Subsector = tvItemService.GetTVItemModelWithTVItemIDDB(mwqmPlanSubsectorModel.SubsectorTVItemID).TVText; XlsxBase.CurrentFontColor = null; cell = XlsxBase.AddCellString(row, Subsector); cell = XlsxBase.AddCellString(row, ""); cell = XlsxBase.AddCellString(row, ""); sheetData.Append(row); mergeCell = new MergeCell() { Reference = "A" + XlsxBase.CurrentRow.ToString() + ":C" + XlsxBase.CurrentRow.ToString() }; mergeCells.Append(mergeCell); XlsxBase.CurrentRowHeight = 16D; XlsxBase.CurrentFontSize = 12; XlsxBase.CurrentBorderStyleValue = BorderStyleValues.Thin; XlsxBase.CurrentBottomBorder = true; XlsxBase.CurrentBorderColor = System.Drawing.Color.Green; XlsxBase.CurrentHorizontalAlignmentValue = HorizontalAlignmentValues.Center; List <MWQMPlanSubsectorSiteModel> mwqmPlanSubsectorSiteModelList = mwqmPlanSubsectorSiteService.GetMWQMPlanSubsectorSiteModelListWithMWQMPlanSubsectorIDDB(mwqmPlanSubsectorModel.MWQMPlanSubsectorID); row = XlsxBase.AddRow(); cell = XlsxBase.AddCellString(row, XslxServiceMWQMPlanRes.MWQMSite); cell = XlsxBase.AddCellString(row, XslxServiceMWQMPlanRes.Lat); cell = XlsxBase.AddCellString(row, XslxServiceMWQMPlanRes.Lng); sheetData.Append(row); int count = 0; foreach (MWQMPlanSubsectorSiteModel mwqmPlanSubsectorSiteModel in mwqmPlanSubsectorSiteModelList) { count += 1; row = XlsxBase.AddRow(); if (count % 5 == 0) { XlsxBase.CurrentBorderStyleValue = BorderStyleValues.Thin; XlsxBase.CurrentBottomBorder = true; } else { XlsxBase.CurrentBorderStyleValue = null; XlsxBase.CurrentBottomBorder = false; } XlsxBase.CurrentHorizontalAlignmentValue = HorizontalAlignmentValues.Right; cell = XlsxBase.AddCellString(row, mwqmPlanSubsectorSiteModel.MWQMSiteText); List <MapInfoPointModel> mapInfoPointModelList = mapInfoService._MapInfoPointService.GetMapInfoPointModelListWithTVItemIDAndTVTypeAndMapInfoDrawTypeDB(mwqmPlanSubsectorSiteModel.MWQMSiteTVItemID, TVTypeEnum.MWQMSite, MapInfoDrawTypeEnum.Point); XlsxBase.CurrentHorizontalAlignmentValue = HorizontalAlignmentValues.Center; if (mapInfoPointModelList.Count > 0) { cell = XlsxBase.AddCellNumber(row, mapInfoPointModelList[0].Lat.ToString("F5")); cell = XlsxBase.AddCellNumber(row, mapInfoPointModelList[0].Lng.ToString("F5")); } else { cell = XlsxBase.AddCellNumber(row, ""); cell = XlsxBase.AddCellNumber(row, ""); } sheetData.Append(row); } XlsxBase.CurrentBorderStyleValue = null; XlsxBase.CurrentBottomBorder = false; for (int i = 0; i < 2; i++) { row = XlsxBase.AddRow(); cell = XlsxBase.AddCellString(row, null); sheetData.Append(row); } } } PageMargins pageMargins = new PageMargins() { Left = 0.7D, Right = 0.7D, Top = 0.75D, Bottom = 0.75D, Header = 0.3D, Footer = 0.3D }; PageSetup pageSetup = new PageSetup() { Orientation = OrientationValues.Portrait, Id = "rId" + SheetOrdinal.ToString() }; worksheet.Append(sheetViews); worksheet.Append(sheetFormatProperties); if (columns.ChildElements.Count > 0) { worksheet.Append(columns); } worksheet.Append(sheetData); mergeCells.Count = (UInt32Value)((UInt32)mergeCells.ChildElements.Count); if (mergeCells.ChildElements.Count > 0) { worksheet.Append(mergeCells); } if (XlsxBase.UsedHyperlinkList.Count > 0) { worksheet.Append(hyperlinks); } worksheet.Append(pageMargins); worksheet.Append(pageSetup); worksheetPart.Worksheet = worksheet; }
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); }
private void GenerateMWQMPlanDocument(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 = ""; MapInfoService mapInfoService = new MapInfoService(_TaskRunnerBaseService._BWObj.appTaskModel.Language, _TaskRunnerBaseService._User); MWQMPlanService mwqmPlanService = new MWQMPlanService(_TaskRunnerBaseService._BWObj.appTaskModel.Language, _TaskRunnerBaseService._User); MWQMPlanSubsectorService mwqmPlanSubsectorService = new MWQMPlanSubsectorService(_TaskRunnerBaseService._BWObj.appTaskModel.Language, _TaskRunnerBaseService._User); MWQMPlanSubsectorSiteService mwqmPlanSubsectorSiteService = new MWQMPlanSubsectorSiteService(_TaskRunnerBaseService._BWObj.appTaskModel.Language, _TaskRunnerBaseService._User); TVItemService tvItemService = new TVItemService(_TaskRunnerBaseService._BWObj.appTaskModel.Language, _TaskRunnerBaseService._User); MWQMPlanModel mwqmPlanModel = mwqmPlanService.GetMWQMPlanModelWithMWQMPlanIDDB(_TaskRunnerBaseService._BWObj.MWQMPlanID); DocxBase.CurrentFontColor = System.Drawing.Color.Black; DocxBase.CurrentParagraphStyle = ParagraphStyleEnum.Heading1; DocxBase.CurrentJustificationValue = JustificationValues.Center; paragraph = DocxBase.AddParagraph(body); if (!string.IsNullOrWhiteSpace(mwqmPlanModel.Error)) { paragraph = DocxBase.AddParagraph(body); DocxBase.AddRunWithCurrentParagraphStyle(paragraph, mwqmPlanModel.Error); } else { // Province and Year string Province = tvItemService.GetTVItemModelWithTVItemIDDB(mwqmPlanModel.ProvinceTVItemID).TVText; paragraph = DocxBase.AddParagraph(body); //DocxBase.AddRunWithCurrentParagraphStyle(paragraph, DocxServiceMWQMPlanRes.Province); DocxBase.AddRunWithCurrentParagraphStyle(paragraph, Province + " (" + mwqmPlanModel.Year.ToString() + ")"); // Config File Name paragraph = DocxBase.AddParagraph(body); //DocxBase.AddRunWithCurrentParagraphStyle(paragraph, DocxServiceMWQMPlanRes.ConfigFileName); DocxBase.AddRunWithCurrentParagraphStyle(paragraph, DocxServiceMWQMPlanRes.FileName + " (config_" + mwqmPlanModel.ConfigFileName + ".txt)"); // For Group Name paragraph = DocxBase.AddParagraph(body); //DocxBase.AddRunWithCurrentParagraphStyle(paragraph, DocxServiceMWQMPlanRes.ForGroupName); DocxBase.AddRunWithCurrentParagraphStyle(paragraph, DocxServiceMWQMPlanRes.For + " (" + mwqmPlanModel.ForGroupName + ")"); paragraph = DocxBase.AddParagraph(body); List <MWQMPlanSubsectorModel> mwqmPlanSubsectorModelList = mwqmPlanSubsectorService.GetMWQMPlanSubsectorModelListWithMWQMPlanIDDB(mwqmPlanModel.MWQMPlanID); foreach (MWQMPlanSubsectorModel mwqmPlanSubsectorModel in mwqmPlanSubsectorModelList) { DocxBase.CurrentParagraphStyle = ParagraphStyleEnum.Heading2; paragraph = DocxBase.AddParagraph(body); //paragraph = DocxBase.AddParagraph(body); string Subsector = tvItemService.GetTVItemModelWithTVItemIDDB(mwqmPlanSubsectorModel.SubsectorTVItemID).TVText; DocxBase.AddRunWithCurrentParagraphStyle(paragraph, Subsector); DocxBase.CurrentTableStyle = TableStyleEnum.ListTable7Colorful_Accent5; table = DocxBase.AddTableStyle(body); tableRow = DocxBase.AddTableRow(table); // Doing MWQM Site tableCell = DocxBase.AddTableCell(tableRow); paragraph = DocxBase.AddTableCellParagraph(tableCell); run = DocxBase.AddRunWithCurrentParagraphStyle(paragraph, DocxServiceMWQMPlanRes.MWQMSite); // Doing Lat tableCell = DocxBase.AddTableCell(tableRow); paragraph = DocxBase.AddTableCellParagraph(tableCell); run = DocxBase.AddRunWithCurrentParagraphStyle(paragraph, DocxServiceMWQMPlanRes.Lat); // Doing Lng tableCell = DocxBase.AddTableCell(tableRow); paragraph = DocxBase.AddTableCellParagraph(tableCell); run = DocxBase.AddRunWithCurrentParagraphStyle(paragraph, DocxServiceMWQMPlanRes.Lng); List <MWQMPlanSubsectorSiteModel> mwqmPlanSubsectorSiteModelList = mwqmPlanSubsectorSiteService.GetMWQMPlanSubsectorSiteModelListWithMWQMPlanSubsectorIDDB(mwqmPlanSubsectorModel.MWQMPlanSubsectorID); foreach (MWQMPlanSubsectorSiteModel mwqmPlanSubsectorSiteModel in mwqmPlanSubsectorSiteModelList) { tableRow = DocxBase.AddTableRow(table); // Doing MWQM Site tableCell = DocxBase.AddTableCell(tableRow); paragraph = DocxBase.AddTableCellParagraph(tableCell); run = DocxBase.AddRunWithCurrentParagraphStyle(paragraph, mwqmPlanSubsectorSiteModel.MWQMSiteText); List <MapInfoPointModel> mapInfoPointModelList = mapInfoService._MapInfoPointService.GetMapInfoPointModelListWithTVItemIDAndTVTypeAndMapInfoDrawTypeDB(mwqmPlanSubsectorSiteModel.MWQMSiteTVItemID, TVTypeEnum.MWQMSite, MapInfoDrawTypeEnum.Point); if (mapInfoPointModelList.Count > 0) { // Doing Lat tableCell = DocxBase.AddTableCell(tableRow); paragraph = DocxBase.AddTableCellParagraph(tableCell); run = DocxBase.AddRunWithCurrentParagraphStyle(paragraph, mapInfoPointModelList[0].Lat.ToString("F5")); // Doing Lng tableCell = DocxBase.AddTableCell(tableRow); paragraph = DocxBase.AddTableCellParagraph(tableCell); run = DocxBase.AddRunWithCurrentParagraphStyle(paragraph, mapInfoPointModelList[0].Lng.ToString("F5")); } else { // Doing Lat tableCell = DocxBase.AddTableCell(tableRow); paragraph = DocxBase.AddTableCellParagraph(tableCell); run = DocxBase.AddRunWithCurrentParagraphStyle(paragraph, ""); // Doing Lng tableCell = DocxBase.AddTableCell(tableRow); paragraph = DocxBase.AddTableCellParagraph(tableCell); run = DocxBase.AddRunWithCurrentParagraphStyle(paragraph, ""); } } } } DocxBase.CurrentParagraphStyle = ParagraphStyleEnum.Normal; DocxBase.CurrentJustificationValue = JustificationValues.Left; paragraph = DocxBase.AddParagraph(body); paragraph = DocxBase.AddParagraph(body); DocxBase.AddRunWithCurrentParagraphStyle(paragraph, "Etc ... "); DocxBase.AddSectionProp(body); document.Append(body); }
public void GetNextLabSheet() { string retStr = ""; try { using (WebClient webClient = new WebClient()) { WebProxy webProxy = new WebProxy(); webClient.Proxy = webProxy; string FullLabSheetText = webClient.DownloadString(new Uri("http://cssplabsheet.azurewebsites.net/GetNextLabSheet.aspx")); if (FullLabSheetText.Length > 0) { int posStart = FullLabSheetText.IndexOf("OtherServerLabSheetID|||||[") + 27; int posEnd = FullLabSheetText.IndexOf("]", posStart); string OtherServerLabSheetIDTxt = FullLabSheetText.Substring(posStart, posEnd - posStart); int OtherServerLabSheetID = int.Parse(OtherServerLabSheetIDTxt); posStart = FullLabSheetText.IndexOf("SubsectorTVItemID|||||[") + 23; posEnd = FullLabSheetText.IndexOf("]", posStart); string SubsectorTVItemIDTxt = FullLabSheetText.Substring(posStart, posEnd - posStart); int SubsectorTVItemID = int.Parse(SubsectorTVItemIDTxt); TVItem tvItemSubsector = new TVItem(); TVItem tvItemCountry = new TVItem(); TVItem tvItemProvince = new TVItem(); LabSheetAndA1Sheet labSheetAndA1Sheet = new LabSheetAndA1Sheet(); using (TransactionScope ts = new TransactionScope()) { LabSheetService labSheetService = new LabSheetService(LanguageEnum.en, _User); LabSheet labSheetRet = labSheetService.AddOrUpdateLabSheetDB(FullLabSheetText); if (!string.IsNullOrWhiteSpace(labSheetRet.Error)) { richTextBoxStatus.AppendText("Lab sheet adding error OtherServerLabSheetID [" + OtherServerLabSheetID.ToString() + "]" + labSheetRet.Error + "]\r\n"); return; } TVItemService tvItemService = new TVItemService(LanguageEnum.en, _User); tvItemSubsector = tvItemService.GetTVItemModelWithTVItemIDDB(SubsectorTVItemID); if (!string.IsNullOrWhiteSpace(tvItemSubsector.Error)) { richTextBoxStatus.AppendText("Lab sheet parsing error OtherServerLabSheetID [" + OtherServerLabSheetID.ToString() + "]" + tvItemSubsector.Error + "]\r\n"); return; } List <TVItem> tvItemList = tvItemService.GetParentsTVItemList(tvItemSubsector.TVPath); foreach (TVItem tvItem in tvItemList) { if (tvItem.TVType == TVTypeEnum.Province) { tvItemProvince = tvItem; } if (tvItem.TVType == TVTypeEnum.Country) { tvItemCountry = tvItem; } } labSheetAndA1Sheet.LabSheet = labSheetRet; labSheetAndA1Sheet.LabSheetA1Sheet = labSheetService.ParseLabSheetA1WithLabSheetID(labSheetRet.LabSheetID); if (!string.IsNullOrWhiteSpace(labSheetAndA1Sheet.LabSheetA1Sheet.Error)) { richTextBoxStatus.AppendText("Lab sheet parsing error OtherServerLabSheetID [" + OtherServerLabSheetID.ToString() + "]" + labSheetAndA1Sheet.LabSheetA1Sheet.Error + "]\r\n"); richTextBoxStatus.AppendText("Full Lab Sheet Text below\r\n"); richTextBoxStatus.AppendText("---------------- Start of full lab sheet text -----------\r\n"); richTextBoxStatus.AppendText(FullLabSheetText); richTextBoxStatus.AppendText("---------------- End of full lab sheet text -----------\r\n"); retStr = UpdateOtherServerWithOtherServerLabSheetIDAndLabSheetStatus(OtherServerLabSheetID, LabSheetStatusEnum.Error); if (!string.IsNullOrWhiteSpace(retStr)) { richTextBoxStatus.AppendText("Error updating other server lab sheet [" + retStr + "]"); } return; } string retStr2 = UploadLabSheetDetailInDB(labSheetAndA1Sheet); if (!string.IsNullOrWhiteSpace(retStr2)) { // Error message already sent to richTextboxStatus retStr = UpdateOtherServerWithOtherServerLabSheetIDAndLabSheetStatus(OtherServerLabSheetID, LabSheetStatusEnum.Error); if (!string.IsNullOrWhiteSpace(retStr)) { richTextBoxStatus.AppendText("Error updating other server lab sheet [" + retStr + "]"); } return; } ts.Complete(); } string href = "http://wmon01dtchlebl2/csspwebtools/en-CA/#!View/" + (tvItemCountry.TVText + "-" + tvItemProvince.TVText).Replace(" ", "-") + "|||" + tvItemProvince.TVItemID.ToString() + "|||010003030200000000000000000000"; if (labSheetAndA1Sheet.LabSheetA1Sheet.LabSheetA1MeasurementList.Where(c => c.MPN != null && c.MPN >= MPNLimitForEmail).Any()) { SendNewLabSheetEmailBigMPN(href, tvItemProvince, tvItemSubsector, labSheetAndA1Sheet); } else { SendNewLabSheetEmail(href, tvItemProvince, tvItemSubsector, labSheetAndA1Sheet); } retStr = UpdateOtherServerWithOtherServerLabSheetIDAndLabSheetStatus(OtherServerLabSheetID, LabSheetStatusEnum.Transferred); if (!string.IsNullOrWhiteSpace(retStr)) { richTextBoxStatus.AppendText("Error updating other server lab sheet [" + retStr + "]"); } } } } catch (Exception ex) { string errrrrr = ex.Message; } }
private void GenerateWorksheetAContentSubsectorPollutionSourceFieldSheet(WorksheetPart worksheetPart, Workbook workbook, string SheetName, int SheetOrdinal, bool ActivePollutionSource) { BaseEnumService baseEnumService = new BaseEnumService(_TaskRunnerBaseService._BWObj.appTaskModel.Language); TVItemService tvItemService = new TVItemService(_TaskRunnerBaseService._BWObj.appTaskModel.Language, _TaskRunnerBaseService._User); PolSourceSiteService polSourceSiteService = new PolSourceSiteService(_TaskRunnerBaseService._BWObj.appTaskModel.Language, _TaskRunnerBaseService._User); //PolSourceObservationService polSourceObservationService = new PolSourceObservationService(_TaskRunnerBaseService._BWObj.appTaskModel.Language, _TaskRunnerBaseService._User); //MWQMSubsectorService mwqmSubsectorService = new MWQMSubsectorService(_TaskRunnerBaseService._BWObj.appTaskModel.Language, _TaskRunnerBaseService._User); MergeCells mergeCells = new MergeCells(); Row row = new Row(); Cell cell = new Cell(); Hyperlinks hyperlinks = new Hyperlinks(); string Id = XlsxBase.sheetNameAndIDList[SheetOrdinal].SheetID; XlsxBase.CurrentColumn = 0; XlsxBase.CurrentRow = 0; XlsxBase.CurrentColumnProp = 0; Worksheet worksheet = new Worksheet() { MCAttributes = new MarkupCompatibilityAttributes() { Ignorable = "x14ac" } }; worksheet.AddNamespaceDeclaration("r", "http://schemas.openxmlformats.org/officeDocument/2006/relationships"); worksheet.AddNamespaceDeclaration("mc", "http://schemas.openxmlformats.org/markup-compatibility/2006"); worksheet.AddNamespaceDeclaration("x14ac", "http://schemas.microsoft.com/office/spreadsheetml/2009/9/ac"); SheetViews sheetViews = new SheetViews(); SheetView sheetView = new SheetView() { TabSelected = true, WorkbookViewId = (UInt32Value)0U }; Selection selection = new Selection() { ActiveCell = "A1", SequenceOfReferences = new ListValue <StringValue>() { InnerText = "A1" } }; sheetView.Append(selection); sheetViews.Append(sheetView); SheetFormatProperties sheetFormatProperties = new SheetFormatProperties() { DefaultRowHeight = 15D, DyDescent = 0.25D }; Columns columns = new Columns(); List <double?> columnWidthList = new List <double?>() { 7D, 10D, 90D, 12D, 12D, 10D, 14D, 20D }; foreach (double?width in columnWidthList) { Column colum = XlsxBase.AddColumnProp(columns, width); } SheetData sheetData = new SheetData(); TVItemModel tvItemModelSubsector = tvItemService.GetTVItemModelWithTVItemIDDB(_TaskRunnerBaseService._BWObj.appTaskModel.TVItemID); //MWQMSubsectorModel mwqmSubsectorModel = mwqmSubsectorService.GetMWQMSubsectorModelWithMWQMSubsectorTVItemIDDB(_TaskRunnerBaseService._BWObj.appTaskModel.TVItemID); XlsxBase.CurrentRowHeight = 28D; XlsxBase.CurrentFontSize = 24; XlsxBase.CurrentHorizontalAlignmentValue = HorizontalAlignmentValues.Center; XlsxBase.CurrentBorderStyleValue = BorderStyleValues.Thin; XlsxBase.CurrentBottomBorder = true; row = XlsxBase.AddRow(); string URL = _TaskRunnerBaseService.GetUrlFromTVItem(tvItemModelSubsector); XlsxBase.CurrentFontColor = System.Drawing.Color.Blue; cell = XlsxBase.AddCellHyperlink(hyperlinks, row, tvItemModelSubsector.TVText, URL); XlsxBase.CurrentFontColor = null; //cell = XlsxBase.AddCellString(row, tvItemModel.TVText); cell = XlsxBase.AddCellString(row, null); sheetData.Append(row); MergeCell mergeCell = new MergeCell() { Reference = "A" + XlsxBase.CurrentRow.ToString() + ":H" + XlsxBase.CurrentRow.ToString() }; mergeCells.Append(mergeCell); List <TVItemModel> tvItemModelPolSourceList = tvItemService.GetChildrenTVItemModelListWithTVItemIDAndTVTypeDB(_TaskRunnerBaseService._BWObj.appTaskModel.TVItemID, TVTypeEnum.PolSourceSite); XlsxBase.CurrentRowHeight = 24D; XlsxBase.CurrentFontSize = 18; XlsxBase.CurrentBorderStyleValue = BorderStyleValues.Thin; XlsxBase.CurrentBottomBorder = true; XlsxBase.CurrentHorizontalAlignmentValue = HorizontalAlignmentValues.Center; row = XlsxBase.AddRow(); XlsxBase.CurrentFontColor = null; cell = XlsxBase.AddCellString(row, "Site"); cell = XlsxBase.AddCellString(row, "Type"); cell = XlsxBase.AddCellString(row, "Observation"); cell = XlsxBase.AddCellString(row, "Lat"); cell = XlsxBase.AddCellString(row, "Lng"); cell = XlsxBase.AddCellString(row, "Active"); cell = XlsxBase.AddCellString(row, "Update"); cell = XlsxBase.AddCellString(row, "Civic Address"); sheetData.Append(row); XlsxBase.CurrentRowHeight = 160D; XlsxBase.CurrentFontSize = 12; XlsxBase.CurrentHorizontalAlignmentValue = HorizontalAlignmentValues.Left; List <PolSourceSiteModel> polSourceSiteModelList = polSourceSiteService.GetPolSourceSiteModelListWithSubsectorTVItemIDDB(tvItemModelSubsector.TVItemID); int countPolSourceSite = 0; foreach (PolSourceSiteModel polSourceSiteModel in polSourceSiteModelList.OrderBy(c => c.Site).ToList()) { bool IsActive = (from c in tvItemModelPolSourceList where c.TVItemID == polSourceSiteModel.PolSourceSiteTVItemID select c.IsActive).FirstOrDefault(); if (ActivePollutionSource != IsActive) { continue; } countPolSourceSite += 1; PolSourceObservationModel polSourceObservationModel = polSourceSiteService._PolSourceObservationService.GetPolSourceObservationModelLatestWithPolSourceSiteTVItemIDDB(polSourceSiteModel.PolSourceSiteTVItemID); List <MapInfoPointModel> mapInfoPointModelList = polSourceSiteService._MapInfoService._MapInfoPointService.GetMapInfoPointModelListWithTVItemIDAndTVTypeAndMapInfoDrawTypeDB(polSourceSiteModel.PolSourceSiteTVItemID, TVTypeEnum.PolSourceSite, MapInfoDrawTypeEnum.Point); row = XlsxBase.AddRow(); if (countPolSourceSite % 5 == 0) { XlsxBase.CurrentBorderStyleValue = BorderStyleValues.Thin; XlsxBase.CurrentBottomBorder = true; } else { XlsxBase.CurrentBorderStyleValue = null; XlsxBase.CurrentBottomBorder = false; } XlsxBase.CurrentHorizontalAlignmentValue = HorizontalAlignmentValues.Center; cell = XlsxBase.AddCellString(row, polSourceSiteModel.Site.ToString()); if (polSourceObservationModel != null) { List <PolSourceObservationIssueModel> polSourceObservationIssueModelList = polSourceSiteService._PolSourceObservationService._PolSourceObservationIssueService.GetPolSourceObservationIssueModelListWithPolSourceObservationIDDB(polSourceObservationModel.PolSourceObservationID); string SelectedObservation = "Selected: \r\n"; int PolSourceObsInfoInt = 0; foreach (PolSourceObservationIssueModel polSourceObservationIssueModel in polSourceObservationIssueModelList) { List <int> observationInfoList = polSourceObservationIssueModel.ObservationInfo.Split(",".ToCharArray(), StringSplitOptions.RemoveEmptyEntries).ToList().Select(c => int.Parse(c)).ToList(); PolSourceObsInfoInt = observationInfoList.Where(c => (c > 10500 && c < 10599) || (c > 15200 && c < 15299)).FirstOrDefault(); foreach (PolSourceObsInfoEnum polSourceObsInfo in polSourceObservationIssueModel.PolSourceObsInfoList) { SelectedObservation += baseEnumService.GetEnumText_PolSourceObsInfoReportEnum(polSourceObsInfo); } SelectedObservation += "\r\n\r\n"; } if (PolSourceObsInfoInt > 0) { cell = XlsxBase.AddCellString(row, baseEnumService.GetEnumText_PolSourceObsInfoEnum((PolSourceObsInfoEnum)PolSourceObsInfoInt)); } else { cell = XlsxBase.AddCellString(row, "Empty"); } } XlsxBase.CurrentHorizontalAlignmentValue = HorizontalAlignmentValues.Left; XlsxBase.WrapText = true; if (polSourceObservationModel != null) { List <PolSourceObservationIssueModel> polSourceObservationIssueModelList = polSourceSiteService._PolSourceObservationService._PolSourceObservationIssueService.GetPolSourceObservationIssueModelListWithPolSourceObservationIDDB(polSourceObservationModel.PolSourceObservationID); string SelectedObservation = "Selected: \r\n"; int PolSourceObsInfoInt = 0; foreach (PolSourceObservationIssueModel polSourceObservationIssueModel in polSourceObservationIssueModelList) { List <int> observationInfoList = polSourceObservationIssueModel.ObservationInfo.Split(",".ToCharArray(), StringSplitOptions.RemoveEmptyEntries).ToList().Select(c => int.Parse(c)).ToList(); foreach (PolSourceObsInfoEnum polSourceObsInfo in polSourceObservationIssueModel.PolSourceObsInfoList) { SelectedObservation += baseEnumService.GetEnumText_PolSourceObsInfoReportEnum(polSourceObsInfo); } SelectedObservation += "\r\n\r\n"; } if (PolSourceObsInfoInt > 0) { cell = XlsxBase.AddCellString(row, "Written: \r\n" + (string.IsNullOrWhiteSpace(polSourceObservationModel.Observation_ToBeDeleted) ? "" : polSourceObservationModel.Observation_ToBeDeleted.ToString()) + "\r\n\r\n" + SelectedObservation); } else { cell = XlsxBase.AddCellString(row, "Written: \r\n\r\n" + SelectedObservation); } } XlsxBase.CurrentHorizontalAlignmentValue = HorizontalAlignmentValues.Center; Alignment alignment1 = new Alignment() { WrapText = true }; if (mapInfoPointModelList.Count > 0) { cell = XlsxBase.AddCellString(row, mapInfoPointModelList[0].Lat.ToString("F5")); cell = XlsxBase.AddCellString(row, mapInfoPointModelList[0].Lng.ToString("F5")); } else { cell = XlsxBase.AddCellString(row, ""); cell = XlsxBase.AddCellString(row, ""); } TVItemModel tvItemModelPolSource = tvItemService.GetTVItemModelWithTVItemIDDB(polSourceSiteModel.PolSourceSiteTVItemID); cell = XlsxBase.AddCellString(row, tvItemModelPolSource.IsActive.ToString()); cell = XlsxBase.AddCellString(row, polSourceObservationModel.ObservationDate_Local.ToString("yyyy MMM dd")); cell = XlsxBase.AddCellString(row, "empty"); sheetData.Append(row); } if (countPolSourceSite > 0) { DefinedNames definedNames1 = new DefinedNames(); DefinedName definedName1 = new DefinedName() { Name = "_xlnm._FilterDatabase", LocalSheetId = (UInt32Value)0U, Hidden = true }; definedName1.Text = "'" + SheetName + "'" + "!$A$2:$H$" + (countPolSourceSite + 2).ToString(); definedNames1.Append(definedName1); workbook.Append(definedNames1); AutoFilter autoFilter = new AutoFilter() { Reference = "a2:B" + (countPolSourceSite + 2).ToString() }; worksheet.Append(autoFilter); } PageMargins pageMargins = new PageMargins() { Left = 0.7D, Right = 0.7D, Top = 0.75D, Bottom = 0.75D, Header = 0.3D, Footer = 0.3D }; PageSetup pageSetup = new PageSetup() { Orientation = OrientationValues.Portrait, Id = "rId" + SheetOrdinal.ToString() }; worksheet.Append(sheetViews); worksheet.Append(sheetFormatProperties); if (columns.ChildElements.Count > 0) { worksheet.Append(columns); } worksheet.Append(sheetData); mergeCells.Count = (UInt32Value)((UInt32)mergeCells.ChildElements.Count); if (mergeCells.ChildElements.Count > 0) { worksheet.Append(mergeCells); } if (XlsxBase.UsedHyperlinkList.Count > 0) { worksheet.Append(hyperlinks); } worksheet.Append(pageMargins); worksheet.Append(pageSetup); worksheetPart.Worksheet = worksheet; }
private void GenerateSubsectorFaecalColiformSummaryStatDocument(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 = ""; TVItemService tvItemService = new TVItemService(_TaskRunnerBaseService._BWObj.appTaskModel.Language, _TaskRunnerBaseService._User); TVItemStatService tvItemStatService = new TVItemStatService(_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); DocxBase.CurrentParagraphStyle = ParagraphStyleEnum.Caption; DocxBase.CurrentJustificationValue = JustificationValues.Center; paragraph = DocxBase.AddParagraph(body); DocxBase.CurrentFontSize = 36; string TableTitle = DocxServiceSubsectorFCSummaryStatRes.Table + "1A-1." + DocxServiceSubsectorFCSummaryStatRes.SummaryStatOfFCDensitiesMPNPer100 + " " + DocxServiceSubsectorFCSummaryStatRes.For + " " + tvItemModelSubsector.TVText; run = DocxBase.AddRunWithCurrentFontStyle(paragraph, TableTitle); DocxBase.CurrentTableStyle = TableStyleEnum.ListTable7Colorful_Accent5; table = DocxBase.AddTableStyle(body); tableRow = DocxBase.AddTableRow(table); List <string> ColumnTitleList = new List <string>() { DocxServiceSubsectorFCSummaryStatRes.Station, DocxServiceSubsectorFCSummaryStatRes.Samples, DocxServiceSubsectorFCSummaryStatRes.Period, DocxServiceSubsectorFCSummaryStatRes.MinFC, DocxServiceSubsectorFCSummaryStatRes.MaxFC, DocxServiceSubsectorFCSummaryStatRes.GMean, DocxServiceSubsectorFCSummaryStatRes.Median, DocxServiceSubsectorFCSummaryStatRes.P90, DocxServiceSubsectorFCSummaryStatRes.PercBigger43, }; // Doing Cell Title foreach (string cellTitle in ColumnTitleList) { tableCell = DocxBase.AddTableCell(tableRow); paragraph = DocxBase.AddTableCellParagraph(tableCell); run = DocxBase.AddRunWithCurrentParagraphStyle(paragraph, cellTitle); } List <TVItemModel> tvItemModelMWQMList = tvItemService.GetChildrenTVItemModelListWithTVItemIDAndTVTypeDB(tvItemModelSubsector.TVItemID, TVTypeEnum.MWQMSite); foreach (TVItemModel tvItemModelMWQM in tvItemModelMWQMList) { TVItemMoreInfoMWQMSiteModel tvItemMoreInfoMWQMSiteModel = new TVItemMoreInfoMWQMSiteModel(); tvItemMoreInfoMWQMSiteModel = tvItemService.GetTVItemMoreInfoMWQMSiteTVItemIDDB(tvItemModelMWQM.TVItemID, 30); if (tvItemMoreInfoMWQMSiteModel.StatMaxYear > DateTime.Now.Year - 6) { tableRow = DocxBase.AddTableRow(table); // Doing Station tableCell = DocxBase.AddTableCell(tableRow); paragraph = DocxBase.AddTableCellParagraph(tableCell); run = DocxBase.AddRunWithCurrentParagraphStyle(paragraph, tvItemModelMWQM.TVText); // Doing Samples tableCell = DocxBase.AddTableCell(tableRow); paragraph = DocxBase.AddTableCellParagraph(tableCell); string SampCountTxt = (tvItemMoreInfoMWQMSiteModel.SampCount == null ? "" : tvItemMoreInfoMWQMSiteModel.SampCount.ToString()); run = DocxBase.AddRunWithCurrentParagraphStyle(paragraph, SampCountTxt); // Doing Period tableCell = DocxBase.AddTableCell(tableRow); paragraph = DocxBase.AddTableCellParagraph(tableCell); string StatMinMaxYearTxt = tvItemMoreInfoMWQMSiteModel.StatMinYear.ToString() + "-" + tvItemMoreInfoMWQMSiteModel.StatMaxYear.ToString(); run = DocxBase.AddRunWithCurrentParagraphStyle(paragraph, StatMinMaxYearTxt); // Doing MinFC tableCell = DocxBase.AddTableCell(tableRow); paragraph = DocxBase.AddTableCellParagraph(tableCell); string MinFCTxt = (tvItemMoreInfoMWQMSiteModel.MinFC == null ? "" : ((float)tvItemMoreInfoMWQMSiteModel.MinFC).ToString("F0")); if (MinFCTxt == "1") { MinFCTxt = "< 2"; } run = DocxBase.AddRunWithCurrentParagraphStyle(paragraph, MinFCTxt); // Doing MaxFC tableCell = DocxBase.AddTableCell(tableRow); paragraph = DocxBase.AddTableCellParagraph(tableCell); string MaxFCTxt = (tvItemMoreInfoMWQMSiteModel.MaxFC == null ? "" : ((float)tvItemMoreInfoMWQMSiteModel.MaxFC).ToString("F0")); if (MaxFCTxt == "1") { MaxFCTxt = "< 2"; } run = DocxBase.AddRunWithCurrentParagraphStyle(paragraph, MaxFCTxt); // Doing GMean tableCell = DocxBase.AddTableCell(tableRow); paragraph = DocxBase.AddTableCellParagraph(tableCell); string GMeanTxt = (tvItemMoreInfoMWQMSiteModel.GeoMean == null ? "" : ((float)tvItemMoreInfoMWQMSiteModel.GeoMean).ToString("F0")); if (tvItemMoreInfoMWQMSiteModel.GeoMean > 14) { int?TempFS = (int)DocxBase.CurrentFontSize; DocxBase.CurrentHighlightColorValue = HighlightColorValues.Yellow; DocxBase.CurrentFontSize = 22; run = DocxBase.AddRunWithCurrentFontStyle(paragraph, GMeanTxt); DocxBase.CurrentHighlightColorValue = HighlightColorValues.None; DocxBase.CurrentFontSize = TempFS; } else { run = DocxBase.AddRunWithCurrentParagraphStyle(paragraph, GMeanTxt); } // Doing Median tableCell = DocxBase.AddTableCell(tableRow); paragraph = DocxBase.AddTableCellParagraph(tableCell); string MedianTxt = (tvItemMoreInfoMWQMSiteModel.Median == null ? "" : ((float)tvItemMoreInfoMWQMSiteModel.Median).ToString("F0")); if (tvItemMoreInfoMWQMSiteModel.Median > 14) { int?TempFS = (int)DocxBase.CurrentFontSize; DocxBase.CurrentHighlightColorValue = HighlightColorValues.Yellow; DocxBase.CurrentFontSize = 22; run = DocxBase.AddRunWithCurrentFontStyle(paragraph, MedianTxt); DocxBase.CurrentHighlightColorValue = HighlightColorValues.None; DocxBase.CurrentFontSize = TempFS; } else { run = DocxBase.AddRunWithCurrentParagraphStyle(paragraph, MedianTxt); } // Doing P90 tableCell = DocxBase.AddTableCell(tableRow); paragraph = DocxBase.AddTableCellParagraph(tableCell); string P90Txt = (tvItemMoreInfoMWQMSiteModel.P90 == null ? "" : ((float)tvItemMoreInfoMWQMSiteModel.P90).ToString("F0")); if (tvItemMoreInfoMWQMSiteModel.P90 > 43) { int?TempFS = (int)DocxBase.CurrentFontSize; DocxBase.CurrentHighlightColorValue = HighlightColorValues.Yellow; DocxBase.CurrentFontSize = 22; run = DocxBase.AddRunWithCurrentFontStyle(paragraph, P90Txt); DocxBase.CurrentHighlightColorValue = HighlightColorValues.None; DocxBase.CurrentFontSize = TempFS; } else { run = DocxBase.AddRunWithCurrentParagraphStyle(paragraph, P90Txt); } // Doing % > 43 tableCell = DocxBase.AddTableCell(tableRow); paragraph = DocxBase.AddTableCellParagraph(tableCell); string PercOver43Txt = (tvItemMoreInfoMWQMSiteModel.PercOver43 == null ? "" : ((float)tvItemMoreInfoMWQMSiteModel.PercOver43).ToString("F0")); if (tvItemMoreInfoMWQMSiteModel.PercOver43 > 10) { int?TempFS = (int)DocxBase.CurrentFontSize; DocxBase.CurrentHighlightColorValue = HighlightColorValues.Yellow; DocxBase.CurrentFontSize = 22; run = DocxBase.AddRunWithCurrentFontStyle(paragraph, PercOver43Txt); DocxBase.CurrentHighlightColorValue = HighlightColorValues.None; DocxBase.CurrentFontSize = TempFS; } else { run = DocxBase.AddRunWithCurrentParagraphStyle(paragraph, PercOver43Txt); } } } DocxBase.CurrentParagraphStyle = ParagraphStyleEnum.Quote; paragraph = DocxBase.AddParagraph(body); string NoteTxt = DocxServiceSubsectorFCSummaryStatRes.Note + " : " + DocxServiceSubsectorFCSummaryStatRes.TheFollowingValuesHaveBeenShaded + " : " + DocxServiceSubsectorFCSummaryStatRes.GeometricMeanBigger14 + ", " + DocxServiceSubsectorFCSummaryStatRes.MedianBigger14 + ", " + DocxServiceSubsectorFCSummaryStatRes.PercBigger43More10Perc + ", " + DocxServiceSubsectorFCSummaryStatRes.Perc90Bigger43; DocxBase.AddRunWithCurrentParagraphStyle(paragraph, NoteTxt); DocxBase.AddSectionProp(body); document.Append(body); }
public void Generate(FileInfo fi) { BaseEnumService baseEnumService = new BaseEnumService(_TaskRunnerBaseService._BWObj.appTaskModel.Language); TVItemService tvItemService = new TVItemService(_TaskRunnerBaseService._BWObj.appTaskModel.Language, _TaskRunnerBaseService._User); MapInfoService mapInfoService = new MapInfoService(_TaskRunnerBaseService._BWObj.appTaskModel.Language, _TaskRunnerBaseService._User); PolSourceSiteService polSourceSiteService = new PolSourceSiteService(_TaskRunnerBaseService._BWObj.appTaskModel.Language, _TaskRunnerBaseService._User); InfrastructureService infrastructureService = new InfrastructureService(_TaskRunnerBaseService._BWObj.appTaskModel.Language, _TaskRunnerBaseService._User); if (_TaskRunnerBaseService._BWObj.appTaskModel.Language == "fr") { Thread.CurrentThread.CurrentCulture = new CultureInfo("fr-CA"); Thread.CurrentThread.CurrentUICulture = new CultureInfo("fr-CA"); } else { Thread.CurrentThread.CurrentCulture = new CultureInfo("en-CA"); Thread.CurrentThread.CurrentUICulture = new CultureInfo("en-CA"); } TVFileService tvFileService = new TVFileService(_TaskRunnerBaseService._BWObj.appTaskModel.Language, _TaskRunnerBaseService._User); string ServerFilePath = tvFileService.GetServerFilePath(_TaskRunnerBaseService._BWObj.appTaskModel.TVItemID); DirectoryInfo di = new DirectoryInfo(ServerFilePath); if (!di.Exists) { di.Create(); } if (fi.Exists) { fi.Delete(); } StringBuilder sbKML = new StringBuilder(); sbKML.AppendLine(@"<?xml version=""1.0"" encoding=""UTF-8""?>"); sbKML.AppendLine(@"<kml xmlns=""http://www.opengis.net/kml/2.2"" xmlns:gx=""http://www.google.com/kml/ext/2.2"" xmlns:kml=""http://www.opengis.net/kml/2.2"" xmlns:atom=""http://www.w3.org/2005/Atom"">"); sbKML.AppendLine(@"<Document>"); sbKML.AppendLine(@" <name>" + _TaskRunnerBaseService.generateDocParams.FileName + "</name>"); sbKML.AppendLine(@" <StyleMap id=""msn_ylw-pushpin"">"); sbKML.AppendLine(@" <Pair>"); sbKML.AppendLine(@" <key>normal</key>"); sbKML.AppendLine(@" <styleUrl>#sn_ylw-pushpin</styleUrl>"); sbKML.AppendLine(@" </Pair>"); sbKML.AppendLine(@" <Pair>"); sbKML.AppendLine(@" <key>highlight</key>"); sbKML.AppendLine(@" <styleUrl>#sh_ylw-pushpin</styleUrl>"); sbKML.AppendLine(@" </Pair>"); sbKML.AppendLine(@" </StyleMap>"); sbKML.AppendLine(@" <Style id=""sh_ylw-pushpin"">"); sbKML.AppendLine(@" <IconStyle>"); sbKML.AppendLine(@" <scale>1.2</scale>"); sbKML.AppendLine(@" </IconStyle>"); sbKML.AppendLine(@" <LineStyle>"); sbKML.AppendLine(@" <color>ff00ff00</color>"); sbKML.AppendLine(@" <width>1.5</width>"); sbKML.AppendLine(@" </LineStyle>"); sbKML.AppendLine(@" <PolyStyle>"); sbKML.AppendLine(@" <color>0000ff00</color>"); sbKML.AppendLine(@" </PolyStyle>"); sbKML.AppendLine(@" </Style>"); sbKML.AppendLine(@" <Style id=""sn_ylw-pushpin"">"); sbKML.AppendLine(@" <LineStyle>"); sbKML.AppendLine(@" <color>ff00ff00</color>"); sbKML.AppendLine(@" <width>1.5</width>"); sbKML.AppendLine(@" </LineStyle>"); sbKML.AppendLine(@" <PolyStyle>"); sbKML.AppendLine(@" <color>0000ff00</color>"); sbKML.AppendLine(@" </PolyStyle>"); sbKML.AppendLine(@" </Style>"); sbKML.AppendLine(@" <StyleMap id=""msn_grn-pushpin"">"); sbKML.AppendLine(@" <Pair>"); sbKML.AppendLine(@" <key>normal</key>"); sbKML.AppendLine(@" <styleUrl>#sn_grn-pushpin</styleUrl>"); sbKML.AppendLine(@" </Pair>"); sbKML.AppendLine(@" <Pair>"); sbKML.AppendLine(@" <key>highlight</key>"); sbKML.AppendLine(@" <styleUrl>#sh_grn-pushpin</styleUrl>"); sbKML.AppendLine(@" </Pair>"); sbKML.AppendLine(@" </StyleMap>"); sbKML.AppendLine(@" <Style id=""sh_grn-pushpin"">"); sbKML.AppendLine(@" <IconStyle>"); sbKML.AppendLine(@" <scale>1.2</scale>"); sbKML.AppendLine(@" </IconStyle>"); sbKML.AppendLine(@" <LineStyle>"); sbKML.AppendLine(@" <color>ff0000ff</color>"); sbKML.AppendLine(@" <width>1.5</width>"); sbKML.AppendLine(@" </LineStyle>"); sbKML.AppendLine(@" <PolyStyle>"); sbKML.AppendLine(@" <color>000000ff</color>"); sbKML.AppendLine(@" </PolyStyle>"); sbKML.AppendLine(@" </Style>"); sbKML.AppendLine(@" <Style id=""sn_grn-pushpin"">"); sbKML.AppendLine(@" <LineStyle>"); sbKML.AppendLine(@" <color>ff0000ff</color>"); sbKML.AppendLine(@" <width>1.5</width>"); sbKML.AppendLine(@" </LineStyle>"); sbKML.AppendLine(@" <PolyStyle>"); sbKML.AppendLine(@" <color>000000ff</color>"); sbKML.AppendLine(@" </PolyStyle>"); sbKML.AppendLine(@" </Style>"); TVItemModel tvItemModelSubsector = tvItemService.GetTVItemModelWithTVItemIDDB(_TaskRunnerBaseService._BWObj.appTaskModel.TVItemID); List <MapInfoPointModel> mapInfoPointModelList = mapInfoService._MapInfoPointService.GetMapInfoPointModelListWithTVItemIDAndTVTypeAndMapInfoDrawTypeDB(tvItemModelSubsector.TVItemID, TVTypeEnum.Subsector, MapInfoDrawTypeEnum.Point); sbKML.AppendLine(@" <Folder>"); sbKML.AppendLine(@" <name>Subsector</name>"); sbKML.AppendLine(@" <visibility>0</visibility>"); // Doing Point sbKML.AppendLine(@" <Placemark>"); sbKML.AppendLine(@" <name>" + tvItemModelSubsector.TVText + "</name>"); sbKML.AppendLine(@" <visibility>0</visibility>"); sbKML.AppendLine(@"<styleUrl>#msn_ylw-pushpin</styleUrl>"); //sbKMZ.AppendLine(@" <description>"); //sbKMZ.AppendLine(@"<![CDATA["); //sbKMZ.AppendLine(@"<a href=""" + _TaskRunnerBaseService.GetUrlFromTVItem(tvItemModelRoot) + @""">" + tvItemModelRoot.TVText + "</a>"); //sbKMZ.AppendLine(@"]]>"); //sbKMZ.AppendLine(@" </description>"); sbKML.AppendLine(@" <Point>"); sbKML.AppendLine(@" <coordinates>"+ mapInfoPointModelList[0].Lng + "," + mapInfoPointModelList[0].Lat + ",0</coordinates>"); sbKML.AppendLine(@" </Point>"); sbKML.AppendLine(@" </Placemark>"); // Doing Polygon sbKML.AppendLine(@" <Placemark>"); sbKML.AppendLine(@" <name>"+ tvItemModelSubsector.TVText + " (poly)</name>"); sbKML.AppendLine(@" <visibility>0</visibility>"); sbKML.AppendLine(@"<styleUrl>#msn_ylw-pushpin</styleUrl>"); //sbKMZ.AppendLine(@" <description>"); //sbKMZ.AppendLine(@"<![CDATA["); //sbKMZ.AppendLine(@"<a href=""" + _TaskRunnerBaseService.GetUrlFromTVItem(tvItemModelCountry) + @""">" + tvItemModelCountry.TVText + "</a>"); //sbKMZ.AppendLine(@"]]>"); //sbKMZ.AppendLine(@" </description>"); sbKML.AppendLine(@" <Polygon>"); sbKML.AppendLine(@" <outerBoundaryIs>"); sbKML.AppendLine(@" <LinearRing>"); sbKML.AppendLine(@" <coordinates>"); mapInfoPointModelList = mapInfoService._MapInfoPointService.GetMapInfoPointModelListWithTVItemIDAndTVTypeAndMapInfoDrawTypeDB(tvItemModelSubsector.TVItemID, TVTypeEnum.Subsector, MapInfoDrawTypeEnum.Polygon); foreach (MapInfoPointModel mapInfoPointModel in mapInfoPointModelList) { sbKML.AppendLine(mapInfoPointModel.Lng + "," + mapInfoPointModel.Lat + ",0 "); } sbKML.AppendLine(@" </coordinates>"); sbKML.AppendLine(@" </LinearRing>"); sbKML.AppendLine(@" </outerBoundaryIs>"); sbKML.AppendLine(@" </Polygon>"); sbKML.AppendLine(@" </Placemark>"); // Doing Municipalities sbKML.AppendLine(@" <Folder>"); sbKML.AppendLine(@" <name>Municipalities</name>"); sbKML.AppendLine(@" <visibility>0</visibility>"); List <TVItemModel> tvItemModelMunicipalityList = tvItemService.GetChildrenTVItemModelListWithTVItemIDAndTVTypeDB(tvItemModelSubsector.TVItemID, TVTypeEnum.Municipality); foreach (TVItemModel tvItemModelMunicipality in tvItemModelMunicipalityList) { sbKML.AppendLine(@" <Folder>"); sbKML.AppendLine(@" <name>" + tvItemModelMunicipality.TVText + "</name>"); sbKML.AppendLine(@" <visibility>0</visibility>"); // Doing point sbKML.AppendLine(@" <Placemark>"); sbKML.AppendLine(@" <name>" + tvItemModelMunicipality.TVText + " ( Point)</name>"); sbKML.AppendLine(@" <visibility>0</visibility>"); sbKML.AppendLine(@"<styleUrl>#msn_ylw-pushpin</styleUrl>"); mapInfoPointModelList = mapInfoService._MapInfoPointService.GetMapInfoPointModelListWithTVItemIDAndTVTypeAndMapInfoDrawTypeDB(tvItemModelMunicipality.TVItemID, TVTypeEnum.Municipality, MapInfoDrawTypeEnum.Point); sbKML.AppendLine(@" <Point>"); sbKML.AppendLine(@" <coordinates>"+ mapInfoPointModelList[0].Lng + "," + mapInfoPointModelList[0].Lat + ",0</coordinates>"); sbKML.AppendLine(@" </Point>"); sbKML.AppendLine(@" </Placemark>"); List <TVItemModel> tvItemModelInfrastructureList = tvItemService.GetChildrenTVItemModelListWithTVItemIDAndTVTypeDB(tvItemModelMunicipality.TVItemID, TVTypeEnum.Infrastructure); List <InfrastructureModel> infrastructureModelList = new List <InfrastructureModel>(); foreach (TVItemModel tvItemModelInfrastructure in tvItemModelInfrastructureList) { infrastructureModelList.Add(infrastructureService.GetInfrastructureModelWithInfrastructureTVItemIDDB(tvItemModelInfrastructure.TVItemID)); } // Doing WWTP foreach (InfrastructureModel infrastructureModel in infrastructureModelList.Where(c => c.InfrastructureType == InfrastructureTypeEnum.WWTP).ToList()) { sbKML.AppendLine(@" <Placemark>"); sbKML.AppendLine(@" <name>" + tvItemModelInfrastructureList.Where(c => c.TVItemID == infrastructureModel.InfrastructureTVItemID).Select(c => c.TVText).FirstOrDefault() + "</name>"); sbKML.AppendLine(@" <visibility>0</visibility>"); sbKML.AppendLine(@"<styleUrl>#msn_ylw-pushpin</styleUrl>"); sbKML.AppendLine(@" <description>"); sbKML.AppendLine(@"<![CDATA["); sbKML.AppendLine(@"<pre>"); sbKML.AppendLine(@"Alarm System Type: " + baseEnumService.GetEnumText_AlarmSystemTypeEnum(infrastructureModel.AlarmSystemType) + "\r\n"); sbKML.AppendLine(@"Can overflow: " + infrastructureModel.CanOverflow.ToString() + "\r\n"); sbKML.AppendLine(@"Category: " + infrastructureModel.InfrastructureCategory + "\r\n"); sbKML.AppendLine(@"Collection System Type: " + baseEnumService.GetEnumText_CollectionSystemTypeEnum(infrastructureModel.CollectionSystemType) + "\r\n"); sbKML.AppendLine(@"Comments: " + infrastructureModel.Comment + "\r\n"); sbKML.AppendLine(@"DesignFlow (m3/day): " + infrastructureModel.DesignFlow_m3_day + "\r\n"); sbKML.AppendLine(@"Disinfection Type: " + baseEnumService.GetEnumText_DisinfectionTypeEnum(infrastructureModel.DisinfectionType) + "\r\n"); sbKML.AppendLine(@"Infrastructure Type: " + baseEnumService.GetEnumText_InfrastructureTypeEnum(infrastructureModel.InfrastructureType) + "\r\n"); sbKML.AppendLine(@"Average Flow (m3/day): " + infrastructureModel.AverageFlow_m3_day + "\r\n"); sbKML.AppendLine(@"AverageFlow_m3_day: " + infrastructureModel.PeakFlow_m3_day + "\r\n"); sbKML.AppendLine(@"Percent Flow Of Total (%): " + infrastructureModel.PercFlowOfTotal + "\r\n"); sbKML.AppendLine(@"Population Served: " + infrastructureModel.PopServed + "\r\n"); sbKML.AppendLine(@"Time Zone: " + infrastructureModel.TimeOffset_hour + "\r\n"); sbKML.AppendLine(@"Treatment Type: " + baseEnumService.GetEnumText_TreatmentTypeEnum(infrastructureModel.TreatmentType) + "\r\n"); List <MapInfoPointModel> mapInfoPointModelInfrastructureList = mapInfoService._MapInfoPointService.GetMapInfoPointModelListWithTVItemIDAndTVTypeAndMapInfoDrawTypeDB(infrastructureModel.InfrastructureTVItemID, TVTypeEnum.WasteWaterTreatmentPlant, MapInfoDrawTypeEnum.Point); if (mapInfoPointModelInfrastructureList.Count > 0) { sbKML.AppendLine(@"Latitude Longitude: " + mapInfoPointModelInfrastructureList[0].Lat + " " + mapInfoPointModelInfrastructureList[0].Lng + "\r\n"); } else { sbKML.AppendLine("Latitude Longitude: \r\n"); } List <MapInfoPointModel> mapInfoPointModelInfrastructureOutfallList = mapInfoService._MapInfoPointService.GetMapInfoPointModelListWithTVItemIDAndTVTypeAndMapInfoDrawTypeDB(infrastructureModel.InfrastructureTVItemID, TVTypeEnum.Outfall, MapInfoDrawTypeEnum.Point); if (mapInfoPointModelInfrastructureOutfallList.Count > 0) { sbKML.AppendLine(@"Outfall: Latitude Longitude: " + mapInfoPointModelInfrastructureOutfallList[0].Lat + " " + mapInfoPointModelInfrastructureOutfallList[0].Lng + "\r\n"); } else { sbKML.AppendLine("Outfall: Latitude Longitude: \r\n"); } sbKML.AppendLine("\r\n\r\n"); sbKML.AppendLine("Outfall Information\r\n\r\n"); sbKML.AppendLine(@"Average Depth (m): " + infrastructureModel.AverageDepth_m + "\r\n"); sbKML.AppendLine(@"Decay Rate (/day): " + infrastructureModel.DecayRate_per_day + "\r\n"); sbKML.AppendLine(@"Distance From Shore (m): " + infrastructureModel.DistanceFromShore_m + "\r\n"); sbKML.AppendLine(@"Far Field Velocity (m/s): " + infrastructureModel.FarFieldVelocity_m_s + "\r\n"); sbKML.AppendLine(@"Horizontal Angle (deg): " + infrastructureModel.HorizontalAngle_deg + "\r\n"); sbKML.AppendLine(@"Near Field Velocity (m/s): " + infrastructureModel.NearFieldVelocity_m_s + "\r\n"); sbKML.AppendLine(@"Number Of Ports: " + infrastructureModel.NumberOfPorts + "\r\n"); sbKML.AppendLine(@"Port Diameter (m): " + infrastructureModel.PortDiameter_m + "\r\n"); sbKML.AppendLine(@"Port Elevation (m): " + infrastructureModel.PortElevation_m + "\r\n"); sbKML.AppendLine(@"Port Spacing (m): " + infrastructureModel.PortSpacing_m + "\r\n"); sbKML.AppendLine(@"Receiving Water Concentration (FC /100 ml): " + infrastructureModel.ReceivingWater_MPN_per_100ml + "\r\n"); sbKML.AppendLine(@"Receiving Water Salinity (PSU): " + infrastructureModel.ReceivingWaterSalinity_PSU + "\r\n"); sbKML.AppendLine(@"Receiving Water Temperature (ºC): " + infrastructureModel.ReceivingWaterTemperature_C + "\r\n"); sbKML.AppendLine(@"Vertical Angle (deg): " + infrastructureModel.VerticalAngle_deg + "\r\n"); sbKML.AppendLine(@"</pre>"); sbKML.AppendLine(@"]]>"); sbKML.AppendLine(@" </description>"); sbKML.AppendLine(@" <Point>"); sbKML.AppendLine(@" <coordinates>"+ mapInfoPointModelInfrastructureList[0].Lng + "," + mapInfoPointModelInfrastructureList[0].Lat + ",0</coordinates>"); sbKML.AppendLine(@" </Point>"); sbKML.AppendLine(@" </Placemark>"); sbKML.AppendLine(@" <Placemark>"); sbKML.AppendLine(@" <name>Outfall " + tvItemModelInfrastructureList.Where(c => c.TVItemID == infrastructureModel.InfrastructureTVItemID).Select(c => c.TVText).FirstOrDefault() + "</name>"); sbKML.AppendLine(@" <visibility>0</visibility>"); sbKML.AppendLine(@"<styleUrl>#msn_grn-pushpin</styleUrl>"); sbKML.AppendLine(@" <Point>"); sbKML.AppendLine(@" <coordinates>"+ mapInfoPointModelInfrastructureOutfallList[0].Lng + "," + mapInfoPointModelInfrastructureOutfallList[0].Lat + ",0</coordinates>"); sbKML.AppendLine(@" </Point>"); sbKML.AppendLine(@" </Placemark>"); } // Doing LS foreach (InfrastructureModel infrastructureModel in infrastructureModelList.Where(c => c.InfrastructureType == InfrastructureTypeEnum.LiftStation).ToList()) { sbKML.AppendLine(@" <Placemark>"); sbKML.AppendLine(@" <name>" + tvItemModelInfrastructureList.Where(c => c.TVItemID == infrastructureModel.InfrastructureTVItemID).Select(c => c.TVText).FirstOrDefault() + "</name>"); sbKML.AppendLine(@" <visibility>0</visibility>"); sbKML.AppendLine(@"<styleUrl>#msn_ylw-pushpin</styleUrl>"); sbKML.AppendLine(@" <description>"); sbKML.AppendLine(@"<![CDATA["); sbKML.AppendLine(@"<pre>"); sbKML.AppendLine(@"Alarm System Type: " + baseEnumService.GetEnumText_AlarmSystemTypeEnum(infrastructureModel.AlarmSystemType) + "\r\n"); sbKML.AppendLine(@"Can overflow: " + infrastructureModel.CanOverflow.ToString() + "\r\n"); sbKML.AppendLine(@"Category: " + infrastructureModel.InfrastructureCategory + "\r\n"); sbKML.AppendLine(@"Collection System Type: " + baseEnumService.GetEnumText_CollectionSystemTypeEnum(infrastructureModel.CollectionSystemType) + "\r\n"); sbKML.AppendLine(@"Comments: " + infrastructureModel.Comment + "\r\n"); sbKML.AppendLine(@"Infrastructure Type: " + baseEnumService.GetEnumText_InfrastructureTypeEnum(infrastructureModel.InfrastructureType) + "\r\n"); sbKML.AppendLine(@"Percent Flow Of Total (%): " + infrastructureModel.PercFlowOfTotal + "\r\n"); List <MapInfoPointModel> mapInfoPointModelInfrastructureList = mapInfoService._MapInfoPointService.GetMapInfoPointModelListWithTVItemIDAndTVTypeAndMapInfoDrawTypeDB(infrastructureModel.InfrastructureTVItemID, TVTypeEnum.LiftStation, MapInfoDrawTypeEnum.Point); if (mapInfoPointModelInfrastructureList.Count > 0) { sbKML.AppendLine(@"Latitude Longitude: " + mapInfoPointModelInfrastructureList[0].Lat + " " + mapInfoPointModelInfrastructureList[0].Lng + "\r\n"); } else { sbKML.AppendLine("Latitude Longitude: \r\n"); } List <MapInfoPointModel> mapInfoPointModelInfrastructureOutfallList = mapInfoService._MapInfoPointService.GetMapInfoPointModelListWithTVItemIDAndTVTypeAndMapInfoDrawTypeDB(infrastructureModel.InfrastructureTVItemID, TVTypeEnum.Outfall, MapInfoDrawTypeEnum.Point); if (mapInfoPointModelInfrastructureOutfallList.Count > 0) { sbKML.AppendLine(@"Outfall: Latitude Longitude: " + mapInfoPointModelInfrastructureOutfallList[0].Lat + " " + mapInfoPointModelInfrastructureOutfallList[0].Lng + "\r\n"); } else { sbKML.AppendLine("Outfall: Latitude Longitude: \r\n"); } sbKML.AppendLine("\r\n\r\n"); sbKML.AppendLine("Outfall Information\r\n\r\n"); sbKML.AppendLine(@"Average Depth (m): " + infrastructureModel.AverageDepth_m + "\r\n"); sbKML.AppendLine(@"Decay Rate (/day): " + infrastructureModel.DecayRate_per_day + "\r\n"); sbKML.AppendLine(@"Distance From Shore (m): " + infrastructureModel.DistanceFromShore_m + "\r\n"); sbKML.AppendLine(@"Far Field Velocity (m/s): " + infrastructureModel.FarFieldVelocity_m_s + "\r\n"); sbKML.AppendLine(@"Horizontal Angle (deg): " + infrastructureModel.HorizontalAngle_deg + "\r\n"); sbKML.AppendLine(@"Near Field Velocity (m/s): " + infrastructureModel.NearFieldVelocity_m_s + "\r\n"); sbKML.AppendLine(@"Number Of Ports: " + infrastructureModel.NumberOfPorts + "\r\n"); sbKML.AppendLine(@"Port Diameter (m): " + infrastructureModel.PortDiameter_m + "\r\n"); sbKML.AppendLine(@"Port Elevation (m): " + infrastructureModel.PortElevation_m + "\r\n"); sbKML.AppendLine(@"Port Spacing (m): " + infrastructureModel.PortSpacing_m + "\r\n"); sbKML.AppendLine(@"Receiving Water Concentration (FC /100 ml): " + infrastructureModel.ReceivingWater_MPN_per_100ml + "\r\n"); sbKML.AppendLine(@"Receiving Water Salinity (PSU): " + infrastructureModel.ReceivingWaterSalinity_PSU + "\r\n"); sbKML.AppendLine(@"Receiving Water Temperature (ºC): " + infrastructureModel.ReceivingWaterTemperature_C + "\r\n"); sbKML.AppendLine(@"Vertical Angle (deg): " + infrastructureModel.VerticalAngle_deg + "\r\n"); sbKML.AppendLine(@"</pre>"); sbKML.AppendLine(@"]]>"); sbKML.AppendLine(@" </description>"); sbKML.AppendLine(@" <Point>"); sbKML.AppendLine(@" <coordinates>"+ mapInfoPointModelInfrastructureList[0].Lng + "," + mapInfoPointModelInfrastructureList[0].Lat + ",0</coordinates>"); sbKML.AppendLine(@" </Point>"); sbKML.AppendLine(@" </Placemark>"); sbKML.AppendLine(@" <Placemark>"); sbKML.AppendLine(@" <name>Outfall " + tvItemModelInfrastructureList.Where(c => c.TVItemID == infrastructureModel.InfrastructureTVItemID).Select(c => c.TVText).FirstOrDefault() + "</name>"); sbKML.AppendLine(@" <visibility>0</visibility>"); sbKML.AppendLine(@"<styleUrl>#msn_grn-pushpin</styleUrl>"); sbKML.AppendLine(@" <Point>"); sbKML.AppendLine(@" <coordinates>"+ mapInfoPointModelInfrastructureOutfallList[0].Lng + "," + mapInfoPointModelInfrastructureOutfallList[0].Lat + ",0</coordinates>"); sbKML.AppendLine(@" </Point>"); sbKML.AppendLine(@" </Placemark>"); } // Doing Line Overflow foreach (InfrastructureModel infrastructureModel in infrastructureModelList.Where(c => c.InfrastructureType == InfrastructureTypeEnum.LineOverflow).ToList()) { sbKML.AppendLine(@" <Placemark>"); sbKML.AppendLine(@" <name>" + tvItemModelInfrastructureList.Where(c => c.TVItemID == infrastructureModel.InfrastructureTVItemID).Select(c => c.TVText).FirstOrDefault() + "</name>"); sbKML.AppendLine(@" <visibility>0</visibility>"); sbKML.AppendLine(@"<styleUrl>#msn_ylw-pushpin</styleUrl>"); sbKML.AppendLine(@" <description>"); sbKML.AppendLine(@"<![CDATA["); sbKML.AppendLine(@"<pre>"); sbKML.AppendLine(@"Alarm System Type: " + baseEnumService.GetEnumText_AlarmSystemTypeEnum(infrastructureModel.AlarmSystemType) + "\r\n"); sbKML.AppendLine(@"Can overflow: " + infrastructureModel.CanOverflow.ToString() + "\r\n"); sbKML.AppendLine(@"Category: " + infrastructureModel.InfrastructureCategory + "\r\n"); sbKML.AppendLine(@"Collection System Type: " + baseEnumService.GetEnumText_CollectionSystemTypeEnum(infrastructureModel.CollectionSystemType) + "\r\n"); sbKML.AppendLine(@"Comments: " + infrastructureModel.Comment + "\r\n"); sbKML.AppendLine(@"Infrastructure Type: " + baseEnumService.GetEnumText_InfrastructureTypeEnum(infrastructureModel.InfrastructureType) + "\r\n"); sbKML.AppendLine(@"Percent Flow Of Total (%): " + infrastructureModel.PercFlowOfTotal + "\r\n"); List <MapInfoPointModel> mapInfoPointModelInfrastructureList = mapInfoService._MapInfoPointService.GetMapInfoPointModelListWithTVItemIDAndTVTypeAndMapInfoDrawTypeDB(infrastructureModel.InfrastructureTVItemID, TVTypeEnum.LineOverflow, MapInfoDrawTypeEnum.Point); if (mapInfoPointModelInfrastructureList.Count > 0) { sbKML.AppendLine(@"Latitude Longitude: " + mapInfoPointModelInfrastructureList[0].Lat + " " + mapInfoPointModelInfrastructureList[0].Lng + "\r\n"); } else { sbKML.AppendLine("Latitude Longitude: \r\n"); } List <MapInfoPointModel> mapInfoPointModelInfrastructureOutfallList = mapInfoService._MapInfoPointService.GetMapInfoPointModelListWithTVItemIDAndTVTypeAndMapInfoDrawTypeDB(infrastructureModel.InfrastructureTVItemID, TVTypeEnum.Outfall, MapInfoDrawTypeEnum.Point); if (mapInfoPointModelInfrastructureOutfallList.Count > 0) { sbKML.AppendLine(@"Outfall: Latitude Longitude: " + mapInfoPointModelInfrastructureOutfallList[0].Lat + " " + mapInfoPointModelInfrastructureOutfallList[0].Lng + "\r\n"); } else { sbKML.AppendLine("Outfall: Latitude Longitude: \r\n"); } sbKML.AppendLine("\r\n\r\n"); sbKML.AppendLine("Outfall Information\r\n\r\n"); sbKML.AppendLine(@"Average Depth (m): " + infrastructureModel.AverageDepth_m + "\r\n"); sbKML.AppendLine(@"Decay Rate (/day): " + infrastructureModel.DecayRate_per_day + "\r\n"); sbKML.AppendLine(@"Distance From Shore (m): " + infrastructureModel.DistanceFromShore_m + "\r\n"); sbKML.AppendLine(@"Far Field Velocity (m/s): " + infrastructureModel.FarFieldVelocity_m_s + "\r\n"); sbKML.AppendLine(@"Horizontal Angle (deg): " + infrastructureModel.HorizontalAngle_deg + "\r\n"); sbKML.AppendLine(@"Near Field Velocity (m/s): " + infrastructureModel.NearFieldVelocity_m_s + "\r\n"); sbKML.AppendLine(@"Number Of Ports: " + infrastructureModel.NumberOfPorts + "\r\n"); sbKML.AppendLine(@"Port Diameter (m): " + infrastructureModel.PortDiameter_m + "\r\n"); sbKML.AppendLine(@"Port Elevation (m): " + infrastructureModel.PortElevation_m + "\r\n"); sbKML.AppendLine(@"Port Spacing (m): " + infrastructureModel.PortSpacing_m + "\r\n"); sbKML.AppendLine(@"Receiving Water Concentration (FC /100 ml): " + infrastructureModel.ReceivingWater_MPN_per_100ml + "\r\n"); sbKML.AppendLine(@"Receiving Water Salinity (PSU): " + infrastructureModel.ReceivingWaterSalinity_PSU + "\r\n"); sbKML.AppendLine(@"Receiving Water Temperature (ºC): " + infrastructureModel.ReceivingWaterTemperature_C + "\r\n"); sbKML.AppendLine(@"Vertical Angle (deg): " + infrastructureModel.VerticalAngle_deg + "\r\n"); sbKML.AppendLine(@"</pre>"); sbKML.AppendLine(@"]]>"); sbKML.AppendLine(@" </description>"); sbKML.AppendLine(@" <Point>"); sbKML.AppendLine(@" <coordinates>"+ mapInfoPointModelInfrastructureList[0].Lng + "," + mapInfoPointModelInfrastructureList[0].Lat + ",0</coordinates>"); sbKML.AppendLine(@" </Point>"); sbKML.AppendLine(@" </Placemark>"); sbKML.AppendLine(@" <Placemark>"); sbKML.AppendLine(@" <name>Outfall " + tvItemModelInfrastructureList.Where(c => c.TVItemID == infrastructureModel.InfrastructureTVItemID).Select(c => c.TVText).FirstOrDefault() + "</name>"); sbKML.AppendLine(@" <visibility>0</visibility>"); sbKML.AppendLine(@"<styleUrl>#msn_grn-pushpin</styleUrl>"); sbKML.AppendLine(@" <Point>"); sbKML.AppendLine(@" <coordinates>"+ mapInfoPointModelInfrastructureOutfallList[0].Lng + "," + mapInfoPointModelInfrastructureOutfallList[0].Lat + ",0</coordinates>"); sbKML.AppendLine(@" </Point>"); sbKML.AppendLine(@" </Placemark>"); } sbKML.AppendLine(@" </Folder>"); } sbKML.AppendLine(@" </Folder>"); // Doing Short Pollution Source Site sbKML.AppendLine(@" <Folder>"); sbKML.AppendLine(@" <name>Short Pollution Source Sites</name>"); sbKML.AppendLine(@" <visibility>0</visibility>"); List <PolSourceSiteModel> polSourceSiteModelList = polSourceSiteService.GetPolSourceSiteModelListWithSubsectorTVItemIDDB(tvItemModelSubsector.TVItemID); foreach (PolSourceSiteModel polSourceSiteModel in polSourceSiteModelList.OrderBy(c => c.Site).ToList()) { // Doing point sbKML.AppendLine(@" <Placemark>"); sbKML.AppendLine(@" <name>" + polSourceSiteModel.Site.ToString() + "</name>"); sbKML.AppendLine(@" <visibility>0</visibility>"); sbKML.AppendLine(@"<styleUrl>#msn_ylw-pushpin</styleUrl>"); sbKML.AppendLine(@" <description>"); sbKML.AppendLine(@"<![CDATA["); sbKML.AppendLine(@"<pre>"); PolSourceObservationModel polSourceObservationModel = polSourceSiteService._PolSourceObservationService.GetPolSourceObservationModelLatestWithPolSourceSiteTVItemIDDB(polSourceSiteModel.PolSourceSiteTVItemID); if (polSourceObservationModel != null) { List <PolSourceObservationIssueModel> polSourceObservationIssueModelList = polSourceSiteService._PolSourceObservationService._PolSourceObservationIssueService.GetPolSourceObservationIssueModelListWithPolSourceObservationIDDB(polSourceObservationModel.PolSourceObservationID); string SelectedObservation = "Selected: \r\n"; foreach (PolSourceObservationIssueModel polSourceObservationIssueModel in polSourceObservationIssueModelList) { foreach (PolSourceObsInfoEnum polSourceObsInfo in polSourceObservationIssueModel.PolSourceObsInfoList) { SelectedObservation += baseEnumService.GetEnumText_PolSourceObsInfoReportEnum(polSourceObsInfo); } SelectedObservation += "\r\n\r\n"; } sbKML.AppendLine("Written: \r\n" + (string.IsNullOrWhiteSpace(polSourceObservationModel.Observation_ToBeDeleted) ? "" : polSourceObservationModel.Observation_ToBeDeleted.ToString()) + "\r\n\r\n" + SelectedObservation); } else { string SelectedObservation = "Selected: \r\n"; sbKML.AppendLine("Written: \r\n\r\n" + SelectedObservation); } sbKML.AppendLine(@"</pre>"); sbKML.AppendLine(@"]]>"); sbKML.AppendLine(@" </description>"); mapInfoPointModelList = mapInfoService._MapInfoPointService.GetMapInfoPointModelListWithTVItemIDAndTVTypeAndMapInfoDrawTypeDB(polSourceSiteModel.PolSourceSiteTVItemID, TVTypeEnum.PolSourceSite, MapInfoDrawTypeEnum.Point); sbKML.AppendLine(@" <Point>"); sbKML.AppendLine(@" <coordinates>"+ mapInfoPointModelList[0].Lng + "," + mapInfoPointModelList[0].Lat + ",0</coordinates>"); sbKML.AppendLine(@" </Point>"); sbKML.AppendLine(@" </Placemark>"); } sbKML.AppendLine(@" </Folder>"); // Doing Long Pollution Source Site sbKML.AppendLine(@" <Folder>"); sbKML.AppendLine(@" <name>Long Pollution Source Sites</name>"); sbKML.AppendLine(@" <visibility>0</visibility>"); polSourceSiteModelList = polSourceSiteService.GetPolSourceSiteModelListWithSubsectorTVItemIDDB(tvItemModelSubsector.TVItemID); foreach (PolSourceSiteModel polSourceSiteModel in polSourceSiteModelList.OrderBy(c => c.Site).ToList()) { TVItemModel tvItemModelPolSourceSite = tvItemService.GetTVItemModelWithTVItemIDDB(polSourceSiteModel.PolSourceSiteTVItemID); // Doing point sbKML.AppendLine(@" <Placemark>"); sbKML.AppendLine(@" <name>" + tvItemModelPolSourceSite.TVText + "</name>"); sbKML.AppendLine(@" <visibility>0</visibility>"); sbKML.AppendLine(@"<styleUrl>#msn_ylw-pushpin</styleUrl>"); sbKML.AppendLine(@" <description>"); sbKML.AppendLine(@"<![CDATA["); sbKML.AppendLine(@"<pre>"); PolSourceObservationModel polSourceObservationModel = polSourceSiteService._PolSourceObservationService.GetPolSourceObservationModelLatestWithPolSourceSiteTVItemIDDB(polSourceSiteModel.PolSourceSiteTVItemID); if (polSourceObservationModel != null) { List <PolSourceObservationIssueModel> polSourceObservationIssueModelList = polSourceSiteService._PolSourceObservationService._PolSourceObservationIssueService.GetPolSourceObservationIssueModelListWithPolSourceObservationIDDB(polSourceObservationModel.PolSourceObservationID); string SelectedObservation = "Selected: \r\n"; foreach (PolSourceObservationIssueModel polSourceObservationIssueModel in polSourceObservationIssueModelList) { foreach (PolSourceObsInfoEnum polSourceObsInfo in polSourceObservationIssueModel.PolSourceObsInfoList) { SelectedObservation += baseEnumService.GetEnumText_PolSourceObsInfoReportEnum(polSourceObsInfo); } SelectedObservation += "\r\n\r\n"; } sbKML.AppendLine("Written: \r\n" + (string.IsNullOrWhiteSpace(polSourceObservationModel.Observation_ToBeDeleted) ? "" : polSourceObservationModel.Observation_ToBeDeleted.ToString()) + "\r\n\r\n" + SelectedObservation); } else { string SelectedObservation = "Selected: \r\n"; sbKML.AppendLine("Written: \r\n\r\n" + SelectedObservation); } sbKML.AppendLine(@"</pre>"); sbKML.AppendLine(@"]]>"); sbKML.AppendLine(@" </description>"); mapInfoPointModelList = mapInfoService._MapInfoPointService.GetMapInfoPointModelListWithTVItemIDAndTVTypeAndMapInfoDrawTypeDB(tvItemModelPolSourceSite.TVItemID, TVTypeEnum.PolSourceSite, MapInfoDrawTypeEnum.Point); sbKML.AppendLine(@" <Point>"); sbKML.AppendLine(@" <coordinates>"+ mapInfoPointModelList[0].Lng + "," + mapInfoPointModelList[0].Lat + ",0</coordinates>"); sbKML.AppendLine(@" </Point>"); sbKML.AppendLine(@" </Placemark>"); } sbKML.AppendLine(@" </Folder>"); // Doing MWQM Site sbKML.AppendLine(@" <Folder>"); sbKML.AppendLine(@" <name>MWQM Sites</name>"); sbKML.AppendLine(@" <visibility>0</visibility>"); List <TVItemModel> tvItemModelMWQMSiteList = tvItemService.GetChildrenTVItemModelListWithTVItemIDAndTVTypeDB(tvItemModelSubsector.TVItemID, TVTypeEnum.MWQMSite); foreach (TVItemModel tvItemModelMWQMSite in tvItemModelMWQMSiteList) { // Doing point sbKML.AppendLine(@" <Placemark>"); sbKML.AppendLine(@" <name>" + tvItemModelMWQMSite.TVText + "</name>"); sbKML.AppendLine(@" <visibility>0</visibility>"); sbKML.AppendLine(@"<styleUrl>#msn_ylw-pushpin</styleUrl>"); mapInfoPointModelList = mapInfoService._MapInfoPointService.GetMapInfoPointModelListWithTVItemIDAndTVTypeAndMapInfoDrawTypeDB(tvItemModelMWQMSite.TVItemID, TVTypeEnum.MWQMSite, MapInfoDrawTypeEnum.Point); sbKML.AppendLine(@" <Point>"); sbKML.AppendLine(@" <coordinates>"+ mapInfoPointModelList[0].Lng + "," + mapInfoPointModelList[0].Lat + ",0</coordinates>"); sbKML.AppendLine(@" </Point>"); sbKML.AppendLine(@" </Placemark>"); } sbKML.AppendLine(@" </Folder>"); sbKML.AppendLine(@" </Folder>"); sbKML.AppendLine(@"</Document>"); sbKML.AppendLine(@"</kml>"); StreamWriter sw = fi.CreateText(); sw.Write(sbKML.ToString()); sw.Close(); }
public virtual TVAuthEnum GetTVAuthWithTVItemIDAndContactID(int ContactTVItemID, int TVItemID1, int?TVItemID2, int?TVItemID3, int?TVItemID4) { if (TVItemID1 == 0) { return(TVAuthEnum.Error); } if (ContactTVItemID == 0) { return(TVAuthEnum.Error); } TVItemService tvItemService = new TVItemService(LanguageRequest, User); TVTypeUserAuthorizationService tvTypeUserAuthorizationService = new TVTypeUserAuthorizationService(LanguageRequest, User); TVItemUserAuthorizationService tvItemUserAuthorizationService = new TVItemUserAuthorizationService(LanguageRequest, User); TVItemModel tvItemModel = tvItemService.GetTVItemModelWithTVItemIDDB(TVItemID1); if (!string.IsNullOrWhiteSpace(tvItemModel.Error)) { return(TVAuthEnum.Error); } List <TVTypeUserAuthorizationModel> tvTypeUserAuthorizationModelList = tvTypeUserAuthorizationService.GetTVTypeUserAuthorizationModelListWithContactTVItemIDDB(ContactTVItemID); if (tvTypeUserAuthorizationModelList.Count == 0) { return(TVAuthEnum.Error); } if (tvTypeUserAuthorizationModelList[0].TVType != TVTypeEnum.Root) { return(TVAuthEnum.Error); } List <TVItemUserAuthorizationModel> tvItemUserAuthorizationModelList = tvItemUserAuthorizationService.GetTVItemUserAuthorizationModelListWithContactTVItemIDDB(ContactTVItemID); if (tvItemModel.TVType == TVTypeEnum.File) { tvItemModel = tvItemService.GetTVItemModelWithTVItemIDDB(tvItemModel.ParentID); } int TVLevelCurrent = tvItemModel.TVLevel; string TVPathType = tvItemService.tvTypeNamesAndPathList.Where(c => c.Index == (int)tvItemModel.TVType).FirstOrDefault().TVPath; TVAuthEnum tvAuth = TVAuthEnum.Error; foreach (TVTypeUserAuthorizationModel tvTypeUserAuthorizationModel in tvTypeUserAuthorizationModelList) { if (TVPathType.Length >= tvTypeUserAuthorizationModel.TVPath.Length) { if (TVPathType.StartsWith(tvTypeUserAuthorizationModel.TVPath)) { tvAuth = tvTypeUserAuthorizationModel.TVAuth; } } } foreach (TVItemUserAuthorizationModel tvItemUserAuthorizationModel in tvItemUserAuthorizationModelList) { if (tvItemModel.TVPath.Length >= tvItemUserAuthorizationModel.TVPath1.Length) { if (tvItemModel.TVPath.StartsWith(tvItemUserAuthorizationModel.TVPath1)) { tvAuth = tvItemUserAuthorizationModel.TVAuth; } } } return(tvAuth); }
public void Generate(FileInfo fi) { TVItemService tvItemService = new TVItemService(_TaskRunnerBaseService._BWObj.appTaskModel.Language, _TaskRunnerBaseService._User); MapInfoService mapInfoService = new MapInfoService(_TaskRunnerBaseService._BWObj.appTaskModel.Language, _TaskRunnerBaseService._User); InfrastructureService infrastructureService = new InfrastructureService(_TaskRunnerBaseService._BWObj.appTaskModel.Language, _TaskRunnerBaseService._User); if (_TaskRunnerBaseService._BWObj.appTaskModel.Language == "fr") { Thread.CurrentThread.CurrentCulture = new CultureInfo("fr-CA"); Thread.CurrentThread.CurrentUICulture = new CultureInfo("fr-CA"); } else { Thread.CurrentThread.CurrentCulture = new CultureInfo("en-CA"); Thread.CurrentThread.CurrentUICulture = new CultureInfo("en-CA"); } TVFileService tvFileService = new TVFileService(_TaskRunnerBaseService._BWObj.appTaskModel.Language, _TaskRunnerBaseService._User); string ServerFilePath = tvFileService.GetServerFilePath(_TaskRunnerBaseService._BWObj.appTaskModel.TVItemID); DirectoryInfo di = new DirectoryInfo(ServerFilePath); if (!di.Exists) { di.Create(); } if (fi.Exists) { fi.Delete(); } StringBuilder sbKMZ = new StringBuilder(); StringBuilder sbKMZWWTP = new StringBuilder(); StringBuilder sbKMZLS = new StringBuilder(); StringBuilder sbKMZOutfall = new StringBuilder(); StringBuilder sbKMZOther = new StringBuilder(); sbKMZ.AppendLine(@"<?xml version=""1.0"" encoding=""UTF-8""?>"); sbKMZ.AppendLine(@"<kml xmlns=""http://www.opengis.net/kml/2.2"" xmlns:gx=""http://www.google.com/kml/ext/2.2"" xmlns:kml=""http://www.opengis.net/kml/2.2"" xmlns:atom=""http://www.w3.org/2005/Atom"">"); sbKMZ.AppendLine(@"<Document>"); sbKMZ.AppendLine(@" <name>" + _TaskRunnerBaseService.generateDocParams.FileName + "</name>"); sbKMZ.AppendLine(@" <StyleMap id=""msn_ylw-pushpin"">"); sbKMZ.AppendLine(@" <Pair>"); sbKMZ.AppendLine(@" <key>normal</key>"); sbKMZ.AppendLine(@" <styleUrl>#sn_ylw-pushpin</styleUrl>"); sbKMZ.AppendLine(@" </Pair>"); sbKMZ.AppendLine(@" <Pair>"); sbKMZ.AppendLine(@" <key>highlight</key>"); sbKMZ.AppendLine(@" <styleUrl>#sh_ylw-pushpin</styleUrl>"); sbKMZ.AppendLine(@" </Pair>"); sbKMZ.AppendLine(@" </StyleMap>"); sbKMZ.AppendLine(@" <Style id=""sh_ylw-pushpin"">"); sbKMZ.AppendLine(@" <IconStyle>"); sbKMZ.AppendLine(@" <scale>1.2</scale>"); sbKMZ.AppendLine(@" </IconStyle>"); sbKMZ.AppendLine(@" <LineStyle>"); sbKMZ.AppendLine(@" <color>ff00ff00</color>"); sbKMZ.AppendLine(@" <width>1.5</width>"); sbKMZ.AppendLine(@" </LineStyle>"); sbKMZ.AppendLine(@" <PolyStyle>"); sbKMZ.AppendLine(@" <color>0000ff00</color>"); sbKMZ.AppendLine(@" </PolyStyle>"); sbKMZ.AppendLine(@" </Style>"); sbKMZ.AppendLine(@" <Style id=""sn_ylw-pushpin"">"); sbKMZ.AppendLine(@" <LineStyle>"); sbKMZ.AppendLine(@" <color>ff00ff00</color>"); sbKMZ.AppendLine(@" <width>1.5</width>"); sbKMZ.AppendLine(@" </LineStyle>"); sbKMZ.AppendLine(@" <PolyStyle>"); sbKMZ.AppendLine(@" <color>0000ff00</color>"); sbKMZ.AppendLine(@" </PolyStyle>"); sbKMZ.AppendLine(@" </Style>"); TVItemModel tvItemModelMunicipality = tvItemService.GetTVItemModelWithTVItemIDDB(_TaskRunnerBaseService._BWObj.appTaskModel.TVItemID); List <MapInfoPointModel> mapInfoPointModelMuniList = mapInfoService._MapInfoPointService.GetMapInfoPointModelListWithTVItemIDAndTVTypeAndMapInfoDrawTypeDB(tvItemModelMunicipality.TVItemID, TVTypeEnum.Municipality, MapInfoDrawTypeEnum.Point); sbKMZ.AppendLine(@" <Folder>"); sbKMZ.AppendLine(@" <name>Municipality</name>"); // Doing Point sbKMZ.AppendLine(@" <Placemark>"); sbKMZ.AppendLine(@" <name>" + tvItemModelMunicipality.TVText + "</name>"); sbKMZ.AppendLine(@"<styleUrl>#msn_ylw-pushpin</styleUrl>"); //sbKMZ.AppendLine(@" <description>"); //sbKMZ.AppendLine(@"<![CDATA["); //sbKMZ.AppendLine(@"<a href=""" + _TaskRunnerBaseService.GetUrlFromTVItem(tvItemModelRoot) + @""">" + tvItemModelRoot.TVText + "</a>"); //sbKMZ.AppendLine(@"]]>"); //sbKMZ.AppendLine(@" </description>"); sbKMZ.AppendLine(@" <Point>"); sbKMZ.AppendLine(@" <coordinates>"+ mapInfoPointModelMuniList[0].Lng + "," + mapInfoPointModelMuniList[0].Lat + ",0</coordinates>"); sbKMZ.AppendLine(@" </Point>"); sbKMZ.AppendLine(@" </Placemark>"); // Doing Infrastructures sbKMZ.AppendLine(@" <Folder>"); sbKMZ.AppendLine(@" <name>Infrastructures</name>"); sbKMZWWTP.AppendLine(@" <Folder>"); sbKMZWWTP.AppendLine(@" <name>Waste Water Treatment Plants</name>"); sbKMZLS.AppendLine(@" <Folder>"); sbKMZLS.AppendLine(@" <name>Lift Stations</name>"); sbKMZOutfall.AppendLine(@" <Folder>"); sbKMZOutfall.AppendLine(@" <name>Outfalls</name>"); sbKMZOther.AppendLine(@" <Folder>"); sbKMZOther.AppendLine(@" <name>Others</name>"); List <TVItemModel> tvItemModelInfrastructuresList = tvItemService.GetChildrenTVItemModelListWithTVItemIDAndTVTypeDB(tvItemModelMunicipality.TVItemID, TVTypeEnum.Infrastructure); foreach (TVItemModel tvItemModelInfrastructure in tvItemModelInfrastructuresList) { InfrastructureModel infrastructureModel = infrastructureService.GetInfrastructureModelWithInfrastructureTVItemIDDB(tvItemModelInfrastructure.TVItemID); List <MapInfoPointModel> mapInfoPointModelInfList = new List <MapInfoPointModel>(); List <MapInfoPointModel> mapInfoPointModelInfOutList = new List <MapInfoPointModel>(); if (infrastructureModel.InfrastructureType == InfrastructureTypeEnum.WWTP) { mapInfoPointModelInfList = mapInfoService._MapInfoPointService.GetMapInfoPointModelListWithTVItemIDAndTVTypeAndMapInfoDrawTypeDB(tvItemModelInfrastructure.TVItemID, TVTypeEnum.WasteWaterTreatmentPlant, MapInfoDrawTypeEnum.Point); mapInfoPointModelInfOutList = mapInfoService._MapInfoPointService.GetMapInfoPointModelListWithTVItemIDAndTVTypeAndMapInfoDrawTypeDB(tvItemModelInfrastructure.TVItemID, TVTypeEnum.Outfall, MapInfoDrawTypeEnum.Point); } else if (infrastructureModel.InfrastructureType == InfrastructureTypeEnum.LiftStation) { mapInfoPointModelInfList = mapInfoService._MapInfoPointService.GetMapInfoPointModelListWithTVItemIDAndTVTypeAndMapInfoDrawTypeDB(tvItemModelInfrastructure.TVItemID, TVTypeEnum.LiftStation, MapInfoDrawTypeEnum.Point); mapInfoPointModelInfOutList = mapInfoService._MapInfoPointService.GetMapInfoPointModelListWithTVItemIDAndTVTypeAndMapInfoDrawTypeDB(tvItemModelInfrastructure.TVItemID, TVTypeEnum.Outfall, MapInfoDrawTypeEnum.Point); } else if (infrastructureModel.InfrastructureType == InfrastructureTypeEnum.Other) { mapInfoPointModelInfList = mapInfoService._MapInfoPointService.GetMapInfoPointModelListWithTVItemIDAndTVTypeAndMapInfoDrawTypeDB(tvItemModelInfrastructure.TVItemID, TVTypeEnum.OtherInfrastructure, MapInfoDrawTypeEnum.Point); mapInfoPointModelInfOutList = mapInfoService._MapInfoPointService.GetMapInfoPointModelListWithTVItemIDAndTVTypeAndMapInfoDrawTypeDB(tvItemModelInfrastructure.TVItemID, TVTypeEnum.Outfall, MapInfoDrawTypeEnum.Point); } Coord coord = new Coord(); if (mapInfoPointModelInfList.Count == 0) { coord.Lat = (float)mapInfoPointModelMuniList[0].Lat + 0.01f; coord.Lng = (float)mapInfoPointModelMuniList[0].Lng + 0.01f; coord.Ordinal = 0; } else { coord.Lat = (float)mapInfoPointModelInfList[0].Lat; coord.Lng = (float)mapInfoPointModelInfList[0].Lng; coord.Ordinal = 0; } Coord coord2 = new Coord(); if (mapInfoPointModelInfOutList.Count == 0) { coord2.Lat = (float)mapInfoPointModelMuniList[0].Lat + 0.01f; coord2.Lng = (float)mapInfoPointModelMuniList[0].Lng + 0.01f; coord2.Ordinal = 0; } else { coord2.Lat = (float)mapInfoPointModelInfOutList[0].Lat; coord2.Lng = (float)mapInfoPointModelInfOutList[0].Lng; coord2.Ordinal = 0; } if (infrastructureModel.InfrastructureType == InfrastructureTypeEnum.WWTP) { // Doing point Infr. WWTP sbKMZWWTP.AppendLine(@" <Placemark>"); sbKMZWWTP.AppendLine(@" <name>" + tvItemModelInfrastructure.TVText + "</name>"); sbKMZWWTP.AppendLine(@"<styleUrl>#msn_ylw-pushpin</styleUrl>"); //sbKMZWWTP.AppendLine(@" <description>"); //sbKMZWWTP.AppendLine(@"<![CDATA["); //sbKMZWWTP.AppendLine(@"<a href=""" + _TaskRunnerBaseService.GetUrlFromTVItem(tvItemModelCountry) + @""">" + tvItemModelCountry.TVText + "</a>"); //sbKMZWWTP.AppendLine(@"]]>"); //sbKMZWWTP.AppendLine(@" </description>"); sbKMZWWTP.AppendLine(@" <Point>"); sbKMZWWTP.AppendLine(@" <coordinates>"+ coord.Lng + "," + coord.Lat + ",0</coordinates>"); sbKMZWWTP.AppendLine(@" </Point>"); sbKMZWWTP.AppendLine(@" </Placemark>"); } else if (infrastructureModel.InfrastructureType == InfrastructureTypeEnum.LiftStation) { // Doing point Infr. LS sbKMZLS.AppendLine(@" <Placemark>"); sbKMZLS.AppendLine(@" <name>"+ tvItemModelInfrastructure.TVText + "</name>"); sbKMZLS.AppendLine(@"<styleUrl>#msn_ylw-pushpin</styleUrl>"); //sbKMZLS.AppendLine(@" <description>"); //sbKMZLS.AppendLine(@"<![CDATA["); //sbKMZLS.AppendLine(@"<a href=""" + _TaskRunnerBaseService.GetUrlFromTVItem(tvItemModelCountry) + @""">" + tvItemModelCountry.TVText + "</a>"); //sbKMZLS.AppendLine(@"]]>"); //sbKMZLS.AppendLine(@" </description>"); sbKMZLS.AppendLine(@" <Point>"); sbKMZLS.AppendLine(@" <coordinates>"+ coord.Lng + "," + coord.Lat + ",0</coordinates>"); sbKMZLS.AppendLine(@" </Point>"); sbKMZLS.AppendLine(@" </Placemark>"); } else if (infrastructureModel.InfrastructureType == InfrastructureTypeEnum.Other) { // Doing point Infr. WWTP sbKMZOther.AppendLine(@" <Placemark>"); sbKMZOther.AppendLine(@" <name>"+ tvItemModelInfrastructure.TVText + "</name>"); sbKMZOther.AppendLine(@"<styleUrl>#msn_ylw-pushpin</styleUrl>"); //sbKMZOther.AppendLine(@" <description>"); //sbKMZOther.AppendLine(@"<![CDATA["); //sbKMZOther.AppendLine(@"<a href=""" + _TaskRunnerBaseService.GetUrlFromTVItem(tvItemModelCountry) + @""">" + tvItemModelCountry.TVText + "</a>"); //sbKMZOther.AppendLine(@"]]>"); //sbKMZOther.AppendLine(@" </description>"); sbKMZOther.AppendLine(@" <Point>"); sbKMZOther.AppendLine(@" <coordinates>"+ coord.Lng + "," + coord.Lat + ",0</coordinates>"); sbKMZOther.AppendLine(@" </Point>"); sbKMZOther.AppendLine(@" </Placemark>"); } else { } // Doing point Infr. outfall sbKMZOutfall.AppendLine(@" <Placemark>"); sbKMZOutfall.AppendLine(@" <name>"+ tvItemModelInfrastructure.TVText + "</name>"); sbKMZOutfall.AppendLine(@"<styleUrl>#msn_ylw-pushpin</styleUrl>"); //sbKMZOutfall.AppendLine(@" <description>"); //sbKMZOutfall.AppendLine(@"<![CDATA["); //sbKMZOutfall.AppendLine(@"<a href=""" + _TaskRunnerBaseService.GetUrlFromTVItem(tvItemModelCountry) + @""">" + tvItemModelCountry.TVText + "</a>"); //sbKMZOutfall.AppendLine(@"]]>"); //sbKMZOutfall.AppendLine(@" </description>"); sbKMZOutfall.AppendLine(@" <Point>"); sbKMZOutfall.AppendLine(@" <coordinates>"+ coord2.Lng + "," + coord2.Lat + ",0</coordinates>"); sbKMZOutfall.AppendLine(@" </Point>"); sbKMZOutfall.AppendLine(@" </Placemark>"); } sbKMZWWTP.AppendLine(@" </Folder>"); sbKMZLS.AppendLine(@" </Folder>"); sbKMZOutfall.AppendLine(@" </Folder>"); sbKMZOther.AppendLine(@" </Folder>"); sbKMZ.Append(sbKMZWWTP.ToString()); sbKMZ.Append(sbKMZLS.ToString()); sbKMZ.Append(sbKMZOutfall.ToString()); sbKMZ.Append(sbKMZOther.ToString()); sbKMZ.AppendLine(@" </Folder>"); sbKMZ.AppendLine(@" </Folder>"); sbKMZ.AppendLine(@"</Document>"); sbKMZ.AppendLine(@"</kml>"); StreamWriter sw = fi.CreateText(); sw.Write(sbKMZ.ToString()); sw.Close(); }
public TVItemModel PictureFileUploadDB(HttpRequestBase Request) { string AdminEmail = Request.QueryString["e"]; int TVItemID = int.Parse(Request.QueryString["t"]); IPrincipal user = new GenericPrincipal(new GenericIdentity(AdminEmail, "Forms"), null); ContactService contactService = new ContactService(LanguageRequest, user); ContactModel contactModel = contactService.GetContactModelWithLoginEmailDB(AdminEmail); if (!string.IsNullOrWhiteSpace(contactModel.Error)) { return(new TVItemModel() { Error = "ERROR: " + string.Format(ServiceRes.NoUserWithEmail_, AdminEmail) }); } TVItemService tvItemService = new TVItemService(LanguageRequest, user); TVFileService tvFileService = new TVFileService(LanguageRequest, user); List <string> AllowableExt = tvFileService.GetAllowableExt(); TVFileModel tvFileModelRet = new TVFileModel(); using (TransactionScope ts = new TransactionScope()) { string FileName = ""; if (Request.Files.Count != 1) { return new TVItemModel() { Error = "ERROR: " + ServiceRes.CanOnlyLoadOneFileAtATime } } ; HttpPostedFileBase hpf = null; foreach (string file in Request.Files) { hpf = Request.Files[file]; } if (hpf == null) { return new TVItemModel() { Error = "ERROR: " + ServiceRes.PleaseSelectAFileToUpload } } ; FileName = hpf.FileName; FileInfo fi = new FileInfo(FileName); if (!AllowableExt.Contains(fi.Extension.ToLower())) { string AllowableExtText = ""; foreach (string s in AllowableExt) { AllowableExtText += s + " "; } return(new TVItemModel() { Error = "ERROR: " + string.Format(ServiceRes.PleaseSelectAFileOfType_, AllowableExtText) }); } string ServerFileName = ""; if (FileName.Contains(@"\")) { ServerFileName = FileName.Substring(FileName.LastIndexOf(@"\") + 1); } else { ServerFileName = FileName; } TVItemModel tvItemModelPSS = tvItemService.GetTVItemModelWithTVItemIDDB(TVItemID); if (!string.IsNullOrWhiteSpace(tvItemModelPSS.Error)) { return(new TVItemModel() { Error = "ERROR: " + tvItemModelPSS.Error }); } TVItemModel tvItemModelExist = tvItemService.GetChildTVItemModelWithParentIDAndTVTextAndTVTypeDB(tvItemModelPSS.TVItemID, ServerFileName, TVTypeEnum.File); if (string.IsNullOrEmpty(tvItemModelExist.Error)) { return(new TVItemModel() { Error = "ERROR: " + string.Format(ServiceRes._AlreadyExists, ServerFileName) }); } TVItemModel tvItemModelTVFileRet = tvItemService.PostAddChildTVItemDB(tvItemModelPSS.TVItemID, ServerFileName, TVTypeEnum.File); if (!string.IsNullOrEmpty(tvItemModelTVFileRet.Error)) { return(new TVItemModel() { Error = "ERROR: " + tvItemModelTVFileRet.Error }); } string ServerFilePath = tvFileService.GetServerFilePath(tvItemModelPSS.TVItemID); int FileLength = hpf.ContentLength; DirectoryInfo di = new DirectoryInfo(ServerFilePath); if (!di.Exists) { di.Create(); } fi = new FileInfo(ServerFilePath + ServerFileName); if (fi.Exists) { return(new TVItemModel() { Error = "ERROR: " + string.Format(ServiceRes.File_AlreadyExist, ServerFileName) }); } hpf.SaveAs(fi.FullName); FileTypeEnum fileType = tvFileService.GetFileType(fi.Extension.ToUpper()); TVFileModel tvFileModelNew = new TVFileModel() { TVFileTVItemID = tvItemModelTVFileRet.TVItemID, FilePurpose = FilePurposeEnum.Picture, FileDescription = "Temp description", FileType = fileType, FileSize_kb = Math.Max(hpf.ContentLength / 1024, 1), FileInfo = "Uploaded file", FileCreatedDate_UTC = DateTime.Now, FromWater = false, ClientFilePath = FileName, ServerFileName = ServerFileName, ServerFilePath = ServerFilePath, Language = LanguageEnum.en, Year = DateTime.Now.Year, }; tvFileModelRet = tvFileService.PostAddTVFileDB(tvFileModelNew); if (!string.IsNullOrWhiteSpace(tvFileModelRet.Error)) { DeleteFileFromServer(fi); { return(new TVItemModel() { Error = "ERROR: " + tvFileModelRet.Error }); } } ts.Complete(); } return(new TVItemModel() { Error = tvFileModelRet.TVFileTVItemID.ToString() }); }
private void GenerateCountryDocument(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); TVItemModel tvItemModelCounty = tvItemService.GetTVItemModelWithTVItemIDDB(_TaskRunnerBaseService._BWObj.appTaskModel.TVItemID); if (!string.IsNullOrWhiteSpace(tvItemModelCounty.Error)) { paragraph = DocxBase.AddParagraph(body); DocxBase.AddRunWithCurrentParagraphStyle(paragraph, tvItemModelCounty.Error); } DocxBase.CurrentParagraphStyle = ParagraphStyleEnum.Heading1; DocxBase.CurrentJustificationValue = JustificationValues.Center; paragraph = DocxBase.AddParagraph(body); URL = _TaskRunnerBaseService.GetUrlFromTVItem(tvItemModelCounty); run = DocxBase.AddRunHyperlink(paragraph, URL, tvItemModelCounty.TVText); List <TVItemModel> tvItemModelProvinceList = tvItemService.GetChildrenTVItemModelListWithTVItemIDAndTVTypeDB(tvItemModelCounty.TVItemID, TVTypeEnum.Province); foreach (TVItemModel tvItemModelProvince in tvItemModelProvinceList) { //tvItemStatService.SetTVItemStatForTVItemIDAndParentsTVItemID(tvItemModelProvince.TVItemID); DocxBase.CurrentParagraphStyle = ParagraphStyleEnum.Heading2; paragraph = DocxBase.AddParagraph(body); URL = _TaskRunnerBaseService.GetUrlFromTVItem(tvItemModelProvince); run = DocxBase.AddRunHyperlink(paragraph, URL, tvItemModelProvince.TVText); DocxBase.CurrentTableStyle = TableStyleEnum.ListTable7Colorful_Accent5; table = DocxBase.AddTableStyle(body); tableRow = DocxBase.AddTableRow(table); // Doing Items tableCell = DocxBase.AddTableCell(tableRow); paragraph = DocxBase.AddTableCellParagraph(tableCell); run = DocxBase.AddRunWithCurrentParagraphStyle(paragraph, "Items"); // Doing Count tableCell = DocxBase.AddTableCell(tableRow); paragraph = DocxBase.AddTableCellParagraph(tableCell); run = DocxBase.AddRunWithCurrentParagraphStyle(paragraph, "Count"); List <TVItemStatModel> tvItemStatModelList = tvItemStatService.GetTVItemStatModelListWithTVItemIDDB(tvItemModelProvince.TVItemID); int count = 0; foreach (TVItemStatModel tvItemStatModel in tvItemStatModelList) { count += 1; tableRow = DocxBase.AddTableRow(table); // Doing Item tableCell = DocxBase.AddTableCell(tableRow); paragraph = DocxBase.AddTableCellParagraph(tableCell); run = DocxBase.AddRunWithCurrentParagraphStyle(paragraph, baseEnumService.GetEnumText_TVTypeEnum(tvItemStatModel.TVType)); // Doing number tableCell = DocxBase.AddTableCell(tableRow); paragraph = DocxBase.AddTableCellParagraph(tableCell); run = DocxBase.AddRunWithCurrentParagraphStyle(paragraph, tvItemStatModel.ChildCount.ToString()); } } DocxBase.CurrentParagraphStyle = ParagraphStyleEnum.Normal; DocxBase.CurrentJustificationValue = JustificationValues.Left; paragraph = DocxBase.AddParagraph(body); paragraph = DocxBase.AddParagraph(body); DocxBase.AddRunWithCurrentParagraphStyle(paragraph, "Etc ... "); DocxBase.AddSectionProp(body); document.Append(body); }
public void GenerateLinksBetweenMWQMSitesAndPolSourceSitesForCSSPWebToolsVisualization() { string NotUsed = ""; TVItemService tvItemService = new TVItemService(_TaskRunnerBaseService._BWObj.appTaskModel.Language, _TaskRunnerBaseService._User); AppTaskService appTaskService = new AppTaskService(_TaskRunnerBaseService._BWObj.appTaskModel.Language, _TaskRunnerBaseService._User); TVFileService tvFileService = new TVFileService(_TaskRunnerBaseService._BWObj.appTaskModel.Language, _TaskRunnerBaseService._User); ProvinceToolsService provinceToolsService = new ProvinceToolsService(_TaskRunnerBaseService._BWObj.appTaskModel.Language, _TaskRunnerBaseService._User); MapInfoService mapInfoService = new MapInfoService(_TaskRunnerBaseService._BWObj.appTaskModel.Language, _TaskRunnerBaseService._User); AppTaskModel appTaskModel = appTaskService.GetAppTaskModelWithAppTaskIDDB(_TaskRunnerBaseService._BWObj.appTaskModel.AppTaskID); PolSourceSiteEffectService polSourceSiteEffectService = new PolSourceSiteEffectService(_TaskRunnerBaseService._BWObj.appTaskModel.Language, _TaskRunnerBaseService._User); PolSourceSiteEffectTermService polSourceSiteEffectTermService = new PolSourceSiteEffectTermService(_TaskRunnerBaseService._BWObj.appTaskModel.Language, _TaskRunnerBaseService._User); if (_TaskRunnerBaseService._BWObj.appTaskModel.TVItemID == 0) { NotUsed = string.Format(TaskRunnerServiceRes._Required, TaskRunnerServiceRes.TVItemID); _TaskRunnerBaseService._BWObj.TextLanguageList = _TaskRunnerBaseService.GetTextLanguageFormat1List("_Required", TaskRunnerServiceRes.TVItemID); return; } if (_TaskRunnerBaseService._BWObj.appTaskModel.TVItemID2 == 0) { NotUsed = string.Format(TaskRunnerServiceRes._Required, TaskRunnerServiceRes.TVItemID2); _TaskRunnerBaseService._BWObj.TextLanguageList = _TaskRunnerBaseService.GetTextLanguageFormat1List("_Required", TaskRunnerServiceRes.TVItemID2); return; } TVItemModel tvItemModelProvince = tvItemService.GetTVItemModelWithTVItemIDDB(_TaskRunnerBaseService._BWObj.appTaskModel.TVItemID); if (!string.IsNullOrWhiteSpace(tvItemModelProvince.Error)) { NotUsed = string.Format(TaskRunnerServiceRes.CouldNotFind_With_Equal_, TaskRunnerServiceRes.TVItem, TaskRunnerServiceRes.TVItemID, _TaskRunnerBaseService._BWObj.appTaskModel.TVItemID.ToString()); _TaskRunnerBaseService._BWObj.TextLanguageList = _TaskRunnerBaseService.GetTextLanguageFormat3List("CouldNotFind_With_Equal_", TaskRunnerServiceRes.TVItem, TaskRunnerServiceRes.TVItemID, _TaskRunnerBaseService._BWObj.appTaskModel.TVItemID.ToString()); return; } if (tvItemModelProvince.TVType != TVTypeEnum.Province) { NotUsed = string.Format(TaskRunnerServiceRes.TVTypeShouldBe_, TVTypeEnum.Province.ToString()); _TaskRunnerBaseService._BWObj.TextLanguageList = _TaskRunnerBaseService.GetTextLanguageFormat1List("TVTypeShouldBe_", TVTypeEnum.Province.ToString()); return; } string Parameters = _TaskRunnerBaseService._BWObj.appTaskModel.Parameters; string[] ParamValueList = Parameters.Split("|||".ToCharArray(), StringSplitOptions.RemoveEmptyEntries); int ProvinceTVItemID = 0; foreach (string s in ParamValueList) { string[] ParamValue = s.Split(",".ToCharArray(), StringSplitOptions.RemoveEmptyEntries); if (ParamValue.Length != 2) { NotUsed = string.Format(TaskRunnerServiceRes.CouldNotParse_Properly, TaskRunnerServiceRes.Parameters); _TaskRunnerBaseService._BWObj.TextLanguageList = _TaskRunnerBaseService.GetTextLanguageFormat1List("CouldNotParse_Properly", TaskRunnerServiceRes.Parameters); return; } if (ParamValue[0] == "ProvinceTVItemID") { ProvinceTVItemID = int.Parse(ParamValue[1]); } else { NotUsed = string.Format(TaskRunnerServiceRes.CouldNotFind_, ParamValue[0]); _TaskRunnerBaseService._BWObj.TextLanguageList = _TaskRunnerBaseService.GetTextLanguageFormat1List("CouldNotFind_", ParamValue[0].ToString()); return; } } if (tvItemModelProvince.TVItemID != ProvinceTVItemID) { NotUsed = string.Format(TaskRunnerServiceRes._NotEqualTo_, "tvItemModelProvince.TVItemID[" + tvItemModelProvince.TVItemID.ToString() + "]", "ProvinceTVItemID[" + ProvinceTVItemID.ToString() + "]"); _TaskRunnerBaseService._BWObj.TextLanguageList = _TaskRunnerBaseService.GetTextLanguageFormat2List("_NotEqualTo_", "tvItemModelProvince.TVItemID[" + tvItemModelProvince.TVItemID.ToString() + "]", "ProvinceTVItemID[" + ProvinceTVItemID.ToString() + "]"); return; } string ServerPath = tvFileService.GetServerFilePath(ProvinceTVItemID); string Init = provinceToolsService.GetInit(ProvinceTVItemID); #region Reading the MWQMSitesAndPolSourceSites_XX.KML List <TVItemIDAndLatLng> TVItemIDAndLatLngList = new List <TVItemIDAndLatLng>(); string FileName = $"MWQMSitesAndPolSourceSites_{Init}.kml"; FileInfo fi = new FileInfo(ServerPath + FileName); if (!fi.Exists) { NotUsed = string.Format(TaskRunnerServiceRes.CouldNotFindFile_, fi.FullName); _TaskRunnerBaseService._BWObj.TextLanguageList = _TaskRunnerBaseService.GetTextLanguageFormat1List("CouldNotFindFile_", fi.FullName); return; } XmlDocument doc = new XmlDocument(); doc.Load(fi.FullName); foreach (XmlNode node in doc.ChildNodes) { GetTVItemIDAndLatLng(TVItemIDAndLatLngList, node); } #endregion Reading the MWQMSitesAndPolSourceSites_XX.KML #region Reading the GroupingInputs__XX.KML string FileName2 = $"GroupingInputs_{Init}.kml"; FileInfo fi2 = new FileInfo(ServerPath + FileName2); if (!fi2.Exists) { NotUsed = string.Format(TaskRunnerServiceRes.CouldNotFindFile_, fi2.FullName); _TaskRunnerBaseService._BWObj.TextLanguageList = _TaskRunnerBaseService.GetTextLanguageFormat1List("CouldNotFindFile_", fi2.FullName); return; } XmlDocument doc2 = new XmlDocument(); doc2.Load(fi2.FullName); string CurrentSubsector = ""; string CurrentGroupingMWQMSitesAndPolSourceSites = ""; List <PolyObj> polyObjList = new List <PolyObj>(); XmlNode StartNode2 = doc2.ChildNodes[1].ChildNodes[0]; foreach (XmlNode n in StartNode2.ChildNodes) { if (n.Name == "Folder") { CurrentSubsector = ""; foreach (XmlNode n22 in n) { if (n22.Name == "name") { CurrentSubsector = n22.InnerText; } if (n22.Name == "Placemark") { CurrentGroupingMWQMSitesAndPolSourceSites = ""; foreach (XmlNode n2 in n22) { if (n2.Name == "name") { CurrentGroupingMWQMSitesAndPolSourceSites = n2.InnerText; } if (n2.Name == "Polygon") { foreach (XmlNode n222 in n2.ChildNodes) { if (n222.Name == "outerBoundaryIs") { foreach (XmlNode n2222 in n222.ChildNodes) { if (n2222.Name == "LinearRing") { PolyObj polyObj = new PolyObj(); polyObj.Subsector = CurrentSubsector; polyObj.Classification = CurrentGroupingMWQMSitesAndPolSourceSites.ToUpper().Trim(); foreach (XmlNode n3 in n2222.ChildNodes) { if (n3.Name == "coordinates") { string coordText = n3.InnerText.Trim(); List <string> pointListText = coordText.Split(" ".ToCharArray(), StringSplitOptions.RemoveEmptyEntries).ToList(); int ordinal = 0; foreach (string pointText in pointListText) { string pointTxt = pointText.Trim(); if (!string.IsNullOrWhiteSpace(pointTxt)) { List <string> valListText = pointTxt.Split(",".ToCharArray(), StringSplitOptions.RemoveEmptyEntries).ToList(); if (valListText.Count != 3) { NotUsed = "valListText.Count != 3"; _TaskRunnerBaseService._BWObj.TextLanguageList = _TaskRunnerBaseService.GetTextLanguageList("valListText.Count != 3"); return; } float Lng = float.Parse(valListText[0]); float Lat = float.Parse(valListText[1]); Coord coord = new Coord() { Lat = Lat, Lng = Lng, Ordinal = ordinal }; polyObj.coordList.Add(coord); ordinal += 1; } } } } if (polyObj.coordList.Count > 0) { polyObj.MinLat = polyObj.coordList.Min(c => c.Lat); polyObj.MaxLat = polyObj.coordList.Max(c => c.Lat); polyObj.MinLng = polyObj.coordList.Min(c => c.Lng); polyObj.MaxLng = polyObj.coordList.Max(c => c.Lng); } polyObjList.Add(polyObj); } } } } } } } } } } #endregion Reading the GroupingInputs__XX.KML #region Saving PolSourceSiteEffect in CSSPDB TVItemModel tvItemModelProv = tvItemService.GetTVItemModelWithTVItemIDDB(ProvinceTVItemID); if (!string.IsNullOrWhiteSpace(tvItemModelProv.Error)) { NotUsed = string.Format(TaskRunnerServiceRes.CouldNotFind_With_Equal_, TaskRunnerServiceRes.TVItem, TaskRunnerServiceRes.TVItemID, ProvinceTVItemID.ToString()); _TaskRunnerBaseService._BWObj.TextLanguageList = _TaskRunnerBaseService.GetTextLanguageFormat3List("CouldNotFind_With_Equal_", TaskRunnerServiceRes.TVItem, TaskRunnerServiceRes.TVItemID, ProvinceTVItemID.ToString()); return; } // getting all active MWQMSites and PolSourceSites under the province List <TVItem> tvItemMWQMSiteList = new List <TVItem>(); List <TVItem> tvItemPSSList = new List <TVItem>(); List <TVItem> tvItemInfraList = new List <TVItem>(); using (CSSPDBEntities db2 = new CSSPDBEntities()) { tvItemMWQMSiteList = (from c in db2.TVItems where c.TVPath.StartsWith(tvItemModelProv.TVPath + "p") && c.TVType == (int)TVTypeEnum.MWQMSite && c.IsActive == true select c).ToList(); tvItemPSSList = (from c in db2.TVItems where c.TVPath.StartsWith(tvItemModelProv.TVPath + "p") && c.TVType == (int)TVTypeEnum.PolSourceSite && c.IsActive == true select c).ToList(); tvItemInfraList = (from c in db2.TVItems where c.TVPath.StartsWith(tvItemModelProv.TVPath + "p") && c.TVType == (int)TVTypeEnum.Infrastructure && c.IsActive == true select c).ToList(); } List <TVItemModel> tvitemModelSSList = tvItemService.GetChildrenTVItemModelListWithTVItemIDAndTVTypeDB(tvItemModelProv.TVItemID, TVTypeEnum.Subsector); List <PolSourceSiteEffect> existingPolSourceSiteEffectSubsectorList = new List <PolSourceSiteEffect>(); List <PolSourceSiteEffect> newPolSourceSiteEffectSubsectorList = new List <PolSourceSiteEffect>(); int CountSS = 0; int TotalCount = tvitemModelSSList.Count; string Status = appTaskModel.StatusText; foreach (TVItemModel tvItemModelSS in tvitemModelSSList) { CountSS += 1; if (CountSS % 1 == 0) { _TaskRunnerBaseService.SendPercentToDB(_TaskRunnerBaseService._BWObj.appTaskModel.AppTaskID, (int)(100.0f * ((float)CountSS / (float)TotalCount))); } Application.DoEvents(); string TVTextSS = ""; if (tvItemModelSS.TVText.Contains(" ")) { TVTextSS = tvItemModelSS.TVText.Substring(0, tvItemModelSS.TVText.IndexOf(" ")); } else { TVTextSS = tvItemModelSS.TVText; } foreach (PolyObj polyObj in polyObjList.Where(c => c.Subsector == TVTextSS)) { List <MapInfo> mapInfoMWQMSiteList2 = new List <MapInfo>(); List <MapInfo> mapInfoPSSList2 = new List <MapInfo>(); List <MapInfo> mapInfoInfraList2 = new List <MapInfo>(); using (CSSPDBEntities db2 = new CSSPDBEntities()) { var mapInfoMWQMSiteList = (from c in db2.MapInfos let lat = (from d in db2.MapInfoPoints where c.MapInfoID == d.MapInfoID select d).FirstOrDefault().Lat let lng = (from d in db2.MapInfoPoints where c.MapInfoID == d.MapInfoID select d).FirstOrDefault().Lng where c.TVType == (int)TVTypeEnum.MWQMSite && c.MapInfoDrawType == (int)MapInfoDrawTypeEnum.Point && lat >= polyObj.MinLat && lat <= polyObj.MaxLat && lng >= polyObj.MinLng && lng <= polyObj.MaxLng select new { c, lat, lng }).ToList(); var mapInfoPSSList = (from c in db2.MapInfos let lat = (from d in db2.MapInfoPoints where c.MapInfoID == d.MapInfoID select d).FirstOrDefault().Lat let lng = (from d in db2.MapInfoPoints where c.MapInfoID == d.MapInfoID select d).FirstOrDefault().Lng where c.TVType == (int)TVTypeEnum.PolSourceSite && c.MapInfoDrawType == (int)MapInfoDrawTypeEnum.Point && lat >= polyObj.MinLat && lat <= polyObj.MaxLat && lng >= polyObj.MinLng && lng <= polyObj.MaxLng select new { c, lat, lng }).ToList(); var mapInfoInfraList = (from c in db2.MapInfos let lat = (from d in db2.MapInfoPoints where c.MapInfoID == d.MapInfoID select d).FirstOrDefault().Lat let lng = (from d in db2.MapInfoPoints where c.MapInfoID == d.MapInfoID select d).FirstOrDefault().Lng where (c.TVType == (int)TVTypeEnum.WasteWaterTreatmentPlant || c.TVType == (int)TVTypeEnum.LiftStation || c.TVType == (int)TVTypeEnum.LineOverflow) && c.MapInfoDrawType == (int)MapInfoDrawTypeEnum.Point && lat >= polyObj.MinLat && lat <= polyObj.MaxLat && lng >= polyObj.MinLng && lng <= polyObj.MaxLng select new { c, lat, lng }).ToList(); foreach (var mapInfo in mapInfoMWQMSiteList) { if (mapInfoService.CoordInPolygon(polyObj.coordList, new Coord() { Lat = (float)mapInfo.lat, Lng = (float)mapInfo.lng, Ordinal = 0 })) { mapInfoMWQMSiteList2.Add(mapInfo.c); } } foreach (var mapInfo in mapInfoPSSList) { if (mapInfoService.CoordInPolygon(polyObj.coordList, new Coord() { Lat = (float)mapInfo.lat, Lng = (float)mapInfo.lng, Ordinal = 0 })) { mapInfoPSSList2.Add(mapInfo.c); } } foreach (var mapInfo in mapInfoInfraList) { if (mapInfoService.CoordInPolygon(polyObj.coordList, new Coord() { Lat = (float)mapInfo.lat, Lng = (float)mapInfo.lng, Ordinal = 0 })) { mapInfoInfraList2.Add(mapInfo.c); } } } List <int> PSSTVItemIDList = (from c in mapInfoPSSList2 select c.TVItemID).Distinct().ToList(); List <int> MWQMTVItemIDList = (from c in mapInfoMWQMSiteList2 select c.TVItemID).Distinct().ToList(); List <int> InfraTVItemIDList = (from c in mapInfoInfraList2 select c.TVItemID).Distinct().ToList(); using (CSSPDBEntities db2 = new CSSPDBEntities()) { List <int> TVItemIDMWQMSiteWithinSubsector = tvItemMWQMSiteList.Where(c => c.TVPath.Contains(tvItemModelSS.TVPath + "p")).Select(c => c.TVItemID).ToList(); existingPolSourceSiteEffectSubsectorList = (from c in db2.PolSourceSiteEffects from m in TVItemIDMWQMSiteWithinSubsector where c.MWQMSiteTVItemID == m select c).ToList(); } foreach (TVItem tvItemMWQMSite in tvItemMWQMSiteList.Where(c => c.TVPath.Contains(tvItemModelSS.TVPath + "p"))) { if (MWQMTVItemIDList.Contains(tvItemMWQMSite.TVItemID)) { List <PolSourceSiteEffect> MWQMSiteExistingPolSourceSiteEffectList = (from c in existingPolSourceSiteEffectSubsectorList where c.MWQMSiteTVItemID == tvItemMWQMSite.TVItemID select c).ToList(); // doing pollution source site foreach (int PSSTVItemID in PSSTVItemIDList) { newPolSourceSiteEffectSubsectorList.Add(new PolSourceSiteEffect() { PolSourceSiteOrInfrastructureTVItemID = PSSTVItemID, MWQMSiteTVItemID = tvItemMWQMSite.TVItemID, }); if (!(MWQMSiteExistingPolSourceSiteEffectList.Where(c => c.PolSourceSiteOrInfrastructureTVItemID == PSSTVItemID).Any())) { PolSourceSiteEffectModel polSourceSiteEffectModelNew = new PolSourceSiteEffectModel() { PolSourceSiteOrInfrastructureTVItemID = PSSTVItemID, MWQMSiteTVItemID = tvItemMWQMSite.TVItemID, }; PolSourceSiteEffectModel polSourceSiteEffectModelAlreadyExist = polSourceSiteEffectService.GetPolSourceSiteEffectModelWithPolSourceSiteOrInfrastructureTVItemIDAndMWQMSiteTVItemIDDB(PSSTVItemID, tvItemMWQMSite.TVItemID); if (!string.IsNullOrWhiteSpace(polSourceSiteEffectModelAlreadyExist.Error)) { PolSourceSiteEffectModel polSourceSiteEffectModelRet = polSourceSiteEffectService.PostAddPolSourceSiteEffectDB(polSourceSiteEffectModelNew); if (!string.IsNullOrWhiteSpace(polSourceSiteEffectModelRet.Error)) { NotUsed = string.Format(TaskRunnerServiceRes.CouldNotAdd_Error_, TaskRunnerServiceRes.PolSourceSiteEffect, polSourceSiteEffectModelRet.Error); _TaskRunnerBaseService._BWObj.TextLanguageList = _TaskRunnerBaseService.GetTextLanguageFormat2List("CouldNotAdd_Error_", TaskRunnerServiceRes.PolSourceSiteEffect, polSourceSiteEffectModelRet.Error); return; } } } } // doing infrastructure foreach (int InfraTVItemID in InfraTVItemIDList) { newPolSourceSiteEffectSubsectorList.Add(new PolSourceSiteEffect() { PolSourceSiteOrInfrastructureTVItemID = InfraTVItemID, MWQMSiteTVItemID = tvItemMWQMSite.TVItemID, }); if (!(MWQMSiteExistingPolSourceSiteEffectList.Where(c => c.PolSourceSiteOrInfrastructureTVItemID == InfraTVItemID).Any())) { PolSourceSiteEffectModel polSourceSiteEffectModelNew = new PolSourceSiteEffectModel() { PolSourceSiteOrInfrastructureTVItemID = InfraTVItemID, MWQMSiteTVItemID = tvItemMWQMSite.TVItemID, }; PolSourceSiteEffectModel polSourceSiteEffectModelAlreadyExist = polSourceSiteEffectService.GetPolSourceSiteEffectModelWithPolSourceSiteOrInfrastructureTVItemIDAndMWQMSiteTVItemIDDB(InfraTVItemID, tvItemMWQMSite.TVItemID); if (!string.IsNullOrWhiteSpace(polSourceSiteEffectModelAlreadyExist.Error)) { PolSourceSiteEffectModel polSourceSiteEffectModelRet = polSourceSiteEffectService.PostAddPolSourceSiteEffectDB(polSourceSiteEffectModelNew); if (!string.IsNullOrWhiteSpace(polSourceSiteEffectModelRet.Error)) { NotUsed = string.Format(TaskRunnerServiceRes.CouldNotAdd_Error_, TaskRunnerServiceRes.PolSourceSiteEffect, polSourceSiteEffectModelRet.Error); _TaskRunnerBaseService._BWObj.TextLanguageList = _TaskRunnerBaseService.GetTextLanguageFormat2List("CouldNotAdd_Error_", TaskRunnerServiceRes.PolSourceSiteEffect, polSourceSiteEffectModelRet.Error); return; } } } } } } } } foreach (PolSourceSiteEffect polSourceSiteEffect in existingPolSourceSiteEffectSubsectorList) { if (!newPolSourceSiteEffectSubsectorList.Where(c => c.PolSourceSiteOrInfrastructureTVItemID == polSourceSiteEffect.PolSourceSiteOrInfrastructureTVItemID && c.MWQMSiteTVItemID == polSourceSiteEffect.MWQMSiteTVItemID).Any()) { PolSourceSiteEffectModel polSourceSiteEffectModelAlreadyExist = polSourceSiteEffectService.GetPolSourceSiteEffectModelWithPolSourceSiteOrInfrastructureTVItemIDAndMWQMSiteTVItemIDDB(polSourceSiteEffect.PolSourceSiteOrInfrastructureTVItemID, polSourceSiteEffect.MWQMSiteTVItemID); if (string.IsNullOrWhiteSpace(polSourceSiteEffectModelAlreadyExist.Error)) { PolSourceSiteEffectModel polSourceSiteEffectModelRet = polSourceSiteEffectService.PostDeletePolSourceSiteEffectDB(polSourceSiteEffectModelAlreadyExist.PolSourceSiteEffectID); if (!string.IsNullOrWhiteSpace(polSourceSiteEffectModelRet.Error)) { NotUsed = string.Format(TaskRunnerServiceRes.CouldNotDelete_Error_, TaskRunnerServiceRes.PolSourceSiteEffect, polSourceSiteEffectModelRet.Error); _TaskRunnerBaseService._BWObj.TextLanguageList = _TaskRunnerBaseService.GetTextLanguageFormat2List("CouldNotDelete_Error_", TaskRunnerServiceRes.PolSourceSiteEffect, polSourceSiteEffectModelRet.Error); return; } } } } #endregion Saving PolSourceSiteEffect in CSSPDB appTaskModel.PercentCompleted = 100; appTaskService.PostUpdateAppTask(appTaskModel); }
private void GenerateWorksheetAContent(WorksheetPart worksheetPart, int SheetOrdinal) { MergeCells mergeCells = new MergeCells(); Row row = new Row(); Cell cell = new Cell(); Hyperlinks hyperlinks = new Hyperlinks(); string Id = XlsxBase.sheetNameAndIDList[SheetOrdinal].SheetID; XlsxBase.CurrentColumn = 0; XlsxBase.CurrentRow = 0; XlsxBase.CurrentColumnProp = 0; Worksheet worksheet = new Worksheet() { MCAttributes = new MarkupCompatibilityAttributes() { Ignorable = "x14ac" } }; worksheet.AddNamespaceDeclaration("r", "http://schemas.openxmlformats.org/officeDocument/2006/relationships"); worksheet.AddNamespaceDeclaration("mc", "http://schemas.openxmlformats.org/markup-compatibility/2006"); worksheet.AddNamespaceDeclaration("x14ac", "http://schemas.microsoft.com/office/spreadsheetml/2009/9/ac"); SheetViews sheetViews = new SheetViews(); SheetView sheetView = new SheetView() { TabSelected = true, WorkbookViewId = (UInt32Value)0U }; Selection selection = new Selection() { ActiveCell = "A1", SequenceOfReferences = new ListValue <StringValue>() { InnerText = "A1" } }; sheetView.Append(selection); sheetViews.Append(sheetView); SheetFormatProperties sheetFormatProperties = new SheetFormatProperties() { DefaultRowHeight = 15D, DyDescent = 0.25D }; Columns columns = new Columns(); List <double?> columnWidthList = new List <double?>() { 30D }; foreach (double?width in columnWidthList) { Column colum = XlsxBase.AddColumnProp(columns, width); } SheetData sheetData = new SheetData(); 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); TVItemModel tvItemModelProvince = tvItemService.GetTVItemModelWithTVItemIDDB(_TaskRunnerBaseService._BWObj.appTaskModel.TVItemID); List <TVItemModel> tvItemModelAreaList = tvItemService.GetChildrenTVItemModelListWithTVItemIDAndTVTypeDB(tvItemModelProvince.TVItemID, TVTypeEnum.Area); foreach (TVItemModel tvItemModelArea in tvItemModelAreaList) { //tvItemStatService.SetTVItemStatForTVItemIDAndParentsTVItemID(tvItemModelArea.TVItemID); XlsxBase.CurrentRowHeight = 24D; XlsxBase.CurrentFontSize = 18; XlsxBase.CurrentBorderStyleValue = BorderStyleValues.Thick; XlsxBase.CurrentBottomBorder = true; XlsxBase.CurrentBorderColor = System.Drawing.Color.Green; XlsxBase.CurrentHorizontalAlignmentValue = HorizontalAlignmentValues.Center; row = XlsxBase.AddRow(); string URL = _TaskRunnerBaseService.GetUrlFromTVItem(tvItemModelArea); XlsxBase.CurrentFontColor = System.Drawing.Color.Blue; cell = XlsxBase.AddCellHyperlink(hyperlinks, row, tvItemModelArea.TVText, URL); XlsxBase.CurrentFontColor = null; //cell = XlsxBase.AddCellString(row, tvItemModel.TVText); cell = XlsxBase.AddCellString(row, null); sheetData.Append(row); MergeCell mergeCell = new MergeCell() { Reference = "A" + XlsxBase.CurrentRow.ToString() + ":B" + XlsxBase.CurrentRow.ToString() }; mergeCells.Append(mergeCell); XlsxBase.CurrentRowHeight = 16D; XlsxBase.CurrentFontSize = 12; XlsxBase.CurrentHorizontalAlignmentValue = HorizontalAlignmentValues.Center; List <TVItemStatModel> tvItemStatModelList = tvItemStatService.GetTVItemStatModelListWithTVItemIDDB(tvItemModelArea.TVItemID); int count = 0; foreach (TVItemStatModel tvItemStatModel in tvItemStatModelList) { count += 1; row = XlsxBase.AddRow(); if (count % 5 == 0) { XlsxBase.CurrentBorderStyleValue = BorderStyleValues.Thin; XlsxBase.CurrentBottomBorder = true; } else { XlsxBase.CurrentBorderStyleValue = null; XlsxBase.CurrentBottomBorder = false; } XlsxBase.CurrentHorizontalAlignmentValue = HorizontalAlignmentValues.Right; cell = XlsxBase.AddCellString(row, baseEnumService.GetEnumText_TVTypeEnum(tvItemStatModel.TVType)); XlsxBase.CurrentHorizontalAlignmentValue = HorizontalAlignmentValues.Center; cell = XlsxBase.AddCellNumber(row, tvItemStatModel.ChildCount.ToString()); sheetData.Append(row); } XlsxBase.CurrentBorderStyleValue = null; XlsxBase.CurrentBottomBorder = false; for (int i = 0; i < 2; i++) { row = XlsxBase.AddRow(); cell = XlsxBase.AddCellString(row, null); sheetData.Append(row); } } PageMargins pageMargins = new PageMargins() { Left = 0.7D, Right = 0.7D, Top = 0.75D, Bottom = 0.75D, Header = 0.3D, Footer = 0.3D }; PageSetup pageSetup = new PageSetup() { Orientation = OrientationValues.Portrait, Id = "rId" + SheetOrdinal.ToString() }; worksheet.Append(sheetViews); worksheet.Append(sheetFormatProperties); if (columns.ChildElements.Count > 0) { worksheet.Append(columns); } worksheet.Append(sheetData); mergeCells.Count = (UInt32Value)((UInt32)mergeCells.ChildElements.Count); if (mergeCells.ChildElements.Count > 0) { worksheet.Append(mergeCells); } if (XlsxBase.UsedHyperlinkList.Count > 0) { worksheet.Append(hyperlinks); } worksheet.Append(pageMargins); worksheet.Append(pageSetup); worksheetPart.Worksheet = worksheet; }
public void Generate(FileInfo fi, int SamplingPlanID) { string NotUsed = ""; if (_TaskRunnerBaseService._BWObj.appTaskModel.Language == LanguageEnum.fr) { Thread.CurrentThread.CurrentCulture = new CultureInfo("fr-CA"); Thread.CurrentThread.CurrentUICulture = new CultureInfo("fr-CA"); } else { Thread.CurrentThread.CurrentCulture = new CultureInfo("en-CA"); Thread.CurrentThread.CurrentUICulture = new CultureInfo("en-CA"); } TVFileService tvFileService = new TVFileService(_TaskRunnerBaseService._BWObj.appTaskModel.Language, _TaskRunnerBaseService._User); string ServerFilePath = tvFileService.GetServerFilePath(_TaskRunnerBaseService._BWObj.appTaskModel.TVItemID); DirectoryInfo di = new DirectoryInfo(ServerFilePath); if (!di.Exists) { di.Create(); } if (fi.Exists) { fi.Delete(); } SamplingPlanModel SamplingPlanModel = _SamplingPlanService.GetSamplingPlanModelWithSamplingPlanIDDB(SamplingPlanID); if (!string.IsNullOrWhiteSpace(SamplingPlanModel.Error)) { NotUsed = string.Format(TaskRunnerServiceRes.CouldNotFind_With_Equal_, TaskRunnerServiceRes.SamplingPlan, TaskRunnerServiceRes.SamplingPlanID, SamplingPlanID.ToString()); _TaskRunnerBaseService._BWObj.TextLanguageList = _TaskRunnerBaseService.GetTextLanguageFormat3List("CouldNotFind_With_Equal_", TaskRunnerServiceRes.SamplingPlan, TaskRunnerServiceRes.SamplingPlanID, SamplingPlanID.ToString()); return; } TVItemService tvItemService = new TVItemService(_TaskRunnerBaseService._BWObj.appTaskModel.Language, _TaskRunnerBaseService._User); TVItemModel tvItemModelProvince = tvItemService.GetTVItemModelWithTVItemIDDB(_TaskRunnerBaseService._BWObj.appTaskModel.TVItemID); StringBuilder sb = new StringBuilder(); sb.AppendLine("Version\t1\t"); sb.AppendLine("Sampling Plan Type\t" + SamplingPlanModel.SamplingPlanType.ToString() + "\t"); sb.AppendLine("Sample Type\t" + SamplingPlanModel.SampleType.ToString() + "\t"); sb.AppendLine("Lab Sheet Type\t" + SamplingPlanModel.LabSheetType.ToString() + "\t"); List <SamplingPlanSubsectorModel> SamplingPlanSubsectorModelList = _SamplingPlanSubsectorService.GetSamplingPlanSubsectorModelListWithSamplingPlanIDDB(SamplingPlanID); foreach (SamplingPlanSubsectorModel SamplingPlanSubsectorModel in SamplingPlanSubsectorModelList) { MWQMSubsectorModel mwqmSubsectorModel = _MWQMSubsectorService.GetMWQMSubsectorModelWithMWQMSubsectorTVItemIDDB(SamplingPlanSubsectorModel.SubsectorTVItemID); if (!string.IsNullOrWhiteSpace(mwqmSubsectorModel.Error)) { NotUsed = string.Format(TaskRunnerServiceRes.CouldNotFind_With_Equal_, TaskRunnerServiceRes.MWQMSubsector, TaskRunnerServiceRes.SubsectorTVItemID, SamplingPlanSubsectorModel.SubsectorTVItemID.ToString()); _TaskRunnerBaseService._BWObj.TextLanguageList = _TaskRunnerBaseService.GetTextLanguageFormat3List("CouldNotFind_With_Equal_", TaskRunnerServiceRes.MWQMSubsector, TaskRunnerServiceRes.SubsectorTVItemID, SamplingPlanSubsectorModel.SubsectorTVItemID.ToString()); } List <SamplingPlanSubsectorSiteModel> SamplingPlanSubsectorSiteModelList = _SamplingPlanSubsectorSiteService.GetSamplingPlanSubsectorSiteModelListWithSamplingPlanSubsectorIDDB(SamplingPlanSubsectorModel.SamplingPlanSubsectorID); if (SamplingPlanSubsectorSiteModelList.Count > 0) { sb.AppendLine("Subsector\t" + SamplingPlanSubsectorModel.SubsectorTVText + "\t" + SamplingPlanSubsectorModel.SubsectorTVItemID + "\t" + mwqmSubsectorModel.TideLocationSIDText); sb.Append("MWQM Sites\t"); foreach (SamplingPlanSubsectorSiteModel SamplingPlanSubsectorSiteModel in SamplingPlanSubsectorSiteModelList) { sb.Append(SamplingPlanSubsectorSiteModel.MWQMSiteText + ","); } sb.Append("\t"); foreach (SamplingPlanSubsectorSiteModel SamplingPlanSubsectorSiteModel in SamplingPlanSubsectorSiteModelList) { sb.Append(SamplingPlanSubsectorSiteModel.MWQMSiteTVItemID + ","); } sb.AppendLine(""); } if (SamplingPlanSubsectorSiteModelList.Where(c => c.IsDuplicate == true).Count() > 0) { sb.Append("Daily Duplicate\t"); foreach (SamplingPlanSubsectorSiteModel SamplingPlanSubsectorSiteModel in SamplingPlanSubsectorSiteModelList.Where(c => c.IsDuplicate == true)) { sb.Append(SamplingPlanSubsectorSiteModel.MWQMSiteText + ","); } sb.Append("\t"); foreach (SamplingPlanSubsectorSiteModel SamplingPlanSubsectorSiteModel in SamplingPlanSubsectorSiteModelList.Where(c => c.IsDuplicate == true)) { sb.Append(SamplingPlanSubsectorSiteModel.MWQMSiteTVItemID + ","); } sb.AppendLine(""); } } sb.AppendLine("App\t" + CreateCode(SamplingPlanModel.AccessCode) + "\t" + CreateCode(SamplingPlanModel.Year.ToString())); sb.AppendLine("Precision Criteria\t" + CreateCode(SamplingPlanModel.DailyDuplicatePrecisionCriteria.ToString()) + "\t" + CreateCode(SamplingPlanModel.IntertechDuplicatePrecisionCriteria.ToString())); sb.AppendLine("Include Laboratory QA/QC\t" + SamplingPlanModel.IncludeLaboratoryQAQC.ToString() + "\t" + CreateCode(SamplingPlanModel.ApprovalCode)); sb.AppendLine("Backup Directory\t" + SamplingPlanModel.BackupDirectory); StreamWriter sw = fi.CreateText(); sw.Write(sb.ToString()); sw.Close(); }