public void GenerateProvinceHTML() { _TaskRunnerBaseService.generateDocParams = _TaskRunnerBaseService.CheckGenerateModelOK(FileGeneratorEnum.Province, FileGeneratorTypeEnum.HTML); if (_TaskRunnerBaseService._BWObj.TextLanguageList.Count > 0) { return; } TVFileService tvFileService = new TVFileService(_TaskRunnerBaseService._BWObj.appTaskModel.Language, _TaskRunnerBaseService._User); string ServerFilePath = tvFileService.GetServerFilePath(_TaskRunnerBaseService.generateDocParams.TVItemID); FileInfo fi = _TaskRunnerBaseService.GetFileInfo(_TaskRunnerBaseService.generateDocParams); TVItemModel tvItemModelFile = _TaskRunnerBaseService.CreateFileTVItem(fi); if (_TaskRunnerBaseService._BWObj.TextLanguageList.Count > 0) { return; } HtmlServiceProvince htmlServiceProvince = new HtmlServiceProvince(_TaskRunnerBaseService); htmlServiceProvince.Generate(fi); _TaskRunnerBaseService.UpdateOrCreateTVFile(_TaskRunnerBaseService._BWObj.appTaskModel.TVItemID, fi, tvItemModelFile, TaskRunnerServiceRes.ProvinceFileAutoGenerate, FilePurposeEnum.Generated); }
public DocTemplateService(LanguageEnum LanguageRequest, IPrincipal User) : base(LanguageRequest, User) { _TVItemService = new TVItemService(LanguageRequest, User); _LogService = new LogService(LanguageRequest, User); _TVFileService = new TVFileService(LanguageRequest, User); }
private void SetupTest(ContactModel contactModelToDo, CultureInfo culture, string actionStr) { LanguageEnum languageEnum = (culture.TwoLetterISOLanguageName == "fr" ? LanguageEnum.fr : LanguageEnum.en); if (contactModelToDo == null) { user = null; } else { user = new GenericPrincipal(new GenericIdentity(contactModelToDo.LoginEmail, "Forms"), null); } routeData = new RouteData(); routeData.Values.Add("culture", culture); routeData.Values.Add("controller", "MikeScenario"); routeData.Values.Add("action", actionStr); stubHttpContext = new StubHttpContextBase(); stubHttpRequestBase = new StubHttpRequestBase(); stubHttpContext.RequestGet = () => stubHttpRequestBase; requestContext = new RequestContext(stubHttpContext, routeData); controller = new MikeScenarioController(); controller.Url = new UrlHelper(requestContext); controller.ControllerContext = new ControllerContext(stubHttpContext, routeData, controller); stubHttpContext.UserGet = () => user; randomService = new RandomService(languageEnum, user); mapInfoService = new MapInfoService(languageEnum, user); tvItemService = new TVItemService(languageEnum, user); mikeBoundaryConditionService = new MikeBoundaryConditionService(languageEnum, user); appTaskService = new AppTaskService(languageEnum, user); mikeScenarioService = new MikeScenarioService(languageEnum, user); tvFileService = new TVFileService(languageEnum, user); mikeSourceService = new MikeSourceService(languageEnum, user); mikeSourceStartEndService = new MikeSourceStartEndService(languageEnum, user); controller.SetRequestContext(requestContext); // Assert Assert.IsNotNull(controller); Assert.AreEqual(2, controller.CultureListAllowable.Count); Assert.AreEqual("en-CA", controller.CultureListAllowable[0]); Assert.AreEqual("fr-CA", controller.CultureListAllowable[1]); Assert.IsNotNull(controller._ContactService); Assert.IsNotNull(controller._RequestContext); Assert.IsNotNull(controller._MikeScenarioService); Assert.IsNotNull(culture.Name, controller._RequestContext.RouteData.Values["culture"].ToString()); Assert.IsNotNull("MikeScenario", controller._RequestContext.RouteData.Values["controller"].ToString()); Assert.IsNotNull(actionStr, controller._RequestContext.RouteData.Values["action"].ToString()); Assert.AreEqual((culture.TwoLetterISOLanguageName == "fr" ? LanguageEnum.fr : LanguageEnum.en), controller.LanguageRequest); Assert.AreEqual((culture.TwoLetterISOLanguageName == "fr" ? LanguageEnum.fr : LanguageEnum.en), controller.ViewBag.Language); Assert.AreEqual(culture.Name, controller.CultureRequest); Assert.AreEqual(culture.Name, controller.ViewBag.Culture); if (contactModelToDo != null) { Assert.AreEqual(contactModelToDo.IsAdmin, controller.IsAdmin); Assert.AreEqual(contactModelToDo.IsAdmin, controller.ViewBag.IsAdmin); } Assert.AreEqual(true, controller.Debug); Assert.AreEqual(true, controller.ViewBag.Debug); }
protected override void Initialize(System.Web.Routing.RequestContext requestContext) { base.Initialize(requestContext); _TVFileService = new TVFileService(LanguageRequest, User); _MapInfoService = new MapInfoService(LanguageRequest, User); _DocTemplateService = new DocTemplateService(LanguageRequest, User); _BaseEnumService = new BaseEnumService(LanguageRequest); }
protected override void Initialize(System.Web.Routing.RequestContext requestContext) { base.Initialize(requestContext); _ReportSectionService = new ReportSectionService(LanguageRequest, User); _ReportTypeService = new ReportTypeService(LanguageRequest, User); _TVFileService = new TVFileService(LanguageRequest, User); _BaseEnumService = new BaseEnumService(LanguageRequest); }
public void SetupTest(LanguageEnum LanguageRequest) { csspWebToolsTaskRunner = new CSSPWebToolsTaskRunner(); _TVItemService = new TVItemService(LanguageRequest, csspWebToolsTaskRunner._TaskRunnerBaseService._User); _AppTaskService = new AppTaskService(LanguageRequest, csspWebToolsTaskRunner._TaskRunnerBaseService._User); _TVFileService = new TVFileService(LanguageRequest, csspWebToolsTaskRunner._TaskRunnerBaseService._User); _MapInfoService = new MapInfoService(LanguageRequest, csspWebToolsTaskRunner._TaskRunnerBaseService._User); }
public MikeSourceService(LanguageEnum LanguageRequest, IPrincipal User) : base(LanguageRequest, User) { _MapInfoService = new MapInfoService(LanguageRequest, User); _MikeSourceStartEndService = new MikeSourceStartEndService(LanguageRequest, User); _TVItemService = new TVItemService(LanguageRequest, User); _TVFileService = new TVFileService(LanguageRequest, User); _LogService = new LogService(LanguageRequest, User); }
public IHttpActionResult GetTVFileList([FromUri] string lang = "en", [FromUri] int skip = 0, [FromUri] int take = 200, [FromUri] string asc = "", [FromUri] string desc = "", [FromUri] string where = "", [FromUri] string extra = "") { using (CSSPDBContext db = new CSSPDBContext(DatabaseType)) { TVFileService tvFileService = new TVFileService(new Query() { Lang = lang }, db, ContactID);
public void TVFile_Controller_Put_Test() { foreach (LanguageEnum LanguageRequest in AllowableLanguages) { foreach (int ContactID in new List <int>() { AdminContactID }) //, TestEmailValidatedContactID, TestEmailNotValidatedContactID }) { TVFileController tvFileController = new TVFileController(DatabaseTypeEnum.SqlServerTestDB); Assert.IsNotNull(tvFileController); Assert.AreEqual(DatabaseTypeEnum.SqlServerTestDB, tvFileController.DatabaseType); TVFile tvFileLast = new TVFile(); using (CSSPDBContext db = new CSSPDBContext(DatabaseType)) { Query query = new Query(); query.Language = LanguageRequest; TVFileService tvFileService = new TVFileService(query, db, ContactID); tvFileLast = (from c in db.TVFiles select c).FirstOrDefault(); } // ok with TVFile info IHttpActionResult jsonRet = tvFileController.GetTVFileWithID(tvFileLast.TVFileID); Assert.IsNotNull(jsonRet); OkNegotiatedContentResult <TVFile> Ret = jsonRet as OkNegotiatedContentResult <TVFile>; TVFile tvFileRet = Ret.Content; Assert.AreEqual(tvFileLast.TVFileID, tvFileRet.TVFileID); BadRequestErrorMessageResult badRequest = jsonRet as BadRequestErrorMessageResult; Assert.IsNull(badRequest); // Put to return success IHttpActionResult jsonRet2 = tvFileController.Put(tvFileRet, LanguageRequest.ToString()); Assert.IsNotNull(jsonRet2); OkNegotiatedContentResult <TVFile> tvFileRet2 = jsonRet2 as OkNegotiatedContentResult <TVFile>; Assert.IsNotNull(tvFileRet2); BadRequestErrorMessageResult badRequest2 = jsonRet2 as BadRequestErrorMessageResult; Assert.IsNull(badRequest2); // Put to return CSSPError because TVFileID of 0 does not exist tvFileRet.TVFileID = 0; IHttpActionResult jsonRet3 = tvFileController.Put(tvFileRet, LanguageRequest.ToString()); Assert.IsNotNull(jsonRet3); OkNegotiatedContentResult <TVFile> tvFileRet3 = jsonRet3 as OkNegotiatedContentResult <TVFile>; Assert.IsNull(tvFileRet3); BadRequestErrorMessageResult badRequest3 = jsonRet3 as BadRequestErrorMessageResult; Assert.IsNotNull(badRequest3); } } }
public SamplingPlanEmailService(LanguageEnum LanguageRequest, IPrincipal User) : base(LanguageRequest, User) { _AppTaskService = new AppTaskService(LanguageRequest, User); _TVItemService = new TVItemService(LanguageRequest, User); _TVFileService = new TVFileService(LanguageRequest, User); _MWQMSubsectorService = new MWQMSubsectorService(LanguageRequest, User); _MapInfoService = new MapInfoService(LanguageRequest, User); _LogService = new LogService(LanguageRequest, User); }
public ProvinceToolsService(LanguageEnum LanguageRequest, IPrincipal User) : base(LanguageRequest, User) { _TVItemService = new TVItemService(LanguageRequest, User); _AppTaskService = new AppTaskService(LanguageRequest, User); _TVFileService = new TVFileService(LanguageRequest, User); _MapInfoService = new MapInfoService(LanguageRequest, User); _PolSourceSiteService = new PolSourceSiteService(LanguageRequest, User); _PolSourceObservationService = new PolSourceObservationService(LanguageRequest, User); _PolSourceObservationIssueService = new PolSourceObservationIssueService(LanguageRequest, User); }
protected override void Initialize(System.Web.Routing.RequestContext requestContext) { base.Initialize(requestContext); _PolSourceSiteService = new PolSourceSiteService(LanguageRequest, User); _PolSourceSiteInputToolService = new PolSourceSiteInputToolService(LanguageRequest, User); _MapInfoService = new MapInfoService(LanguageRequest, User); _MapInfoPointService = new MapInfoPointService(LanguageRequest, User); _AddressService = new AddressService(LanguageRequest, User); _BaseEnumService = new BaseEnumService(LanguageRequest); _TVFileService = new TVFileService(LanguageRequest, User); }
public LabSheetTubeMPNDetailService(LanguageEnum LanguageRequest, IPrincipal User) : base(LanguageRequest, User) { _MWQMRunService = new MWQMRunService(LanguageRequest, User); _TVItemService = new TVItemService(LanguageRequest, User); _MWQMSiteService = new MWQMSiteService(LanguageRequest, User); _MWQMSampleService = new MWQMSampleService(LanguageRequest, User); _TVFileService = new TVFileService(LanguageRequest, User); _AppTaskService = new AppTaskService(LanguageRequest, User); _ContactService = new ContactService(LanguageRequest, User); _LogService = new LogService(LanguageRequest, User); }
protected override void Initialize(System.Web.Routing.RequestContext requestContext) { base.Initialize(requestContext); _AppTaskService = new AppTaskService(LanguageRequest, User); _SamplingPlanService = new SamplingPlanService(LanguageRequest, User); _SamplingPlanEmailService = new SamplingPlanEmailService(LanguageRequest, User); _SamplingPlanSubsectorService = new SamplingPlanSubsectorService(LanguageRequest, User); _SamplingPlanSubsectorSiteService = new SamplingPlanSubsectorSiteService(LanguageRequest, User); _TVFileService = new TVFileService(LanguageRequest, User); _LabSheetService = new LabSheetService(LanguageRequest, User); _BaseEnumService = new BaseEnumService(LanguageRequest); }
public void TVFile_CRUD_Test() { foreach (CultureInfo culture in AllowableCulture) { ChangeCulture(culture); using (CSSPDBContext dbTestDB = new CSSPDBContext(DatabaseTypeEnum.SqlServerTestDB)) { TVFileService tvFileService = new TVFileService(new Query() { Lang = culture.TwoLetterISOLanguageName }, dbTestDB, ContactID); int count = 0; if (count == 1) { // just so we don't get a warning during compile [The variable 'count' is assigned but its value is never used] } TVFile tvFile = GetFilledRandomTVFile(""); // ------------------------------- // ------------------------------- // CRUD testing // ------------------------------- // ------------------------------- count = tvFileService.GetTVFileList().Count(); Assert.AreEqual(count, (from c in dbTestDB.TVFiles select c).Count()); tvFileService.Add(tvFile); if (tvFile.HasErrors) { Assert.AreEqual("", tvFile.ValidationResults.FirstOrDefault().ErrorMessage); } Assert.AreEqual(true, tvFileService.GetTVFileList().Where(c => c == tvFile).Any()); tvFileService.Update(tvFile); if (tvFile.HasErrors) { Assert.AreEqual("", tvFile.ValidationResults.FirstOrDefault().ErrorMessage); } Assert.AreEqual(count + 1, tvFileService.GetTVFileList().Count()); tvFileService.Delete(tvFile); if (tvFile.HasErrors) { Assert.AreEqual("", tvFile.ValidationResults.FirstOrDefault().ErrorMessage); } Assert.AreEqual(count, tvFileService.GetTVFileList().Count()); } } }
public MikeScenarioResultService(LanguageEnum LanguageRequest, IPrincipal User) : base(LanguageRequest, User) { _AppTaskService = new AppTaskService(LanguageRequest, User); _TVFileService = new TVFileService(LanguageRequest, User); _MapInfoService = new MapInfoService(LanguageRequest, User); _MikeSourceService = new MikeSourceService(LanguageRequest, User); _MikeBoundaryConditionService = new MikeBoundaryConditionService(LanguageRequest, User); _TideSiteService = new TideSiteService(LanguageRequest, User); _TVItemService = new TVItemService(LanguageRequest, User); _LogService = new LogService(LanguageRequest, User); _MWQMRunService = new MWQMRunService(LanguageRequest, User); }
public IHttpActionResult GetTVFileWithID([FromUri] int TVFileID, [FromUri] string lang = "en", [FromUri] string extra = "") { using (CSSPDBContext db = new CSSPDBContext(DatabaseType)) { TVFileService tvFileService = new TVFileService(new Query() { Language = (lang == "fr" ? LanguageEnum.fr : LanguageEnum.en) }, db, ContactID); tvFileService.Query = tvFileService.FillQuery(typeof(TVFile), lang, 0, 1, "", "", extra); if (tvFileService.Query.Extra == "A") { TVFileExtraA tvFileExtraA = new TVFileExtraA(); tvFileExtraA = tvFileService.GetTVFileExtraAWithTVFileID(TVFileID); if (tvFileExtraA == null) { return(NotFound()); } return(Ok(tvFileExtraA)); } else if (tvFileService.Query.Extra == "B") { TVFileExtraB tvFileExtraB = new TVFileExtraB(); tvFileExtraB = tvFileService.GetTVFileExtraBWithTVFileID(TVFileID); if (tvFileExtraB == null) { return(NotFound()); } return(Ok(tvFileExtraB)); } else { TVFile tvFile = new TVFile(); tvFile = tvFileService.GetTVFileWithTVFileID(TVFileID); if (tvFile == null) { return(NotFound()); } return(Ok(tvFile)); } } }
public void SetupTest(ContactModel contactModelToDo, CultureInfo culture) { Thread.CurrentThread.CurrentCulture = culture; Thread.CurrentThread.CurrentUICulture = culture; contactModel = contactModelToDo; user = new GenericPrincipal(new GenericIdentity(contactModel.LoginEmail, "Forms"), null); tvFileService = new TVFileService((culture.TwoLetterISOLanguageName == "fr" ? LanguageEnum.fr : LanguageEnum.en), user); tvFileLanguageService = new TVFileLanguageService((culture.TwoLetterISOLanguageName == "fr" ? LanguageEnum.fr : LanguageEnum.en), user); testDBService = new TestDBService((culture.TwoLetterISOLanguageName == "fr" ? LanguageEnum.fr : LanguageEnum.en), user, TableName, Plurial); randomService = new RandomService((culture.TwoLetterISOLanguageName == "fr" ? LanguageEnum.fr : LanguageEnum.en), user); tvItemService = new TVItemService((culture.TwoLetterISOLanguageName == "fr" ? LanguageEnum.fr : LanguageEnum.en), user); tvFileLanguageModelNew = new TVFileLanguageModel(); tvFileLanguage = new TVFileLanguage(); }
public void TVFile_Controller_GetTVFileWithID_Test() { foreach (LanguageEnum LanguageRequest in AllowableLanguages) { foreach (int ContactID in new List <int>() { AdminContactID }) //, TestEmailValidatedContactID, TestEmailNotValidatedContactID }) { TVFileController tvFileController = new TVFileController(DatabaseTypeEnum.SqlServerTestDB); Assert.IsNotNull(tvFileController); Assert.AreEqual(DatabaseTypeEnum.SqlServerTestDB, tvFileController.DatabaseType); TVFile tvFileFirst = new TVFile(); using (CSSPDBContext db = new CSSPDBContext(DatabaseType)) { TVFileService tvFileService = new TVFileService(new Query(), db, ContactID); tvFileFirst = (from c in db.TVFiles select c).FirstOrDefault(); } // ok with TVFile info IHttpActionResult jsonRet = tvFileController.GetTVFileWithID(tvFileFirst.TVFileID); Assert.IsNotNull(jsonRet); OkNegotiatedContentResult <TVFile> Ret = jsonRet as OkNegotiatedContentResult <TVFile>; TVFile tvFileRet = Ret.Content; Assert.AreEqual(tvFileFirst.TVFileID, tvFileRet.TVFileID); BadRequestErrorMessageResult badRequest = jsonRet as BadRequestErrorMessageResult; Assert.IsNull(badRequest); // Not Found IHttpActionResult jsonRet2 = tvFileController.GetTVFileWithID(0); Assert.IsNotNull(jsonRet2); OkNegotiatedContentResult <TVFile> tvFileRet2 = jsonRet2 as OkNegotiatedContentResult <TVFile>; Assert.IsNull(tvFileRet2); NotFoundResult notFoundRequest = jsonRet2 as NotFoundResult; Assert.IsNotNull(notFoundRequest); } } }
public IHttpActionResult Delete([FromBody] TVFile tvFile, [FromUri] string lang = "en") { using (CSSPDBContext db = new CSSPDBContext(DatabaseType)) { TVFileService tvFileService = new TVFileService(new Query() { Language = (lang == "fr" ? LanguageEnum.fr : LanguageEnum.en) }, db, ContactID); if (!tvFileService.Delete(tvFile)) { return(BadRequest(String.Join("|||", tvFile.ValidationResults))); } else { tvFile.ValidationResults = null; return(Ok(tvFile)); } } }
public void GetTVFileList_Test() { foreach (CultureInfo culture in AllowableCulture) { ChangeCulture(culture); using (CSSPDBContext dbTestDB = new CSSPDBContext(DatabaseTypeEnum.SqlServerTestDB)) { TVFileService tvFileService = new TVFileService(new Query() { Lang = culture.TwoLetterISOLanguageName }, dbTestDB, ContactID); TVFile tvFile = (from c in dbTestDB.TVFiles select c).FirstOrDefault(); Assert.IsNotNull(tvFile); List <TVFile> tvFileDirectQueryList = new List <TVFile>(); tvFileDirectQueryList = (from c in dbTestDB.TVFiles select c).Take(200).ToList(); foreach (string extra in new List <string>() { null, "A", "B", "C", "D", "E" }) { tvFileService.Query.Extra = extra; if (string.IsNullOrWhiteSpace(extra)) { List <TVFile> tvFileList = new List <TVFile>(); tvFileList = tvFileService.GetTVFileList().ToList(); CheckTVFileFields(tvFileList); } else { //Assert.AreEqual(true, false); } } } } }
public void GetTVFileList_2Where_Test() { foreach (CultureInfo culture in AllowableCulture) { ChangeCulture(culture); using (CSSPDBContext dbTestDB = new CSSPDBContext(DatabaseTypeEnum.SqlServerTestDB)) { foreach (string extra in new List <string>() { null, "A", "B", "C", "D", "E" }) { TVFileService tvFileService = new TVFileService(new Query() { Lang = culture.TwoLetterISOLanguageName }, dbTestDB, ContactID); tvFileService.Query = tvFileService.FillQuery(typeof(TVFile), culture.TwoLetterISOLanguageName, 0, 10000, "", "", "TVFileID,GT,2|TVFileID,LT,5", extra); List <TVFile> tvFileDirectQueryList = new List <TVFile>(); tvFileDirectQueryList = (from c in dbTestDB.TVFiles select c).Where(c => c.TVFileID > 2 && c.TVFileID < 5).ToList(); if (string.IsNullOrWhiteSpace(extra)) { List <TVFile> tvFileList = new List <TVFile>(); tvFileList = tvFileService.GetTVFileList().ToList(); CheckTVFileFields(tvFileList); Assert.AreEqual(tvFileDirectQueryList[0].TVFileID, tvFileList[0].TVFileID); } else { //Assert.AreEqual(true, false); } } } } }
public IHttpActionResult GetTVFileList([FromUri] string lang = "en", [FromUri] int skip = 0, [FromUri] int take = 200, [FromUri] string asc = "", [FromUri] string desc = "", [FromUri] string where = "", [FromUri] string extra = "") { using (CSSPDBContext db = new CSSPDBContext(DatabaseType)) { TVFileService tvFileService = new TVFileService(new Query() { Lang = lang }, db, ContactID); if (extra == "A") // QueryString contains [extra=A] { tvFileService.Query = tvFileService.FillQuery(typeof(TVFileExtraA), lang, skip, take, asc, desc, where, extra); if (tvFileService.Query.HasErrors) { return(Ok(new List <TVFileExtraA>() { new TVFileExtraA() { HasErrors = tvFileService.Query.HasErrors, ValidationResults = tvFileService.Query.ValidationResults, }, }.ToList())); } else { return(Ok(tvFileService.GetTVFileExtraAList().ToList())); } } else if (extra == "B") // QueryString contains [extra=B] { tvFileService.Query = tvFileService.FillQuery(typeof(TVFileExtraB), lang, skip, take, asc, desc, where, extra); if (tvFileService.Query.HasErrors) { return(Ok(new List <TVFileExtraB>() { new TVFileExtraB() { HasErrors = tvFileService.Query.HasErrors, ValidationResults = tvFileService.Query.ValidationResults, }, }.ToList())); } else { return(Ok(tvFileService.GetTVFileExtraBList().ToList())); } } else // QueryString has no parameter [extra] or extra is empty { tvFileService.Query = tvFileService.FillQuery(typeof(TVFile), lang, skip, take, asc, desc, where, extra); if (tvFileService.Query.HasErrors) { return(Ok(new List <TVFile>() { new TVFile() { HasErrors = tvFileService.Query.HasErrors, ValidationResults = tvFileService.Query.ValidationResults, }, }.ToList())); } else { return(Ok(tvFileService.GetTVFileList().ToList())); } } } }
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 tvItemModelRoot = tvItemService.GetRootTVItemModelDB(); 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(tvItemModelRoot.TVText); sbHTML.AppendLine(@"</title>"); sbHTML.AppendLine(@"</head>"); sbHTML.AppendLine(@"<body>"); List <TVItemModel> tvItemModelList = tvItemService.GetChildrenTVItemModelListWithTVItemIDAndTVTypeDB(tvItemModelRoot.TVItemID, TVTypeEnum.Country); sbHTML.AppendLine(@"<ul>"); foreach (TVItemModel tvItemModelCountry in tvItemModelList) { sbHTML.AppendLine(@"<li>"); sbHTML.AppendLine(@"" + tvItemModelCountry.TVText + ""); sbHTML.AppendLine(@"</li>"); } sbHTML.AppendLine(@"</ul>"); sbHTML.AppendLine(@"</body>"); sbHTML.AppendLine(@"</html>"); StreamWriter sw = fi.CreateText(); sw.Write(sbHTML.ToString()); sw.Close(); }
private bool GenerateKMZ() { string NotUsed = ""; //StringBuilder sbKMZ = new StringBuilder(); //DateTime CD = DateTime.Now; //string Language = "_" + _TaskRunnerBaseService._BWObj.appTaskModel.Language; //string DateText = "_" + CD.Year.ToString() + // "_" + (CD.Month > 9 ? CD.Month.ToString() : "0" + CD.Month.ToString()) + // "_" + (CD.Day > 9 ? CD.Day.ToString() : "0" + CD.Day.ToString()) + // "_" + (CD.Hour > 9 ? CD.Hour.ToString() : "0" + CD.Hour.ToString()) + // "_" + (CD.Minute > 9 ? CD.Minute.ToString() : "0" + CD.Minute.ToString()); switch (reportTypeModel.TVType) { case TVTypeEnum.MikeScenario: break; case TVTypeEnum.Subsector: break; default: break; } //if (!RenameStartOfFileNameKMZ(fi)) //{ // return false; //} fi = new FileInfo(fi.FullName.Replace(".html", ".kml")); if (fi.Exists) { try { fi.Delete(); fi = new FileInfo(fi.FullName); } catch (Exception ex) { NotUsed = string.Format(TaskRunnerServiceRes.CouldNotDeleteFile_Error_, fi.FullName, ex.Message + (ex.InnerException != null ? " Inner: " + ex.InnerException.Message : "")); _TaskRunnerBaseService._BWObj.TextLanguageList = _TaskRunnerBaseService.GetTextLanguageFormat2List("CouldNotDeleteFile_Error_", fi.FullName, ex.Message + (ex.InnerException != null ? " Inner: " + ex.InnerException.Message : "")); return(false); } } switch (reportTypeModel.TVType) { case TVTypeEnum.Root: { if (!GenerateKMZRoot()) { return(false); } } break; case TVTypeEnum.Area: case TVTypeEnum.Country: case TVTypeEnum.Infrastructure: case TVTypeEnum.MikeScenario: { if (!GenerateKMZMikeScenario()) { return(false); } } break; case TVTypeEnum.MikeSource: case TVTypeEnum.Municipality: case TVTypeEnum.MWQMSite: case TVTypeEnum.PolSourceSite: case TVTypeEnum.Province: case TVTypeEnum.Sector: case TVTypeEnum.Subsector: { if (!GenerateKMZSubsector()) { return(false); } } break; case TVTypeEnum.BoxModel: case TVTypeEnum.VisualPlumesScenario: if (!GenerateKMZNotImplemented()) { return(false); } break; default: break; } DirectoryInfo di = new DirectoryInfo(fi.DirectoryName); if (!di.Exists) { try { di.Create(); } catch (Exception ex) { NotUsed = string.Format(TaskRunnerServiceRes.CouldNotCreateDirectory__, di.FullName, ex.Message + (ex.InnerException != null ? " Inner: " + ex.InnerException.Message : "")); _TaskRunnerBaseService._BWObj.TextLanguageList = _TaskRunnerBaseService.GetTextLanguageFormat2List("CouldNotCreateDirectory__", di.FullName, ex.Message + (ex.InnerException != null ? " Inner: " + ex.InnerException.Message : "")); return(false); } } StreamWriter sw = fi.CreateText(); sw.Write(sb.ToString()); sw.Flush(); sw.Close(); fi = new FileInfo(fi.FullName); if (!fi.Exists) { NotUsed = string.Format(TaskRunnerServiceRes.CouldNotFindFile_, fi.FullName); _TaskRunnerBaseService._BWObj.TextLanguageList = _TaskRunnerBaseService.GetTextLanguageFormat1List("CouldNotFindFile_", fi.FullName); return(false); } //ProcessStartInfo pZip = new ProcessStartInfo(); //pZip.Arguments = "a -tzip \"" + fi.FullName.Replace(".kml", ".kmz") + "\" \"" + fi.FullName + "\""; //pZip.RedirectStandardInput = true; //pZip.UseShellExecute = false; //pZip.CreateNoWindow = true; //pZip.WindowStyle = ProcessWindowStyle.Hidden; //Process processZip = new Process(); //processZip.StartInfo = pZip; //try //{ // pZip.FileName = @"C:\Program Files\7-Zip\7z.exe"; // processZip.Start(); //} //catch (Exception ex) //{ // NotUsed = string.Format(TaskRunnerServiceRes.CompressKMLDidNotWorkWith7zError_, ex.Message); // _TaskRunnerBaseService._BWObj.TextLanguageList = _TaskRunnerBaseService.GetTextLanguageFormat1List("CompressKMLDidNotWorkWith7zError_", ex.Message); // return false; //} //while (!processZip.HasExited) //{ // // waiting for the processZip to finish then continue //} //fi = new FileInfo(fi.FullName); //if (fi.Exists) //{ // try // { // //fi.Delete(); // } // catch (Exception ex) // { // NotUsed = string.Format(TaskRunnerServiceRes.CouldNotDeleteFile_Error_, fi.FullName, ex.Message + (ex.InnerException != null ? " Inner: " + ex.InnerException.Message : "")); // _TaskRunnerBaseService._BWObj.TextLanguageList = _TaskRunnerBaseService.GetTextLanguageFormat2List("CouldNotDeleteFile_Error_", fi.FullName, ex.Message + (ex.InnerException != null ? " Inner: " + ex.InnerException.Message : "")); // return false; // } //} //fi = new FileInfo(fi.FullName.Replace(".kml", ".kmz")); //if (!fi.Exists) //{ // NotUsed = string.Format(TaskRunnerServiceRes.CouldNotFindFile_, fi.FullName); // _TaskRunnerBaseService._BWObj.TextLanguageList = _TaskRunnerBaseService.GetTextLanguageFormat1List("CouldNotFindFile_", fi.FullName); // return false; //} TVFileService tvFileService = new TVFileService(_TaskRunnerBaseService._BWObj.appTaskModel.Language, _TaskRunnerBaseService._User); TVItemService tvItemService = new TVItemService(_TaskRunnerBaseService._BWObj.appTaskModel.Language, _TaskRunnerBaseService._User); TVItemModel tvItemModel = tvItemService.PostAddChildTVItemDB(_TaskRunnerBaseService._BWObj.appTaskModel.TVItemID, fi.Name.Replace(fi.Extension, ""), TVTypeEnum.File); if (!string.IsNullOrWhiteSpace(tvItemModel.Error)) { NotUsed = string.Format(TaskRunnerServiceRes.CouldNotAdd_Error_, TaskRunnerServiceRes.TVItem, _TaskRunnerBaseService._BWObj.appTaskModel.TVItemID.ToString()); _TaskRunnerBaseService._BWObj.TextLanguageList = _TaskRunnerBaseService.GetTextLanguageFormat2List("CouldNotAdd_Error_", TaskRunnerServiceRes.TVItem, _TaskRunnerBaseService._BWObj.appTaskModel.TVItemID.ToString()); return(false); } TVFileModel tvFileModelNew = new TVFileModel(); tvFileModelNew.TVFileTVItemID = tvItemModel.TVItemID; tvFileModelNew.TemplateTVType = 0; tvFileModelNew.ReportTypeID = reportTypeModel.ReportTypeID; tvFileModelNew.Parameters = Parameters; tvFileModelNew.ServerFileName = fi.Name; tvFileModelNew.FilePurpose = FilePurposeEnum.ReportGenerated; tvFileModelNew.Language = _TaskRunnerBaseService._BWObj.appTaskModel.Language; tvFileModelNew.Year = DateTime.Now.Year; tvFileModelNew.FileDescription = reportTypeModel.Description; tvFileModelNew.FileType = tvFileService.GetFileType(fi.Extension); tvFileModelNew.FileSize_kb = (((int)fi.Length / 1024) == 0 ? 1 : (int)fi.Length / 1024); tvFileModelNew.FileInfo = TaskRunnerServiceRes.FileName + "[" + fi.Name + "]\r\n" + TaskRunnerServiceRes.FileType + "[" + fi.Extension + "]\r\n"; tvFileModelNew.FileCreatedDate_UTC = fi.LastWriteTimeUtc; tvFileModelNew.ServerFilePath = (fi.DirectoryName + @"\").Replace(@"C:\", @"E:\"); tvFileModelNew.LastUpdateDate_UTC = DateTime.UtcNow; tvFileModelNew.LastUpdateContactTVItemID = _TaskRunnerBaseService._BWObj.appTaskModel.LastUpdateContactTVItemID; TVFileModel tvFileModelRet = tvFileService.PostAddTVFileDB(tvFileModelNew); if (!string.IsNullOrWhiteSpace(tvFileModelRet.Error)) { NotUsed = string.Format(TaskRunnerServiceRes.CouldNotAdd_Error_, TaskRunnerServiceRes.TVFile, tvFileModelRet.Error); _TaskRunnerBaseService._BWObj.TextLanguageList = _TaskRunnerBaseService.GetTextLanguageFormat2List("CouldNotAdd_Error_", TaskRunnerServiceRes.TVFile, tvFileModelRet.Error); return(false); } return(true); }
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); }
public void Generate(FileInfo fi) { string NotUsed = ""; 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(); } MWQMPlanModel mwqmPlanModel = _MWQMPlanService.GetMWQMPlanModelWithMWQMPlanIDDB(_TaskRunnerBaseService._BWObj.MWQMPlanID); if (!string.IsNullOrWhiteSpace(mwqmPlanModel.Error)) { NotUsed = string.Format(TaskRunnerServiceRes.CouldNotFind_With_Equal_, "MWQMPlan", "MWQMPlanID", _TaskRunnerBaseService._BWObj.MWQMPlanID.ToString()); _TaskRunnerBaseService._BWObj.TextLanguageList = _TaskRunnerBaseService.GetTextLanguageFormat3List("CouldNotFind_With_Equal_", "MWQMPlan", "MWQMPlanID", _TaskRunnerBaseService._BWObj.MWQMPlanID.ToString()); return; } 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>KmlFile</name>"); sbKMZ.AppendLine(@" <StyleMap id=""msn_ylw-pushpin1"">"); sbKMZ.AppendLine(@" <Pair>"); sbKMZ.AppendLine(@" <key>normal</key>"); sbKMZ.AppendLine(@" <styleUrl>#sn_ylw-pushpin1</styleUrl>"); sbKMZ.AppendLine(@" </Pair>"); sbKMZ.AppendLine(@" <Pair>"); sbKMZ.AppendLine(@" <key>highlight</key>"); sbKMZ.AppendLine(@" <styleUrl>#sh_ylw-pushpin1</styleUrl>"); sbKMZ.AppendLine(@" </Pair>"); sbKMZ.AppendLine(@" </StyleMap>"); sbKMZ.AppendLine(@" <Style id=""sn_ylw-pushpin"">"); sbKMZ.AppendLine(@" <IconStyle>"); sbKMZ.AppendLine(@" <color>ff00ff00</color>"); sbKMZ.AppendLine(@" <scale>1.1</scale>"); sbKMZ.AppendLine(@" <Icon>"); sbKMZ.AppendLine(@" <href>http://maps.google.com/mapfiles/kml/pushpin/ylw-pushpin.png</href>"); sbKMZ.AppendLine(@" </Icon>"); sbKMZ.AppendLine(@" <hotSpot x=""20"" y=""2"" xunits=""pixels"" yunits=""pixels""/>"); sbKMZ.AppendLine(@" </IconStyle>"); sbKMZ.AppendLine(@" <LabelStyle>"); sbKMZ.AppendLine(@" <color>ff00ff00</color>"); sbKMZ.AppendLine(@" </LabelStyle>"); sbKMZ.AppendLine(@" <LineStyle>"); sbKMZ.AppendLine(@" <color>ff00ff00</color>"); sbKMZ.AppendLine(@" </LineStyle>"); sbKMZ.AppendLine(@" <PolyStyle>"); sbKMZ.AppendLine(@" <color>ff00ff00</color>"); sbKMZ.AppendLine(@" <fill>0</fill>"); sbKMZ.AppendLine(@" </PolyStyle>"); sbKMZ.AppendLine(@" </Style>"); sbKMZ.AppendLine(@" <Style id=""sn_ylw-pushpin0"">"); sbKMZ.AppendLine(@" <IconStyle>"); sbKMZ.AppendLine(@" <scale>1.1</scale>"); sbKMZ.AppendLine(@" <Icon>"); sbKMZ.AppendLine(@" <href>http://maps.google.com/mapfiles/kml/pushpin/ylw-pushpin.png</href>"); sbKMZ.AppendLine(@" </Icon>"); sbKMZ.AppendLine(@" <hotSpot x=""20"" y=""2"" xunits=""pixels"" yunits=""pixels""/>"); sbKMZ.AppendLine(@" </IconStyle>"); sbKMZ.AppendLine(@" <LineStyle>"); sbKMZ.AppendLine(@" <color>ff0000ff</color>"); sbKMZ.AppendLine(@" </LineStyle>"); sbKMZ.AppendLine(@" <PolyStyle>"); sbKMZ.AppendLine(@" <color>ff0000ff</color>"); sbKMZ.AppendLine(@" <fill>0</fill>"); sbKMZ.AppendLine(@" </PolyStyle>"); sbKMZ.AppendLine(@" </Style>"); sbKMZ.AppendLine(@" <StyleMap id=""msn_ylw-pushpin10"">"); sbKMZ.AppendLine(@" <Pair>"); sbKMZ.AppendLine(@" <key>normal</key>"); sbKMZ.AppendLine(@" <styleUrl>#sn_ylw-pushpin0</styleUrl>"); sbKMZ.AppendLine(@" </Pair>"); sbKMZ.AppendLine(@" <Pair>"); sbKMZ.AppendLine(@" <key>highlight</key>"); sbKMZ.AppendLine(@" <styleUrl>#sh_ylw-pushpin0</styleUrl>"); sbKMZ.AppendLine(@" </Pair>"); sbKMZ.AppendLine(@" </StyleMap>"); sbKMZ.AppendLine(@" <Style id=""sh_ylw-pushpin"">"); sbKMZ.AppendLine(@" <IconStyle>"); sbKMZ.AppendLine(@" <color>ff00ff00</color>"); sbKMZ.AppendLine(@" <scale>1.3</scale>"); sbKMZ.AppendLine(@" <Icon>"); sbKMZ.AppendLine(@" <href>http://maps.google.com/mapfiles/kml/pushpin/ylw-pushpin.png</href>"); sbKMZ.AppendLine(@" </Icon>"); sbKMZ.AppendLine(@" <hotSpot x=""20"" y=""2"" xunits=""pixels"" yunits=""pixels""/>"); sbKMZ.AppendLine(@" </IconStyle>"); sbKMZ.AppendLine(@" <LabelStyle>"); sbKMZ.AppendLine(@" <color>ff00ff00</color>"); sbKMZ.AppendLine(@" </LabelStyle>"); sbKMZ.AppendLine(@" <LineStyle>"); sbKMZ.AppendLine(@" <color>ff00ff00</color>"); sbKMZ.AppendLine(@" </LineStyle>"); sbKMZ.AppendLine(@" <PolyStyle>"); sbKMZ.AppendLine(@" <color>ff00ff00</color>"); sbKMZ.AppendLine(@" <fill>0</fill>"); sbKMZ.AppendLine(@" </PolyStyle>"); sbKMZ.AppendLine(@" </Style>"); sbKMZ.AppendLine(@" <Style id=""sh_ylw-pushpin0"">"); sbKMZ.AppendLine(@" <IconStyle>"); sbKMZ.AppendLine(@" <scale>1.3</scale>"); sbKMZ.AppendLine(@" <Icon>"); sbKMZ.AppendLine(@" <href>http://maps.google.com/mapfiles/kml/pushpin/ylw-pushpin.png</href>"); sbKMZ.AppendLine(@" </Icon>"); sbKMZ.AppendLine(@" <hotSpot x=""20"" y=""2"" xunits=""pixels"" yunits=""pixels""/>"); sbKMZ.AppendLine(@" </IconStyle>"); sbKMZ.AppendLine(@" <LineStyle>"); sbKMZ.AppendLine(@" <color>ff0000ff</color>"); sbKMZ.AppendLine(@" </LineStyle>"); sbKMZ.AppendLine(@" <PolyStyle>"); sbKMZ.AppendLine(@" <color>ff0000ff</color>"); sbKMZ.AppendLine(@" <fill>0</fill>"); sbKMZ.AppendLine(@" </PolyStyle>"); sbKMZ.AppendLine(@" </Style>"); sbKMZ.AppendLine(@" <Style id=""sh_ylw-pushpin1"">"); sbKMZ.AppendLine(@" <IconStyle>"); sbKMZ.AppendLine(@" <scale>1.3</scale>"); sbKMZ.AppendLine(@" <Icon>"); sbKMZ.AppendLine(@" <href>http://maps.google.com/mapfiles/kml/pushpin/ylw-pushpin.png</href>"); sbKMZ.AppendLine(@" </Icon>"); sbKMZ.AppendLine(@" <hotSpot x=""20"" y=""2"" xunits=""pixels"" yunits=""pixels""/>"); sbKMZ.AppendLine(@" </IconStyle>"); sbKMZ.AppendLine(@" <LineStyle>"); sbKMZ.AppendLine(@" <color>ff00ff00</color>"); sbKMZ.AppendLine(@" </LineStyle>"); sbKMZ.AppendLine(@" <PolyStyle>"); sbKMZ.AppendLine(@" <color>ff00ff00</color>"); sbKMZ.AppendLine(@" <fill>0</fill>"); sbKMZ.AppendLine(@" </PolyStyle>"); sbKMZ.AppendLine(@" </Style>"); sbKMZ.AppendLine(@" <Style id=""sn_ylw-pushpin1"">"); sbKMZ.AppendLine(@" <IconStyle>"); sbKMZ.AppendLine(@" <scale>1.1</scale>"); sbKMZ.AppendLine(@" <Icon>"); sbKMZ.AppendLine(@" <href>http://maps.google.com/mapfiles/kml/pushpin/ylw-pushpin.png</href>"); sbKMZ.AppendLine(@" </Icon>"); sbKMZ.AppendLine(@" <hotSpot x=""20"" y=""2"" xunits=""pixels"" yunits=""pixels""/>"); sbKMZ.AppendLine(@" </IconStyle>"); sbKMZ.AppendLine(@" <LineStyle>"); sbKMZ.AppendLine(@" <color>ff00ff00</color>"); sbKMZ.AppendLine(@" </LineStyle>"); sbKMZ.AppendLine(@" <PolyStyle>"); sbKMZ.AppendLine(@" <color>ff00ff00</color>"); sbKMZ.AppendLine(@" <fill>0</fill>"); sbKMZ.AppendLine(@" </PolyStyle>"); sbKMZ.AppendLine(@" </Style>"); sbKMZ.AppendLine(@" <StyleMap id=""msn_ylw-pushpin11"">"); 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(@" <Folder>"); sbKMZ.AppendLine(@" <name>"+ mwqmPlanModel.ConfigFileName.Replace(".txt", ".kmz") + "</name>"); sbKMZ.AppendLine(@" <open>1</open>"); List <MWQMPlanSubsectorModel> mwqmPlanSubsectorModelList = _MWQMPlanSubsectorService.GetMWQMPlanSubsectorModelListWithMWQMPlanIDDB(_TaskRunnerBaseService._BWObj.MWQMPlanID); foreach (MWQMPlanSubsectorModel MWQMPlanSubsectorModel in mwqmPlanSubsectorModelList) { sbKMZ.AppendLine(@" <Folder>"); sbKMZ.AppendLine(@" <name>"+ MWQMPlanSubsectorModel.SubsectorTVText + "</name>"); sbKMZ.AppendLine(@" <open>1</open>"); sbKMZ.AppendLine(@" <Placemark>"); sbKMZ.AppendLine(@" <name>Poly</name>"); sbKMZ.AppendLine(@" <styleUrl>#msn_ylw-pushpin10</styleUrl>"); sbKMZ.AppendLine(@" <Polygon>"); sbKMZ.AppendLine(@" <tessellate>1</tessellate>"); sbKMZ.AppendLine(@" <outerBoundaryIs>"); sbKMZ.AppendLine(@" <LinearRing>"); sbKMZ.AppendLine(@" <coordinates>"); List <MapInfoPointModel> mapInfoPointModelList = _MapInfoService._MapInfoPointService.GetMapInfoPointModelListWithTVItemIDAndTVTypeAndMapInfoDrawTypeDB(MWQMPlanSubsectorModel.SubsectorTVItemID, TVTypeEnum.Subsector, MapInfoDrawTypeEnum.Polygon); foreach (MapInfoPointModel mapInfoPointModel in mapInfoPointModelList) { sbKMZ.Append(mapInfoPointModel.Lng + "," + mapInfoPointModel.Lat + ",0 "); } sbKMZ.AppendLine(""); sbKMZ.AppendLine(@" </coordinates>"); sbKMZ.AppendLine(@" </LinearRing>"); sbKMZ.AppendLine(@" </outerBoundaryIs>"); sbKMZ.AppendLine(@" </Polygon>"); sbKMZ.AppendLine(@" </Placemark>"); mapInfoPointModelList = _MapInfoService._MapInfoPointService.GetMapInfoPointModelListWithTVItemIDAndTVTypeAndMapInfoDrawTypeDB(MWQMPlanSubsectorModel.SubsectorTVItemID, TVTypeEnum.Subsector, MapInfoDrawTypeEnum.Point); if (mapInfoPointModelList.Count > 0) { sbKMZ.AppendLine(@" <Placemark>"); sbKMZ.AppendLine(@" <name>"+ MWQMPlanSubsectorModel.SubsectorTVText + "</name>"); sbKMZ.AppendLine(@" <styleUrl>#msn_ylw-pushpin1</styleUrl>"); sbKMZ.AppendLine(@" <Point>"); sbKMZ.AppendLine(@" <coordinates>"+ mapInfoPointModelList[0].Lng + "," + mapInfoPointModelList[0].Lat + ",0</coordinates>"); sbKMZ.AppendLine(@" </Point>"); sbKMZ.AppendLine(@" </Placemark>"); } List <MWQMPlanSubsectorSiteModel> mwqmPlanSubsectorSiteModelList = _MWQMPlanSubsectorSiteService.GetMWQMPlanSubsectorSiteModelListWithMWQMPlanSubsectorIDDB(MWQMPlanSubsectorModel.MWQMPlanSubsectorID); sbKMZ.AppendLine(@" <Folder>"); sbKMZ.AppendLine(@" <name>MWQMSites</name>"); sbKMZ.AppendLine(@" <open>1</open>"); foreach (MWQMPlanSubsectorSiteModel MWQMPlanSubsectorSiteModel in mwqmPlanSubsectorSiteModelList) { mapInfoPointModelList = _MapInfoService._MapInfoPointService.GetMapInfoPointModelListWithTVItemIDAndTVTypeAndMapInfoDrawTypeDB(MWQMPlanSubsectorSiteModel.MWQMSiteTVItemID, TVTypeEnum.MWQMSite, MapInfoDrawTypeEnum.Point); if (mapInfoPointModelList.Count > 0) { sbKMZ.AppendLine(@" <Placemark>"); sbKMZ.AppendLine(@" <name>"+ MWQMPlanSubsectorSiteModel.MWQMSiteText + "</name>"); sbKMZ.AppendLine(@" <styleUrl>#msn_ylw-pushpin11</styleUrl>"); sbKMZ.AppendLine(@" <Point>"); sbKMZ.AppendLine(@" <coordinates>"+ mapInfoPointModelList[0].Lng + "," + mapInfoPointModelList[0].Lat + ",0</coordinates>"); sbKMZ.AppendLine(@" </Point>"); sbKMZ.AppendLine(@" </Placemark>"); } } sbKMZ.AppendLine(@" </Folder>"); sbKMZ.AppendLine(@" </Folder>"); } sbKMZ.AppendLine(@" </Folder>"); sbKMZ.AppendLine(@"</Document>"); sbKMZ.AppendLine(@"</kml>"); StreamWriter sw = fi.CreateText(); sw.Write(sbKMZ.ToString()); sw.Close(); //string KMLFileName = fi.FullName; //string KMZFileName = fi.FullName.Replace(".kml", ".kmz"); //// make sure directory exist if not create it //di = new DirectoryInfo(KMZFileName.Substring(0, KMZFileName.LastIndexOf("\\"))); //if (!di.Exists) // di.Create(); //ProcessStartInfo pZip = new ProcessStartInfo(); //pZip.Arguments = "a -tzip \"" + KMZFileName + "\" \"" + KMLFileName + "\""; //pZip.RedirectStandardInput = true; //pZip.UseShellExecute = false; //pZip.CreateNoWindow = true; //pZip.WindowStyle = ProcessWindowStyle.Hidden; //Process processZip = new Process(); //processZip.StartInfo = pZip; //try //{ // pZip.FileName = @"C:\Program Files\7-Zip\7z.exe"; // processZip.Start(); //} //catch (Exception ex) //{ // NotUsed = string.Format(TaskRunnerServiceRes.CompressKMLDidNotWorkWith7zError_, ex.Message); // _TaskRunnerBaseService._BWObj.TextLanguageList = _TaskRunnerBaseService.GetTextLanguageFormat1List("CompressKMLDidNotWorkWith7zError_", ex.Message); // return; //} //while (!processZip.HasExited) //{ // // waiting for the processZip to finish then continue //} //File.Delete(KMLFileName); }
public void TVFile_Controller_GetTVFileList_Test() { foreach (LanguageEnum LanguageRequest in AllowableLanguages) { foreach (int ContactID in new List <int>() { AdminContactID }) //, TestEmailValidatedContactID, TestEmailNotValidatedContactID }) { TVFileController tvFileController = new TVFileController(DatabaseTypeEnum.SqlServerTestDB); Assert.IsNotNull(tvFileController); Assert.AreEqual(DatabaseTypeEnum.SqlServerTestDB, tvFileController.DatabaseType); TVFile tvFileFirst = new TVFile(); int count = -1; Query query = new Query(); using (CSSPDBContext db = new CSSPDBContext(DatabaseTypeEnum.SqlServerTestDB)) { TVFileService tvFileService = new TVFileService(query, db, ContactID); tvFileFirst = (from c in db.TVFiles select c).FirstOrDefault(); count = (from c in db.TVFiles select c).Count(); count = (query.Take > count ? count : query.Take); } // ok with TVFile info IHttpActionResult jsonRet = tvFileController.GetTVFileList(); Assert.IsNotNull(jsonRet); OkNegotiatedContentResult <List <TVFile> > ret = jsonRet as OkNegotiatedContentResult <List <TVFile> >; Assert.AreEqual(tvFileFirst.TVFileID, ret.Content[0].TVFileID); Assert.AreEqual((count > query.Take ? query.Take : count), ret.Content.Count); List <TVFile> tvFileList = new List <TVFile>(); count = -1; query = new Query(); using (CSSPDBContext db = new CSSPDBContext(DatabaseTypeEnum.SqlServerTestDB)) { TVFileService tvFileService = new TVFileService(query, db, ContactID); tvFileList = (from c in db.TVFiles select c).OrderBy(c => c.TVFileID).Skip(0).Take(2).ToList(); count = (from c in db.TVFiles select c).Count(); } if (count > 0) { query.Skip = 0; query.Take = 5; count = (query.Take > count ? query.Take : count); // ok with TVFile info jsonRet = tvFileController.GetTVFileList(query.Language.ToString(), query.Skip, query.Take); Assert.IsNotNull(jsonRet); ret = jsonRet as OkNegotiatedContentResult <List <TVFile> >; Assert.AreEqual(tvFileList[0].TVFileID, ret.Content[0].TVFileID); Assert.AreEqual((count > query.Take ? query.Take : count), ret.Content.Count); if (count > 1) { query.Skip = 1; query.Take = 5; count = (query.Take > count ? query.Take : count); // ok with TVFile info IHttpActionResult jsonRet2 = tvFileController.GetTVFileList(query.Language.ToString(), query.Skip, query.Take); Assert.IsNotNull(jsonRet2); OkNegotiatedContentResult <List <TVFile> > ret2 = jsonRet2 as OkNegotiatedContentResult <List <TVFile> >; Assert.AreEqual(tvFileList[1].TVFileID, ret2.Content[0].TVFileID); Assert.AreEqual((count > query.Take ? query.Take : count), ret2.Content.Count); } } } } }
public void TVFile_Controller_Post_Test() { foreach (LanguageEnum LanguageRequest in AllowableLanguages) { foreach (int ContactID in new List <int>() { AdminContactID }) //, TestEmailValidatedContactID, TestEmailNotValidatedContactID }) { TVFileController tvFileController = new TVFileController(DatabaseTypeEnum.SqlServerTestDB); Assert.IsNotNull(tvFileController); Assert.AreEqual(DatabaseTypeEnum.SqlServerTestDB, tvFileController.DatabaseType); TVFile tvFileLast = new TVFile(); using (CSSPDBContext db = new CSSPDBContext(DatabaseType)) { Query query = new Query(); query.Language = LanguageRequest; query.Asc = ""; query.Desc = ""; TVFileService tvFileService = new TVFileService(query, db, ContactID); tvFileLast = (from c in db.TVFiles select c).FirstOrDefault(); } // ok with TVFile info IHttpActionResult jsonRet = tvFileController.GetTVFileWithID(tvFileLast.TVFileID); Assert.IsNotNull(jsonRet); OkNegotiatedContentResult <TVFile> Ret = jsonRet as OkNegotiatedContentResult <TVFile>; TVFile tvFileRet = Ret.Content; Assert.AreEqual(tvFileLast.TVFileID, tvFileRet.TVFileID); BadRequestErrorMessageResult badRequest = jsonRet as BadRequestErrorMessageResult; Assert.IsNull(badRequest); // Post to return CSSPError because TVFileID exist IHttpActionResult jsonRet2 = tvFileController.Post(tvFileRet, LanguageRequest.ToString()); Assert.IsNotNull(jsonRet2); OkNegotiatedContentResult <TVFile> tvFileRet2 = jsonRet2 as OkNegotiatedContentResult <TVFile>; Assert.IsNull(tvFileRet2); BadRequestErrorMessageResult badRequest2 = jsonRet2 as BadRequestErrorMessageResult; Assert.IsNotNull(badRequest2); // Post to return newly added TVFile tvFileRet.TVFileID = 0; tvFileController.Request = new System.Net.Http.HttpRequestMessage(); tvFileController.Request.RequestUri = new System.Uri("http://localhost:5000/api/tvFile"); IHttpActionResult jsonRet3 = tvFileController.Post(tvFileRet, LanguageRequest.ToString()); Assert.IsNotNull(jsonRet3); CreatedNegotiatedContentResult <TVFile> tvFileRet3 = jsonRet3 as CreatedNegotiatedContentResult <TVFile>; Assert.IsNotNull(tvFileRet3); BadRequestErrorMessageResult badRequest3 = jsonRet3 as BadRequestErrorMessageResult; Assert.IsNull(badRequest3); IHttpActionResult jsonRet4 = tvFileController.Delete(tvFileRet, LanguageRequest.ToString()); Assert.IsNotNull(jsonRet4); OkNegotiatedContentResult <TVFile> tvFileRet4 = jsonRet4 as OkNegotiatedContentResult <TVFile>; Assert.IsNotNull(tvFileRet4); BadRequestErrorMessageResult badRequest4 = jsonRet4 as BadRequestErrorMessageResult; Assert.IsNull(badRequest4); } } }