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); }
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 void AppTask_Controller_Put_Test() { foreach (LanguageEnum LanguageRequest in AllowableLanguages) { foreach (int ContactID in new List <int>() { AdminContactID }) //, TestEmailValidatedContactID, TestEmailNotValidatedContactID }) { AppTaskController appTaskController = new AppTaskController(DatabaseTypeEnum.SqlServerTestDB); Assert.IsNotNull(appTaskController); Assert.AreEqual(DatabaseTypeEnum.SqlServerTestDB, appTaskController.DatabaseType); AppTask appTaskLast = new AppTask(); using (CSSPDBContext db = new CSSPDBContext(DatabaseType)) { Query query = new Query(); query.Language = LanguageRequest; AppTaskService appTaskService = new AppTaskService(query, db, ContactID); appTaskLast = (from c in db.AppTasks select c).FirstOrDefault(); } // ok with AppTask info IHttpActionResult jsonRet = appTaskController.GetAppTaskWithID(appTaskLast.AppTaskID); Assert.IsNotNull(jsonRet); OkNegotiatedContentResult <AppTask> Ret = jsonRet as OkNegotiatedContentResult <AppTask>; AppTask appTaskRet = Ret.Content; Assert.AreEqual(appTaskLast.AppTaskID, appTaskRet.AppTaskID); BadRequestErrorMessageResult badRequest = jsonRet as BadRequestErrorMessageResult; Assert.IsNull(badRequest); // Put to return success IHttpActionResult jsonRet2 = appTaskController.Put(appTaskRet, LanguageRequest.ToString()); Assert.IsNotNull(jsonRet2); OkNegotiatedContentResult <AppTask> appTaskRet2 = jsonRet2 as OkNegotiatedContentResult <AppTask>; Assert.IsNotNull(appTaskRet2); BadRequestErrorMessageResult badRequest2 = jsonRet2 as BadRequestErrorMessageResult; Assert.IsNull(badRequest2); // Put to return CSSPError because AppTaskID of 0 does not exist appTaskRet.AppTaskID = 0; IHttpActionResult jsonRet3 = appTaskController.Put(appTaskRet, LanguageRequest.ToString()); Assert.IsNotNull(jsonRet3); OkNegotiatedContentResult <AppTask> appTaskRet3 = jsonRet3 as OkNegotiatedContentResult <AppTask>; Assert.IsNull(appTaskRet3); BadRequestErrorMessageResult badRequest3 = jsonRet3 as BadRequestErrorMessageResult; Assert.IsNotNull(badRequest3); } } }
public IHttpActionResult GetAppTaskList([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)) { AppTaskService appTaskService = new AppTaskService(new Query() { Lang = lang }, db, ContactID);
protected override void Initialize(System.Web.Routing.RequestContext requestContext) { base.Initialize(requestContext); _AppTaskService = new AppTaskService(LanguageRequest, User); _MWQMSiteService = new MWQMSiteService(LanguageRequest, User); _MWQMRunService = new MWQMRunService(LanguageRequest, User); _MWQMSampleService = new MWQMSampleService(LanguageRequest, User); _MapInfoPointService = new MapInfoPointService(LanguageRequest, User); _MWQMSubsectorService = new MWQMSubsectorService(LanguageRequest, User); _MWQMAnalysisReportParameterService = new MWQMAnalysisReportParameterService(LanguageRequest, User); }
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 AppTask_CRUD_Test() { foreach (CultureInfo culture in AllowableCulture) { ChangeCulture(culture); using (CSSPDBContext dbTestDB = new CSSPDBContext(DatabaseTypeEnum.SqlServerTestDB)) { AppTaskService appTaskService = new AppTaskService(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] } AppTask appTask = GetFilledRandomAppTask(""); // ------------------------------- // ------------------------------- // CRUD testing // ------------------------------- // ------------------------------- count = appTaskService.GetAppTaskList().Count(); Assert.AreEqual(count, (from c in dbTestDB.AppTasks select c).Count()); appTaskService.Add(appTask); if (appTask.HasErrors) { Assert.AreEqual("", appTask.ValidationResults.FirstOrDefault().ErrorMessage); } Assert.AreEqual(true, appTaskService.GetAppTaskList().Where(c => c == appTask).Any()); appTaskService.Update(appTask); if (appTask.HasErrors) { Assert.AreEqual("", appTask.ValidationResults.FirstOrDefault().ErrorMessage); } Assert.AreEqual(count + 1, appTaskService.GetAppTaskList().Count()); appTaskService.Delete(appTask); if (appTask.HasErrors) { Assert.AreEqual("", appTask.ValidationResults.FirstOrDefault().ErrorMessage); } Assert.AreEqual(count, appTaskService.GetAppTaskList().Count()); } } }
public IHttpActionResult GetAppTaskWithID([FromUri] int AppTaskID, [FromUri] string lang = "en", [FromUri] string extra = "") { using (CSSPDBContext db = new CSSPDBContext(DatabaseType)) { AppTaskService appTaskService = new AppTaskService(new Query() { Language = (lang == "fr" ? LanguageEnum.fr : LanguageEnum.en) }, db, ContactID); appTaskService.Query = appTaskService.FillQuery(typeof(AppTask), lang, 0, 1, "", "", extra); if (appTaskService.Query.Extra == "A") { AppTaskExtraA appTaskExtraA = new AppTaskExtraA(); appTaskExtraA = appTaskService.GetAppTaskExtraAWithAppTaskID(AppTaskID); if (appTaskExtraA == null) { return(NotFound()); } return(Ok(appTaskExtraA)); } else if (appTaskService.Query.Extra == "B") { AppTaskExtraB appTaskExtraB = new AppTaskExtraB(); appTaskExtraB = appTaskService.GetAppTaskExtraBWithAppTaskID(AppTaskID); if (appTaskExtraB == null) { return(NotFound()); } return(Ok(appTaskExtraB)); } else { AppTask appTask = new AppTask(); appTask = appTaskService.GetAppTaskWithAppTaskID(AppTaskID); if (appTask == null) { return(NotFound()); } return(Ok(appTask)); } } }
public void AppTask_Controller_GetAppTaskWithID_Test() { foreach (LanguageEnum LanguageRequest in AllowableLanguages) { foreach (int ContactID in new List <int>() { AdminContactID }) //, TestEmailValidatedContactID, TestEmailNotValidatedContactID }) { AppTaskController appTaskController = new AppTaskController(DatabaseTypeEnum.SqlServerTestDB); Assert.IsNotNull(appTaskController); Assert.AreEqual(DatabaseTypeEnum.SqlServerTestDB, appTaskController.DatabaseType); AppTask appTaskFirst = new AppTask(); using (CSSPDBContext db = new CSSPDBContext(DatabaseType)) { AppTaskService appTaskService = new AppTaskService(new Query(), db, ContactID); appTaskFirst = (from c in db.AppTasks select c).FirstOrDefault(); } // ok with AppTask info IHttpActionResult jsonRet = appTaskController.GetAppTaskWithID(appTaskFirst.AppTaskID); Assert.IsNotNull(jsonRet); OkNegotiatedContentResult <AppTask> Ret = jsonRet as OkNegotiatedContentResult <AppTask>; AppTask appTaskRet = Ret.Content; Assert.AreEqual(appTaskFirst.AppTaskID, appTaskRet.AppTaskID); BadRequestErrorMessageResult badRequest = jsonRet as BadRequestErrorMessageResult; Assert.IsNull(badRequest); // Not Found IHttpActionResult jsonRet2 = appTaskController.GetAppTaskWithID(0); Assert.IsNotNull(jsonRet2); OkNegotiatedContentResult <AppTask> appTaskRet2 = jsonRet2 as OkNegotiatedContentResult <AppTask>; Assert.IsNull(appTaskRet2); NotFoundResult notFoundRequest = jsonRet2 as NotFoundResult; Assert.IsNotNull(notFoundRequest); } } }
public IHttpActionResult Delete([FromBody] AppTask appTask, [FromUri] string lang = "en") { using (CSSPDBContext db = new CSSPDBContext(DatabaseType)) { AppTaskService appTaskService = new AppTaskService(new Query() { Language = (lang == "fr" ? LanguageEnum.fr : LanguageEnum.en) }, db, ContactID); if (!appTaskService.Delete(appTask)) { return(BadRequest(String.Join("|||", appTask.ValidationResults))); } else { appTask.ValidationResults = null; return(Ok(appTask)); } } }
public void GetAppTaskList_Test() { foreach (CultureInfo culture in AllowableCulture) { ChangeCulture(culture); using (CSSPDBContext dbTestDB = new CSSPDBContext(DatabaseTypeEnum.SqlServerTestDB)) { AppTaskService appTaskService = new AppTaskService(new Query() { Lang = culture.TwoLetterISOLanguageName }, dbTestDB, ContactID); AppTask appTask = (from c in dbTestDB.AppTasks select c).FirstOrDefault(); Assert.IsNotNull(appTask); List <AppTask> appTaskDirectQueryList = new List <AppTask>(); appTaskDirectQueryList = (from c in dbTestDB.AppTasks select c).Take(200).ToList(); foreach (string extra in new List <string>() { null, "A", "B", "C", "D", "E" }) { appTaskService.Query.Extra = extra; if (string.IsNullOrWhiteSpace(extra)) { List <AppTask> appTaskList = new List <AppTask>(); appTaskList = appTaskService.GetAppTaskList().ToList(); CheckAppTaskFields(appTaskList); } else { //Assert.AreEqual(true, false); } } } } }
public void GetAppTaskList_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" }) { AppTaskService appTaskService = new AppTaskService(new Query() { Lang = culture.TwoLetterISOLanguageName }, dbTestDB, ContactID); appTaskService.Query = appTaskService.FillQuery(typeof(AppTask), culture.TwoLetterISOLanguageName, 0, 10000, "", "", "AppTaskID,GT,2|AppTaskID,LT,5", extra); List <AppTask> appTaskDirectQueryList = new List <AppTask>(); appTaskDirectQueryList = (from c in dbTestDB.AppTasks select c).Where(c => c.AppTaskID > 2 && c.AppTaskID < 5).ToList(); if (string.IsNullOrWhiteSpace(extra)) { List <AppTask> appTaskList = new List <AppTask>(); appTaskList = appTaskService.GetAppTaskList().ToList(); CheckAppTaskFields(appTaskList); Assert.AreEqual(appTaskDirectQueryList[0].AppTaskID, appTaskList[0].AppTaskID); } else { //Assert.AreEqual(true, false); } } } } }
public MainPage() { this.InitializeComponent(); AppTasksGridView.ItemsSource = AppTaskService.GetAppTasks(); }
public void AppTask_Controller_GetAppTaskList_Test() { foreach (LanguageEnum LanguageRequest in AllowableLanguages) { foreach (int ContactID in new List <int>() { AdminContactID }) //, TestEmailValidatedContactID, TestEmailNotValidatedContactID }) { AppTaskController appTaskController = new AppTaskController(DatabaseTypeEnum.SqlServerTestDB); Assert.IsNotNull(appTaskController); Assert.AreEqual(DatabaseTypeEnum.SqlServerTestDB, appTaskController.DatabaseType); AppTask appTaskFirst = new AppTask(); int count = -1; Query query = new Query(); using (CSSPDBContext db = new CSSPDBContext(DatabaseTypeEnum.SqlServerTestDB)) { AppTaskService appTaskService = new AppTaskService(query, db, ContactID); appTaskFirst = (from c in db.AppTasks select c).FirstOrDefault(); count = (from c in db.AppTasks select c).Count(); count = (query.Take > count ? count : query.Take); } // ok with AppTask info IHttpActionResult jsonRet = appTaskController.GetAppTaskList(); Assert.IsNotNull(jsonRet); OkNegotiatedContentResult <List <AppTask> > ret = jsonRet as OkNegotiatedContentResult <List <AppTask> >; Assert.AreEqual(appTaskFirst.AppTaskID, ret.Content[0].AppTaskID); Assert.AreEqual((count > query.Take ? query.Take : count), ret.Content.Count); List <AppTask> appTaskList = new List <AppTask>(); count = -1; query = new Query(); using (CSSPDBContext db = new CSSPDBContext(DatabaseTypeEnum.SqlServerTestDB)) { AppTaskService appTaskService = new AppTaskService(query, db, ContactID); appTaskList = (from c in db.AppTasks select c).OrderBy(c => c.AppTaskID).Skip(0).Take(2).ToList(); count = (from c in db.AppTasks select c).Count(); } if (count > 0) { query.Skip = 0; query.Take = 5; count = (query.Take > count ? query.Take : count); // ok with AppTask info jsonRet = appTaskController.GetAppTaskList(query.Language.ToString(), query.Skip, query.Take); Assert.IsNotNull(jsonRet); ret = jsonRet as OkNegotiatedContentResult <List <AppTask> >; Assert.AreEqual(appTaskList[0].AppTaskID, ret.Content[0].AppTaskID); 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 AppTask info IHttpActionResult jsonRet2 = appTaskController.GetAppTaskList(query.Language.ToString(), query.Skip, query.Take); Assert.IsNotNull(jsonRet2); OkNegotiatedContentResult <List <AppTask> > ret2 = jsonRet2 as OkNegotiatedContentResult <List <AppTask> >; Assert.AreEqual(appTaskList[1].AppTaskID, ret2.Content[0].AppTaskID); Assert.AreEqual((count > query.Take ? query.Take : count), ret2.Content.Count); } } } } }
public IHttpActionResult GetAppTaskList([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)) { AppTaskService appTaskService = new AppTaskService(new Query() { Lang = lang }, db, ContactID); if (extra == "A") // QueryString contains [extra=A] { appTaskService.Query = appTaskService.FillQuery(typeof(AppTaskExtraA), lang, skip, take, asc, desc, where, extra); if (appTaskService.Query.HasErrors) { return(Ok(new List <AppTaskExtraA>() { new AppTaskExtraA() { HasErrors = appTaskService.Query.HasErrors, ValidationResults = appTaskService.Query.ValidationResults, }, }.ToList())); } else { return(Ok(appTaskService.GetAppTaskExtraAList().ToList())); } } else if (extra == "B") // QueryString contains [extra=B] { appTaskService.Query = appTaskService.FillQuery(typeof(AppTaskExtraB), lang, skip, take, asc, desc, where, extra); if (appTaskService.Query.HasErrors) { return(Ok(new List <AppTaskExtraB>() { new AppTaskExtraB() { HasErrors = appTaskService.Query.HasErrors, ValidationResults = appTaskService.Query.ValidationResults, }, }.ToList())); } else { return(Ok(appTaskService.GetAppTaskExtraBList().ToList())); } } else // QueryString has no parameter [extra] or extra is empty { appTaskService.Query = appTaskService.FillQuery(typeof(AppTask), lang, skip, take, asc, desc, where, extra); if (appTaskService.Query.HasErrors) { return(Ok(new List <AppTask>() { new AppTask() { HasErrors = appTaskService.Query.HasErrors, ValidationResults = appTaskService.Query.ValidationResults, }, }.ToList())); } else { return(Ok(appTaskService.GetAppTaskList().ToList())); } } } }
public void AppTask_Controller_Post_Test() { foreach (LanguageEnum LanguageRequest in AllowableLanguages) { foreach (int ContactID in new List <int>() { AdminContactID }) //, TestEmailValidatedContactID, TestEmailNotValidatedContactID }) { AppTaskController appTaskController = new AppTaskController(DatabaseTypeEnum.SqlServerTestDB); Assert.IsNotNull(appTaskController); Assert.AreEqual(DatabaseTypeEnum.SqlServerTestDB, appTaskController.DatabaseType); AppTask appTaskLast = new AppTask(); using (CSSPDBContext db = new CSSPDBContext(DatabaseType)) { Query query = new Query(); query.Language = LanguageRequest; query.Asc = ""; query.Desc = ""; AppTaskService appTaskService = new AppTaskService(query, db, ContactID); appTaskLast = (from c in db.AppTasks select c).FirstOrDefault(); } // ok with AppTask info IHttpActionResult jsonRet = appTaskController.GetAppTaskWithID(appTaskLast.AppTaskID); Assert.IsNotNull(jsonRet); OkNegotiatedContentResult <AppTask> Ret = jsonRet as OkNegotiatedContentResult <AppTask>; AppTask appTaskRet = Ret.Content; Assert.AreEqual(appTaskLast.AppTaskID, appTaskRet.AppTaskID); BadRequestErrorMessageResult badRequest = jsonRet as BadRequestErrorMessageResult; Assert.IsNull(badRequest); // Post to return CSSPError because AppTaskID exist IHttpActionResult jsonRet2 = appTaskController.Post(appTaskRet, LanguageRequest.ToString()); Assert.IsNotNull(jsonRet2); OkNegotiatedContentResult <AppTask> appTaskRet2 = jsonRet2 as OkNegotiatedContentResult <AppTask>; Assert.IsNull(appTaskRet2); BadRequestErrorMessageResult badRequest2 = jsonRet2 as BadRequestErrorMessageResult; Assert.IsNotNull(badRequest2); // Post to return newly added AppTask appTaskRet.AppTaskID = 0; appTaskController.Request = new System.Net.Http.HttpRequestMessage(); appTaskController.Request.RequestUri = new System.Uri("http://localhost:5000/api/appTask"); IHttpActionResult jsonRet3 = appTaskController.Post(appTaskRet, LanguageRequest.ToString()); Assert.IsNotNull(jsonRet3); CreatedNegotiatedContentResult <AppTask> appTaskRet3 = jsonRet3 as CreatedNegotiatedContentResult <AppTask>; Assert.IsNotNull(appTaskRet3); BadRequestErrorMessageResult badRequest3 = jsonRet3 as BadRequestErrorMessageResult; Assert.IsNull(badRequest3); IHttpActionResult jsonRet4 = appTaskController.Delete(appTaskRet, LanguageRequest.ToString()); Assert.IsNotNull(jsonRet4); OkNegotiatedContentResult <AppTask> appTaskRet4 = jsonRet4 as OkNegotiatedContentResult <AppTask>; Assert.IsNotNull(appTaskRet4); BadRequestErrorMessageResult badRequest4 = jsonRet4 as BadRequestErrorMessageResult; Assert.IsNull(badRequest4); } } }
protected override void Initialize(System.Web.Routing.RequestContext requestContext) { base.Initialize(requestContext); _TVTypeUserAuthorizationService = new TVTypeUserAuthorizationService(LanguageRequest, User); _AppTaskService = new AppTaskService(LanguageRequest, User); }
public void AppTask_Properties_Test() { foreach (CultureInfo culture in AllowableCulture) { ChangeCulture(culture); using (CSSPDBContext dbTestDB = new CSSPDBContext(DatabaseTypeEnum.SqlServerTestDB)) { AppTaskService appTaskService = new AppTaskService(new Query() { Lang = culture.TwoLetterISOLanguageName }, dbTestDB, ContactID); int count = 0; if (count == 1) { // just so we don't get a warning during compile [The variable 'count' is assigned but its value is never used] } count = appTaskService.GetAppTaskList().Count(); AppTask appTask = GetFilledRandomAppTask(""); // ------------------------------- // ------------------------------- // Properties testing // ------------------------------- // ------------------------------- // ----------------------------------- // [Key] // Is NOT Nullable // appTask.AppTaskID (Int32) // ----------------------------------- appTask = null; appTask = GetFilledRandomAppTask(""); appTask.AppTaskID = 0; appTaskService.Update(appTask); Assert.AreEqual(string.Format(CSSPServicesRes._IsRequired, "AppTaskID"), appTask.ValidationResults.FirstOrDefault().ErrorMessage); appTask = null; appTask = GetFilledRandomAppTask(""); appTask.AppTaskID = 10000000; appTaskService.Update(appTask); Assert.AreEqual(string.Format(CSSPServicesRes.CouldNotFind_With_Equal_, "AppTask", "AppTaskID", appTask.AppTaskID.ToString()), appTask.ValidationResults.FirstOrDefault().ErrorMessage); // ----------------------------------- // Is NOT Nullable // [CSSPExist(ExistTypeName = "TVItem", ExistPlurial = "s", ExistFieldID = "TVItemID", AllowableTVtypeList = Root,Address,Area,ClimateSite,Country,File,HydrometricSite,MikeBoundaryConditionWebTide,MikeBoundaryConditionMesh,MikeSource,Municipality,MWQMSite,PolSourceSite,Province,Sector,Subsector,TideSite,WasteWaterTreatmentPlant,LiftStation,Spill,Outfall,OtherInfrastructure,SeeOtherMunicipality,LineOverflow)] // appTask.TVItemID (Int32) // ----------------------------------- appTask = null; appTask = GetFilledRandomAppTask(""); appTask.TVItemID = 0; appTaskService.Add(appTask); Assert.AreEqual(string.Format(CSSPServicesRes.CouldNotFind_With_Equal_, "TVItem", "TVItemID", appTask.TVItemID.ToString()), appTask.ValidationResults.FirstOrDefault().ErrorMessage); appTask = null; appTask = GetFilledRandomAppTask(""); appTask.TVItemID = 2; appTaskService.Add(appTask); Assert.AreEqual(string.Format(CSSPServicesRes._IsNotOfType_, "TVItemID", "Root,Address,Area,ClimateSite,Country,File,HydrometricSite,MikeBoundaryConditionWebTide,MikeBoundaryConditionMesh,MikeSource,Municipality,MWQMSite,PolSourceSite,Province,Sector,Subsector,TideSite,WasteWaterTreatmentPlant,LiftStation,Spill,Outfall,OtherInfrastructure,SeeOtherMunicipality,LineOverflow"), appTask.ValidationResults.FirstOrDefault().ErrorMessage); // ----------------------------------- // Is NOT Nullable // [CSSPExist(ExistTypeName = "TVItem", ExistPlurial = "s", ExistFieldID = "TVItemID", AllowableTVtypeList = Root,Address,Area,ClimateSite,Country,File,HydrometricSite,MikeBoundaryConditionWebTide,MikeBoundaryConditionMesh,MikeSource,Municipality,MWQMSite,PolSourceSite,Province,Sector,Subsector,TideSite,WasteWaterTreatmentPlant,LiftStation,Spill,Outfall,OtherInfrastructure,SeeOtherMunicipality,LineOverflow)] // appTask.TVItemID2 (Int32) // ----------------------------------- appTask = null; appTask = GetFilledRandomAppTask(""); appTask.TVItemID2 = 0; appTaskService.Add(appTask); Assert.AreEqual(string.Format(CSSPServicesRes.CouldNotFind_With_Equal_, "TVItem", "TVItemID2", appTask.TVItemID2.ToString()), appTask.ValidationResults.FirstOrDefault().ErrorMessage); appTask = null; appTask = GetFilledRandomAppTask(""); appTask.TVItemID2 = 2; appTaskService.Add(appTask); Assert.AreEqual(string.Format(CSSPServicesRes._IsNotOfType_, "TVItemID2", "Root,Address,Area,ClimateSite,Country,File,HydrometricSite,MikeBoundaryConditionWebTide,MikeBoundaryConditionMesh,MikeSource,Municipality,MWQMSite,PolSourceSite,Province,Sector,Subsector,TideSite,WasteWaterTreatmentPlant,LiftStation,Spill,Outfall,OtherInfrastructure,SeeOtherMunicipality,LineOverflow"), appTask.ValidationResults.FirstOrDefault().ErrorMessage); // ----------------------------------- // Is NOT Nullable // [CSSPEnumType] // appTask.AppTaskCommand (AppTaskCommandEnum) // ----------------------------------- appTask = null; appTask = GetFilledRandomAppTask(""); appTask.AppTaskCommand = (AppTaskCommandEnum)1000000; appTaskService.Add(appTask); Assert.AreEqual(string.Format(CSSPServicesRes._IsRequired, "AppTaskCommand"), appTask.ValidationResults.FirstOrDefault().ErrorMessage); // ----------------------------------- // Is NOT Nullable // [CSSPEnumType] // appTask.AppTaskStatus (AppTaskStatusEnum) // ----------------------------------- appTask = null; appTask = GetFilledRandomAppTask(""); appTask.AppTaskStatus = (AppTaskStatusEnum)1000000; appTaskService.Add(appTask); Assert.AreEqual(string.Format(CSSPServicesRes._IsRequired, "AppTaskStatus"), appTask.ValidationResults.FirstOrDefault().ErrorMessage); // ----------------------------------- // Is NOT Nullable // [Range(0, 100)] // appTask.PercentCompleted (Int32) // ----------------------------------- appTask = null; appTask = GetFilledRandomAppTask(""); appTask.PercentCompleted = -1; Assert.AreEqual(false, appTaskService.Add(appTask)); Assert.AreEqual(string.Format(CSSPServicesRes._ValueShouldBeBetween_And_, "PercentCompleted", "0", "100"), appTask.ValidationResults.FirstOrDefault().ErrorMessage); Assert.AreEqual(count, appTaskService.GetAppTaskList().Count()); appTask = null; appTask = GetFilledRandomAppTask(""); appTask.PercentCompleted = 101; Assert.AreEqual(false, appTaskService.Add(appTask)); Assert.AreEqual(string.Format(CSSPServicesRes._ValueShouldBeBetween_And_, "PercentCompleted", "0", "100"), appTask.ValidationResults.FirstOrDefault().ErrorMessage); Assert.AreEqual(count, appTaskService.GetAppTaskList().Count()); // ----------------------------------- // Is NOT Nullable // appTask.Parameters (String) // ----------------------------------- appTask = null; appTask = GetFilledRandomAppTask("Parameters"); Assert.AreEqual(false, appTaskService.Add(appTask)); Assert.AreEqual(1, appTask.ValidationResults.Count()); Assert.IsTrue(appTask.ValidationResults.Where(c => c.ErrorMessage == string.Format(CSSPServicesRes._IsRequired, "Parameters")).Any()); Assert.AreEqual(null, appTask.Parameters); Assert.AreEqual(count, appTaskService.GetAppTaskList().Count()); // ----------------------------------- // Is NOT Nullable // [CSSPEnumType] // appTask.Language (LanguageEnum) // ----------------------------------- appTask = null; appTask = GetFilledRandomAppTask(""); appTask.Language = (LanguageEnum)1000000; appTaskService.Add(appTask); Assert.AreEqual(string.Format(CSSPServicesRes._IsRequired, "Language"), appTask.ValidationResults.FirstOrDefault().ErrorMessage); // ----------------------------------- // Is NOT Nullable // [CSSPAfter(Year = 1980)] // appTask.StartDateTime_UTC (DateTime) // ----------------------------------- appTask = null; appTask = GetFilledRandomAppTask(""); appTask.StartDateTime_UTC = new DateTime(); appTaskService.Add(appTask); Assert.AreEqual(string.Format(CSSPServicesRes._IsRequired, "StartDateTime_UTC"), appTask.ValidationResults.FirstOrDefault().ErrorMessage); appTask = null; appTask = GetFilledRandomAppTask(""); appTask.StartDateTime_UTC = new DateTime(1979, 1, 1); appTaskService.Add(appTask); Assert.AreEqual(string.Format(CSSPServicesRes._YearShouldBeBiggerThan_, "StartDateTime_UTC", "1980"), appTask.ValidationResults.FirstOrDefault().ErrorMessage); // ----------------------------------- // Is Nullable // [CSSPAfter(Year = 1980)] // [CSSPBigger(OtherField = StartDateTime_UTC)] // appTask.EndDateTime_UTC (DateTime) // ----------------------------------- appTask = null; appTask = GetFilledRandomAppTask(""); appTask.EndDateTime_UTC = new DateTime(1979, 1, 1); appTaskService.Add(appTask); Assert.AreEqual(string.Format(CSSPServicesRes._YearShouldBeBiggerThan_, "EndDateTime_UTC", "1980"), appTask.ValidationResults.FirstOrDefault().ErrorMessage); // ----------------------------------- // Is Nullable // [Range(0, 1000000)] // appTask.EstimatedLength_second (Int32) // ----------------------------------- appTask = null; appTask = GetFilledRandomAppTask(""); appTask.EstimatedLength_second = -1; Assert.AreEqual(false, appTaskService.Add(appTask)); Assert.AreEqual(string.Format(CSSPServicesRes._ValueShouldBeBetween_And_, "EstimatedLength_second", "0", "1000000"), appTask.ValidationResults.FirstOrDefault().ErrorMessage); Assert.AreEqual(count, appTaskService.GetAppTaskList().Count()); appTask = null; appTask = GetFilledRandomAppTask(""); appTask.EstimatedLength_second = 1000001; Assert.AreEqual(false, appTaskService.Add(appTask)); Assert.AreEqual(string.Format(CSSPServicesRes._ValueShouldBeBetween_And_, "EstimatedLength_second", "0", "1000000"), appTask.ValidationResults.FirstOrDefault().ErrorMessage); Assert.AreEqual(count, appTaskService.GetAppTaskList().Count()); // ----------------------------------- // Is Nullable // [Range(0, 1000000)] // appTask.RemainingTime_second (Int32) // ----------------------------------- appTask = null; appTask = GetFilledRandomAppTask(""); appTask.RemainingTime_second = -1; Assert.AreEqual(false, appTaskService.Add(appTask)); Assert.AreEqual(string.Format(CSSPServicesRes._ValueShouldBeBetween_And_, "RemainingTime_second", "0", "1000000"), appTask.ValidationResults.FirstOrDefault().ErrorMessage); Assert.AreEqual(count, appTaskService.GetAppTaskList().Count()); appTask = null; appTask = GetFilledRandomAppTask(""); appTask.RemainingTime_second = 1000001; Assert.AreEqual(false, appTaskService.Add(appTask)); Assert.AreEqual(string.Format(CSSPServicesRes._ValueShouldBeBetween_And_, "RemainingTime_second", "0", "1000000"), appTask.ValidationResults.FirstOrDefault().ErrorMessage); Assert.AreEqual(count, appTaskService.GetAppTaskList().Count()); // ----------------------------------- // Is NOT Nullable // [CSSPAfter(Year = 1980)] // appTask.LastUpdateDate_UTC (DateTime) // ----------------------------------- appTask = null; appTask = GetFilledRandomAppTask(""); appTask.LastUpdateDate_UTC = new DateTime(); appTaskService.Add(appTask); Assert.AreEqual(string.Format(CSSPServicesRes._IsRequired, "LastUpdateDate_UTC"), appTask.ValidationResults.FirstOrDefault().ErrorMessage); appTask = null; appTask = GetFilledRandomAppTask(""); appTask.LastUpdateDate_UTC = new DateTime(1979, 1, 1); appTaskService.Add(appTask); Assert.AreEqual(string.Format(CSSPServicesRes._YearShouldBeBiggerThan_, "LastUpdateDate_UTC", "1980"), appTask.ValidationResults.FirstOrDefault().ErrorMessage); // ----------------------------------- // Is NOT Nullable // [CSSPExist(ExistTypeName = "TVItem", ExistPlurial = "s", ExistFieldID = "TVItemID", AllowableTVtypeList = Contact)] // appTask.LastUpdateContactTVItemID (Int32) // ----------------------------------- appTask = null; appTask = GetFilledRandomAppTask(""); appTask.LastUpdateContactTVItemID = 0; appTaskService.Add(appTask); Assert.AreEqual(string.Format(CSSPServicesRes.CouldNotFind_With_Equal_, "TVItem", "LastUpdateContactTVItemID", appTask.LastUpdateContactTVItemID.ToString()), appTask.ValidationResults.FirstOrDefault().ErrorMessage); appTask = null; appTask = GetFilledRandomAppTask(""); appTask.LastUpdateContactTVItemID = 1; appTaskService.Add(appTask); Assert.AreEqual(string.Format(CSSPServicesRes._IsNotOfType_, "LastUpdateContactTVItemID", "Contact"), appTask.ValidationResults.FirstOrDefault().ErrorMessage); // ----------------------------------- // Is NOT Nullable // [NotMapped] // appTask.HasErrors (Boolean) // ----------------------------------- // No testing requied // ----------------------------------- // Is NOT Nullable // [NotMapped] // appTask.ValidationResults (IEnumerable`1) // ----------------------------------- // No testing requied } } }
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); }