{"version":3,"sources":["webpack:///./src/$_lazy_route_resource lazy namespace object","webpack:///./src/app/app.component.html","webpack:///./src/app/app.component.ts","webpack:///./src/app/app.config.ts","webpack:///./src/app/app.module.ts","webpack:///./src/app/app.routing.module.ts","webpack:///./src/app/components/Entities/addcontacts.component.html","webpack:///./src/app/components/Entities/addcontacts.component.ts","webpack:///./src/app/components/Entities/addsitecontacts.component.html","webpack:///./src/app/components/Entities/addsitecontacts.component.ts","webpack:///./src/app/components/Entities/addsiteentity.component.html","webpack:///./src/app/components/Entities/addsiteentity.component.ts","webpack:///./src/app/components/Entities/createentity.component.html","webpack:///./src/app/components/Entities/createentity.component.ts","webpack:///./src/app/components/Entities/editcontact.component.html","webpack:///./src/app/components/Entities/editcontact.component.ts","webpack:///./src/app/components/Entities/editentity.component.html","webpack:///./src/app/components/Entities/editentity.component.ts","webpack:///./src/app/components/Entities/editsitecontact.component.html","webpack:///./src/app/components/Entities/editsitecontact.component.ts","webpack:///./src/app/components/Entities/editsiteentity.component.html","webpack:///./src/app/components/Entities/editsiteentity.component.ts","webpack:///./src/app/components/account/account.component.html","webpack:///./src/app/components/account/account.component.ts","webpack:///./src/app/components/buildings/addbuilding.component.html","webpack:///./src/app/components/buildings/addbuilding.component.ts","webpack:///./src/app/components/buildings/questions/buildingtype.component.html","webpack:///./src/app/components/buildings/questions/buildingtype.component.ts","webpack:///./src/app/components/buildings/questions/condostructure.component.html","webpack:///./src/app/components/buildings/questions/condostructure.component.ts","webpack:///./src/app/components/buildings/questions/electricsystems.component.html","webpack:///./src/app/components/buildings/questions/electricsystems.component.ts","webpack:///./src/app/components/buildings/questions/locationmihsiteunit.component.html","webpack:///./src/app/components/buildings/questions/locationmihsiteunit.component.ts","webpack:///./src/app/components/buildings/questions/mihoptions.component.html","webpack:///./src/app/components/buildings/questions/mihoptions.component.ts","webpack:///./src/app/components/buildings/questions/mihunits.component.html","webpack:///./src/app/components/buildings/questions/mihunits.component.ts","webpack:///./src/app/components/buildings/questions/publicfunding.component.html","webpack:///./src/app/components/buildings/questions/publicfunding.component.ts","webpack:///./src/app/components/buildings/questions/siteunitcount.component.html","webpack:///./src/app/components/buildings/questions/siteunitcount.component.ts","webpack:///./src/app/components/buildings/questions/taxcredit.component.html","webpack:///./src/app/components/buildings/questions/taxcredit.component.ts","webpack:///./src/app/components/buildings/questions/taxincentive.component.html","webpack:///./src/app/components/buildings/questions/taxincentive.component.ts","webpack:///./src/app/components/buildings/questions/unitcount.component.html","webpack:///./src/app/components/buildings/questions/unitcount.component.ts","webpack:///./src/app/components/common/animations.ts","webpack:///./src/app/components/common/progress.component.html","webpack:///./src/app/components/common/progress.component.ts","webpack:///./src/app/components/common/timeout.component.ts","webpack:///./src/app/components/entities/addapplication.component.html","webpack:///./src/app/components/entities/addapplication.component.ts","webpack:///./src/app/components/entities/applicationupload.component.html","webpack:///./src/app/components/entities/applicationupload.component.ts","webpack:///./src/app/components/entities/checklist.component.html","webpack:///./src/app/components/entities/checklist.component.ts","webpack:///./src/app/components/entities/entity.component.html","webpack:///./src/app/components/entities/entity.component.ts","webpack:///./src/app/components/entities/entitydetail.component.html","webpack:///./src/app/components/entities/entitydetail.component.ts","webpack:///./src/app/components/entities/siteentitydetail.component.html","webpack:///./src/app/components/entities/siteentitydetail.component.ts","webpack:///./src/app/components/errors/errors.component.ts","webpack:///./src/app/components/home/help.component.html","webpack:///./src/app/components/home/help.component.ts","webpack:///./src/app/components/home/home.component.html","webpack:///./src/app/components/home/home.component.ts","webpack:///./src/app/components/home/statenav.component.html","webpack:///./src/app/components/home/statenav.component.ts","webpack:///./src/app/components/information/questions/affordable-housing.component.html","webpack:///./src/app/components/information/questions/affordable-housing.component.ts","webpack:///./src/app/components/information/questions/construction.component.html","webpack:///./src/app/components/information/questions/construction.component.ts","webpack:///./src/app/components/information/questions/housing-area.component.html","webpack:///./src/app/components/information/questions/housing-area.component.ts","webpack:///./src/app/components/login/login.component.html","webpack:///./src/app/components/login/login.component.ts","webpack:///./src/app/components/login/logout.component.html","webpack:///./src/app/components/login/logout.component.ts","webpack:///./src/app/components/navmenu/infomenu.component.html","webpack:///./src/app/components/navmenu/infomenu.component.ts","webpack:///./src/app/components/navmenu/leftmenu.component.html","webpack:///./src/app/components/navmenu/leftmenu.component.ts","webpack:///./src/app/components/navmenu/navmenu.component.html","webpack:///./src/app/components/navmenu/navmenu.component.ts","webpack:///./src/app/components/navmenu/topmenu.component.html","webpack:///./src/app/components/navmenu/topmenu.component.ts","webpack:///./src/app/components/test/auto-complete.component.ts","webpack:///./src/app/components/test/auto-complete.service.ts","webpack:///./src/app/components/test/storage.service.ts","webpack:///./src/app/components/test/windowRef.service.ts","webpack:///./src/app/directives/autofocuselement.directive.ts","webpack:///./src/app/directives/numbersonly.directive.ts","webpack:///./src/app/directives/validators/custom-validator.directive.ts","webpack:///./src/app/guards/appmode.guard.ts","webpack:///./src/app/interceptors/http.factory.ts","webpack:///./src/app/interceptors/http.interceptor.ts","webpack:///./src/app/pipes/bldgtrackingtype.pipe.ts","webpack:///./src/app/pipes/entitytype.pipe.ts","webpack:///./src/app/pipes/orderby.pipe.ts","webpack:///./src/app/pipes/orderbyupload.pipe.ts","webpack:///./src/app/pipes/phone.pipe.ts","webpack:///./src/app/pipes/tin.pipe.ts","webpack:///./src/app/pipes/zip.pipe.ts","webpack:///./src/app/services/account.service.ts","webpack:///./src/app/services/auth-guard.service.ts","webpack:///./src/app/services/authentication.service.ts","webpack:///./src/app/services/base.service.ts","webpack:///./src/app/services/building.service.ts","webpack:///./src/app/services/entity.service.ts","webpack:///./src/app/services/files.service.ts","webpack:///./src/app/services/focuschange.service.ts","webpack:///./src/app/services/helper.service.ts","webpack:///./src/app/services/information.service.ts","webpack:///./src/app/services/login.service.ts","webpack:///./src/app/services/lookup.service.ts","webpack:///./src/app/services/progress.service.ts","webpack:///./src/app/services/shared.service.ts","webpack:///./src/app/viewmodel.ts","webpack:///./src/environments/environment.ts","webpack:///./src/main.ts"],"names":[],"mappings":"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","file":"main.js","sourcesContent":["function webpackEmptyAsyncContext(req) {\n\t// Here Promise.resolve().then() is used instead of new Promise() to prevent\n\t// uncaught exception popping up in devtools\n\treturn Promise.resolve().then(function() {\n\t\tvar e = new Error('Cannot find module \"' + req + '\".');\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t});\n}\nwebpackEmptyAsyncContext.keys = function() { return []; };\nwebpackEmptyAsyncContext.resolve = webpackEmptyAsyncContext;\nmodule.exports = webpackEmptyAsyncContext;\nwebpackEmptyAsyncContext.id = \"./src/$$_lazy_route_resource lazy recursive\";","module.exports = \"\\n\\n\\n\\n
\\n
\\n \\n \\n \\n
\\n
\\n\\n\\n\"","import { Component, OnInit } from '@angular/core';\r\nimport { Title } from '@angular/platform-browser';\r\nimport { Router, NavigationStart } from '@angular/router';\r\nimport { Idle, DocumentInterruptSource, AutoResume } from '@ng-idle/core';\r\nimport { AppConfig } from './app.config';\r\nimport { FoucsChangeService } from './services/focuschange.service';\r\n\r\n@Component({\r\n selector: 'app-root',\r\n templateUrl: './app.component.html'\r\n})\r\nexport class AppComponent implements OnInit {\r\n idleTime: number = AppConfig.config.idleTime;\r\n timeout: number = AppConfig.config.timeout;\r\n cpuiLogoutUrl: string = AppConfig.config.cpuiLogoutUrl;\r\n\r\n showInactivity: boolean;\r\n countdown: string;\r\n\r\n constructor(private titleService: Title\r\n , private idle: Idle\r\n , private router: Router\r\n , private foucsChangeService: FoucsChangeService) {\r\n\r\n // Track idle time\r\n this.trackBrowserIdleTime();\r\n\r\n router.events.subscribe(event => {\r\n if (event instanceof NavigationStart) {\r\n if (event.url == \"/\" || event.url.indexOf('/login') >= 0) {\r\n this.idle.stop();\r\n }\r\n else {\r\n this.idle.watch();\r\n }\r\n };\r\n });\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n trackBrowserIdleTime() {\r\n // sets an idle timeout X seconds\r\n this.idle.setIdle(this.idleTime);\r\n\r\n // sets a timeout period of y seconds. after x + y seconds of inactivity, it considered timed out.\r\n this.idle.setTimeout(this.timeout);\r\n\r\n // sets the default interrupts, in this case, things like clicks, scrolls, touches to the document\r\n this.idle.setInterrupts([new DocumentInterruptSource('click keydown mousemove pointermove DOMMouseScroll mousewheel mousedown touchstart touchmove scroll')]);\r\n\r\n this.idle.setAutoResume(AutoResume.notIdle);\r\n\r\n this.idle.onTimeout.subscribe(() => {\r\n window.location.href = this.cpuiLogoutUrl;\r\n });\r\n\r\n this.idle.onTimeoutWarning.subscribe((c) => {\r\n this.showInactivity = true;\r\n this.countdown = '' + Math.floor(c / 60) + ':' + ((c % 60 < 10) ? ('0' + c % 60) : c % 60);\r\n this.foucsChangeService.changeFocus(false);\r\n });\r\n\r\n this.stayLoggedIn();\r\n }\r\n\r\n public setTitle(newTitle: string) {\r\n this.titleService.setTitle(newTitle);\r\n }\r\n\r\n stayLoggedIn() {\r\n this.idle.watch();\r\n this.showInactivity = false;\r\n this.foucsChangeService.changeFocus(true);\r\n }\r\n}\r\n","// NG 2\r\nimport { Injectable, Provider } from '@angular/core';\r\nimport { Http, Response, Headers, RequestOptions } from '@angular/http';\r\n\n\n@Injectable()\nexport class AppConfig {\n static config: any;\n\n constructor(private http: Http) { } \n\n load(): Promise {\r\n var promise = this.http.get('./appsetting.json').map(res => res.json()).toPromise(); \r\n promise.then(config => AppConfig.config = config.default);\r\n return promise;\r\n }\n}\n\n","// NG 2\r\nimport { NgModule, APP_INITIALIZER } from '@angular/core';\r\nimport { RouterModule } from \"@angular/router\";\r\nimport { DatePipe } from '@angular/common';\r\nimport { FormsModule, ReactiveFormsModule } from \"@angular/forms\";\r\nimport { BrowserModule, Title } from '@angular/platform-browser';\r\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\r\nimport { HttpModule } from '@angular/http';\r\nimport { Http, Headers, BaseRequestOptions } from '@angular/http';\r\nimport { HttpClientModule, HTTP_INTERCEPTORS } from '@angular/common/http';\r\nimport { TextMaskModule } from 'angular2-text-mask';\r\nimport { AngularMultiSelectModule } from 'angular2-multiselect-dropdown/angular2-multiselect-dropdown';\r\nimport { PdfJsViewerModule } from 'ng2-pdfjs-viewer';\r\n\r\n// APP\r\nimport { AppComponent } from './app.component';\r\nimport { AppRoutingModule, routingComponents } from './app.routing.module';\r\nimport { EntitydetailComponent } from './components/entities/entitydetail.component';\r\nimport { SiteEntityDetailComponent } from './components/entities/siteentitydetail.component';\r\nimport { ErrorsComponent } from './components/errors/errors.component';\r\nimport { TimeoutComponent } from \"./components/common/timeout.component\";\r\n\r\n// Pipes\r\nimport { PhonePipe } from './pipes/phone.pipe';\r\nimport { TinPipe } from './pipes/tin.pipe';\r\nimport { ZipPipe } from './pipes/zip.pipe';\r\nimport { EntitytypePipe } from './pipes/entitytype.pipe';\r\nimport { BldgtrackingtypePipe } from './pipes/bldgtrackingtype.pipe';\r\nimport { OrderByPipe } from './pipes/orderby.pipe';\r\nimport { OrderByUploadPipe } from './pipes/orderbyupload.pipe';\r\n\r\nimport { AutoCompleteComponent } from './components/test/auto-complete.component';\r\nimport { AutoCompleteSearchService } from './components/test/auto-complete.service';\r\nimport { LocalStorageService } from './components/test/storage.service';\r\nimport { GlobalRef, BrowserGlobalRef } from './components/test/windowRef.service';\r\n\r\n// Services\r\nimport { AppConfig } from './app.config';\r\nimport { ProgressService } from './services/progress.service';\r\nimport { AuthGuardService } from './services/auth-guard.service';\r\nimport { AuthenticationService } from './services/authentication.service';\r\nimport { SharedService } from './services/shared.service';\r\nimport { LookupService } from './services/lookup.service';\r\nimport { FilesService } from './services/files.service';\r\nimport { HelperService } from '../app/services/helper.service';\r\nimport { FoucsChangeService } from '../app/services/focuschange.service';\r\nimport { FocusDirective } from './directives/autofocuselement.directive';\r\nimport { CacheRemovalInterceptor } from './interceptors/cacheremoval.interceptor';\r\nimport { httpFactory } from './interceptors/http.factory';\r\nimport { XHRBackend, RequestOptions } from \"@angular/http\";\r\nimport { AppModeGuard } from './guards/appmode.guard';\r\nimport { IdleExpiry, NgIdleModule, Idle, SimpleExpiry } from '@ng-idle/core';\r\nimport { NumbersOnlyDirective } from './directives/numbersonly.directive';\r\nimport { ApplicationUploadComponent } from './components/entities/applicationupload.component';\r\nimport { ChecklistComponent } from './components/entities/checklist.component';\r\n\r\nexport function ConfigLoader(appConfig: AppConfig) {\r\n return () => appConfig.load();\r\n}\r\n\r\n@NgModule({ \r\n\r\n bootstrap: [AppComponent],\r\n declarations: [AppComponent, ApplicationUploadComponent, ChecklistComponent, routingComponents, TinPipe, PhonePipe, ZipPipe,\r\n EntitytypePipe, BldgtrackingtypePipe, OrderByPipe, OrderByUploadPipe, EntitydetailComponent, SiteEntityDetailComponent, TimeoutComponent,\r\n AutoCompleteComponent, ErrorsComponent, FocusDirective, NumbersOnlyDirective \r\n ],\r\n imports: [\r\n FormsModule,\r\n NgIdleModule,\r\n ReactiveFormsModule,\r\n BrowserModule,\r\n BrowserAnimationsModule,\r\n HttpModule,\r\n TextMaskModule, \r\n AppRoutingModule,\r\n AngularMultiSelectModule,\r\n PdfJsViewerModule\t \r\n ],\r\n exports: [\r\n AutoCompleteComponent\r\n ],\r\n providers: [Title, AuthGuardService, AuthenticationService, SharedService, HelperService, FoucsChangeService,\r\n LookupService, ProgressService,\r\n FilesService, AutoCompleteSearchService, LocalStorageService,\r\n AppConfig, DatePipe, AppModeGuard,\r\n {\r\n provide: APP_INITIALIZER,\r\n useFactory: ConfigLoader,\r\n deps: [AppConfig],\r\n multi: true\r\n },\r\n //{ provide: HTTP_INTERCEPTORS, useClass: CacheRemovalInterceptor, multi: true },\r\n SimpleExpiry, {provide: IdleExpiry, useExisting: SimpleExpiry}, Idle,\r\n { provide: Http, useFactory: httpFactory, deps: [XHRBackend, RequestOptions] },\r\n { provide: GlobalRef, useClass: BrowserGlobalRef }\r\n ]\r\n})\r\nexport class AppModule {\r\n}\r\n","// NG 2\r\nimport { NgModule } from '@angular/core';\r\nimport { RouterModule, Routes } from '@angular/router';\r\nimport { LocalStorageModule } from 'angular-2-local-storage';\r\n// APP\r\nimport { NavmenuComponent } from './components/navmenu/navmenu.component';\r\nimport { InfomenuComponent } from './components/navmenu/infomenu.component';\r\nimport { LeftmenuComponent } from './components/navmenu/leftmenu.component';\r\nimport { TopmenuComponent } from './components/navmenu/topmenu.component';\r\nimport{AuthGuardService} from './services/auth-guard.service'; \r\n\r\nimport { HomeComponent } from './components/home/home.component';\r\nimport { StatenavComponent } from './components/home/statenav.component';\r\nimport { LoginComponent } from './components/login/login.component';\r\nimport { LogoutComponent } from './components/login/logout.component';\r\nimport { HelpComponent } from './components/home/help.component'; \r\nimport { AccountComponent } from './components/account/account.component';\r\nimport { EntityComponent } from './components/entities/entity.component';\r\n\r\nimport { CreateEntityComponent } from './components/Entities/createentity.component';\r\nimport { EditEntityComponent } from './components/Entities/editentity.component';\r\nimport { AddContactsComponent } from './components/Entities/addcontacts.component';\r\nimport { EditContactComponent } from './components/Entities/editcontact.component';\r\nimport { AddSiteEntityComponent } from './components/Entities/addsiteentity.component';\r\nimport { EditSiteEntityComponent } from './components/Entities/editsiteentity.component';\r\nimport { AddSiteContactsComponent } from './components/Entities/addsitecontacts.component';\r\nimport { EditSiteContactComponent } from './components/Entities/editsitecontact.component';\r\nimport { ApplicationUploadComponent } from './components/entities/applicationupload.component';\r\nimport { ProgressComponent } from './components/common/progress.component';\r\n\r\n// Buildings\r\nimport { AddbuildingComponent } from './components/buildings/addbuilding.component';\r\n\r\nimport { AddApplicationComponent } from './components/entities/addapplication.component';\r\nimport { HousingAreaComponent } from './components/information/questions/housing-area.component';\r\nimport { ConstructionComponent } from './components/information/questions/construction.component';\r\nimport { AffordableHousingComponent } from './components/information/questions/affordable-housing.component';\r\n\r\nimport { UnitCountComponent } from './components/buildings/questions/unitcount.component';\r\nimport { PublicFundingComponent } from './components/buildings/questions/publicfunding.component';\r\nimport { BuildingTypeComponent } from './components/buildings/questions/buildingtype.component';\r\nimport { MIHOptionsComponent } from './components/buildings/questions/mihoptions.component';\r\nimport { MIHUnitsComponent } from './components/buildings/questions/mihunits.component';\r\nimport { LocationMihSiteUnitComponent } from './components/buildings/questions/locationmihsiteunit.component';\r\n\r\nimport { TaxCreditComponent } from './components/buildings/questions/taxcredit.component';\r\nimport { TaxIncentiveComponent } from './components/buildings/questions/taxincentive.component';\r\nimport { SiteUnitCountComponent } from './components/buildings/questions/siteunitcount.component';\r\nimport { CondoStructureComponent } from './components/buildings/questions/condostructure.component';\r\nimport { ElectricSystemsComponent } from './components/buildings/questions/electricsystems.component';\r\n\r\nimport { AppModeGuard } from './guards/appmode.guard';\r\n\r\nconst routes: Routes = [\r\n { path: '', redirectTo: 'login', pathMatch: 'full' },\r\n { path: 'account', component: AccountComponent, canActivate: [AuthGuardService] },\r\n { path: 'login', component: LoginComponent },\r\n { path: 'logout', component: LogoutComponent },\r\n { path: 'help', component: HelpComponent },\r\n { path: 'home', component: HomeComponent, canActivate: [AuthGuardService] },\r\n { path: 'account', component: AccountComponent, canActivate: [AuthGuardService] },\r\n { path: 'navigator', component: StatenavComponent, canActivate: [AuthGuardService] },\r\n\r\n { path: 'createentity', component: CreateEntityComponent, canActivate: [AuthGuardService, AppModeGuard] },\r\n { path: 'editentity', component: EditEntityComponent, canActivate: [AuthGuardService, AppModeGuard] },\r\n { path: 'entity/application', component: EntityComponent, canActivate: [AuthGuardService] },\r\n { path: 'entity/addcontacts', component: AddContactsComponent, canActivate: [AuthGuardService, AppModeGuard] },\r\n { path: 'entity/editcontact', component: EditContactComponent, canActivate: [AuthGuardService, AppModeGuard] },\r\n { path: 'entity/addsiteentity', component: AddSiteEntityComponent, canActivate: [AuthGuardService, AppModeGuard] },\r\n { path: 'entity/addsitecontacts', component: AddSiteContactsComponent, canActivate: [AuthGuardService, AppModeGuard] },\r\n { path: 'entity/editsiteentity', component: EditSiteEntityComponent, canActivate: [AuthGuardService, AppModeGuard] },\r\n { path: 'entity/editsitecontact', component: EditSiteContactComponent, canActivate: [AuthGuardService, AppModeGuard] },\r\n\r\n { path: 'entity/addapplication', component: AddApplicationComponent, canActivate: [AuthGuardService] },\r\n { path: 'information/housingarea', component: HousingAreaComponent, canActivate: [AuthGuardService, AppModeGuard] },\r\n { path: 'information/construction', component: ConstructionComponent, canActivate: [AuthGuardService, AppModeGuard] },\r\n { path: 'information/affordablehousing', component: AffordableHousingComponent, canActivate: [AuthGuardService, AppModeGuard] },\r\n\r\n { path: 'addbuilding', component: AddbuildingComponent, canActivate: [AuthGuardService, AppModeGuard] },\r\n { path: 'buildings/unitcount', component: UnitCountComponent, canActivate: [AuthGuardService, AppModeGuard] },\r\n { path: 'buildings/publicfunding', component: PublicFundingComponent, canActivate: [AuthGuardService, AppModeGuard] },\r\n { path: 'buildings/mihoptions', component: MIHOptionsComponent, canActivate: [AuthGuardService, AppModeGuard] },\r\n { path: 'buildings/mihunits', component: MIHUnitsComponent, canActivate: [AuthGuardService, AppModeGuard] }, \r\n { path: 'buildings/buildingtype', component: BuildingTypeComponent, canActivate: [AuthGuardService, AppModeGuard] },\r\n { path: 'buildings/locationmihsiteunit', component: LocationMihSiteUnitComponent, canActivate: [AuthGuardService, AppModeGuard] },\r\n { path: 'buildings/taxcredit', component: TaxCreditComponent, canActivate: [AuthGuardService, AppModeGuard] },\r\n { path: 'buildings/taxincentive', component: TaxIncentiveComponent, canActivate: [AuthGuardService, AppModeGuard] },\r\n { path: 'buildings/siteunitcount', component: SiteUnitCountComponent, canActivate: [AuthGuardService, AppModeGuard] },\r\n { path: 'buildings/condostructure', component: CondoStructureComponent, canActivate: [AuthGuardService, AppModeGuard] },\r\n { path: 'buildings/electricsystems', component: ElectricSystemsComponent, canActivate: [AuthGuardService, AppModeGuard] },\r\n\r\n { path: '**', redirectTo: 'home' }\r\n];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forRoot(routes, { useHash: true})\r\n , LocalStorageModule.withConfig({\r\n prefix: 'my-app',\r\n // storageType: 'localStorage'\r\n storageType: 'sessionStorage' \r\n })\r\n ],\r\n exports: [ RouterModule ]\r\n})\r\n\r\nexport class AppRoutingModule { }\r\nexport const routingComponents = [\r\n LoginComponent, LogoutComponent,\r\n HelpComponent,\r\n HomeComponent,\r\n AccountComponent,\r\n NavmenuComponent,\r\n InfomenuComponent,\r\n LeftmenuComponent,\r\n TopmenuComponent,\r\n StatenavComponent,\r\n ProgressComponent,\r\n EntityComponent, CreateEntityComponent, EditEntityComponent, AddContactsComponent, EditContactComponent,\r\n AddSiteEntityComponent, EditSiteEntityComponent, AddSiteContactsComponent, EditSiteContactComponent,\r\n AddbuildingComponent, \r\n AddApplicationComponent,\r\n HousingAreaComponent, ConstructionComponent, AffordableHousingComponent, \r\n UnitCountComponent, PublicFundingComponent, BuildingTypeComponent,\r\n MIHOptionsComponent, MIHUnitsComponent, LocationMihSiteUnitComponent,\r\n TaxCreditComponent, TaxIncentiveComponent, SiteUnitCountComponent,\r\n CondoStructureComponent, ElectricSystemsComponent\r\n]","module.exports = \"{{title}}\\r\\n
0\\\"\\r\\n id=\\\"systemMessageHeader\\\">\\r\\n
{{item}}
\\r\\n \\r\\n
\\r\\n\\r\\n
0\\\"\\r\\n id=\\\"systemMessageHeader\\\">\\r\\n
{{item}}
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n Add Development Contacts\\r\\n
\\r\\n
\\r\\n
\\r\\n A development contact is any person that can be reached on behalf of the selected company below. \\r\\n Your application must include at least one contact for each company added. You can add as many contacts as you wish to your application.\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
Add a contact for {{companyName}} - {{PartyRoleName}}
\\r\\n
\\r\\n
\\r\\n
=0\\\">\\r\\n
\\r\\n
\\r\\n Required\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n Required\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\"","import { Component, OnInit } from \"@angular/core\";\r\nimport { FormGroup, FormBuilder, Validators } from \"@angular/forms\";\r\nimport { Route, Router, ActivatedRoute } from '@angular/router';\r\nimport 'rxjs/add/operator/catch';\r\n\r\n// APP \r\nimport { Contact } from '../../viewmodel'\r\nimport { EntityAdded } from '../../viewmodel'\r\nimport { EntityParamForContact } from '../../viewmodel';\r\nimport { LookupService } from '../../services/lookup.service';\r\nimport { EntityService } from '../../services/entity.service';\r\nimport { SharedService } from '../../services/shared.service';\r\n\r\n@Component({\r\n selector: 'app-addcontacts',\r\n templateUrl: './addcontacts.component.html',\r\n providers: [EntityService]\r\n})\r\nexport class AddContactsComponent implements OnInit {\r\n title: string = 'Add Contacts';\r\n\r\n contactForm: FormGroup;\r\n public phoneMask = ['(', /[1-9]/, /\\d/, /\\d/, ')', ' ', /\\d/, /\\d/, /\\d/, '-', /\\d/, /\\d/, /\\d/, /\\d/]\r\n public extensionMask = [/\\d/, /\\d/, /\\d/, /\\d/] \r\n public noSpaceAtBeginning = /^[^-\\s]/; \r\n\r\n pageError: any = [];\r\n pageSuccess: any = [];\r\n submitted: boolean = false;\r\n error: string;\r\n projectId: number = 0;\r\n entityId: number = 0;\r\n PartyRoleSeqNo: any;\r\n PartyRoleName: string;\r\n PartyId: any;\r\n PartyStagingId: any;\r\n selectedcompanyDdl = 0; \r\n type: string;\r\n contact: any; \r\n devTeamContact: any; \r\n contacts: Array;\r\n companies: Array;\r\n hasCompany: boolean = false; \r\n companyName: string; \r\n entityAdded: any; \r\n entityParamForContact: any; \r\n newEntityEntry: string = '';\r\n isDdlDisable: boolean = true; \r\n selectedCompanyIndexId: number = 0; \r\n isCheckPrimDisable: boolean = false;\r\n attrDisabled: any = null; //'disabled' or null for enable\r\n\r\n constructor(private router: Router\r\n , private frmBuilder: FormBuilder\r\n , private activeRoute: ActivatedRoute\r\n , private lookupService: LookupService\r\n , private entityService: EntityService\r\n , private sharedService: SharedService) {\r\n\r\n this.contact = new Contact();\r\n this.entityAdded = new EntityAdded(); \r\n this.entityParamForContact = new EntityParamForContact(); \r\n this.contact.primaryContact = false; \r\n }\r\n\r\n ngOnInit() {\r\n this.title = \"Add Contact\";\r\n\r\n let ids = this.sharedService.getJsonData(\"id\");\r\n if (ids != null) {\r\n if (ids.projectId != null) {\r\n this.contact.projectId = this.projectId = ids.projectId;\r\n }\r\n }\r\n if (this.projectId <= 0)\r\n this.sharedService.navigateHome();\r\n\r\n let eParam = this.sharedService.getJsonData('entityParam');\r\n if (eParam != null) {\r\n this.entityParamForContact = eParam as EntityParamForContact; \r\n\r\n if (eParam.entityId != null)\r\n this.contact.entityId = this.entityId = eParam.entityId;\r\n if (eParam.contactId != null)\r\n this.contact.commContactId = eParam.contactId;\r\n if (eParam.newEntityEntry != null)\r\n this.newEntityEntry = eParam.newEntityEntry;\r\n if (eParam.partyId != null)\r\n this.PartyId = eParam.partyId;\r\n if (eParam.partyStagingId != null)\r\n this.PartyStagingId = eParam.partyStagingId;\r\n if (eParam.roleId != null)\r\n this.PartyRoleSeqNo = eParam.roleId;\r\n if (eParam.partyRoleName != null)\r\n this.PartyRoleName = eParam.partyRoleName;\r\n if (eParam.companyName != null)\r\n this.companyName = eParam.companyName;\r\n\r\n } \r\n\r\n if (this.entityId <= 0)\r\n this.sharedService.navigateSummary();\r\n\r\n //get company list\r\n if (this.projectId > 0) {\r\n this.entityService.getActiveEntitiesAndCurrentPendingEntity(this.projectId, this.entityId,this.PartyId,this.PartyStagingId, this.PartyRoleSeqNo)\r\n .subscribe(\r\n successResp => {\r\n if (!successResp.Success)\r\n this.showError(successResp.StatusMessage);\r\n else {\r\n this.companies = successResp.Result;\r\n \r\n if (this.companies != null && this.companies.length > 0)\r\n {\r\n this.companies.forEach((company) => {\r\n if (company.RecordStatus.SeqNo == 3) {\r\n company.PartyRoleLookup.ShortName = this.PartyRoleName;\r\n }\r\n });\r\n \r\n this.hasCompany = true; \r\n \r\n this.getCompanyInfo(this.entityId); \r\n if (this.newEntityEntry != 'Y') {\r\n this.isDdlDisable = false; \r\n }\r\n }\r\n }\r\n },\r\n error => {\r\n if (error.status == 401)\r\n this.router.navigateByUrl('/login?session=0');\r\n\r\n this.showError(error.ExceptionMessage)\r\n });\r\n \r\n } //end of company list \r\n\r\n this.contactForm = this.frmBuilder.group({\r\n\r\n fName: [null, [Validators.required, Validators.pattern(this.noSpaceAtBeginning), Validators.maxLength(30)]],\r\n lName: [null, [Validators.required, Validators.pattern(this.noSpaceAtBeginning), Validators.maxLength(30)]],\r\n primary: [],\r\n email: [null, [Validators.required, Validators.maxLength(100), Validators.email]],\r\n companyPhone: [null, [Validators.required, Validators.pattern(/^\\([1-9]\\d{2}\\)\\s\\d{3}-\\d{4}|[1-9]\\d{9}$/)]],\r\n phoneExt: [],\r\n companyDdl: [-1]\r\n\r\n }); \r\n }\r\n\r\n getCompanyInfo(entityId) {\r\n \r\n var found = false; \r\n for (var i = 0; i < this.companies.length; i++) {\r\n if (entityId == this.companies[i].MIHProjectDevTeamID) {\r\n \r\n this.companyName = this.companies[i].PartyName;\r\n this.PartyRoleName = this.companies[i].PartyRoleLookup.ShortName; \r\n this.selectCompany(i); \r\n this.selectedCompanyIndexId = i; \r\n if (this.companies[i].RecordStatus.SeqNo == 3)\r\n {\r\n this.attrDisabled = 'disabled';\r\n this.contact.primaryContact = true;\r\n }\r\n found = true; \r\n break; \r\n }\r\n }\r\n if (!found) {\r\n this.selectCompany(0);\r\n this.selectedCompanyIndexId = 0; \r\n }\r\n }\r\n\r\n\r\n selectCompany(index) {\r\n\r\n if (index >= 0) {\r\n var partyId = this.companies[index].PartyID; \r\n var partyStgId = this.companies[index].PartyStagingID;\r\n var TinVerifiedFlag = this.companies[index].TINVerfiedFlag; \r\n this.contact.entityId = this.companies[index].MIHProjectDevTeamID; \r\n //this.entityAdded.IsStageEntry = partyId>0 ? false : true; \r\n if (partyId > 0) {\r\n this.contact.partyId = this.companies[index].PartyID;\r\n this.contact.isStageEntry = false;\r\n this.entityAdded.IsStageEntry = false; \r\n this.entityAdded.PartySeqNo = partyId;\r\n this.entityAdded.PartyAddressSeqNo = this.companies[index].PartyAddressID;\r\n \r\n }\r\n else {\r\n this.contact.partyId = this.companies[index].PartyStagingID;\r\n this.contact.isStageEntry = true;\r\n this.entityAdded.IsStageEntry = true;\r\n this.entityAdded.PartySeqNo = partyStgId;\r\n this.entityAdded.PartyAddressSeqNo = this.companies[index].PartyAddressStagingID;\r\n }\r\n this.entityAdded.MIHProjectDevTeamID = this.entityId;\r\n this.getContacts(this.entityAdded);\r\n } \r\n }\r\n\r\n selectContact(index) {\r\n if (index >= 0) {\r\n this.contact.commContactId = this.contacts[index].CommContactID;\r\n this.contact.fName = this.contacts[index].FirstName;\r\n this.contact.lName = this.contacts[index].LastName;\r\n this.contact.email = this.contacts[index].EmailAddress;\r\n if (this.contacts[index].ContactPhone != null && this.contacts[index].ContactPhone[0] != null) {\r\n this.contact.companyPhone = this.contacts[index].ContactPhone[0].PhoneNumber;\r\n this.contact.phoneExt = this.contacts[index].ContactPhone[0].PhoneExtension;\r\n }\r\n else {\r\n this.contact.companyPhone = ''; \r\n this.contact.phoneExt = ''; \r\n }\r\n \r\n }\r\n else {\r\n this.contact.commContactId = 0;\r\n this.contact.fName = '';\r\n this.contact.lName = '';\r\n this.contact.email = '';\r\n this.contact.companyPhone = '';\r\n this.contact.phoneExt = '';\r\n }\r\n }\r\n\r\n getContacts(entityAdded) {\r\n\r\n this.entityService.getContacts(entityAdded)\r\n .subscribe(\r\n successResp => {\r\n if (!successResp.Success)\r\n this.showError(successResp.StatusMessage);\r\n else if (successResp.Result != null) {\r\n if (successResp.Result.ContactDetails != null && successResp.Result.ContactDetails.length > 0) {\r\n \r\n this.contacts = successResp.Result.ContactDetails;\r\n this.contact.partyid = successResp.Result.PartySeqNo; // assign party id & isStageEntry\r\n this.contact.isStageEntry = successResp.Result.isStageEntry;\r\n \r\n }\r\n else {\r\n this.contacts = []; \r\n }\r\n }\r\n },\r\n error => {\r\n this.showError(error.ExceptionMessage)\r\n })\r\n }\r\n \r\n saveContact(btnType): any {\r\n this.submitted = true; \r\n let cont = this.contactForm.getRawValue();\r\n if (!this.contactForm.valid)\r\n return;\r\n\r\n if (this.contact.fName != null && this.contact.fName.trim() == '') \r\n this.contact.fName = '';\r\n if (this.contact.lName != null && this.contact.lName.trim() == '') \r\n this.contact.lName = '';\r\n\r\n if (this.contact.fName == '' || this.contact.lName == '')\r\n return; \r\n \r\n this.contact.fName = this.contact.fName.trim();\r\n this.contact.lName = this.contact.lName.trim(); \r\n this.contact.projectId = this.projectId;\r\n this.contact.dbApplicationId = 84;\r\n \r\n this.contact.isStageEntry = this.entityAdded.IsStageEntry;\r\n if (this.contact.phoneExt != null && this.contact.phoneExt != '') {\r\n this.contact.phoneExt = this.contact.phoneExt.replace(/_+/g, '');\r\n }\r\n\r\n // Remove masking\r\n if (this.contact.companyPhone) {\r\n this.contact.companyPhone = this.contact.companyPhone.replace(/\\D/g, '');\r\n }\r\n\r\n this.entityService.saveNewEntityContact(this.contact, this.entityParamForContact) \r\n .subscribe(\r\n success => {\r\n if (!success.Success) {\r\n \r\n if (success.StatusMessage != null && success.StatusMessage.indexOf('Contact already exists') !== -1) {\r\n this.showErrorAlert(success.StatusMessage);\r\n }\r\n else if (success.StatusMessage != null && success.StatusMessage.indexOf('entity has already been added') !== -1) {\r\n this.showErrorAlert(success.StatusMessage);\r\n }\r\n else {\r\n this.showError(success.StatusMessage);\r\n }\r\n\t\t\t\t}\r\n else { \r\n this.showSuccess('Development contact successfully added.'); \r\n\t\t\t\t\t\r\n if (btnType == 'NEXT') { \r\n this.sharedService.navigateSummary(); \r\n }\r\n else if (btnType == 'ANOTHER') {\r\n this.resetForm(); \r\n }\r\n }\r\n },\r\n error => { \r\n this.showError(error.ExceptionMessage);\r\n \r\n })\r\n }\r\n\r\n closeError() {\r\n this.pageError = [];\r\n this.pageSuccess = [];\r\n }\r\n\r\n showError(msg) {\r\n this.pageError = []; this.pageSuccess = [];\r\n this.pageError.push(this.sharedService.getCustomError(msg));\r\n this.sharedService.processError(msg);\r\n }\r\n\r\n showErrorAlert(msg) {\r\n this.pageError = []; this.pageSuccess = [];\r\n this.pageError.push(msg);\r\n this.sharedService.processError(msg);\r\n }\r\n\r\n showSuccess(msg) {\r\n this.pageSuccess = []; this.pageError = [];\r\n this.pageSuccess.push(msg);\r\n this.sharedService.scroll();\r\n }\r\n\r\n\r\n home() {\r\n this.sharedService.navigateHome();\r\n }\r\n\r\n back() {\r\n this.sharedService.navigateSummary();\r\n }\r\n\r\n resetForm() { \r\n // this.contact = [];\r\n this.entityAdded = new EntityAdded();\r\n this.contact = new Contact();\r\n this.contact.projectId = this.projectId;\r\n this.contact.entityId = this.entityId;\r\n this.contact.dbApplicationId = 84; \r\n this.selectCompany(0); \r\n this.selectedcompanyDdl = 0; \r\n this.submitted = false;\r\n this.isDdlDisable = false; \r\n }\r\n\r\n previous(btnType) {\r\n this.router.navigate(['/createentity']);\r\n }\r\n\r\n formatContact(contact) {\r\n var ret = '';\r\n\r\n if (!(contact.FirstName == null || contact.FirstName == ''))\r\n ret += contact.FirstName + ' '; \r\n if (!(contact.LastName == null || contact.LastName == ''))\r\n ret += contact.LastName;\r\n\r\n if (!(contact.EmailAddress == null || contact.EmailAddress == ''))\r\n ret += \" Email: \" + contact.EmailAddress; \r\n\r\n if (contact.ContactPhone != null && contact.ContactPhone.length > 0) {\r\n var comm = contact.ContactPhone[0]; \r\n if (!(comm.PhoneNumber == null || comm.PhoneNumber == ''))\r\n ret += \" Ph: \" + this.formatPhone(comm.PhoneNumber );\r\n\r\n if (!(comm.PhoneExtension == null || comm.PhoneExtension == ''))\r\n ret += \" Ext: \" + comm.PhoneExtension; \r\n }\r\n return ret;\r\n }\r\n\r\n formatPhone(value) {\r\n if (value == null || value.length == 0)\r\n return \"\";\r\n\r\n let newPhone = '';\r\n switch (value.length) {\r\n case 10:\r\n case 9:\r\n case 8:\r\n case 7:\r\n newPhone = value.slice(0, 3) + '-' + value.slice(3, 6) + '-' + value.slice(6);\r\n break;\r\n case 6:\r\n case 5:\r\n case 4:\r\n newPhone = value.slice(0, 3) + '-' + value.slice(3, 6);\r\n break;\r\n default:\r\n newPhone = value;\r\n break;\r\n }\r\n return newPhone;\r\n }\r\n}","module.exports = \"{{title}}\\r\\n
0\\\"\\r\\n id=\\\"systemMessageHeader\\\">\\r\\n
{{item}}
\\r\\n \\r\\n
\\r\\n\\r\\n
0\\\"\\r\\n id=\\\"systemMessageHeader\\\">\\r\\n
{{item}}
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n Add Site Contacts {{siteAddress}}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
Add a contact for {{companyName}} - {{PartyRoleName}}
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
=0\\\">\\r\\n
\\r\\n
\\r\\n\\t\\t\\t\\t\\t\\t\\t\\tRequired\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n Required\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n\\t\\t\\t\\t\\t\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\"","import { Component, OnInit } from \"@angular/core\";\r\nimport { FormGroup, FormBuilder, Validators } from \"@angular/forms\";\r\nimport { Route, Router, ActivatedRoute } from '@angular/router';\r\nimport 'rxjs/add/operator/catch';\r\n\r\n// APP \r\nimport { SiteContact } from '../../viewmodel'\r\nimport { EntityAdded } from '../../viewmodel'\r\nimport { SiteEntityParam } from '../../viewmodel';\r\nimport { LookupService } from '../../services/lookup.service';\r\nimport { EntityService } from '../../services/entity.service';\r\nimport { BuildingService } from '../../services/building.service';\r\nimport { SharedService } from '../../services/shared.service';\r\nimport { HelperService } from '../../services/helper.service';\r\n\r\n@Component({\r\n selector: 'app-addcontacts',\r\n templateUrl: './addsitecontacts.component.html',\r\n providers: [EntityService, BuildingService]\r\n})\r\nexport class AddSiteContactsComponent implements OnInit {\r\n title: string = 'Add Contacts';\r\n Instruction: string = 'A site contact is any person that can be reached on behalf of the company below. Your application must include at least one contact for each company added. You can add as many contacts as you wish to your site entities.'; \r\n\r\n contactForm: FormGroup;\r\n public phoneMask = ['(', /[1-9]/, /\\d/, /\\d/, ')', ' ', /\\d/, /\\d/, /\\d/, '-', /\\d/, /\\d/, /\\d/, /\\d/]\r\n public extensionMask = [/\\d/, /\\d/, /\\d/, /\\d/]\r\n public noSpaceAtBeginning = /^[^-\\s]/; \r\n\r\n pageError: any = [];\r\n pageSuccess: any = [];\r\n submitted: boolean = false;\r\n error: string;\r\n projectId: number = 0;\r\n siteEntityId: number = 0;\r\n siteProjectBuildingId: number = 0; \r\n PartyRoleSeqNo: any;\r\n PartyRoleName: string;\r\n PartyId: any;\r\n PartyStagingId: any;\r\n selectedcompanyDdl = 0;\r\n type: string;\r\n contact: any;\r\n devTeamContact: any;\r\n contacts: Array;\r\n companies: Array;\r\n hasCompany: boolean = false;\r\n companyName: string;\r\n siteAddress: string = ''; \r\n entityAdded: any;\r\n newEntityEntry: string = '';\r\n isDdlDisable: boolean = true;\r\n selectedCompanyIndexId: number = 0;\r\n isCheckPrimDisable: boolean = false;\r\n attrDisabled: any = null; //'disabled' or null for enable\r\n siteEntityParam: any; \r\n\r\n constructor(private router: Router\r\n , private frmBuilder: FormBuilder\r\n , private activeRoute: ActivatedRoute\r\n , private lookupService: LookupService\r\n , private entityService: EntityService\r\n , private buildingService: BuildingService\r\n , private sharedService: SharedService\r\n , private helperService: HelperService) {\r\n\r\n this.contact = new SiteContact();\r\n this.entityAdded = new EntityAdded();\r\n this.contact.primaryContact = false;\r\n this.siteEntityParam = new SiteEntityParam(); \r\n }\r\n\r\n ngOnInit() {\r\n this.title = \"Add Contact\";\r\n\r\n let ids = this.sharedService.getJsonData(\"id\");\r\n if (ids != null) {\r\n if (ids.projectId != null) {\r\n this.contact.projectId = this.projectId = ids.projectId;\r\n }\r\n }\r\n if (this.projectId <= 0)\r\n this.sharedService.navigateHome();\r\n\r\n if (this.sharedService.getData('SiteEntityParam') != null) {\r\n let param = JSON.parse(this.sharedService.getData('SiteEntityParam'));\r\n let sep = param.sep; \r\n this.siteEntityParam = param.sep as SiteEntityParam; \r\n\r\n this.contact.ProjectBuildingID = param.sep.siteProjectBuildingId; // param.sep.ProjectBuildingID; siteProjectBuildingId\r\n //this.contact.ProjectBldgDevTeamID = this.siteEntityId = param.sep.ProjectBldgDevTeamID =11;\r\n this.contact.ProjectBldgDevTeamID = this.siteEntityId = param.sep.projectBldgDevTeamId;\r\n this.contact.BuildingID = param.sep.bldgId; //param.sep.BuildingID\r\n if (sep.contactId != null)\r\n this.contact.commContactId = sep.contactId;\r\n\r\n if (sep.newEntityEntry != null)\r\n\r\n this.newEntityEntry = sep.newEntityEntry;\r\n if (this.newEntityEntry == 'Y') {\r\n this.attrDisabled = 'disabled';\r\n this.contact.primaryContact = true;\r\n }\r\n if (sep.partyId != 0) {\r\n this.PartyId = sep.partyId;\r\n this.entityAdded.PartySeqNo = sep.partyId;\r\n this.entityAdded.IsStageEntry = false;\r\n }\r\n if (sep.partyStagingId != 0) {\r\n this.PartyStagingId = sep.partyStagingId;\r\n this.entityAdded.PartySeqNo = sep.partyStagingId;\r\n this.entityAdded.IsStageEntry = true;\r\n }\r\n this.entityAdded.MIHProjectBldgDevTeamID = sep.projectBldgDevTeamId;\r\n\r\n this.PartyRoleName = sep.partyRoleName; //sep.PartyRoleName;\r\n if (sep.partyRoleSeqNo != null) {\r\n this.PartyRoleSeqNo = sep.partyRoleSeqNo; \r\n if (this.PartyRoleName == null)\r\n this.PartyRoleName = this.helperService.getSiteRoleName(sep.partyRoleSeqNo); \r\n } \r\n\r\n this.siteProjectBuildingId = sep.siteProjectBuildingId; \r\n this.siteAddress = sep.siteAddress;\r\n if (sep.companyName != null)\r\n this.companyName = sep.companyName; \r\n }\r\n else {\r\n this.sharedService.navigateSummary();\r\n } \r\n\r\n this.getSiteEntityContacts(this.entityAdded);\r\n if (this.siteProjectBuildingId > 0)\r\n this.getBuildingInfoOnlyByProjectBuildingId(this.siteProjectBuildingId); \r\n\r\n this.contactForm = this.frmBuilder.group({\r\n\r\n fName: [null, [Validators.required, Validators.pattern(this.noSpaceAtBeginning), Validators.maxLength(30)]],\r\n lName: [null, [Validators.required, Validators.pattern(this.noSpaceAtBeginning), Validators.maxLength(30)]],\r\n primary: [],\r\n email: [null, [Validators.required, Validators.maxLength(100), Validators.email]],\r\n companyPhone: [null, [Validators.required, Validators.pattern(/^\\([1-9]\\d{2}\\)\\s\\d{3}-\\d{4}|[1-9]\\d{9}$/)]],\r\n phoneExt: [],\r\n companyDdl: [-1]\r\n\r\n });\r\n }\r\n\r\n selectContact(index) {\r\n if (index >= 0) {\r\n this.contact.commContactId = this.contacts[index].CommContactID;\r\n this.contact.fName = this.contacts[index].FirstName;\r\n this.contact.lName = this.contacts[index].LastName;\r\n this.contact.email = this.contacts[index].EmailAddress;\r\n if (this.contacts[index].ContactPhone != null && this.contacts[index].ContactPhone[0] != null) {\r\n this.contact.companyPhone = this.contacts[index].ContactPhone[0].PhoneNumber;\r\n this.contact.phoneExt = this.contacts[index].ContactPhone[0].PhoneExtension;\r\n }\r\n else {\r\n this.contact.companyPhone = ''; \r\n this.contact.phoneExt = '';\r\n }\r\n }\r\n else {\r\n this.contact.commContactId = 0;\r\n this.contact.fName = '';\r\n this.contact.lName = '';\r\n this.contact.email = '';\r\n this.contact.companyPhone = '';\r\n this.contact.phoneExt = '';\r\n\r\n }\r\n }\r\n\r\n getSiteEntityContacts(entityAdded) {\r\n\r\n this.entityService.getSiteEntityContacts(entityAdded) \r\n .subscribe(\r\n successResp => {\r\n \r\n if (!successResp.Success)\r\n this.showError(successResp.StatusMessage);\r\n else if (successResp.Result != null) {\r\n if (successResp.Result.ContactDetails != null && successResp.Result.ContactDetails.length > 0) {\r\n this.contacts = successResp.Result.ContactDetails;\r\n this.contact.partyid = successResp.Result.PartySeqNo; // assign party id & isStageEntry\r\n this.contact.isStageEntry = successResp.Result.isStageEntry;\r\n\r\n }\r\n else {\r\n this.contacts = [];\r\n }\r\n }\r\n },\r\n error => {\r\n this.showError(error.ExceptionMessage)\r\n })\r\n }\r\n\r\n saveContact(btnType): any {\r\n this.submitted = true;\r\n let cont = this.contactForm.getRawValue();\r\n if (!this.contactForm.valid)\r\n return;\r\n\r\n if (this.contact.fName != null && this.contact.fName.trim() == '')\r\n this.contact.fName = '';\r\n if (this.contact.lName != null && this.contact.lName.trim() == '')\r\n this.contact.lName = '';\r\n if (this.contact.fName == '' || this.contact.lName == '')\r\n return;\r\n\r\n this.contact.fName = this.contact.fName.trim();\r\n this.contact.lName = this.contact.lName.trim();\r\n this.contact.projectId = this.projectId;\r\n this.contact.dbApplicationId = 84;\r\n\r\n this.contact.isStageEntry = this.entityAdded.IsStageEntry;\r\n this.contact.partyId = this.entityAdded.PartySeqNo;\r\n \r\n if (this.contact.phoneExt != null && this.contact.phoneExt != '') {\r\n this.contact.phoneExt = this.contact.phoneExt.replace(/_+/g, '');\r\n }\r\n\r\n // Remove masking\r\n if (this.contact.companyPhone) {\r\n this.contact.companyPhone = this.contact.companyPhone.replace(/\\D/g, '');\r\n }\r\n\r\n //this.entityService.saveSiteEntityContact(this.contact)\r\n this.entityService.SaveNewSiteEntityContact(this.contact, this.siteEntityParam)\r\n .subscribe(\r\n success => {\r\n if (!success.Success) {\r\n if (success.StatusMessage != null && success.StatusMessage.indexOf('Contact already exists') !== -1) {\r\n this.showErrorAlert(success.StatusMessage);\r\n }\r\n else if (success.StatusMessage != null && success.StatusMessage.indexOf('entity has already been added') !== -1) {\r\n this.showErrorAlert(success.StatusMessage);\r\n }\r\n else {\r\n this.showError(success.StatusMessage);\r\n }\r\n }\r\n else {\r\n this.showSuccess('Site contact successfully added.')\r\n if (btnType == 'NEXT') {\r\n var result = success.Result;\r\n this.sharedService.navigateSummary();\r\n }\r\n \r\n }\r\n },\r\n error => {\r\n this.showError(error.ExceptionMessage);\r\n })\r\n }\r\n\r\n //site address\r\n getBuildingInfoOnlyByProjectBuildingId(siteProjectBuildingId) {\r\n this.buildingService.GetBuildingInfoOnlyByProjectBuildingId(siteProjectBuildingId)\r\n .subscribe(\r\n successResp => {\r\n if (!successResp.Success) {\r\n //this.pageError.push(successResp.StatusMessage);\r\n }\r\n else if (successResp.Result != null) {\r\n if (successResp.Result.length > 0) {\r\n var bldg = successResp.Result[0]; \r\n this.siteAddress = '- ' + bldg.HouseNumber + ' ' + bldg.StreetName;\r\n }\r\n }\r\n },\r\n error => {\r\n window.scrollTo(0, 0);\r\n })\r\n }\r\n\r\n closeError() {\r\n this.pageError = [];\r\n this.pageSuccess = [];\r\n }\r\n\r\n showError(msg) {\r\n this.pageError = []; this.pageSuccess = [];\r\n this.pageError.push(this.sharedService.getCustomError(msg));\r\n this.sharedService.processError(msg);\r\n }\r\n\r\n showErrorAlert(msg) {\r\n this.pageError = []; this.pageSuccess = [];\r\n this.pageError.push(msg);\r\n this.sharedService.processError(msg);\r\n }\r\n\r\n showSuccess(msg) {\r\n this.pageSuccess = []; this.pageError = [];\r\n this.pageSuccess.push(msg);\r\n this.sharedService.scroll();\r\n }\r\n\r\n home() {\r\n this.sharedService.navigateHome();\r\n }\r\n\r\n back() {\r\n this.sharedService.navigateSummary();\r\n }\r\n\r\n resetForm() {\r\n this.entityAdded = new EntityAdded();\r\n this.contact = new SiteContact(); \r\n this.contact.projectId = this.projectId;\r\n this.contact.entityId = this.siteEntityId;\r\n this.contact.dbApplicationId = 84;\r\n //this.selectCompany(0);\r\n this.selectedcompanyDdl = 0;\r\n this.submitted = false;\r\n this.isDdlDisable = false;\r\n }\r\n\r\n previous(btnType) {\r\n this.router.navigate(['/createentity']);\r\n }\r\n\r\n formatContact(contact) {\r\n var ret = '';\r\n\r\n if (!(contact.FirstName == null || contact.FirstName == ''))\r\n ret += contact.FirstName + ' ';\r\n if (!(contact.LastName == null || contact.LastName == ''))\r\n ret += contact.LastName;\r\n\r\n if (!(contact.EmailAddress == null || contact.EmailAddress == ''))\r\n ret += \" Email: \" + contact.EmailAddress;\r\n\r\n if (contact.ContactPhone != null && contact.ContactPhone.length > 0) {\r\n var comm = contact.ContactPhone[0];\r\n if (!(comm.PhoneNumber == null || comm.PhoneNumber == ''))\r\n ret += \" Ph: \" + this.formatPhone(comm.PhoneNumber);\r\n\r\n if (!(comm.PhoneExtension == null || comm.PhoneExtension == ''))\r\n ret += \" Ext: \" + comm.PhoneExtension;\r\n }\r\n return ret;\r\n }\r\n\r\n formatPhone(value) {\r\n if (value == null || value.length == 0)\r\n return \"\";\r\n\r\n let newPhone = '';\r\n switch (value.length) {\r\n case 10:\r\n case 9:\r\n case 8:\r\n case 7:\r\n newPhone = value.slice(0, 3) + '-' + value.slice(3, 6) + '-' + value.slice(6);\r\n break;\r\n case 6:\r\n case 5:\r\n case 4:\r\n newPhone = value.slice(0, 3) + '-' + value.slice(3, 6);\r\n break;\r\n default:\r\n newPhone = value;\r\n break;\r\n }\r\n return newPhone;\r\n }\r\n}\r\n","module.exports = \"{{title}}\\r\\n
0\\\"\\r\\n id=\\\"systemMessageHeader\\\">\\r\\n
{{item}}
\\r\\n \\r\\n
\\r\\n\\r\\n
0\\\"\\r\\n id=\\\"systemMessageHeader\\\">\\r\\n
{{item}}
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n Verification Alert\\r\\n \\r\\n
\\r\\n
\\r\\n We were unable to verify this entity. Would you like to proceed without verifying this company?\\r\\n

Please be sure to provide the exact company legal name spelling and TIN number as it is registered with the IRS.

\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n Add Site Entities {{siteAddress}}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
Company Information
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n As registered with IRS\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n Required\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n Street address, P.O. box etc.\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n Apt, Suite, Fl., etc.\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n Borough, town, etc.\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n\\t\\t\\t\\t\\t\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\"","import { Component, OnInit } from \"@angular/core\";\r\nimport { FormGroup, FormBuilder, Validators } from \"@angular/forms\";\r\nimport { Route, Router, ActivatedRoute } from '@angular/router';\r\nimport 'rxjs/add/operator/catch';\r\n// APP \r\nimport { SiteEntity } from '../../viewmodel';\r\nimport { EntityParam } from '../../viewmodel';\r\nimport { SiteEntityParam } from '../../viewmodel';\r\nimport { LookupService } from '../../services/lookup.service';\r\nimport { EntityService } from '../../services/entity.service';\r\nimport { SharedService } from '../../services/shared.service';\r\nimport { HelperService } from '../../services/helper.service';\r\nimport { FoucsChangeService } from '../../services/focuschange.service';\r\n\r\n@Component({\r\n selector: 'app-createentity',\r\n templateUrl: './addsiteentity.component.html',\r\n providers: [EntityService]\r\n})\r\nexport class AddSiteEntityComponent implements OnInit {\r\n title: string = 'Add Site Entity';\r\n Instruction: string = 'A site entity is any entity that is a part of the MIH Site construction project. Please identify the entities that are a part of this site team. Your site team must include at least one Applicant, Owner, and Architect at initial submission.';\r\n\r\n entityForm: FormGroup;\r\n public phoneMask = ['(', /[1-9]/, /\\d/, /\\d/, ')', ' ', /\\d/, /\\d/, /\\d/, '-', /\\d/, /\\d/, /\\d/, /\\d/]\r\n public tinMask = [/[0-9]/, /\\d/, '-', /\\d/, /\\d/, /\\d/, /\\d/, /\\d/, /\\d/, /\\d/]\r\n public zipMask = [/[0-9]/, /\\d/, /\\d/, /\\d/, /\\d/, '-', /\\d/, /\\d/, /\\d/, /\\d/]\r\n \r\n pageError: any = [];\r\n pageSuccess: any = [];\r\n showVerifyAlert: boolean = false;\r\n clickType: string = \"\";\r\n showClearButton: boolean = false;\r\n showAddressForm: boolean = false;\r\n showAddressDDL: boolean = false;\r\n attrDisabled: any = null; //'disabled' or null for enable\r\n isFound: any = null; //'disabled' or null for enable\r\n buttonDisable: boolean = false;\r\n applicant: boolean = false;\r\n submitted: boolean = false;\r\n searchClicked: boolean = false;\r\n entityRoles: any;\r\n states: any;\r\n taxIDTypes: any;\r\n userAssociationTypes: any;\r\n entityRole: number = 0;\r\n PartyRoleName: string;\r\n sitebid: number; \r\n error: string;\r\n projectId: number = 0;\r\n entityId: number = 0;\r\n isVerified: boolean;\r\n verifyClicked: boolean;\r\n siteAddress: string;\r\n addresses: any = [];\r\n\r\n type: string;\r\n entity: any;\r\n\r\n initOrganization: string = ''; \r\n initTin: string = ''; \r\n constructor(private router: Router\r\n , private frmBuilder: FormBuilder\r\n , private activeRoute: ActivatedRoute\r\n , private lookupService: LookupService\r\n , private entityService: EntityService\r\n , private sharedService: SharedService\r\n , private helperService: HelperService\r\n , private foucsChangeService: FoucsChangeService) {\r\n this.entity = new SiteEntity();\r\n this.entity.entityId = 0;\r\n this.clearInput();\r\n }\r\n\r\n ngOnInit() {\r\n \r\n\tlet ids = this.sharedService.getJsonData(\"id\");\r\n if (ids != null) {\r\n if (ids.projectId != null) {\r\n this.entity.projectId = this.projectId = ids.projectId;\r\n }\r\n \t }\r\n if (this.projectId <= 0)\r\n this.sharedService.navigateHome();\r\n\r\n if (this.sharedService.getData('SiteEntityParam') != null) { \r\n let param = JSON.parse(this.sharedService.getData('SiteEntityParam')); \r\n this.entity.ProjectBuildingID = param.sep.siteProjectBuildingId; \r\n this.entity.ProjectBldgDevTeamID = param.sep.ProjectBldgDevTeamID; \r\n this.entity.BuildingID = param.sep.bldgId; \r\n this.siteAddress = param.sep.siteAddress; \r\n if (param.sep.entityRole != null) {\r\n this.entity.entityRole = this.entityRole = param.sep.entityRole ;\r\n } \r\n }\r\n else {\r\n this.sharedService.navigateSummary();\r\n }\r\n \r\n if (this.projectId <= 0 || this.entity.ProjectBuildingID <=0 ) {\r\n this.sharedService.navigateHome();\r\n }\r\n\r\n this.entityForm = this.frmBuilder.group({\r\n entityRole: [{ value: this.entityRole, disabled: (this.applicant === true || this.entity.entityId > 0) }, [Validators.required]],\r\n isOwner: [null],\r\n organization: ['', [Validators.required]],\r\n tin: [null, [Validators.required, Validators.pattern(/^(\\d{9}|\\d{2}-\\d{7})$/)]],\r\n address1: [null, [Validators.required]],\r\n address2: [],\r\n city: [null, [Validators.required]],\r\n state: [33, [Validators.required]],\r\n zipCode: [null, [Validators.required, Validators.pattern(/^([0-9]{9}|[0-9]{5}(?:-[_]{4})?|[0-9]{5}(?:-[0-9]{4})?)$/)]],\r\n phone: [null, [Validators.required, Validators.pattern(/^\\([1-9]\\d{2}\\)\\s\\d{3}-\\d{4}|[1-9]\\d{9}$/)]],\r\n fax: [null, [Validators.pattern(/^\\([1-9]\\d{2}\\)\\s\\d{3}-\\d{4}|[1-9]\\d{9}$/)]],\r\n\r\n });\r\n\r\n this.lookupService.getLookups('ProjectRoleType')\r\n .subscribe(\r\n successResp => {\r\n if (!successResp.Success)\r\n this.showError(successResp.StatusMessage);\r\n else\r\n this.userAssociationTypes = successResp.Result\r\n },\r\n error => {\r\n this.showError(error.ExceptionMessage)\r\n }); \r\n\r\n this.lookupService.getLookups('State')\r\n .subscribe(\r\n successResp => {\r\n if (!successResp.Success)\r\n this.showError(successResp.StatusMessage);\r\n else {\r\n //this.states = successResp.Result; \r\n var stateArray = successResp.Result;\r\n if (stateArray != null && stateArray.length > 0) {\r\n stateArray = stateArray.slice(0, stateArray.length - 1); //remove outofUSA\r\n this.states = stateArray;\r\n }\r\n }\r\n },\r\n error => {\r\n this.showError(error.ExceptionMessage)\r\n });\r\n\r\n // Check for update \r\n if (this.entity.entityId != null && this.entity.entityId > 0) {\r\n \r\n this.entityService.getSiteEntitiyBySiteEntityId(this.entity.entityId)\r\n .subscribe(\r\n successResp => {\r\n if (!successResp.Success)\r\n this.showError(successResp.StatusMessage);\r\n else if (successResp.Result != null) {\r\n this.entity = successResp.Result as SiteEntity; \r\n }\r\n },\r\n error => {\r\n this.showError(error.ExceptionMessage)\r\n });\r\n }\r\n\r\n this.helperService.scrollUp(); \r\n }\r\n\r\n //search addresses\r\n GetAddresses() {\r\n this.searchClicked = true;\r\n // Remove masking\r\n if (this.entity.tin) {\r\n this.entity.tin = this.entity.tin.replace(/\\D/g, '');\r\n } \r\n\r\n if (this.entity.organization == '' || this.entity.tin.length != 9) {\r\n return false;\r\n }\r\n\r\n this.initOrganization = this.entity.organization;\r\n this.initTin = this.entity.tin; \r\n this.verifyClicked = true;\r\n this.pageError = []; //clear error \r\n this.showClearButton = true;\r\n this.showAddressDDL = true;\r\n this.showAddressForm = true;\r\n this.addresses = []; //clear address array\r\n if (this.projectId > 0) {\r\n \r\n this.entityService.searchAddress(this.entity)\r\n .subscribe(\r\n successResp => {\r\n if (!successResp.Success)\r\n this.showError(successResp.StatusMessage);\r\n else {\r\n if (successResp.Result == null) {\r\n this.isFound = null;\r\n this.attrDisabled = null; \r\n \t\t\t this.buttonDisable = true; \r\n }\r\n else {\r\n this.isFound = 'disabled';\r\n this.buttonDisable = true;\r\n var partyobj = successResp.Result;\r\n this.addresses = partyobj[0].PartyAddresses; \r\n }\r\n }\r\n },\r\n error => {\r\n if (error.status == 401)\r\n this.router.navigateByUrl('/login?session=0');\r\n this.isFound = null;\r\n this.attrDisabled = null;\r\n this.buttonDisable = false;\r\n this.showError(error.ExceptionMessage)\r\n });\r\n }\r\n }\r\n\r\n selectAddr(index) {\r\n if (index >= 0) {\r\n this.attrDisabled = 'disabled';\r\n this.entity.dbApplicationId = this.addresses[index].DBApplicationID;\r\n this.entity.partyAddressId = this.addresses[index].PartyAddressID;\r\n this.entity.address1 = this.addresses[index].AddressLine1;\r\n this.entity.address2 = this.addresses[index].AddressLine2;\r\n this.entity.city = this.addresses[index].City;\r\n this.entity.zipCode = this.addresses[index].PostalCode;\r\n this.entity.phone = this.addresses[index].CorporatePhoneNumber;\r\n this.entity.fax = this.addresses[index].CorporateFax;\r\n this.entity.state = this.addresses[index].StateLookup.SeqNo;\r\n this.zipMaskChange();\r\n }\r\n else {\r\n this.attrDisabled = null;\r\n this.resetAddrForm();\r\n }\r\n }\r\n\r\n clearInput() {\r\n this.searchClicked = false;\r\n this.submitted = false;\r\n this.attrDisabled = null;\r\n this.isFound = null;\r\n this.buttonDisable = false;\r\n this.showAddressForm = false;\r\n this.showAddressDDL = false;\r\n this.clickType = \"\";\r\n this.entity.entityRole = 0;\r\n this.entity.organization = '';\r\n this.entity.tin = '';\r\n\t\tif (this.entityForm != null)\r\n this.entityForm.controls['tin'].setValue('');\r\n this.entity.address1 = '';\r\n this.entity.address2 = '';\r\n this.entity.city = '';\r\n this.entity.state = 33; //default\r\n this.entity.zipCode = '';\r\n this.entity.phone = '';\r\n this.entity.fax = '';\r\n this.entity.isOwner = false;\r\n this.entity.dbApplicationId = 84;\r\n this.entity.partyAddressId = 0;\r\n }\r\n\r\n resetAddrForm() {\r\n this.clickType = \"\";\r\n this.entity.address1 = '';\r\n this.entity.address2 = '';\r\n this.entity.city = '';\r\n this.entity.state = 33; //default\r\n this.entity.zipCode = '';\r\n this.entity.phone = '';\r\n this.entity.fax = '';\r\n this.entity.isOwner = false;\r\n this.entity.dbApplicationId = 84;\r\n this.entity.partyAddressId = 0;\r\n }\r\n\r\n //save site Entity\r\n validateEntity(buttonType): any {\r\n\r\n this.submitted = true;\r\n let entity = this.entityForm.getRawValue();\r\n if (!this.entityForm.valid) {\r\n return;\r\n }\r\n if (entity.entityRole == 0)\r\n return;\r\n\r\n // Remove masking\r\n if (this.entity.tin) {\r\n this.entity.tin = this.entity.tin.replace(/\\D/g, '');\r\n }\r\n\r\n if (this.entity.zipCode) {\r\n this.entity.zipCode = this.entity.zipCode.replace(/\\D/g, '');\r\n }\r\n\r\n if (this.entity.phone) {\r\n this.entity.phone = this.entity.phone.replace(/\\D/g, '');\r\n }\r\n\r\n if (this.entity.fax) {\r\n this.entity.fax = this.entity.fax.replace(/\\D/g, '');\r\n }\r\n\r\n this.entity.suppressCheck = false;\r\n this.save(buttonType);\r\n }\r\n\r\n confirmSave() {\r\n this.showVerifyAlert = false;\r\n this.foucsChangeService.changeFocus(true);\r\n this.entity.suppressCheck = true;\r\n this.save(this.clickType);\r\n }\r\n\r\n cancelSaving() {\r\n this.showVerifyAlert = false;\r\n this.foucsChangeService.changeFocus(true);\r\n this.clickType = \"\";\r\n return;\r\n }\r\n\r\n //save site entity \r\n save(buttonType): any { \r\n \r\n this.entityService.saveSiteEntity(this.entity)\r\n .subscribe(\r\n success => {\r\n if (!success.Success) {\r\n if (success.StatusMessage == \"Show Confirmation Message.\") {\r\n this.showVerifyAlert = true;\r\n this.foucsChangeService.changeFocus(false);\r\n this.clickType = buttonType;\r\n }\r\n else if (success.StatusMessage != null && success.StatusMessage.indexOf('entity has already been added') !== -1) {\r\n this.showErrorAlert(success.StatusMessage);\r\n }\r\n else {\r\n this.showError(success.StatusMessage);\r\n }\r\n }\r\n else {\r\n this.showSuccess('Development company successfully added.');\r\n if (buttonType == 'NEXT') {\r\n\r\n var result = success.Result; \r\n if (success.Result != null) {\r\n \r\n this.setSiteEntityParam(success.Result);\r\n\t\t\t this.router.navigate(['/entity/addsitecontacts'], { replaceUrl: true });\r\n\t\t\t \r\n } \r\n }\r\n }\r\n },\r\n error => {\r\n this.showError(error.ExceptionMessage)\r\n })\r\n }\r\n\r\n setSiteEntityParam(sEntity) {\r\n\r\n var sep = new SiteEntityParam();\r\n sep.projectBldgDevTeamId = sEntity.MIHProjectBldgDevTeamID; \r\n sep.siteProjectBuildingId = this.entity.ProjectBuildingID;\r\n sep.projectId = this.projectId; \r\n sep.bldgId = this.entity.BuildingID; \r\n sep.companyName = this.entity.organization;\r\n sep.tin = this.entity.tin; \r\n sep.partyRoleSeqNo = this.entity.entityRole;\r\n sep.partyRoleName = this.PartyRoleName = this.helperService.getSiteRoleName(this.entity.entityRole); \r\n sep.siteAddress = this.siteAddress; \r\n sep.mood = 'A'; //Add or Edit\r\n sep.newEntityEntry = 'Y'; \r\n sep.partyId = sEntity.PartyID;\r\n sep.partyStagingId = sEntity.PartyStagingID;\r\n sep.partyAddressId = sEntity.PartyAddressID;\r\n sep.partyAddressStagingId = sEntity.PartyAddressStagingID; \r\n \r\n this.sharedService.setData('SiteEntityParam', JSON.stringify({sep}));\r\n \r\n }\r\n\r\n closeError() {\r\n this.pageError = [];\r\n this.pageSuccess = [];\r\n }\r\n\r\n showError(msg) {\r\n this.pageError = []; this.pageSuccess = [];\r\n this.pageError.push(this.sharedService.getCustomError(msg));\r\n this.sharedService.processError(msg);\r\n }\r\n showErrorAlert(msg) {\r\n this.pageError = []; this.pageSuccess = [];\r\n this.pageError.push(msg);\r\n this.sharedService.processError(msg);\r\n }\r\n showSuccess(msg) {\r\n this.pageSuccess = []; this.pageError = [];\r\n this.pageSuccess.push(msg);\r\n this.sharedService.scroll();\r\n }\r\n\r\n //fix for refreshing page on enter key event\r\n enterKey(field, event) {\r\n if (event.which === 13) {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n return false;\r\n }\r\n }\r\n\r\n zipMaskChange() {\r\n this.zipMask = [/[0-9]/, /\\d/, /\\d/, /\\d/, /\\d/, '-', /\\d/, /\\d/, /\\d/, /\\d/]\r\n\r\n if (this.entity.zipCode == null)\r\n return;\r\n\r\n let tempZip = this.entity.zipCode.replace(/\\D/g, '');\r\n\r\n if (tempZip.length == 5)\r\n this.zipMask = [/[0-9]/, /\\d/, /\\d/, /\\d/, /\\d/]\r\n }\r\n\r\n zipCodeMaskBack() {\r\n\r\n this.zipMask = [/[0-9]/, /\\d/, /\\d/, /\\d/, /\\d/, '-', /\\d/, /\\d/, /\\d/, /\\d/]\r\n }\r\n\r\n cancel() {\r\n this.sharedService.removeData('SiteEntityParam')\r\n this.sharedService.navigateSummary();\r\n }\r\n \r\n home() {\r\n this.sharedService.navigateHome();\r\n }\r\n\r\n back() {\r\n this.sharedService.navigateSummary();\r\n }\r\n \r\n getPhoneAndFax(address) {\r\n var ret = '';\r\n if (address.CorporatePhoneNumber != null || address.CorporatePhoneNumber == '')\r\n ret = \" PH: \" + this.helperService.formatPhone(address.CorporatePhoneNumber);\r\n\r\n if (address.CorporateFax != null || address.CorporateFax == '')\r\n ret = ret + \" Fax: \" + this.helperService.formatPhone(address.CorporateFax);\r\n\r\n return ret;\r\n }\r\n formatPhone(value) {\r\n if (value == null || value.length == 0)\r\n return \"\";\r\n\r\n let newPhone = '';\r\n switch (value.length) {\r\n case 10:\r\n case 9:\r\n case 8:\r\n case 7:\r\n newPhone = value.slice(0, 3) + '-' + value.slice(3, 6) + '-' + value.slice(6);\r\n break;\r\n case 6:\r\n case 5:\r\n case 4:\r\n newPhone = value.slice(0, 3) + '-' + value.slice(3, 6);\r\n break;\r\n default:\r\n newPhone = value;\r\n break;\r\n\r\n }\r\n return newPhone;\r\n }\r\n \r\n checkChangeInOrganizationTin(e) {\r\n if (!(this.initOrganization == this.entity.organization && this.initTin == this.entity.tin)) {\r\n this.buttonDisable = false;\r\n this.resetAddrForm();\r\n this.showAddressDDL = false;\r\n this.showAddressForm = false;\r\n }\r\n }\r\n\r\n isEntityRoleInValid(submitted) {\r\n return this.entity.entityRole == 0 && this.submitted;\r\n }\r\n}\r\n","module.exports = \"Add Entity\\r\\n
0\\\"\\r\\n id=\\\"systemMessageHeader\\\" >\\r\\n
{{item}}
\\r\\n \\r\\n
\\r\\n\\r\\n
0\\\"\\r\\n id=\\\"systemMessageHeader\\\">\\r\\n
{{item}}
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n Verification Alert\\r\\n \\r\\n
\\r\\n
\\r\\n We were unable to verify this entity. Would you like to proceed without verifying this company?\\r\\n

Please be sure to provide the exact company legal name spelling and TIN number as it is registered with the IRS.

\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n Add Development Entities\\r\\n
\\r\\n
\\r\\n
\\r\\n A development entity is any entity that is a part of the development construction project. Please identify the entities that are a part of your development team. Your development team must include at least one Applicant, Owner, and Attorney.\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
Company Information
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n As registered with IRS\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n Required\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n Street address, P.O. box etc.\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n Apt, Suite, Fl., etc.\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n Borough, town, etc.\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\"","import { Component, OnInit } from \"@angular/core\";\r\nimport { FormGroup, FormBuilder, Validators } from \"@angular/forms\";\r\nimport { Route, Router, ActivatedRoute } from '@angular/router';\r\nimport 'rxjs/add/operator/catch';\r\n\r\n// APP \r\nimport { Entity } from '../../viewmodel';\r\nimport { EntityParam } from '../../viewmodel';\r\nimport { LookupService } from '../../services/lookup.service';\r\nimport { EntityService } from '../../services/entity.service';\r\nimport { SharedService } from '../../services/shared.service';\r\nimport { HelperService } from '../../services/helper.service';\r\nimport { FoucsChangeService } from '../../services/focuschange.service';\r\n\r\n@Component({\r\n selector: 'app-createentity',\r\n templateUrl: './createentity.component.html',\r\n providers: [EntityService]\r\n})\r\nexport class CreateEntityComponent implements OnInit {\r\n title: string = 'Add Entity';\r\n\r\n entityForm: FormGroup;\r\n public phoneMask = ['(', /[1-9]/, /\\d/, /\\d/, ')', ' ', /\\d/, /\\d/, /\\d/, '-', /\\d/, /\\d/, /\\d/, /\\d/]\r\n public tinMask = [/[0-9]/, /\\d/, '-', /\\d/, /\\d/, /\\d/, /\\d/, /\\d/, /\\d/, /\\d/]\r\n public zipMask = [/[0-9]/, /\\d/, /\\d/, /\\d/, /\\d/, '-', /\\d/, /\\d/, /\\d/, /\\d/]\r\n\r\n pageError: any = [];\r\n pageSuccess: any = [];\r\n showVerifyAlert: boolean = false;\r\n clickType: string = \"\";\r\n showClearButton: boolean = false;\r\n showAddressForm: boolean = false;\r\n showAddressDDL: boolean = false;\r\n attrDisabled: any = null; //'disabled' or null for enable\r\n isFound: any = null; //'disabled' or null for enable\r\n buttonDisable: boolean = false;\r\n applicant: boolean = false;\r\n submitted: boolean = false;\r\n searchClicked: boolean = false;\r\n entityRoles: any;\r\n states: any;\r\n taxIDTypes: any;\r\n userAssociationTypes: any;\r\n entityRole: number = 0;\r\n PartyRoleName: string;\r\n error: string;\r\n projectId: number = 0;\r\n entityId: number = 0;\r\n isVerified: boolean;\r\n verifyClicked: boolean;\r\n addresses: any = [];\r\n\r\n type: string;\r\n entity: any;\r\n initOrganization: string = '';\r\n initTin: string = '';\r\n\r\n constructor(private router: Router\r\n , private frmBuilder: FormBuilder\r\n , private activeRoute: ActivatedRoute\r\n , private lookupService: LookupService\r\n , private entityService: EntityService\r\n , private sharedService: SharedService\r\n , private helperService: HelperService\r\n , private foucsChangeService: FoucsChangeService) {\r\n this.entity = new Entity();\r\n this.entity.entityId = 0;\r\n this.clearInput();\r\n }\r\n\r\n ngOnInit() {\r\n\r\n let ids = this.sharedService.getJsonData(\"id\");\r\n if (ids != null) {\r\n if (ids.projectId != null) {\r\n this.entity.projectId = this.projectId = ids.projectId;\r\n }\r\n }\r\n if (this.projectId == null || this.projectId <= 0)\r\n this.sharedService.navigateHome();\r\n\r\n let role = this.sharedService.getJsonData(\"entityRole\");\r\n if (role != null)\r\n this.entity.entityRole = this.entityRole = role.entityRoleId;\r\n\r\n this.entityForm = this.frmBuilder.group({\r\n entityRole: [{ value: this.entityRole, disabled: (this.applicant === true || this.entity.entityId > 0) }, [Validators.required]],\r\n isOwner: [null],\r\n organization: ['', [Validators.required]],\r\n tin: [null, [Validators.required, Validators.pattern(/^(\\d{9}|\\d{2}-\\d{7})$/)]],\r\n address1: [null, [Validators.required]],\r\n address2: [],\r\n city: [null, [Validators.required]],\r\n state: [33, [Validators.required]],\r\n zipCode: [null, [Validators.required, Validators.pattern(/^([0-9]{9}|[0-9]{5}(?:-[_]{4})?|[0-9]{5}(?:-[0-9]{4})?)$/)]],\r\n phone: [null, [Validators.required, Validators.pattern(/^\\([1-9]\\d{2}\\)\\s\\d{3}-\\d{4}|[1-9]\\d{9}$/)]],\r\n fax: [null, [Validators.pattern(/^\\([1-9]\\d{2}\\)\\s\\d{3}-\\d{4}|[1-9]\\d{9}$/)]],\r\n\r\n });\r\n\r\n this.lookupService.getLookups('State')\r\n .subscribe(\r\n successResp => {\r\n if (!successResp.Success)\r\n this.showError(successResp.StatusMessage);\r\n else {\r\n var stateArray = successResp.Result;\r\n if (stateArray != null && stateArray.length > 0) {\r\n stateArray = stateArray.slice(0, stateArray.length - 1); //remove outofUSA\r\n this.states = stateArray;\r\n }\r\n }\r\n },\r\n error => {\r\n this.showError(error.ExceptionMessage)\r\n });\r\n\r\n // Check for update \r\n if (this.entity.entityId != null && this.entity.entityId > 0) {\r\n this.entityService.getEntityById(this.entity.entityId)\r\n .subscribe(\r\n successResp => {\r\n if (!successResp.Success)\r\n this.showError(successResp.StatusMessage);\r\n else if (successResp.Result != null) {\r\n this.entity = successResp.Result as Entity\r\n this.initOrganization = successResp.Result.organization;\r\n this.initTin = successResp.Result.tin;\r\n }\r\n },\r\n error => {\r\n this.showError(error.ExceptionMessage)\r\n });\r\n }\r\n\r\n this.ScrollUp();\r\n }\r\n\r\n //search addresses\r\n GetAddresses() {\r\n this.searchClicked = true;\r\n\r\n // Remove masking\r\n if (this.entity.tin) {\r\n this.entity.tin = this.entity.tin.replace(/\\D/g, '');\r\n }\r\n \r\n if (this.entity.organization == '' || this.entity.tin.length != 9) {\r\n return false;\r\n }\r\n\r\n this.initOrganization = this.entity.organization;\r\n this.initTin = this.entity.tin;\r\n this.verifyClicked = true;\r\n this.pageError = []; //clear error \r\n this.showClearButton = true;\r\n this.showAddressDDL = true;\r\n this.showAddressForm = true;\r\n this.addresses = []; //clear address array\r\n if (this.projectId > 0) {\r\n this.entityService.searchAddress(this.entity)\r\n .subscribe(\r\n successResp => {\r\n if (!successResp.Success)\r\n this.showError(successResp.StatusMessage);\r\n else {\r\n if (successResp.Result == null) {\r\n this.isFound = null;\r\n this.attrDisabled = null;\r\n this.buttonDisable = true;\r\n\r\n }\r\n else {\r\n this.isFound = 'disabled';\r\n this.buttonDisable = true;\r\n var partyobj = successResp.Result;\r\n this.addresses = partyobj[0].PartyAddresses;\r\n \r\n }\r\n }\r\n },\r\n error => {\r\n if (error.status == 401)\r\n this.router.navigateByUrl('/login?session=0');\r\n this.isFound = null;\r\n this.attrDisabled = null;\r\n this.buttonDisable = false;\r\n this.showError(error.ExceptionMessage)\r\n });\r\n }\r\n }\r\n\r\n selectAddr(index) {\r\n if (index >= 0) {\r\n this.attrDisabled = 'disabled';\r\n this.entity.dbApplicationId = this.addresses[index].DBApplicationID;\r\n this.entity.partyAddressId = this.addresses[index].PartyAddressID;\r\n this.entity.address1 = this.addresses[index].AddressLine1;\r\n this.entity.address2 = this.addresses[index].AddressLine2;\r\n this.entity.city = this.addresses[index].City;\r\n this.entity.zipCode = this.addresses[index].PostalCode;\r\n this.entity.phone = this.addresses[index].CorporatePhoneNumber;\r\n this.entity.fax = this.addresses[index].CorporateFax;\r\n this.entity.state = this.addresses[index].StateLookup.SeqNo;\r\n this.zipMaskChange();\r\n }\r\n else {\r\n this.attrDisabled = null;\r\n this.resetAddrForm();\r\n }\r\n }\r\n\r\n clearInput() {\r\n this.searchClicked = false;\r\n this.submitted = false;\r\n this.attrDisabled = null;\r\n this.isFound = null;\r\n this.buttonDisable = false;\r\n this.showAddressForm = false;\r\n this.showAddressDDL = false;\r\n this.clickType = \"\";\r\n this.entity.entityRole = 0;\r\n this.entity.organization = '';\r\n this.entity.tin = '';\r\n if (this.entityForm != null)\r\n this.entityForm.controls['tin'].setValue('');\r\n this.entity.address1 = '';\r\n this.entity.address2 = '';\r\n this.entity.city = '';\r\n this.entity.state = 33; //default\r\n this.entity.zipCode = '';\r\n this.entity.phone = '';\r\n this.entity.fax = '';\r\n this.entity.isOwner = false;\r\n this.entity.dbApplicationId = 84;\r\n this.entity.partyAddressId = 0;\r\n }\r\n\r\n resetAddrForm() {\r\n this.clickType = \"\";\r\n this.entity.address1 = '';\r\n this.entity.address2 = '';\r\n this.entity.city = '';\r\n this.entity.state = 33; //default\r\n this.entity.zipCode = '';\r\n this.entity.phone = '';\r\n this.entity.fax = '';\r\n this.entity.isOwner = false;\r\n this.entity.dbApplicationId = 84;\r\n this.entity.partyAddressId = 0;\r\n }\r\n\r\n confirmDelete() {\r\n\r\n }\r\n\r\n //save Entity\r\n validateEntity(buttonType): any {\r\n\r\n this.submitted = true;\r\n if (!this.entityForm.valid) {\r\n return;\r\n }\r\n\r\n let entityRawValue = this.entityForm.getRawValue();\r\n if (entityRawValue.entityRole == 0)\r\n return;\r\n\r\n // Remove masking\r\n if (this.entity.tin) {\r\n this.entity.tin = this.entity.tin.replace(/\\D/g, '');\r\n }\r\n\r\n if (this.entity.zipCode) {\r\n this.entity.zipCode = this.entity.zipCode.replace(/\\D/g, '');\r\n }\r\n\r\n if (this.entity.phone) {\r\n this.entity.phone = this.entity.phone.replace(/\\D/g, '');\r\n }\r\n\r\n if (this.entity.fax) {\r\n this.entity.fax = this.entity.fax.replace(/\\D/g, '');\r\n }\r\n\r\n this.entity.suppressCheck = false;\r\n this.save(buttonType);\r\n }\r\n\r\n confirmSave() {\r\n this.showVerifyAlert = false;\r\n this.foucsChangeService.changeFocus(true);\r\n this.entity.suppressCheck = true;\r\n this.save(this.clickType);\r\n }\r\n\r\n cancelSaving() {\r\n this.showVerifyAlert = false;\r\n this.foucsChangeService.changeFocus(true);\r\n this.clickType = \"\";\r\n return;\r\n\r\n }\r\n\r\n //saving entity \r\n save(buttonType): any {\r\n\r\n this.PartyRoleName = this.helperService.getRoleName(this.entity.entityRole);\r\n this.entityService.saveEntity(this.entity)\r\n .subscribe(\r\n success => {\r\n if (!success.Success) {\r\n if (success.StatusMessage == \"Show Confirmation Message.\") {\r\n this.showVerifyAlert = true;\r\n this.foucsChangeService.changeFocus(false);\r\n this.clickType = buttonType;\r\n }\r\n else if (success.StatusMessage != null && success.StatusMessage.indexOf('entity has already been added') !== -1) {\r\n this.showErrorAlert(success.StatusMessage);\r\n }\r\n else {\r\n this.showError(success.StatusMessage);\r\n }\r\n }\r\n else {\r\n this.showSuccess('Development company successfully added.');\r\n if (buttonType == 'NEXT') {\r\n\r\n var result = success.Result;\r\n this.setEntityParam(success.Result)\r\n this.router.navigate(['/entity/addcontacts'], { replaceUrl: true });\r\n }\r\n\r\n }\r\n },\r\n error => {\r\n this.showError(error.ExceptionMessage)\r\n\r\n })\r\n }\r\n\r\n setEntityParam(entity) {\r\n var eParam = new EntityParam();\r\n eParam.projectId = this.projectId;\r\n eParam.entityId = entity.MIHProjectDevTeamID;\r\n eParam.partyId = entity.PartyID;\r\n eParam.partyStagingId = entity.PartyStagingID; \r\n eParam.companyName = this.entity.organization;\r\n eParam.tin = this.entity.tin; \r\n eParam.roleId = entity.PartyRoleLookup.SeqNo;\r\n eParam.partyRoleName = this.PartyRoleName;\r\n eParam.newEntityEntry = 'Y';\r\n this.sharedService.setJsonData('entityParam', eParam);\r\n\r\n }\r\n\r\n closeError() {\r\n this.pageError = [];\r\n this.pageSuccess = [];\r\n }\r\n\r\n showError(msg) {\r\n this.pageError = []; this.pageSuccess = [];\r\n this.pageError.push(this.sharedService.getCustomError(msg));\r\n this.sharedService.processError(msg);\r\n }\r\n\r\n showErrorAlert(msg) {\r\n this.pageError = []; this.pageSuccess = [];\r\n this.pageError.push(msg);\r\n this.sharedService.processError(msg);\r\n }\r\n\r\n showSuccess(msg) {\r\n this.pageSuccess = []; this.pageError = [];\r\n this.pageSuccess.push(msg);\r\n this.sharedService.scroll();\r\n }\r\n\r\n //fix for refreshing page on enter key event\r\n enterKey(field, event) {\r\n if (event.which === 13) {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n return false;\r\n }\r\n }\r\n\r\n zipMaskChange() {\r\n this.zipMask = [/[0-9]/, /\\d/, /\\d/, /\\d/, /\\d/, '-', /\\d/, /\\d/, /\\d/, /\\d/]\r\n\r\n if (this.entity.zipCode == null)\r\n return;\r\n\r\n let tempZip = this.entity.zipCode.replace(/\\D/g, '');\r\n\r\n if (tempZip.length == 5)\r\n this.zipMask = [/[0-9]/, /\\d/, /\\d/, /\\d/, /\\d/]\r\n }\r\n\r\n zipCodeMaskBack() {\r\n\r\n this.zipMask = [/[0-9]/, /\\d/, /\\d/, /\\d/, /\\d/, '-', /\\d/, /\\d/, /\\d/, /\\d/]\r\n }\r\n\r\n home() {\r\n this.sharedService.navigateHome();\r\n }\r\n\r\n back() {\r\n this.sharedService.navigateSummary();\r\n }\r\n\r\n getPhoneAndFax(address) {\r\n var ret = '';\r\n if (address.CorporatePhoneNumber != null || address.CorporatePhoneNumber == '')\r\n ret = \" PH: \" + this.formatPhone(address.CorporatePhoneNumber);\r\n\r\n if (address.CorporateFax != null || address.CorporateFax == '')\r\n ret = ret + \" Fax: \" + this.formatPhone(address.CorporateFax);\r\n\r\n return ret;\r\n }\r\n\r\n formatPhone(value) {\r\n if (value == null || value.length == 0)\r\n return \"\";\r\n\r\n let newPhone = '';\r\n switch (value.length) {\r\n case 10:\r\n case 9:\r\n case 8:\r\n case 7:\r\n newPhone = value.slice(0, 3) + '-' + value.slice(3, 6) + '-' + value.slice(6);\r\n break;\r\n case 6:\r\n case 5:\r\n case 4:\r\n newPhone = value.slice(0, 3) + '-' + value.slice(3, 6);\r\n break;\r\n default:\r\n newPhone = value;\r\n break;\r\n\r\n }\r\n return newPhone;\r\n }\r\n\r\n\r\n getCssStyle() {\r\n var isDisable = true;\r\n if (isDisable)\r\n return { color: '#00ff00', 'font-weight': 'bold' }\r\n return {}\r\n\r\n }\r\n\r\n checkChangeInOrganizationTin(e) {\r\n if (!(this.initOrganization == this.entity.organization && this.initTin == this.entity.tin)) {\r\n this.buttonDisable = false;\r\n this.resetAddrForm();\r\n this.showAddressDDL = false;\r\n this.showAddressForm = false;\r\n }\r\n }\r\n\r\n ScrollUp() {\r\n var scrollTimeOut = setTimeout(function () {\r\n clearTimeout(scrollTimeOut);\r\n window.scroll(0, 0);\r\n }, 100);\r\n }\r\n\r\n isEntityRoleInValid(submitted) {\r\n return this.entity.entityRole == 0 && this.submitted;\r\n }\r\n}\r\n","module.exports = \"{{title}}\\r\\n
0\\\"\\r\\n id=\\\"systemMessageHeader\\\">\\r\\n
{{item}}
\\r\\n \\r\\n
\\r\\n\\r\\n
0\\\"\\r\\n id=\\\"systemMessageHeader\\\">\\r\\n
{{item}}
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n Edit Development Contacts\\r\\n
\\r\\n
\\r\\n
\\r\\n A development contact is any person that can be reached on behalf of the selected company below.
\\r\\n Your application must include at least one contact for each company added.\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
Update contact for {{companyName}} - {{partyRoleName}}
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n Required\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\"","import { Component, OnInit } from \"@angular/core\";\r\nimport { FormGroup, FormBuilder, Validators } from \"@angular/forms\";\r\nimport { Route, Router, ActivatedRoute } from '@angular/router';\r\nimport 'rxjs/add/operator/catch';\r\n\r\n// APP \r\nimport { SiteContact } from '../../viewmodel'\r\nimport { EntityAdded } from '../../viewmodel'\r\nimport { LookupService } from '../../services/lookup.service';\r\nimport { EntityService } from '../../services/entity.service';\r\nimport { SharedService } from '../../services/shared.service';\r\n\r\n@Component({\r\n selector: 'app-addcontacts',\r\n templateUrl: './editcontact.component.html',\r\n providers: [EntityService]\r\n})\r\nexport class EditContactComponent implements OnInit {\r\n title: string = 'Update Contact';\r\n contactForm: FormGroup;\r\n public phoneMask = ['(', /[1-9]/, /\\d/, /\\d/, ')', ' ', /\\d/, /\\d/, /\\d/, '-', /\\d/, /\\d/, /\\d/, /\\d/];\r\n public extensionMask = [/\\d/, /\\d/, /\\d/, /\\d/];\r\n public noSpaceAtBeginning = /^[^-\\s]/; \r\n\r\n pageError: any = [];\r\n pageSuccess: any = [];\r\n submitted: boolean = false;\r\n error: string;\r\n projectId: number = 0;\r\n entityId: number=0;\r\n type: string;\r\n contact: any;\r\n devTeamContact: any;\r\n contacts: Array;\r\n companies: Array;\r\n companyName: string;\r\n partyRoleName: string;\r\n entityAdded: any;\r\n partyId: number; \r\n partyStagingId: number;\r\n attrDisabled: any = null; //'disabled' or null for enable\r\n\r\n constructor(private router: Router\r\n , private frmBuilder: FormBuilder\r\n , private activeRoute: ActivatedRoute\r\n , private lookupService: LookupService\r\n , private entityService: EntityService\r\n , private sharedService: SharedService) {\r\n\r\n this.contact = new SiteContact();\r\n this.entityAdded = new EntityAdded();\r\n }\r\n\r\n ngOnInit() { \r\n \r\n let ids = this.sharedService.getJsonData(\"id\");\r\n if (ids != null) {\r\n if (ids.projectId != null) {\r\n this.contact.projectId = this.projectId = ids.projectId;\r\n }\r\n }\r\n if (this.projectId <= 0)\r\n this.sharedService.navigateHome();\r\n\r\n let ecParams = this.sharedService.getData('entitycontactParams');\r\n if (ecParams != null) { \r\n let params = JSON.parse(ecParams);\r\n this.contact.entityId = this.contact.MIHProjectDevTeamID = this.entityId = params.entitycontactParams.entityId; \r\n this.contact.projectDevTeamContactId = params.entitycontactParams.projectDevTeamContactId;\r\n this.contact.projectBldgDevTeamContactId = params.entitycontactParams.projectBldgDevTeamContactId;\r\n this.contact.commContactId = params.entitycontactParams.commContactId;\r\n this.contact.partyId = this.partyId = params.entitycontactParams.partyId; \r\n this.contact.partyStagingId = this.partyStagingId = params.entitycontactParams.partyStagingId; \r\n this.companyName = params.entitycontactParams.companyName;\r\n this.partyRoleName = params.entitycontactParams.partyRoleName; \r\n } \r\n if (this.entityId <= 0) \r\n this.sharedService.navigateSummary();\r\n \r\n this.contactForm = this.frmBuilder.group({\r\n\r\n fName: [null, [Validators.required, Validators.pattern(this.noSpaceAtBeginning), Validators.maxLength(30)]],\r\n lName: [null, [Validators.required, Validators.pattern(this.noSpaceAtBeginning), Validators.maxLength(30)]],\r\n primaryContact: [],\r\n email: [null, [Validators.required, Validators.maxLength(100), Validators.email]],\r\n companyPhone: [null, [Validators.required, Validators.pattern(/^\\([1-9]\\d{2}\\)\\s\\d{3}-\\d{4}|[1-9]\\d{9}$/)]],\r\n phoneExt: [],\r\n partyName: [],\r\n });\r\n\r\n // Check for update \r\n if (this.contact.entityId != null && this.contact.commContactId > 0) {\r\n this.entityService.GetMIHProjectDevTeamContactByMIHProjectDevTeamContactID(this.contact.projectDevTeamContactId)\r\n .subscribe(\r\n successResp => {\r\n if (!successResp.Success)\r\n this.showError(successResp.StatusMessage);\r\n else if (successResp.Result != null) {\r\n this.devTeamContact = successResp.Result;\r\n\r\n if (this.devTeamContact != null)\r\n this.populateExistingData(this.devTeamContact[0]);\r\n }\r\n },\r\n error => {\r\n this.showError(error.ExceptionMessage)\r\n });\r\n }\r\n\r\n }\r\n\r\n populateExistingData(data) {\r\n this.contact.partyId = this.partyId; \r\n this.contact.partyStgId = this.partyStagingId; \r\n\r\n if (this.contact.partyId > 0) {\r\n this.entityAdded.IsStageEntry = false;\r\n this.entityAdded.PartySeqNo = this.contact.partyId;\r\n }\r\n else {\r\n this.entityAdded.IsStageEntry = true;\r\n this.entityAdded.PartySeqNo = this.contact.partyStgId;\r\n }\r\n this.entityAdded.MIHProjectDevTeamID = this.entityId;\r\n\r\n this.contact.commContactId = data.CommContactID;\r\n this.contact.fName = data.ContactFirstName;\r\n this.contact.lName = data.ContactLastName;\r\n this.contact.email = data.ContactEmail;\r\n this.contact.isStageEntry = data.isStageEntry;\r\n this.contact.companyPhone = data.ContactPhone;\r\n this.contact.phoneExt = data.ContactPhoneExtension;\r\n this.contact.comContactTelconId = data.ContactTelecomID; \r\n\r\n if (data.PrimaryContactFlag == 'Y')\r\n {\r\n this.contact.primaryContact = true;\r\n this.attrDisabled = 'disabled';\r\n }\r\n else\r\n this.contact.primaryContact = false; \r\n }\r\n\r\n getContacts(entityAdded) {\r\n this.entityService.getContacts(entityAdded)\r\n .subscribe(\r\n successResp => {\r\n if (!successResp.Success)\r\n this.showError(successResp.StatusMessage);\r\n else if (successResp.Result != null) {\r\n if (successResp.Result.ContactDetails != null && successResp.Result.ContactDetails.length > 0) {\r\n this.contacts = successResp.Result.ContactDetails;\r\n this.contact.partyid = successResp.Result.PartySeqNo; // assign party id & isStageEntry\r\n this.contact.isStageEntry = successResp.Result.isStageEntry;\r\n\r\n }\r\n else {\r\n this.contacts = [];\r\n }\r\n }\r\n },\r\n error => {\r\n this.showError(error.ExceptionMessage)\r\n })\r\n }\r\n\r\n saveContact(btnType): any {\r\n this.submitted = true; \r\n let cont = this.contactForm.getRawValue();\r\n if (!this.contactForm.valid)\r\n return;\r\n \r\n if (this.contact.fName != null && this.contact.fName.trim() == '') \r\n this.contact.fName = '';\r\n if (this.contact.lName != null && this.contact.lName.trim() == '') \r\n this.contact.lName = '';\r\n\r\n if (this.contact.fName == '' || this.contact.lName == '')\r\n return;\r\n \r\n this.contact.fName = this.contact.fName.trim();\r\n this.contact.lName = this.contact.lName.trim();\r\n this.contact.projectId = this.projectId;\r\n this.contact.entityId = this.entityId;\r\n this.contact.dbApplicationId = 84;\r\n this.contact.isStageEntry = false;\r\n if (this.contact.partyId == 0) {\r\n this.contact.partyId = this.contact.partyStagingId;\r\n this.contact.isStageEntry = true;\r\n }\r\n \r\n this.contact.isStageEntry = this.entityAdded.IsStageEntry; \r\n if (this.contact.phoneExt != null && this.contact.phoneExt != '') {\r\n this.contact.phoneExt = this.contact.phoneExt.replace(/_+/g, '');\r\n } \r\n\r\n // Remove masking\r\n if (this.contact.companyPhone) {\r\n this.contact.companyPhone = this.contact.companyPhone.replace(/\\D/g, '');\r\n }\r\n \r\n this.entityService.saveEntityContact(this.contact)\r\n .subscribe(\r\n success => {\r\n if (!success.Success) {\t\r\n if (success.StatusMessage != null && success.StatusMessage.indexOf('Contact already exists') !== -1) {\r\n this.showErrorAlert(success.StatusMessage);\r\n }\r\n else {\r\n this.showError(success.StatusMessage);\r\n }\t\t\t\t\r\n\t\t\t\t}\r\n else { \r\n this.showSuccess('Development contact successfully saved.');\r\n\t\t\t\t\t\r\n if (btnType == 'UPDATE') {\r\n this.sharedService.removeData(\"entitycontactParams\");\r\n this.sharedService.navigateSummary();\r\n }\r\n else if (btnType == 'ANOTHER') {\r\n this.resetForm();\r\n\r\n }\r\n }\r\n },\r\n error => {\r\n this.showError(error.ExceptionMessage)\r\n })\r\n }\r\n\r\n closeError() {\r\n this.pageError = [];\r\n this.pageSuccess = [];\r\n }\r\n\r\n showError(msg) {\r\n this.pageError = []; this.pageSuccess = [];\r\n this.showError(this.sharedService.getCustomError(msg));\r\n this.sharedService.processError(msg);\r\n }\r\n\r\n showErrorAlert(msg) {\r\n this.pageError = []; this.pageSuccess = [];\r\n this.pageError.push(msg);\r\n this.sharedService.processError(msg);\r\n }\r\n\r\n showSuccess(msg) {\r\n this.pageSuccess = []; this.pageError = [];\r\n this.pageSuccess.push(msg);\r\n this.sharedService.scroll();\r\n }\r\n\r\n home() {\r\n this.sharedService.navigateHome();\r\n }\r\n\r\n back() {\r\n this.sharedService.navigateSummary();\r\n }\r\n\r\n resetForm() {\r\n this.contact = [];\r\n this.contact\r\n\r\n }\r\n}","module.exports = \"{{title}}\\r\\n
0\\\"\\r\\n id=\\\"systemMessageHeader\\\">\\r\\n
{{item}}
\\r\\n \\r\\n
\\r\\n\\r\\n
0\\\"\\r\\n id=\\\"systemMessageHeader\\\">\\r\\n
{{item}}
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n Verification Alert\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n We were unable to verify this entity. Would you like to proceed without verifying this company?\\r\\n

Please be sure to provide the exact company legal name spelling and TIN number as it is registered with the IRS.

\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n Edit Development Entities\\r\\n
\\r\\n
\\r\\n
\\r\\n A development entity is any entity that is a part of the development construction project.
\\r\\n Your application must include at least one Applicant, Owner, and Attorney.\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\t\\t\\t\\t\\t\\t
\\r\\n\\t\\t\\t\\t\\t\\t
Company Information
\\r\\n \\t\\t\\t\\t\\t\\t
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n As registered with IRS\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n  \\r\\n \\r\\n Required\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n Street address, P.O. box etc.\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n Apt, Suite, Fl., etc.\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n Borough, town, etc.\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\t\\t\\t\\t\\t\\t\\t\\t\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\"","import { Component, OnInit } from \"@angular/core\";\r\nimport { FormGroup, FormBuilder, Validators } from \"@angular/forms\";\r\nimport { Route, Router, ActivatedRoute } from '@angular/router';\r\nimport 'rxjs/add/operator/catch';\r\n\r\n// APP \r\nimport { Entity } from '../../viewmodel';\r\nimport { PartyAddress } from '../../viewmodel';\r\nimport { StateLookup } from '../../viewmodel'; \r\nimport { LookupService } from '../../services/lookup.service';\r\nimport { EntityService } from '../../services/entity.service';\r\nimport { SharedService } from '../../services/shared.service';\r\nimport { HelperService } from '../../services/helper.service';\r\n\r\n@Component({\r\n selector: 'app-editentity',\r\n templateUrl: './editentity.component.html',\r\n providers: [EntityService]\r\n})\r\nexport class EditEntityComponent implements OnInit {\r\n title: string = 'Add Entity';\r\n\r\n entityForm: FormGroup;\r\n public phoneMask = ['(', /[1-9]/, /\\d/, /\\d/, ')', ' ', /\\d/, /\\d/, /\\d/, '-', /\\d/, /\\d/, /\\d/, /\\d/]\r\n public tinMask = [/[0-9]/, /\\d/, '-', /\\d/, /\\d/, /\\d/, /\\d/, /\\d/, /\\d/, /\\d/]\r\n public zipMask = [/[0-9]/, /\\d/, /\\d/, /\\d/, /\\d/, '-', /\\d/, /\\d/, /\\d/, /\\d/]\r\n\r\n\r\n pageError: any = [];\r\n pageSuccess: any = [];\r\n showVerifyAlert: boolean = false; \r\n clickType: string = \"\";\r\n showClearButton: boolean = false;\r\n showAddressForm: boolean = true;\r\n showAddressDDL: boolean = true;\r\n attrDisabled: any = null; //'disabled' or null for enable\r\n isFound: any = null; \r\n \r\n buttonDisable: boolean = true;\r\n applicant: boolean = false;\r\n submitted: boolean = false;\r\n searchClicked: boolean = false;\r\n entityRoles: any;\r\n states: any;\r\n taxIDTypes: any;\r\n userAssociationTypes: any;\r\n entityRole: number = 0;\r\n error: string;\r\n projectId: number = 0;\r\n entityId: number = 0;\r\n isVerified: boolean;\r\n verifyClicked: boolean;\r\n addresses: any = []; \r\n type: string;\r\n entity: any; \r\n\r\n partyId: number = 0;\r\n partyAddressId: number = 0;\r\n \r\n isStageEntry: boolean = false; \r\n isAddressStageEntry: boolean = false;\r\n initOrganization: string = ''; \r\n initTin: string = ''; \r\n isStageEntryInit: boolean;\r\n isUniverifiedInit: boolean;\r\n\r\n constructor(private router: Router\r\n , private frmBuilder: FormBuilder\r\n , private activeRoute: ActivatedRoute\r\n , private lookupService: LookupService\r\n , private entityService: EntityService\r\n , private sharedService: SharedService\r\n\t , private helperService: HelperService) {\r\n this.entity = new Entity();\r\n }\r\n\r\n ngOnInit() {\r\n this.title = 'Edit Entity'; \r\n this.entityId = this.activeRoute.snapshot.params[\"id\"];\r\n this.type = this.activeRoute.snapshot.params[\"type\"];\r\n\r\n let ids = this.sharedService.getJsonData(\"id\");\r\n if (ids != null) {\r\n if (ids.projectId != null) {\r\n this.projectId = ids.projectId;\r\n }\r\n }\r\n if (this.projectId <= 0)\r\n this.sharedService.navigateHome();\r\n\r\n let params = this.sharedService.getJsonData('entityParam');\r\n if (params != null) { \r\n this.entity.entityId = params.entityId;\r\n if (params.partyId > 0) {\r\n this.isStageEntry = false;\r\n this.partyId = params.partyId; \r\n this.partyAddressId = params.partyAddressId; \r\n this.attrDisabled = 'disabled'; \r\n }\r\n else {\r\n this.isStageEntry = true;\r\n this.partyId = params.partyStagingId;\r\n this.partyAddressId = params.partyAddressStagingId;\r\n this.attrDisabled = null; \r\n }\r\n }\r\n else {\r\n this.sharedService.navigateSummary();\r\n } \r\n\r\n if (this.entity.entityId == null || this.entity.entityId <= 0)\r\n this.sharedService.navigateSummary();\r\n \r\n this.entityForm = this.frmBuilder.group({\r\n entityRole: [{ value: this.entityRole }, [Validators.required]],\r\n isOwner: [null],\r\n organization: ['', [Validators.required]],\r\n tin: [null, [Validators.required, Validators.pattern(/^(\\d{9}|\\d{2}-\\d{7})$/)]],\r\n address1: [null, [Validators.required]],\r\n address2: [],\r\n city: [null, [Validators.required]],\r\n state: [33, [Validators.required]],\r\n zipCode: [null, [Validators.required, Validators.pattern(/^([0-9]{9}|[0-9]{5}(?:-[_]{4})?|[0-9]{5}(?:-[0-9]{4})?)$/)]],\r\n phone: [null, [Validators.required, Validators.pattern(/^\\([1-9]\\d{2}\\)\\s\\d{3}-\\d{4}|[1-9]\\d{9}$/)]],\r\n fax: [null, [Validators.pattern(/^\\([1-9]\\d{2}\\)\\s\\d{3}-\\d{4}|[1-9]\\d{9}$/)]],\r\n\r\n }); \r\n \r\n this.lookupService.getLookups('ProjectRoleType')\r\n .subscribe(\r\n successResp => {\r\n if (!successResp.Success)\r\n this.showError(successResp.StatusMessage);\r\n else\r\n this.userAssociationTypes = successResp.Result\r\n },\r\n error => {\r\n this.showError(error.ExceptionMessage)\r\n });\r\n\r\n this.lookupService.getLookups('State')\r\n .subscribe(\r\n successResp => {\r\n if (!successResp.Success)\r\n this.showError(successResp.StatusMessage);\r\n else {\r\n //this.states = successResp.Result\r\n var stateArray = successResp.Result;\r\n if (stateArray != null && stateArray.length > 0) {\r\n stateArray = stateArray.slice(0, stateArray.length - 1); // remove outofUSA\r\n this.states = stateArray;\r\n }\r\n }\r\n },\r\n error => {\r\n this.showError(error.ExceptionMessage)\r\n });\r\n\r\n // Get entity data\r\n if (this.entity.entityId != null && this.entity.entityId > 0) {\r\n \r\n this.entityService.getEntityById(this.entity.entityId)\r\n .subscribe(\r\n successResp => {\r\n if (!successResp.Success) {\r\n this.showError(successResp.StatusMessage);\r\n }\r\n else if (successResp.Result != null) {\r\n this.entity = successResp.Result as Entity \r\n\r\n //assign \r\n this.entity.partyId = this.partyId;\r\n this.entity.partyAddressId = this.partyAddressId; \r\n this.entity.isStageEntry = this.isStageEntry;\r\n\r\n this.initOrganization = successResp.Result.organization; \r\n this.initTin = successResp.Result.tin;\r\n this.isStageEntryInit = this.isStageEntry;\r\n if (this.isStageEntryInit)\r\n this.showClearButton = true; //for staging entity, show clear button by default \r\n\r\n this.zipMaskChange(); //fixed IE browser \r\n this.GetAddresses('init');\r\n //MIH 192 - display unverified party addr in DDL\r\n if (this.isStageEntry && this.addresses.length == 0) { \r\n var partyAddr = new PartyAddress(); \r\n partyAddr.AddressLine1 = this.entity.address1; \r\n partyAddr.AddressLine2 = this.entity.address2; \r\n partyAddr.City = this.entity.city; \r\n partyAddr.PostalCode = this.entity.zipCode; \r\n partyAddr.CorporatePhoneNumber = this.entity.phone; \r\n partyAddr.CorporateEmail = this.entity.emai;\r\n partyAddr.CorporateFax = this.entity.fax; \r\n\r\n // var stateId = this.entity.state;\r\n var statelookup = this.getStateInfo(this.entity.state);\r\n partyAddr.StateLookup = statelookup; \r\n this.addresses.push(partyAddr);\r\n this.isUniverifiedInit = true; \r\n this.byPartyAddressID(partyAddr); \r\n }\r\n\r\n }\r\n },\r\n error => {\r\n this.showError(error.ExceptionMessage)\r\n });\r\n }\r\n \r\n this.ScrollUp(); \r\n } \r\n\r\n selectAddr(index) {\r\n if (index >= 0) {\r\n this.attrDisabled = 'disabled';\r\n this.entity.dbApplicationId = this.addresses[index].DBApplicationID;\r\n this.entity.partyAddressId = this.addresses[index].PartyAddressID;\r\n this.entity.address1 = this.addresses[index].AddressLine1;\r\n this.entity.address2 = this.addresses[index].AddressLine2;\r\n this.entity.city = this.addresses[index].City;\r\n this.entity.zipCode = this.addresses[index].PostalCode;\r\n this.entity.phone = this.addresses[index].CorporatePhoneNumber;\r\n this.entity.fax = this.addresses[index].CorporateFax;\r\n this.entity.state = this.addresses[index].StateLookup.SeqNo;\r\n this.zipMaskChange();\r\n }\r\n else {\r\n this.resetAddrForm();\r\n }\r\n }\r\n\r\n resetAddrForm() {\r\n this.clickType = \"\";\r\n this.entity.address1 = '';\r\n this.entity.address2 = '';\r\n this.entity.city = '';\r\n this.entity.state = 33; //default\r\n this.entity.zipCode = '';\r\n this.entity.phone = '';\r\n this.entity.fax = '';\r\n this.entity.dbApplicationId = 84;\r\n this.entity.partyAddressId = 0;\r\n }\r\n\r\n clearInput() {\r\n this.searchClicked = false;\r\n this.submitted = false;\r\n this.attrDisabled = null;\r\n this.isFound = null;\r\n this.buttonDisable = false;\r\n this.showAddressForm = false;\r\n this.showAddressDDL = false;\r\n this.clickType = \"\";\r\n this.entity.entityRole = '';\r\n this.entity.organization = '';\r\n this.entity.tin = '';\r\n\t\tif (this.entityForm != null)\r\n this.entityForm.controls['tin'].setValue('');\r\n this.entity.address1 = '';\r\n this.entity.address2 = '';\r\n this.entity.city = '';\r\n this.entity.state = 33; //default\r\n this.entity.zipCode = '';\r\n this.entity.phone = '';\r\n this.entity.fax = '';\r\n this.entity.isOwner = false;\r\n this.entity.dbApplicationId = 84;\r\n this.entity.partyAddressId = 0;\r\n }\r\n\r\n\r\n confirmDelete() {\r\n\r\n }\r\n\r\n //save Entity\r\n validateEntity(buttonType): any {\r\n this.submitted = true;\r\n let entity = this.entityForm.getRawValue();\r\n if (!this.entityForm.valid) {\r\n return;\r\n }\r\n\r\n // Remove masking\r\n if (this.entity.tin) {\r\n this.entity.tin = this.entity.tin.replace(/\\D/g, '');\r\n }\r\n\r\n if (this.entity.zipCode) {\r\n this.entity.zipCode = this.entity.zipCode.replace(/\\D/g, '');\r\n }\r\n\r\n if (this.entity.phone) {\r\n this.entity.phone = this.entity.phone.replace(/\\D/g, '');\r\n }\r\n\r\n if (this.entity.fax) {\r\n this.entity.fax = this.entity.fax.replace(/\\D/g, '');\r\n }\r\n\r\n this.save(buttonType); \r\n }\r\n\r\n\r\n confirmSave() {\r\n this.showVerifyAlert = false;\r\n this.save(this.clickType); \r\n }\r\n\r\n cancelSaving() {\r\n this.showVerifyAlert = false;\r\n this.clickType = \"\";\r\n return; \r\n \r\n }\r\n\r\n //saving entity \r\n save(buttonType): any {\r\n\r\n this.entityService.saveEntity(this.entity)\r\n .subscribe(\r\n success => {\r\n if (!success.Success) {\r\n if (success.StatusMessage != null && success.StatusMessage.indexOf('entity has already been added') !== -1) {\r\n this.showErrorAlert(success.StatusMessage);\r\n }\r\n else {\r\n this.showError(success.StatusMessage);\r\n }\r\n }\r\n else {\r\n this.showSuccess('Development company successfully saved. '); \r\n if (buttonType == 'Update') {\r\n this.sharedService.removeData('entityParam');\r\n\r\n this.sharedService.navigateSummary();\r\n }\r\n }\r\n },\r\n error => { \r\n this.showError(error.ExceptionMessage)\r\n })\r\n }\r\n\r\n home() {\r\n this.sharedService.navigateHome();\r\n }\r\n back() {\r\n this.sharedService.navigateSummary();\r\n }\r\n\r\n closeError() {\r\n this.pageError = [];\r\n this.pageSuccess = [];\r\n }\r\n\r\n showError(msg) {\r\n this.pageError = []; this.pageSuccess = [];\r\n this.pageError.push(this.sharedService.getCustomError(msg));\r\n this.sharedService.processError(msg);\r\n }\r\n showErrorAlert(msg) {\r\n this.pageError = []; this.pageSuccess = [];\r\n this.pageError.push(msg);\r\n this.sharedService.processError(msg);\r\n }\r\n showSuccess(msg) {\r\n this.pageSuccess = []; this.pageError = [];\r\n this.pageSuccess.push(msg);\r\n this.sharedService.scroll();\r\n }\r\n\r\n //fix for refreshing page on enter key event\r\n enterKey(field, event) {\r\n if (event.which === 13) {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n return false;\r\n }\r\n }\r\n\r\n zipMaskChange() {\r\n this.zipMask = [/[0-9]/, /\\d/, /\\d/, /\\d/, /\\d/, '-', /\\d/, /\\d/, /\\d/, /\\d/]\r\n\r\n if (this.entity.zipCode == null)\r\n return;\r\n\r\n let tempZip = this.entity.zipCode.replace(/\\D/g, '');\r\n\r\n if (tempZip.length == 5)\r\n this.zipMask = [/[0-9]/, /\\d/, /\\d/, /\\d/, /\\d/]\r\n }\r\n\r\n zipCodeMaskBack() {\r\n this.zipMask = [/[0-9]/, /\\d/, /\\d/, /\\d/, /\\d/, '-', /\\d/, /\\d/, /\\d/, /\\d/]\r\n }\r\n\r\n getCssStyle() {\r\n var isDisable = true;\r\n if (isDisable)\r\n return { color: '#00ff00', 'font-weight': 'bold' }\r\n return {}\r\n \r\n }\r\n\r\n getPhoneAndFax(address) {\r\n var ret = '';\r\n if (address.CorporatePhoneNumber != null || address.CorporatePhoneNumber == '')\r\n ret = \" PH: \" + this.formatPhone(address.CorporatePhoneNumber);\r\n\r\n if (address.CorporateFax != null || address.CorporateFax == '')\r\n ret = ret + \" Fax: \" + this.formatPhone(address.CorporateFax);\r\n\r\n return ret;\r\n }\r\n\r\n formatPhone(value) {\r\n if (value == null || value.length == 0)\r\n return \"\";\r\n\r\n let newPhone = '';\r\n switch (value.length) {\r\n case 10:\r\n case 9:\r\n case 8:\r\n case 7:\r\n newPhone = value.slice(0, 3) + '-' + value.slice(3, 6) + '-' + value.slice(6);\r\n break;\r\n case 6:\r\n case 5:\r\n case 4:\r\n newPhone = value.slice(0, 3) + '-' + value.slice(3, 6);\r\n break;\r\n default:\r\n newPhone = value;\r\n break;\r\n\r\n }\r\n return newPhone;\r\n }\r\n\r\n GetAddresses(source) { \r\n if (source == 'button') {\r\n this.searchClicked = true;\r\n this.showClearButton = true; // do not show for onload\r\n this.buttonDisable = true; // disable if click search; \r\n }\r\n\r\n // Remove masking\r\n if (this.entity.tin) {\r\n this.entity.tin = this.entity.tin.replace(/\\D/g, '');\r\n }\r\n\r\n if ((!this.entity || !this.entity.tin) || (this.entity.organization == '' || this.entity.tin.length != 9)) {\r\n return false;\r\n }\r\n\r\n this.initOrganization = this.entity.organization;\r\n this.initTin = this.entity.tin; \r\n this.verifyClicked = true;\r\n this.pageError = []; //clear error \r\n this.showAddressDDL = true;\r\n this.showAddressForm = true;\r\n this.addresses = []; //clear address array\r\n if (this.projectId > 0) {\r\n this.entityService.searchAddress(this.entity)\r\n .subscribe(\r\n successResp => {\r\n if (!successResp.Success)\r\n this.showError(successResp.StatusMessage);\r\n else {\r\n if (successResp.Result == null) {\r\n this.isFound = null;\r\n this.attrDisabled = null;\r\n this.buttonDisable = true; \r\n }\r\n else {\r\n this.isFound = 'disabled';\r\n this.buttonDisable = true; \r\n var partyobj = successResp.Result;\r\n this.isUniverifiedInit = false; \r\n this.addresses = partyobj[0].PartyAddresses; \r\n \r\n }\r\n }\r\n },\r\n error => {\r\n if (error.status == 401)\r\n this.router.navigateByUrl('/login?session=0');\r\n this.isFound = null;\r\n this.attrDisabled = null;\r\n this.buttonDisable = false;\r\n this.showError(error.ExceptionMessage)\r\n });\r\n }\r\n }\r\n\r\n checkChangeInOrganizationTin(event) {\r\n if (!(this.initOrganization == this.entity.organization && this.initTin == this.entity.tin)) {\r\n this.buttonDisable = false;\r\n this.resetAddrForm();\r\n this.showAddressDDL = false;\r\n this.showAddressForm = false;\r\n }\r\n }\r\n\r\n ScrollUp() { \r\n var scrollTimeOut = setTimeout(function () {\r\n clearTimeout(scrollTimeOut);\r\n window.scroll(0, 0);\r\n }, 100); \r\n }\r\n\r\n byPartyAddressID(address: any)\r\n {\r\n var result = false;\r\n if (this.isUniverifiedInit) {\r\n return true;\r\n }\r\n else {\r\n\r\n if (address && address.PartyAddressID && this.partyAddressId) {\r\n result = address.PartyAddressID === this.partyAddressId;\r\n }\r\n }\r\n return result;\r\n }\r\n\r\n getStateInfo(stateId) {\r\n var state = new StateLookup(); \r\n var index = stateId - 1; \r\n if (this.states != null && index >= 0) {\r\n state.LongName = this.states[index].LongName;\r\n state.ShortName = this.states[index].ShortName;\r\n state.SeqNo = stateId;\r\n }\r\n return state; \r\n }\r\n\r\n}\r\n","module.exports = \"{{title}}\\r\\n
0\\\"\\r\\n id=\\\"systemMessageHeader\\\">\\r\\n
{{item}}
\\r\\n \\r\\n
\\r\\n\\r\\n
0\\\"\\r\\n id=\\\"systemMessageHeader\\\">\\r\\n
{{item}}
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n Edit Site Contacts {{siteAddress}}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
Update contact for {{companyName}} - {{PartyRoleName}}
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n Required\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\"","import { Component, OnInit } from \"@angular/core\";\r\nimport { FormGroup, FormBuilder, Validators } from \"@angular/forms\";\r\nimport { Route, Router, ActivatedRoute } from '@angular/router';\r\nimport 'rxjs/add/operator/catch';\r\n\r\n// APP \r\nimport { SiteContact } from '../../viewmodel'\r\nimport { EntityAdded } from '../../viewmodel'\r\nimport { SiteEntityParam } from '../../viewmodel';\r\nimport { LookupService } from '../../services/lookup.service';\r\nimport { EntityService } from '../../services/entity.service';\r\nimport { SharedService } from '../../services/shared.service';\r\nimport { BuildingService } from '../../services/building.service';\r\nimport { HelperService } from '../../services/helper.service';\r\n\r\n@Component({\r\n selector: 'app-addcontacts',\r\n templateUrl: './editsitecontact.component.html',\r\n providers: [EntityService, BuildingService]\r\n})\r\nexport class EditSiteContactComponent implements OnInit {\r\n title: string = 'Edit Site Contact';\r\n Instruction: string = 'A site contact is any person that can be reached on behalf of the company below. Your application must include at least one contact for each company added.';\r\n\r\n contactForm: FormGroup;\r\n public phoneMask = ['(', /[1-9]/, /\\d/, /\\d/, ')', ' ', /\\d/, /\\d/, /\\d/, '-', /\\d/, /\\d/, /\\d/, /\\d/]\r\n public extensionMask = [/\\d/, /\\d/, /\\d/, /\\d/]\r\n public noSpaceAtBeginning = /^[^-\\s]/;\r\n\r\n pageError: any = [];\r\n pageSuccess: any = [];\r\n submitted: boolean = false;\r\n error: string;\r\n projectId: number = 0;\r\n siteEntityId: number = 0;\r\n siteProjectBuildingId: number = 0; \r\n PartyRoleSeqNo: any;\r\n PartyRoleName: string;\r\n partyId: number;\r\n partyStagingId: number;\r\n\r\n selectedcompanyDdl = 0;\r\n type: string;\r\n contact: any;\r\n devTeamContact: any;\r\n contacts: Array;\r\n companies: Array;\r\n hasCompany: boolean = false;\r\n companyName: string;\r\n siteAddress: string = '';\r\n entityAdded: any;\r\n newEntityEntry: string = '';\r\n isDdlDisable: boolean = true;\r\n selectedCompanyIndexId: number = 0;\r\n isCheckPrimDisable: boolean = false;\r\n attrDisabled: any = null; //'disabled' or null for enable\r\n\r\n constructor(private router: Router\r\n , private frmBuilder: FormBuilder\r\n , private activeRoute: ActivatedRoute\r\n , private lookupService: LookupService\r\n , private entityService: EntityService\r\n , private buildingService: BuildingService\r\n , private sharedService: SharedService\r\n , private helperService: HelperService) {\r\n\r\n this.contact = new SiteContact();\r\n this.entityAdded = new EntityAdded();\r\n this.contact.primaryContact = false;\r\n }\r\n\r\n ngOnInit() {\r\n\r\n this.title = \"Edit Site Contact\";\r\n \r\n let ids = this.sharedService.getJsonData(\"id\");\r\n if (ids != null) {\r\n if (ids.projectId != null) {\r\n this.contact.projectId = this.projectId = ids.projectId;\r\n }\r\n }\r\n if (this.projectId <= 0)\r\n this.sharedService.navigateHome();\r\n \r\n if (this.sharedService.getData('SiteEntityContactParams') != null) {\r\n let secp = this.sharedService.getJsonData('SiteEntityContactParams');\r\n //this.contact.ProjectBuildingID = secp.siteProjectBuildingId; // param.secp.ProjectBuildingID; siteProjectBuildingId\r\n //this.contact.ProjectBldgDevTeamID = this.siteEntityId = param.secp.ProjectBldgDevTeamID =11;\r\n this.contact.ProjectBldgDevTeamID = this.siteEntityId = secp.ProjectBldgDevTeamID;\r\n this.contact.projectBldgDevTeamContactId = secp.projectBldgDevTeamContactId; \r\n this.contact.BuildingID = secp.BuildingID; //param.secp.BuildingID\r\n if (secp.contactId != null)\r\n this.contact.commContactId = secp.contactId;\r\n if (secp.newEntityEntry != null)\r\n this.newEntityEntry = secp.newEntityEntry;\r\n if (secp.partyId != 0)\r\n this.partyId = secp.partyId;\r\n if (secp.partyStagingId != 0)\r\n this.partyStagingId = secp.partyStagingId;\r\n\r\n this.PartyRoleName = secp.partyRoleName; //secp.PartyRoleName;\r\n if (secp.partyRoleSeqNo != null) {\r\n this.PartyRoleSeqNo = secp.entityRole; //secp.partyRoleSeqNo;\r\n if (this.PartyRoleName == null)\r\n this.PartyRoleName = this.helperService.getSiteRoleName(secp.entityRole);\r\n }\r\n\r\n this.siteProjectBuildingId = secp.siteProjectBuildingID; \r\n this.siteAddress = secp.siteAddress;\r\n if (secp.companyName != null)\r\n this.companyName = secp.companyName;\r\n }\r\n else {\r\n this.sharedService.navigateSummary();\r\n } \r\n\r\n //get company list\r\n /*\r\n if (this.projectId > 0) {\r\n this.entityService.getActiveEntitiesAndCurrentPendingEntity(this.projectId, this.siteEntityId, this.partyId, this.partyStagingId, this.PartyRoleSeqNo)\r\n .subscribe(\r\n successResp => {\r\n if (!successResp.Success)\r\n this.pageError.push(successResp.StatusMessage);\r\n else {\r\n this.companies = successResp.Result;\r\n\r\n if (this.companies != null && this.companies.length > 0) {\r\n this.companies.forEach((company) => {\r\n if (company.RecordStatus.SeqNo == 3) {\r\n company.PartyRoleLookup.ShortName = this.PartyRoleName;\r\n }\r\n });\r\n\r\n this.hasCompany = true;\r\n this.getCompanyInfo(this.siteEntityId);\r\n\r\n if (this.newEntityEntry != 'Y') {\r\n this.isDdlDisable = false;\r\n }\r\n }\r\n }\r\n },\r\n error => {\r\n if (error.status == 401)\r\n this.router.navigateByUrl('/login?session=0');\r\n\r\n this.pageError.push(error.ExceptionMessage)\r\n });\r\n\r\n } */\r\n //end of company list\r\n\r\n this.contactForm = this.frmBuilder.group({\r\n\r\n fName: [null, [Validators.required, Validators.pattern(this.noSpaceAtBeginning), Validators.maxLength(30)]],\r\n lName: [null, [Validators.required, Validators.pattern(this.noSpaceAtBeginning), Validators.maxLength(30)]],\r\n primary: [],\r\n email: [null, [Validators.required, Validators.maxLength(100), Validators.email]],\r\n companyPhone: [null, [Validators.required, Validators.pattern(/^\\([1-9]\\d{2}\\)\\s\\d{3}-\\d{4}|[1-9]\\d{9}$/)]],\r\n phoneExt: [],\r\n companyDdl: [-1]\r\n\r\n });\r\n\r\n \r\n \r\n // if (this.contact.entityId != null && this.contact.commContactId > 0) {\r\n this.entityService.GetMIHProjectBldgDevTeamContactByMIHProjectBldgDevTeamContactID(this.contact.projectBldgDevTeamContactId)\r\n .subscribe(\r\n successResp => {\r\n if (!successResp.Success)\r\n this.showError(successResp.StatusMessage);\r\n else if (successResp.Result != null) {\r\n this.devTeamContact = successResp.Result;\r\n\r\n if (this.devTeamContact != null)\r\n this.populateExistingData(this.devTeamContact[0]);\r\n }\r\n },\r\n error => {\r\n this.showError(error.ExceptionMessage)\r\n });\r\n //}\r\n\r\n if (this.siteProjectBuildingId > 0)\r\n this.getBuildingInfoOnlyByProjectBuildingId(this.siteProjectBuildingId); \r\n\r\n }\r\n\r\n populateExistingData(data) {\r\n this.contact.partyId = this.partyId;\r\n this.contact.partyStgId = this.partyStagingId;\r\n\r\n if (this.contact.partyId > 0) {\r\n this.entityAdded.IsStageEntry = false;\r\n this.entityAdded.PartySeqNo = this.contact.partyId;\r\n }\r\n else {\r\n this.entityAdded.IsStageEntry = true;\r\n this.entityAdded.PartySeqNo = this.contact.partyStgId;\r\n }\r\n //this.entityAdded.MIHProjectDevTeamID = this.entityId;\r\n\r\n this.contact.commContactId = data.CommContactID;\r\n this.contact.fName = data.ContactFirstName;\r\n this.contact.lName = data.ContactLastName;\r\n this.contact.email = data.ContactEmail;\r\n this.contact.isStageEntry = data.isStageEntry;\r\n this.contact.companyPhone = data.ContactPhone;\r\n this.contact.phoneExt = data.ContactPhoneExtension;\r\n this.contact.comContactTelconId = data.ContactTelecomID;\r\n\r\n if (data.PrimaryContactFlag == 'Y') {\r\n this.contact.primaryContact = true;\r\n this.attrDisabled = 'disabled';\r\n }\r\n else\r\n this.contact.primaryContact = false;\r\n }\r\n /*\r\n getCompanyInfo(entityId) {\r\n\r\n var found = false;\r\n for (var i = 0; i < this.companies.length; i++) {\r\n if (entityId == this.companies[i].MIHProjectDevTeamID) {\r\n\r\n this.companyName = this.companies[i].PartyName;\r\n this.PartyRoleName = this.companies[i].PartyRoleLookup.ShortName;\r\n this.selectCompany(i);\r\n this.selectedCompanyIndexId = i;\r\n if (this.companies[i].RecordStatus.SeqNo == 3) {\r\n this.attrDisabled = 'disabled';\r\n this.contact.primaryContact = true;\r\n }\r\n found = true;\r\n break;\r\n }\r\n }\r\n if (!found) {\r\n this.selectCompany(0);\r\n this.selectedCompanyIndexId = 0;\r\n }\r\n } */\r\n\r\n /*\r\n selectCompany(index) {\r\n //this.selectedcompanyDdl = this.contactForm.controls['companyDdl'].value;\r\n //this.contactForm.controls['companyDdl'].value = -1; \r\n if (index >= 0) {\r\n var partyId = this.companies[index].PartyID;\r\n var partyStgId = this.companies[index].PartyStagingID;\r\n var TinVerifiedFlag = this.companies[index].TINVerfiedFlag;\r\n this.contact.entityId = this.companies[index].MIHProjectDevTeamID;\r\n\r\n //this.entityAdded.IsStageEntry = partyId>0 ? false : true; \r\n if (partyId > 0) {\r\n this.contact.partyId = this.companies[index].PartyID;\r\n this.contact.isStageEntry = false;\r\n this.entityAdded.IsStageEntry = false;\r\n this.entityAdded.PartySeqNo = partyId;\r\n this.entityAdded.PartyAddressSeqNo = this.companies[index].PartyAddressID;\r\n\r\n }\r\n else {\r\n this.contact.partyId = this.companies[index].PartyStagingID;\r\n this.contact.isStageEntry = true;\r\n this.entityAdded.IsStageEntry = true;\r\n this.entityAdded.PartySeqNo = partyStgId;\r\n this.entityAdded.PartyAddressSeqNo = this.companies[index].PartyAddressStagingID;\r\n }\r\n this.entityAdded.MIHProjectDevTeamID = this.siteEntityId;\r\n this.getSiteEntityContacts(this.entityAdded);\r\n }\r\n } \r\n\r\n selectContact(index) {\r\n if (index >= 0) {\r\n this.contact.commContactId = this.contacts[index].CommContactID;\r\n this.contact.fName = this.contacts[index].FirstName;\r\n this.contact.lName = this.contacts[index].LastName;\r\n this.contact.email = this.contacts[index].EmailAddress;\r\n if (this.contacts[index].ContactPhone != null && this.contacts[index].ContactPhone[0] != null) {\r\n this.contact.companyPhone = this.contacts[index].ContactPhone[0].PhoneNumber;\r\n this.contact.phoneExt = this.contacts[index].ContactPhone[0].PhoneExtension;\r\n }\r\n }\r\n else {\r\n this.contact.commContactId = 0;\r\n this.contact.fName = '';\r\n this.contact.lName = '';\r\n this.contact.email = '';\r\n this.contact.companyPhone = '';\r\n this.contact.phoneExt = '';\r\n // this.resetAddrForm();\r\n }\r\n }\r\n\r\n getSiteEntityContacts(entityAdded) {\r\n this.entityService.getContacts(entityAdded)\r\n .subscribe(\r\n successResp => {\r\n if (!successResp.Success)\r\n this.pageError.push(successResp.StatusMessage);\r\n else if (successResp.Result != null) {\r\n if (successResp.Result.ContactDetails != null && successResp.Result.ContactDetails.length > 0) {\r\n\r\n this.contacts = successResp.Result.ContactDetails;\r\n this.contact.partyid = successResp.Result.PartySeqNo; // assign party id & isStageEntry\r\n this.contact.isStageEntry = successResp.Result.isStageEntry;\r\n\r\n }\r\n else {\r\n this.contacts = [];\r\n }\r\n }\r\n },\r\n error => {\r\n this.pageError.push(error.ExceptionMessage)\r\n window.scrollTo(0, 0);\r\n })\r\n } */\r\n\r\n saveContact(btnType): any {\r\n this.submitted = true;\r\n let cont = this.contactForm.getRawValue();\r\n if (!this.contactForm.valid)\r\n return;\r\n\r\n if (this.contact.fName != null && this.contact.fName.trim() == '')\r\n this.contact.fName = '';\r\n if (this.contact.lName != null && this.contact.lName.trim() == '')\r\n this.contact.lName = '';\r\n if (this.contact.fName == '' || this.contact.lName == '')\r\n return;\r\n \r\n this.contact.fName = this.contact.fName.trim();\r\n this.contact.lName = this.contact.lName.trim();\r\n this.contact.projectId = this.projectId;\r\n this.contact.dbApplicationId = 84;\r\n\r\n this.contact.isStageEntry = this.entityAdded.IsStageEntry;\r\n this.contact.partyId = this.entityAdded.PartySeqNo;\r\n\r\n if (this.contact.phoneExt != null && this.contact.phoneExt != '') {\r\n this.contact.phoneExt = this.contact.phoneExt.replace(/_+/g, '');\r\n }\r\n\r\n // Remove masking\r\n if (this.contact.companyPhone) {\r\n this.contact.companyPhone = this.contact.companyPhone.replace(/\\D/g, '');\r\n }\r\n\r\n this.entityService.saveSiteEntityContact(this.contact)\r\n .subscribe(\r\n success => {\r\n if (!success.Success) {\r\n if (success.StatusMessage != null && success.StatusMessage.indexOf('Contact already exists') !== -1) {\r\n this.showErrorAlert(success.StatusMessage);\r\n }\r\n else {\r\n this.showError(success.StatusMessage);\r\n }\r\n }\r\n else {\r\n this.showSuccess('Site contact successfully added.')\r\n window.scrollTo(0, 0);\r\n if (btnType == 'UPDATE') {\r\n var result = success.Result;\r\n this.sharedService.navigateSummary();\r\n }\r\n\r\n }\r\n },\r\n error => {\r\n this.showError(error.ExceptionMessage);\r\n\r\n })\r\n }\r\n\r\n //site address\r\n getBuildingInfoOnlyByProjectBuildingId(siteProjectBuildingId) {\r\n this.buildingService.GetBuildingInfoOnlyByProjectBuildingId(siteProjectBuildingId)\r\n .subscribe(\r\n successResp => {\r\n if (!successResp.Success) {\r\n //this.showErrorAlert(successResp.StatusMessage);\r\n }\r\n else if (successResp.Result != null) {\r\n if (successResp.Result.length > 0) {\r\n var bldg = successResp.Result[0];\r\n this.siteAddress = '- ' + bldg.HouseNumber + ' ' + bldg.StreetName;\r\n }\r\n }\r\n },\r\n error => {\r\n window.scrollTo(0, 0);\r\n })\r\n }\r\n\r\n closeError() {\r\n this.pageError = [];\r\n this.pageSuccess = [];\r\n }\r\n\r\n showError(msg) {\r\n this.pageError = []; this.pageSuccess = [];\r\n this.showError(this.sharedService.getCustomError(msg));\r\n this.sharedService.processError(msg);\r\n }\r\n\r\n showErrorAlert(msg) {\r\n this.pageError = []; this.pageSuccess = [];\r\n this.pageError.push(msg);\r\n this.sharedService.processError(msg);\r\n }\r\n\r\n showSuccess(msg) {\r\n this.pageSuccess = []; this.pageError = [];\r\n this.pageSuccess.push(msg);\r\n this.sharedService.scroll();\r\n }\r\n home() {\r\n this.sharedService.navigateHome();\r\n }\r\n\r\n back() {\r\n this.sharedService.navigateSummary();\r\n }\r\n\r\n resetForm() {\r\n // this.contact = [];\r\n this.entityAdded = new EntityAdded();\r\n this.contact = new SiteContact();\r\n this.contact.projectId = this.projectId;\r\n this.contact.entityId = this.siteEntityId;\r\n this.contact.dbApplicationId = 84;\r\n //this.selectCompany(0);\r\n this.selectedcompanyDdl = 0;\r\n this.submitted = false;\r\n this.isDdlDisable = false;\r\n }\r\n\r\n previous(btnType) {\r\n this.router.navigate(['/createentity']);\r\n }\r\n\r\n formatContact(contact) {\r\n var ret = '';\r\n\r\n if (!(contact.FirstName == null || contact.FirstName == ''))\r\n ret += contact.FirstName + ' ';\r\n if (!(contact.LastName == null || contact.LastName == ''))\r\n ret += contact.LastName;\r\n\r\n if (!(contact.EmailAddress == null || contact.EmailAddress == ''))\r\n ret += \" Email: \" + contact.EmailAddress;\r\n\r\n if (contact.ContactPhone != null && contact.ContactPhone.length > 0) {\r\n var comm = contact.ContactPhone[0];\r\n if (!(comm.PhoneNumber == null || comm.PhoneNumber == ''))\r\n ret += \" Ph: \" + this.formatPhone(comm.PhoneNumber);\r\n\r\n if (!(comm.PhoneExtension == null || comm.PhoneExtension == ''))\r\n ret += \" Ext: \" + comm.PhoneExtension;\r\n }\r\n return ret;\r\n }\r\n\r\n formatPhone(value) {\r\n if (value == null || value.length == 0)\r\n return \"\";\r\n\r\n let newPhone = '';\r\n switch (value.length) {\r\n case 10:\r\n case 9:\r\n case 8:\r\n case 7:\r\n newPhone = value.slice(0, 3) + '-' + value.slice(3, 6) + '-' + value.slice(6);\r\n break;\r\n case 6:\r\n case 5:\r\n case 4:\r\n newPhone = value.slice(0, 3) + '-' + value.slice(3, 6);\r\n break;\r\n default:\r\n newPhone = value;\r\n break;\r\n }\r\n return newPhone;\r\n }\r\n}\r\n","module.exports = \"{{title}}\\r\\n
0\\\"\\r\\n id=\\\"systemMessageHeader\\\">\\r\\n
{{item}}
\\r\\n
\\r\\n
\\r\\n\\r\\n
0\\\"\\r\\n id=\\\"systemMessageHeader\\\">\\r\\n
{{item}}
\\r\\n \\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n Verification Alert\\r\\n \\r\\n
\\r\\n
\\r\\n We were unable to verify this entity. Would you like to proceed without verifying this company?\\r\\n

Please be sure to provide the exact company legal name spelling and TIN number as it is registered with the IRS.

\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n Edit Site Entities {{siteAddress}}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
Company Information
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n As registered with IRS\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\\t\\t\\t\\t\\t
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n Required\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n Street address, P.O. box etc.\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n Apt, Suite, Fl., etc.\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n Borough, town, etc.\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\\t\\t\\t
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\"","import { Component, OnInit } from \"@angular/core\";\r\nimport { FormGroup, FormBuilder, Validators } from \"@angular/forms\";\r\nimport { Route, Router, ActivatedRoute } from '@angular/router';\r\nimport 'rxjs/add/operator/catch';\r\n// APP \r\nimport { SiteEntity } from '../../viewmodel';\r\nimport { EntityParam } from '../../viewmodel';\r\nimport { SiteEntityParam } from '../../viewmodel';\r\nimport { LookupService } from '../../services/lookup.service';\r\nimport { EntityService } from '../../services/entity.service';\r\nimport { SharedService } from '../../services/shared.service';\r\nimport { HelperService } from '../../services/helper.service';\r\n\r\n\r\n@Component({\r\n selector: 'app-createentity',\r\n templateUrl: './editsiteentity.component.html',\r\n providers: [EntityService]\r\n})\r\nexport class EditSiteEntityComponent implements OnInit {\r\n title: string = 'Add Site Entity';\r\n Instruction: string = 'A site entity is any entity that is a part of the MIH Site construction project. Your application must include at least one Applicant, Owner, and Architect at initial submission.';\r\n\r\n entityForm: FormGroup;\r\n public phoneMask = ['(', /[1-9]/, /\\d/, /\\d/, ')', ' ', /\\d/, /\\d/, /\\d/, '-', /\\d/, /\\d/, /\\d/, /\\d/]\r\n public tinMask = [/[0-9]/, /\\d/, '-', /\\d/, /\\d/, /\\d/, /\\d/, /\\d/, /\\d/, /\\d/]\r\n public zipMask = [/[0-9]/, /\\d/, /\\d/, /\\d/, /\\d/, '-', /\\d/, /\\d/, /\\d/, /\\d/]\r\n\r\n pageError: any = [];\r\n pageSuccess: any = [];\r\n showVerifyAlert: boolean = false;\r\n clickType: string = \"\";\r\n showClearButton: boolean = false;\r\n showAddressForm: boolean = true;\r\n showAddressDDL: boolean = true;\r\n attrDisabled: any = null; //'disabled' or null for enable\r\n isFound: any = null; //'disabled' or null for enable\r\n buttonDisable: boolean = true;\r\n applicant: boolean = false;\r\n submitted: boolean = false;\r\n searchClicked: boolean = false;\r\n entityRoles: any;\r\n states: any;\r\n taxIDTypes: any;\r\n userAssociationTypes: any;\r\n entityRole: number = 0;\r\n PartyRoleName: string;\r\n sitebid: number;\r\n error: string;\r\n projectId: number = 0;\r\n entityId: number = 0;\r\n isVerified: boolean;\r\n verifyClicked: boolean;\r\n siteAddress: string;\r\n addresses: any = [];\r\n\r\n type: string;\r\n entity: any;\r\n\r\n projectBuildingId: number; \r\n buildingId: number; \r\n partyId: number = 0;\r\n partyAddressId: number = 0;\r\n isStageEntry: boolean = false; \r\n isAddressStageEntry: boolean = false;\r\n initOrganization: string = ''; \r\n initTin: string = ''; \r\n isStageEntryInit: boolean;\r\n constructor(private router: Router\r\n , private frmBuilder: FormBuilder\r\n , private activeRoute: ActivatedRoute\r\n , private lookupService: LookupService\r\n , private entityService: EntityService\r\n , private sharedService: SharedService\r\n , private helperService: HelperService) {\r\n this.entity = new SiteEntity();\r\n this.entity.entityRole = 0; \r\n\r\n }\r\n\r\n ngOnInit() {\r\n let ids = this.sharedService.getJsonData(\"id\");\r\n if (ids != null) {\r\n if (ids.projectId != null) {\r\n this.entity.projectId = this.projectId = ids.projectId;\r\n }\r\n }\r\n \t if (this.projectId <= 0)\r\n this.sharedService.navigateHome();\r\n\r\n let sep = this.sharedService.getJsonData('SiteEntityParam');\r\n if (sep != null) {\r\n this.entity.ProjectBldgDevTeamID = this.entity.entityId = sep.projectBldgDevTeamId;\r\n this.entity.ProjectBuildingID = this.projectBuildingId = sep.siteProjectBuildingId;\r\n this.entity.BuildingID = this.buildingId = sep.bldgId;\r\n this.siteAddress = sep.siteAddress;\r\n if (sep.entityRole != null) {\r\n this.entity.entityRole = this.entityRole = sep.entityRole;\r\n }\r\n\r\n if (sep.partyId > 0) {\r\n this.isStageEntry = false;\r\n this.partyId = sep.partyId;\r\n this.partyAddressId = sep.partyAddressId;\r\n this.attrDisabled = 'disabled';\r\n }\r\n else {\r\n this.isStageEntry = true;\r\n this.partyId = sep.partyStagingId;\r\n this.partyAddressId = sep.partyAddressStagingId;\r\n this.attrDisabled = null;\r\n }\r\n }\r\n else {\r\n this.sharedService.navigateSummary();\r\n }\r\n\r\n if (this.projectId <= 0 || this.projectBuildingId <= 0) {\r\n this.sharedService.navigateHome();\r\n }\r\n\r\n this.entityForm = this.frmBuilder.group({\r\n entityRole: [{ value: this.entityRole}, [Validators.required]],\r\n isOwner: [null],\r\n organization: ['', [Validators.required]],\r\n tin: [null, [Validators.required, Validators.pattern(/^(\\d{9}|\\d{2}-\\d{7})$/)]],\r\n address1: [null, [Validators.required]],\r\n address2: [],\r\n city: [null, [Validators.required]],\r\n state: [33, [Validators.required]],\r\n zipCode: [null, [Validators.required, Validators.pattern(/^([0-9]{9}|[0-9]{5}(?:-[_]{4})?|[0-9]{5}(?:-[0-9]{4})?)$/)]],\r\n phone: [null, [Validators.required, Validators.pattern(/^\\([1-9]\\d{2}\\)\\s\\d{3}-\\d{4}|[1-9]\\d{9}$/)]],\r\n fax: [null, [Validators.pattern(/^\\([1-9]\\d{2}\\)\\s\\d{3}-\\d{4}|[1-9]\\d{9}$/)]],\r\n\r\n });\r\n\r\n this.lookupService.getLookups('ProjectRoleType')\r\n .subscribe(\r\n successResp => {\r\n if (!successResp.Success)\r\n this.showError(successResp.StatusMessage);\r\n else\r\n this.userAssociationTypes = successResp.Result\r\n },\r\n error => {\r\n this.showError(error.ExceptionMessage)\r\n });\r\n\r\n this.lookupService.getLookups('State')\r\n .subscribe(\r\n successResp => {\r\n if (!successResp.Success)\r\n this.showError(successResp.StatusMessage);\r\n else {\r\n //this.states = successResp.Result;\r\n var stateArray = successResp.Result;\r\n if (stateArray != null && stateArray.length > 0) {\r\n stateArray = stateArray.slice(0, stateArray.length - 1); //remove outofUSA\r\n this.states = stateArray;\r\n }\r\n }\r\n },\r\n error => {\r\n this.showError(error.ExceptionMessage)\r\n });\r\n\r\n // Check for update \r\n if (this.entity.entityId != null && this.entity.entityId > 0) {\r\n this.entityService.getSiteEntitiyBySiteEntityId(this.entity.entityId)\r\n .subscribe(\r\n successResp => {\r\n if (!successResp.Success) {\r\n this.showError(successResp.StatusMessage);\r\n }\r\n else if (successResp.Result != null) {\r\n this.entity = successResp.Result as SiteEntity;\r\n\r\n\t\t\t //assign \r\n this.entity.partyId = this.partyId;\r\n this.entity.partyAddressId = this.partyAddressId; \r\n this.entity.isStageEntry = this.isStageEntry;\r\n\r\n this.initOrganization = successResp.Result.organization; \r\n this.initTin = successResp.Result.tin;\r\n this.isStageEntryInit = this.isStageEntry;\r\n if (this.isStageEntryInit)\r\n this.showClearButton = true; //for staging entity, show clear button by default \r\n\r\n this.zipMaskChange(); //fixed IE browser \r\n this.GetAddresses('init');\r\n }\r\n },\r\n error => {\r\n this.showError(error.ExceptionMessage)\r\n });\r\n }\r\n\r\n this.helperService.scrollUp();\r\n }\r\n\r\n \r\n\r\n selectAddr(index) {\r\n if (index >= 0) {\r\n this.attrDisabled = 'disabled';\r\n this.entity.dbApplicationId = this.addresses[index].DBApplicationID;\r\n this.entity.partyAddressId = this.addresses[index].PartyAddressID;\r\n this.entity.address1 = this.addresses[index].AddressLine1;\r\n this.entity.address2 = this.addresses[index].AddressLine2;\r\n this.entity.city = this.addresses[index].City;\r\n this.entity.zipCode = this.addresses[index].PostalCode;\r\n this.entity.phone = this.addresses[index].CorporatePhoneNumber;\r\n this.entity.fax = this.addresses[index].CorporateFax;\r\n this.entity.state = this.addresses[index].StateLookup.SeqNo;\r\n this.zipMaskChange();\r\n }\r\n else {\r\n this.resetAddrForm();\r\n }\r\n }\r\n\r\n resetAddrForm() {\r\n this.clickType = \"\";\r\n this.entity.address1 = '';\r\n this.entity.address2 = '';\r\n this.entity.city = '';\r\n this.entity.state = 33; //default\r\n this.entity.zipCode = '';\r\n this.entity.phone = '';\r\n this.entity.fax = '';\r\n this.entity.isOwner = false;\r\n this.entity.dbApplicationId = 84;\r\n this.entity.partyAddressId = 0;\r\n }\r\n\r\n clearInput() {\r\n this.searchClicked = false;\r\n this.submitted = false;\r\n this.attrDisabled = null;\r\n this.isFound = null;\r\n this.buttonDisable = false;\r\n this.showAddressForm = false;\r\n this.showAddressDDL = false;\r\n this.clickType = \"\";\r\n this.entity.entityRole = '';\r\n this.entity.organization = '';\r\n this.entity.tin = '';\r\n\t\tif (this.entityForm != null)\r\n this.entityForm.controls['tin'].setValue(''); \r\n this.entity.address1 = '';\r\n this.entity.address2 = '';\r\n this.entity.city = '';\r\n this.entity.state = 33; //default\r\n this.entity.zipCode = '';\r\n this.entity.phone = '';\r\n this.entity.fax = '';\r\n this.entity.isOwner = false;\r\n this.entity.dbApplicationId = 84;\r\n this.entity.partyAddressId = 0;\r\n }\r\n\r\n //save site Entity\r\n validateEntity(buttonType): any {\r\n\r\n this.submitted = true;\r\n let entity = this.entityForm.getRawValue();\r\n if (!this.entityForm.valid) {\r\n return;\r\n }\r\n if (entity.entityRole == 0)\r\n return;\r\n\r\n // Remove masking\r\n if (this.entity.tin) {\r\n this.entity.tin = this.entity.tin.replace(/\\D/g, '');\r\n }\r\n\r\n if (this.entity.zipCode) {\r\n this.entity.zipCode = this.entity.zipCode.replace(/\\D/g, '');\r\n }\r\n\r\n if (this.entity.phone) {\r\n this.entity.phone = this.entity.phone.replace(/\\D/g, '');\r\n }\r\n\r\n if (this.entity.fax) {\r\n this.entity.fax = this.entity.fax.replace(/\\D/g, '');\r\n }\r\n\r\n this.entity.suppressCheck = false;\r\n this.save(buttonType);\r\n }\r\n\r\n confirmSave() {\r\n this.showVerifyAlert = false;\r\n this.save(this.clickType);\r\n }\r\n\r\n cancelSaving() {\r\n this.showVerifyAlert = false;\r\n this.clickType = \"\";\r\n return;\r\n\r\n }\r\n\r\n //save site entity \r\n save(buttonType): any {\r\n\r\n this.entityService.saveSiteEntity(this.entity)\r\n .subscribe(\r\n success => {\r\n if (!success.Success) {\r\n if (success.StatusMessage != null && success.StatusMessage.indexOf('entity has already been added') !== -1) {\r\n this.showErrorAlert(success.StatusMessage);\r\n }\r\n else {\r\n this.showError(success.StatusMessage);\r\n } \r\n }\r\n else {\r\n this.showSuccess('Development company successfully saved.');\r\n if (buttonType == 'Update') {\r\n this.sharedService.removeData('SiteEntityParam');\r\n this.sharedService.navigateSummary();\r\n }\r\n }\r\n },\r\n error => {\r\n this.showError(error.ExceptionMessage)\r\n })\r\n } \r\n\r\n closeError() {\r\n this.pageError = [];\r\n this.pageSuccess = [];\r\n }\r\n\r\n showError(msg) {\r\n this.pageError = []; this.pageSuccess = [];\r\n this.pageError.push(this.sharedService.getCustomError(msg));\r\n this.sharedService.processError(msg);\r\n }\r\n showErrorAlert(msg) {\r\n this.pageError = []; this.pageSuccess = [];\r\n this.pageError.push(msg);\r\n this.sharedService.processError(msg);\r\n }\r\n showSuccess(msg) {\r\n this.pageSuccess = []; this.pageError = [];\r\n this.pageSuccess.push(msg);\r\n this.sharedService.scroll();\r\n }\r\n\r\n //fix for refreshing page on enter key event\r\n enterKey(field, event) {\r\n if (event.which === 13) {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n return false;\r\n }\r\n }\r\n\r\n zipMaskChange() {\r\n this.zipMask = [/[0-9]/, /\\d/, /\\d/, /\\d/, /\\d/, '-', /\\d/, /\\d/, /\\d/, /\\d/]\r\n\r\n if (this.entity.zipCode == null)\r\n return;\r\n\r\n let tempZip = this.entity.zipCode.replace(/\\D/g, '');\r\n\r\n if (tempZip.length == 5)\r\n this.zipMask = [/[0-9]/, /\\d/, /\\d/, /\\d/, /\\d/]\r\n }\r\n\r\n zipCodeMaskBack() {\r\n this.zipMask = [/[0-9]/, /\\d/, /\\d/, /\\d/, /\\d/, '-', /\\d/, /\\d/, /\\d/, /\\d/]\r\n }\r\n\r\n cancel() {\r\n this.sharedService.removeData('SiteEntityParam')\r\n this.sharedService.navigateSummary();\r\n }\r\n\r\n home() {\r\n this.sharedService.navigateHome();\r\n }\r\n\r\n back() {\r\n this.sharedService.navigateSummary();\r\n }\r\n\r\n getPhoneAndFax(address) {\r\n var ret = '';\r\n if (address.CorporatePhoneNumber != null || address.CorporatePhoneNumber == '')\r\n ret = \" PH: \" + this.helperService.formatPhone(address.CorporatePhoneNumber);\r\n\r\n if (address.CorporateFax != null || address.CorporateFax == '')\r\n ret = ret + \" Fax: \" + this.helperService.formatPhone(address.CorporateFax);\r\n\r\n return ret;\r\n }\r\n formatPhone(value) {\r\n if (value == null || value.length == 0)\r\n return \"\";\r\n\r\n let newPhone = '';\r\n switch (value.length) {\r\n case 10:\r\n case 9:\r\n case 8:\r\n case 7:\r\n newPhone = value.slice(0, 3) + '-' + value.slice(3, 6) + '-' + value.slice(6);\r\n break;\r\n case 6:\r\n case 5:\r\n case 4:\r\n newPhone = value.slice(0, 3) + '-' + value.slice(3, 6);\r\n break;\r\n default:\r\n newPhone = value;\r\n break;\r\n\r\n }\r\n return newPhone;\r\n }\r\n\r\n //search addresses\r\n GetAddresses(source) {\r\n\r\n if (source == 'button') {\r\n this.searchClicked = true;\r\n this.showClearButton = true; // do not show for onload\r\n this.buttonDisable = true; // disable if click search; \r\n }\r\n\r\n // Remove masking\r\n if (this.entity.tin) {\r\n this.entity.tin = this.entity.tin.replace(/\\D/g, '');\r\n }\r\n\r\n if ((!this.entity || !this.entity.tin) || (this.entity.organization == '' || this.entity.tin.length != 9)) {\r\n return false;\r\n }\r\n\r\n this.initOrganization = this.entity.organization;\r\n this.initTin = this.entity.tin; \r\n this.verifyClicked = true;\r\n this.pageError = []; //clear error \r\n \r\n this.showAddressDDL = true;\r\n this.showAddressForm = true;\r\n this.addresses = []; //clear address array\r\n if (this.projectId > 0) {\r\n\r\n this.entityService.searchAddress(this.entity)\r\n .subscribe(\r\n successResp => {\r\n if (!successResp.Success)\r\n this.showError(successResp.StatusMessage);\r\n else {\r\n if (successResp.Result == null) {\r\n this.isFound = null;\r\n this.attrDisabled = null;\r\n this.buttonDisable = true;\r\n }\r\n else {\r\n this.isFound = 'disabled';\r\n this.buttonDisable = true;\r\n var partyobj = successResp.Result;\r\n this.addresses = partyobj[0].PartyAddresses; \r\n }\r\n }\r\n },\r\n error => {\r\n if (error.status == 401)\r\n this.router.navigateByUrl('/login?session=0');\r\n this.isFound = null;\r\n this.attrDisabled = null;\r\n this.buttonDisable = false;\r\n this.showError(error.ExceptionMessage)\r\n });\r\n }\r\n }\r\n\r\n checkChangeInOrganizationTin(e) {\r\n if (!(this.initOrganization == this.entity.organization && this.initTin == this.entity.tin)) {\r\n this.buttonDisable = false;\r\n this.resetAddrForm();\r\n this.showAddressDDL = false;\r\n this.showAddressForm = false;\r\n }\r\n }\r\n\r\n isEntityRoleInValid(submitted) {\r\n return this.entity.entityRole == 0 && this.submitted;\r\n }\r\n byPartyAddressID(address: any)\r\n {\r\n var result = false;\r\n if (address && address.PartyAddressID && this.partyAddressId) {\r\n result = address.PartyAddressID === this.partyAddressId;\r\n }\r\n return result;\r\n }\r\n}\r\n","module.exports = \"\\r\\nAccount\\r\\n
0\\\" id=\\\"systemMessageHeader\\\">\\r\\n
{{item}}
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n MIH Online Registration \\r\\n
\\r\\n
\\r\\n
Please provide the following details to register your account with MIH Online.
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n Can be updated under profile in the upper right\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n Can be updated under profile in the upper right\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\"","// NG 2\r\nimport { Component, OnInit } from '@angular/core';\r\nimport { FormGroup, FormBuilder, Validators } from '@angular/forms';\r\nimport { Route, Router } from '@angular/router';\r\nimport { AuthenticationService } from '../../services/authentication.service';\r\nimport { AccountService } from '../../services/account.service';\r\nimport { SharedService } from '../../services/shared.service';\r\n\r\n// APP\r\nimport { Account } from '../../viewmodel';\r\n\r\n@Component({\r\n selector: 'app-account',\r\n templateUrl: './account.component.html',\r\n providers: [AccountService]\r\n})\r\nexport class AccountComponent implements OnInit {\r\n account: any;\r\n\r\n pageError: any = [];\r\n pageSuccess: any = [];\r\n userAccount: Account;\r\n accountForm: FormGroup;\r\n userEmail: string = '';\r\n submitted: boolean = false;\r\n showSaveBotton: boolean = false;\r\n\r\n public phoneMask = ['(', /[1-9]/, /\\d/, /\\d/, ')', ' ', /\\d/, /\\d/, /\\d/, '-', /\\d/, /\\d/, /\\d/, /\\d/]\r\n\r\n constructor(\r\n private router: Router,\r\n private _frmBuilder: FormBuilder,\r\n private authenticationService: AuthenticationService,\r\n private accountService: AccountService,\r\n private sharedService: SharedService) {\r\n this.userAccount = new Account();\r\n }\r\n\r\n ngOnInit() {\r\n\r\n var fullName = \"\";\r\n this.account = new Account();\r\n var user = this.sharedService.getJsonData(\"loggedInUser\");\r\n this.getAccountByUserId(user.UserID);\r\n\r\n this.accountForm = this._frmBuilder.group({\r\n organization: [null, [Validators.required]],\r\n phone: [null, [Validators.required, Validators.pattern(/^\\([1-9]\\d{2}\\)\\s\\d{3}-\\d{4}|[1-9]\\d{9}$/)]]\r\n })\r\n }\r\n\r\n getAccountByUserId(email) {\r\n this.accountService.getAccountByUserId(email)\r\n .subscribe(\r\n successResp => {\r\n\r\n if (!successResp.Success) {\r\n this.showError(successResp.StatusMessage);\r\n\r\n if (successResp.StatusMessage.indexOf('SessionNotExists') !== -1) {\r\n window.location.href = '/MIH/#/login?session=0';\r\n }\r\n }\r\n else {\r\n this.account = successResp.Result;\r\n if (this.account == null)\r\n this.showSaveBotton = false;\r\n else {\r\n this.userAccount.firstName = this.account.FirstName;\r\n this.userAccount.lastName = this.account.LastName;\r\n this.userAccount.fullName = this.account.FirstName + ' ' + this.account.LastName;\r\n this.userAccount.email = this.account.UserID;\r\n this.userAccount.organization = this.account.OrganizationName;\r\n this.userAccount.phone = this.account.HomePhone;\r\n\r\n if (this.userAccount.firstName == null || this.userAccount.firstName == 'N_A' || this.userAccount.firstName.trim() == ''\r\n || this.userAccount.lastName == null || this.userAccount.lastName == 'N_A' || this.userAccount.lastName.trim() == ''\r\n || this.userAccount.email == null || this.userAccount.email == '') {\r\n this.updateProfile();\r\n }\r\n\r\n this.showSaveBotton = true;\r\n }\r\n }\r\n\r\n },\r\n error => {\r\n this.showError(error.ExceptionMessage);\r\n })\r\n }\r\n\r\n //save(model, isValid)\r\n SaveAccount(): any {\r\n this.submitted = true;\r\n if (!this.accountForm.valid) {\r\n return false;\r\n }\r\n\r\n if (this.userAccount.organization == null || this.userAccount.organization.trim() == '') {\r\n this.userAccount.organization = '';\r\n return false;\r\n }\r\n\r\n if (this.userAccount.phone == null || this.userAccount.phone.trim() == '') {\r\n this.userAccount.phone = '';\r\n return false;\r\n }\r\n\r\n // Remove masking\r\n if (this.userAccount.phone) {\r\n this.userAccount.phone = this.userAccount.phone.replace(/\\D/g, '');\r\n }\r\n\r\n this.accountService.saveAccount(this.userAccount)\r\n .subscribe(\r\n success => {\r\n this.sharedService.setJsonData('account', this.userAccount);\r\n this.showSuccess('Saved Successfully!');\r\n let intervalId = setInterval(() => {\r\n this.pageSuccess = [];\r\n }, 2000);\r\n\r\n this.router.navigate([\"/home/save\"]);\r\n },\r\n error => {\r\n this.showError(error.statusText)\r\n })\r\n }\r\n\r\n updateProfile() {\r\n var profileUrlLink = '';\r\n\r\n this.authenticationService.getUpdateProfile()\r\n .subscribe(profileUrl => {\r\n profileUrlLink = profileUrl.d;\r\n window.location.href = profileUrlLink;\r\n });\r\n }\r\n\r\n closeError() {\r\n this.pageError = [];\r\n this.pageSuccess = [];\r\n }\r\n\r\n showError(msg) {\r\n this.pageError = []; this.pageSuccess = [];\r\n this.pageError.push(this.sharedService.getCustomError(msg));\r\n this.sharedService.processError(msg);\r\n }\r\n\r\n showErrorAlert(msg) {\r\n this.pageError = []; this.pageSuccess = [];\r\n this.pageError.push(msg);\r\n this.sharedService.processError(msg);\r\n }\r\n\r\n showSuccess(msg) {\r\n this.pageSuccess = []; this.pageError = [];\r\n this.pageSuccess.push(msg);\r\n this.sharedService.scroll();\r\n }\r\n\r\n}\r\n\r\n","module.exports = \"{{title}}\\r\\n
0\\\" id=\\\"pageError\\\">\\r\\n
{{item}}
\\r\\n \\r\\n
\\r\\n\\r\\n
0\\\" id=\\\"pageSuccess\\\">\\r\\n
{{item}}
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
BBL Not Found\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
The BBL provided has not been found. If this is a lot split or merge, please use the existing BBL to add the building to your application.
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n Add Building\\r\\n
\\r\\n
\\r\\n
Please follow the instructions below to add a building to your application.
\\r\\n
\\r\\n
\\r\\n
\\r\\n
Verify BBL
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
Enter an Address
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n Required\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\"","import { Component, OnInit} from '@angular/core';\nimport { trigger, state, transition, animate, style } from '@angular/animations';\nimport { FormGroup, FormBuilder, Validators } from \"@angular/forms\";\nimport { Route, Router, ActivatedRoute } from '@angular/router';\nimport { LookupService } from '../../services/lookup.service';\nimport { BuildingService } from '../../services/building.service';\nimport { SharedService } from '../../services/shared.service';\nimport { BuildingQuestionParam } from '../../viewmodel';\nimport { AddBuildingForm } from '../../viewmodel';\nimport { FoucsChangeService } from '../../services/focuschange.service';\n\n@Component({\n selector: 'app-addbuilding',\n templateUrl: './addbuilding.component.html',\n providers: [BuildingService],\n animations: [\n trigger(\n 'enterAnimation', [\n transition(':enter', [\n style({ transform: 'translateX(100%)', opacity: 0 }),\n animate('500ms', style({ transform: 'translateX(0)', opacity: 1 }))\n ]),\n transition(':leave', [\n style({ transform: 'translateX(0)', opacity: 1 }),\n animate('500ms', style({ transform: 'translateX(100%)', opacity: 0 }))\n ])\n ]\n )\n ]\n})\nexport class AddbuildingComponent implements OnInit {\n\n title: string = 'Add Building';\n projectId: number = 0;\n isVerified: boolean;\n verifyClicked: boolean;\n showNewStreetTextBox: boolean = false; \n submitted: boolean;\n buildingForm: FormGroup;\n model: AddBuildingForm; \n boroughs: any;\n pageError: any = [];\n pageSuccess: any = [];\n streets: Array = [];\n _newStConst = '__enternewst';\n isAppEditable: boolean = false; \n showNotFoundPopup: boolean = false; \n\n constructor(private formBuilder: FormBuilder\n , private activeRoute: ActivatedRoute\n , private lookupService: LookupService\n , private buildingService: BuildingService\n , private sharedService: SharedService\n , private foucsChangeService: FoucsChangeService\n , private router: Router) {\n\n this.model = new AddBuildingForm();\n }\n\n ngOnInit() {\n \n let ids = this.sharedService.getJsonData(\"id\");\n if (ids != null) {\n if (ids.projectId != null) {\n this.projectId = this.model.ProjectId = ids.projectId;\n } \n }\n if (this.projectId <= 0) {\n this.sharedService.navigateHome();\n }\n \n this.isVerified = false;\n this.verifyClicked = false;\n this.submitted = false;\n this.buildingForm = this.formBuilder.group({\n ProjectId: [this.projectId],\n Borough: [null, [Validators.required]],\n Block: [null, [Validators.required, Validators.min(1), Validators.max(99999), Validators.pattern(\"[0-9][0-9]{0,4}?\")]],\n Lot: [null, [Validators.required, Validators.min(1), Validators.max(9999), Validators.pattern(\"[0-9][0-9]{0,3}?\")]],\n Phn: [null, [Validators.required, Validators.min(1), Validators.pattern(\"(^[a-zA-Z0-9]+(-{0,1})[a-zA-Z0-9]+|^[a-zA-Z0-9])$\")]],\n Street: [null, [Validators.required]],\n NewStreet: ['', [Validators.pattern(\"(^[\\-a-zA-Z0-9 ]+)$\")]] \n })\n\n this.lookupService.getLookups('Boro')\n .subscribe(\n successResp => {\n if (!successResp.Success)\n this.showError(successResp.StatusMessage);\n else \n this.boroughs = successResp.Result\n },\n error => { \n this.showError(error.ExceptionMessage);\n }); \n\n }\n\n\n verifyAgain() {\n this.isVerified = false;\n this.model.NewStreetName = ''; \n this.showNewStreetTextBox = false;\n }\n closeError() {\n this.pageError = [];\n this.pageSuccess = [];\n }\n\n verify() {\n \n this.verifyClicked = true;\n this.pageError = []; // Clear error \n this.buildingForm.controls['Phn'].setValue('');\n this.buildingForm.controls[\"Street\"].setValue('');\n this.streets = []; \n\n if (this.buildingForm.controls['Borough'].value == null || this.buildingForm.controls['Borough'].value == '' ||\n this.buildingForm.controls['Block'].value == null || this.buildingForm.controls['Block'].value == '' ||\n this.buildingForm.controls['Lot'].value == null || this.buildingForm.controls['Lot'].value == '' ||\n this.buildingForm.controls['Block'].hasError('pattern') || this.buildingForm.controls['Lot'].hasError('pattern')) {\n return false;\n } \n if (this.model.Lot == 0) {\n return false; \n }\n if (this.model.Block == 0) {\n return false; \n }\n \n\n this.buildingService.getBuildingsByBBL(this.buildingForm.controls['Borough'].value,\n this.buildingForm.controls['Block'].value,\n this.buildingForm.controls['Lot'].value)\n .subscribe(\n success => {\n if (!success.Success) {\n if (success.StatusMessage != null && success.StatusMessage.indexOf('NoRecordFound') !== -1) {\n //this.showErrorAlert(\"No record found.\");\n this.pageError = []; this.pageSuccess = [];\n this.showNotFoundPopup = true;\n this.foucsChangeService.changeFocus(false);\n }\n else {\n this.showError(success.StatusMessage);\n }\n } \n else \n {\n this.isVerified = true;\n this.streets = success.Result; \n if (document.getElementById('phn') != null) {\n setTimeout(function () {\n document.getElementById('phn').focus();\n }, 300); \n } \n }\n },\n errorResp => {\n this.verifyClicked = true;\n this.isVerified = false;\n if (errorResp.StatusMessage != null && errorResp.StatusMessage.indexOf('NoRecordFound') !== -1) { \n this.pageError = []; this.pageSuccess = [];\n this.showNotFoundPopup = true;\n this.foucsChangeService.changeFocus(false);\n }\n else \n this.showError(errorResp.ExceptionMessage); \n });\n }\n\n save(bType) {\n this.submitted = true; \n var md = this.model; \n \n if (md.StreetName === this._newStConst && md.NewStreetName != null) {\n if (md.NewStreetName.trim() == '') {\n this.model.NewStreetName = md.NewStreetName.trim();\n return;\n }\n }\n\n if (!this.buildingForm.valid) {\n return;\n } \n\n this.buildingForm.value.NewStreet = this.buildingForm.value.NewStreet.replace(/ +/g, ' ').trim(); \n var addr = ''; \n addr = this.getAddress(this.buildingForm.value.Phn, this.buildingForm.value.Street, this.buildingForm.value.NewStreet );\n this.buildingService.saveBuilding(this.buildingForm.value)\n .subscribe( \n success => {\n if (!success.Success) {\n if (success.StatusMessage != null && success.StatusMessage.indexOf('building has already been added') !== -1)\n this.showErrorAlert(success.StatusMessage); \n else if (success.StatusMessage != null && success.StatusMessage.indexOf('NoRecordFound') !== -1) \n {\n this.showErrorAlert('No Record Found'); \n }\n else \n this.showError(success.StatusMessage); \n }\n else {\n if (success.Result != null) {\n this.showSuccess('Saved Successfully!');\n var ProjectDevBuilding = success.Result; \n if (bType == 'NEXT') {\n var BQP = new BuildingQuestionParam();\n BQP.devProjectBuildingId = ProjectDevBuilding.DevProjectBuildingID; \n BQP.bldgId = ProjectDevBuilding.BldgID;\n BQP.siteProjectBuildingId = null;\n BQP.buildingAddress = addr; \n BQP.mood = 'A'; \n this.sharedService.setJsonData('BuildingQuestionParam', BQP); \n this.router.navigate(['/buildings/unitcount'], { replaceUrl: true });\n }\n else if (bType == 'LATER') {\n this.sharedService.navigateSummary();\n }\n }\n else {\n this.showErrorAlert(success.StatusMessage);\n }\n }\n },\n error => {\n\t\t if (!(error.ExceptionMessage != null && error.ExceptionMessage.indexOf('NoRecordFound') !== -1)) {\n \tthis.showError(error.ExceptionMessage);\n\t\t}\n })\n }\n\n changeStreetName() {\n var streetName = this.buildingForm.value.Street;\n if (streetName === this._newStConst) {\n this.showNewStreetTextBox = true;\n }\n else {\n this.showNewStreetTextBox = false;\n this.model.NewStreetName = ''; \n }\n }\n\n validateNewStreet() {\n var result = (this.model.StreetName == this._newStConst && this.model.NewStreetName == '');\n if (result == true) \n this.buildingForm.get('NewStreet').updateValueAndValidity();\n return result;\n }\n\n getAddress(phn, streetName, newStreet) {\n var addr = '';\n if (streetName == null)\n return '';\n\n if ( streetName == this._newStConst && !(newStreet == null || newStreet == '')) {\n streetName = newStreet; \n }\n\n if (!(phn == null || phn == ''))\n addr = phn + ' ';\n if (streetName != null)\n addr += streetName;\n\n return addr;\n }\n\n hideBBLNotFoundPopup(event) { \n this.showNotFoundPopup = false;\n this.foucsChangeService.changeFocus(true);\n event.stopPropagation();\n }\n\n previous() {\n this.sharedService.navigateSummary();\n }\n\n cancel() {\n this.sharedService.navigateSummary();\n }\n\n showError(msg) { \n this.pageError = []; this.pageSuccess = [];\n this.pageError.push(this.sharedService.getCustomError(msg));\n this.sharedService.processError(msg);\n }\n\n showErrorAlert(msg) {\n this.pageError = []; this.pageSuccess = [];\n this.pageError.push(msg);\n this.sharedService.processError(msg);\n }\n\n showSuccess(msg) {\n this.pageSuccess = []; this.pageError = [];\n this.pageSuccess.push(msg);\n this.sharedService.scroll(); \n } \n\n}\n","module.exports = \"{{title}}\\r\\n
0\\\"\\r\\n id=\\\"systemMessageHeader\\\">\\r\\n
{{item}}
\\r\\n \\r\\n
\\r\\n\\r\\n
0\\\"\\r\\n id=\\\"systemMessageHeader\\\">\\r\\n
{{item}}
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n\\t\\t
\\r\\n
Change Building Type Option\\r\\n \\r\\n
\\r\\n
Please note, selecting \\\"Yes\\\" may result in the loss of some information about this building. Would you like to proceed?
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
Change Building Type Option\\r\\n \\r\\n
\\r\\n
Please note, by selecting \\\"No\\\" you will be required to provide additional information about this building. Would you like to proceed?
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n Building Information {{buildingAddress}}\\r\\n
\\r\\n
A MIH Development is a construction project that consists of one or more buildings, located on the same zoning lot which triggers an MIH requirement.
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
Building Type
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n Required
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\"","import { Component, OnInit } from '@angular/core';\r\nimport { FormGroup, FormBuilder, Validators } from \"@angular/forms\";\r\nimport { Route, Router, ActivatedRoute, NavigationEnd, NavigationStart } from '@angular/router';\r\nimport { trigger, state, style, animate, transition } from '@angular/animations';\r\n\r\nimport 'rxjs/add/operator/pairwise';\r\n// APP\r\nimport { InformationService } from '../../../services/information.service';\r\nimport { BuildingService } from '../../../services/building.service';\r\nimport { SharedService } from '../../../services/shared.service';\r\nimport { BuildingType } from '../../../viewmodel';\r\nimport { BuildingQuestionParam } from '../../../viewmodel';\r\nimport { Animations } from '../../common/animations';\r\nimport { CustomValidators } from '../../../directives/validators/custom-validator.directive';\r\nimport { FoucsChangeService } from '../../../services/focuschange.service';\r\n\r\n@Component({\r\n selector: 'app-buildingtype',\r\n templateUrl: './buildingtype.component.html',\r\n providers: [InformationService, BuildingService],\r\n animations: [Animations.flyInOut]\r\n})\r\nexport class BuildingTypeComponent implements OnInit {\r\n animate: string = 'active';\r\n title: string = 'Building Type';\r\n projectId: number = 0;\r\n buildingId: number = 0;\r\n projBuildingId: number = 0;\r\n devProjectBuildingId: number = 0;\r\n siteProjectBuildingId: number = 0;\r\n trackingId: number = 0;\r\n entityId: number = 0;\r\n questionType: number = 708;\r\n buildingAddress: string = '';\r\n buildingAddr: string = ''; \r\n HFO: string = 'N'; //Housing fund Option\r\n pageError: any = [];\r\n pageSuccess: any = [];\r\n isEdit: boolean = false;\r\n submitted: boolean = false;\r\n questionForm: FormGroup;\r\n model: BuildingType;\r\n showYesMessage: boolean = false;\r\n showNoMessage: boolean = false;\r\n\r\n constructor(private router: Router\r\n , private frmBuilder: FormBuilder\r\n , private activeRoute: ActivatedRoute\r\n , private informationService: InformationService\r\n , private buildingService: BuildingService\r\n , private sharedService: SharedService\r\n , private foucsChangeService: FoucsChangeService) {\r\n\r\n this.model = new BuildingType();\r\n this.model.ProjectId = this.projectId;\r\n }\r\n ngOnInit() {\r\n\r\n let ids = this.sharedService.getJsonData(\"id\");\r\n if (ids != null) {\r\n if (ids.projectId != null)\r\n this.projectId = this.model.ProjectId = ids.projectId;\r\n }\r\n else {\r\n if (this.model.ProjectId == 0 && this.projectId == 0)\r\n this.sharedService.navigateHome();\r\n }\r\n\r\n let bqp = this.sharedService.getJsonData('BuildingQuestionParam');\r\n if (bqp != null) {\r\n this.devProjectBuildingId = this.model.DevProjectBuildingId = bqp.devProjectBuildingId;\r\n this.siteProjectBuildingId = this.model.SiteProjectBuildingId = bqp.siteProjectBuildingId;\r\n this.buildingId = this.model.BuildingId = bqp.bldgId;\r\n this.projBuildingId = this.devProjectBuildingId == null ? this.siteProjectBuildingId : this.devProjectBuildingId;\r\n if (bqp.buildingAddress != null || bqp.buildingAddress == '') {\r\n this.buildingAddress = '- ' + bqp.buildingAddress;\r\n this.buildingAddr = bqp.buildingAddress; \r\n }\r\n }\r\n else {\r\n this.sharedService.navigateSummary();\r\n }\r\n if (this.projBuildingId == null || this.buildingId == null)\r\n this.sharedService.navigateSummary();\r\n\r\n this.questionForm = this.frmBuilder.group({\r\n buildingType: [null, [Validators.required]]\r\n \r\n });\r\n\r\n //check the payment In Liu info and valid to browse\r\n this.informationService.getQuestionByType(this.projectId, 'AHF')\r\n .subscribe(\r\n success => {\r\n if (!success.Success)\r\n this.showError(success.StatusMessage);\r\n else {\r\n if (success.Result != null) {\r\n this.HFO = success.Result.Hfo;\r\n if (this.HFO != 'N') {\r\n this.sharedService.navigateSummary();\r\n }\r\n }\r\n if (this.model.ProjectId == 0 && this.projectId == 0)\r\n this.showError(\"Project ID not found!\")\r\n else if (this.model.ProjectId == 0)\r\n this.model.ProjectId = this.projectId;\r\n }\r\n },\r\n error => {\r\n if (error.status == 401)\r\n this.router.navigateByUrl('/login?session=0');\r\n\r\n this.showError(error.ExceptionMessage)\r\n })\r\n\r\n //get Building Type\r\n this.informationService.GetProjectBuildingType(this.devProjectBuildingId, this.siteProjectBuildingId)\r\n .subscribe(\r\n success => {\r\n if (!success.Success)\r\n this.showError(success.StatusMessage);\r\n else {\r\n if (success.Result != null) {\r\n \r\n this.model = success.Result;\r\n \r\n if (success.Result.IsDev == null)\r\n this.model.IsDevBuilding = null;\r\n else if (success.Result.IsDev == true) {\r\n this.model.IsDevBuilding = 'Y';\r\n this.isEdit = true;\r\n }\r\n else if (success.Result.IsDev == false) {\r\n this.model.IsDevBuilding = 'N';\r\n this.isEdit = true;\r\n } \r\n \r\n }\r\n if (this.model.ProjectId == 0 && this.projectId == 0) {\r\n this.showError(\"Project ID not found!\")\r\n }\r\n else if (this.model.ProjectId == 0)\r\n this.model.ProjectId = this.projectId;\r\n }\r\n },\r\n error => {\r\n if (error.status == 401)\r\n this.router.navigateByUrl('/login?session=0');\r\n\r\n this.showError(error.ExceptionMessage)\r\n })\r\n }\r\n\r\n save(button) {\r\n this.submitted = true;\r\n if (this.model.IsDevBuilding == null) {\r\n return false;\r\n }\r\n else if (this.model.IsDevBuilding == 'Y' || this.model.IsDevBuilding == 'N') {\r\n if (this.model.IsDevBuilding == 'Y')\r\n this.model.IsDev = true;\r\n else if (this.model.IsDevBuilding == 'N')\r\n this.model.IsDev = false; \r\n } \r\n\r\n this.model.IsValid = true;\r\n this.informationService.SaveProjectBuildingType(this.model)\r\n .subscribe(\r\n success => {\r\n if (!success.Success) {\r\n this.showError(success.StatusMessage);\r\n }\r\n else {\r\n\r\n if (button == 'NEXT') { \r\n var path = ''; \r\n if (this.model.IsDev == true)\r\n path = '/buildings/mihoptions'; \r\n else if (this.model.IsDev == false) \r\n path = '/buildings/locationmihsiteunit'; \r\n\r\n this.sharedService.setBuildingQuestionParam(success.Result, this.buildingAddr);\r\n this.router.navigate([path]);\r\n }\r\n else if (button == 'LATER')\r\n this.sharedService.navigateSummary();\r\n }\r\n },\r\n error => {\r\n if (error.status == 401)\r\n this.router.navigateByUrl('/login?session=0');\r\n\r\n this.showError(error.ExceptionMessage);\r\n })\r\n }\r\n\r\n previous() {\r\n this.router.navigate([\"/buildings/publicfunding\"]);\r\n }\r\n home() {\r\n this.sharedService.navigateHome();\r\n }\r\n\r\n setBuildingQuestionParam(building) {\r\n\r\n var BQP = new BuildingQuestionParam();\r\n BQP.devProjectBuildingId = building.DevProjectBuildingId;\r\n BQP.siteProjectBuildingId = building.SiteProjectBuildingId;\r\n BQP.bldgId = building.BuildingId;\r\n BQP.mood = 'A';\r\n this.sharedService.setJsonData('BuildingQuestionParam', BQP);\r\n }\r\n\r\n closeError() {\r\n this.pageError = [];\r\n this.pageSuccess = [];\r\n }\r\n\r\n showError(msg) {\r\n this.pageError = []; this.pageSuccess = [];\r\n this.pageError.push(this.sharedService.getCustomError(msg));\r\n this.sharedService.processError(msg);\r\n }\r\n\r\n showErrorAlert(msg) {\r\n this.pageError = []; this.pageSuccess = [];\r\n this.pageError.push(msg);\r\n this.sharedService.processError(msg);\r\n }\r\n \r\n /**** Edit building Type and popup section ****/\r\n changeBuildingType() {\r\n if (this.model.IsDevBuilding == 'Y' && this.isEdit) {\r\n this.showYesMessage = true;\r\n this.foucsChangeService.changeFocus(false);\r\n }\r\n else if (this.model.IsDevBuilding == 'N' && this.isEdit) {\r\n this.showNoMessage = true;\r\n this.foucsChangeService.changeFocus(false);\r\n }\r\n }\r\n\r\n buildingTypeYes(button) {\r\n if (button == 'cancel') {\r\n this.model.IsDevBuilding = 'N'; \r\n this.showYesMessage = false;\r\n this.foucsChangeService.changeFocus(true);\r\n }\r\n else if (button == 'continue') {\r\n this.model.IsDevBuilding = 'Y';\r\n this.showYesMessage = false;\r\n this.foucsChangeService.changeFocus(true);\r\n }\r\n } \r\n\r\n buildingTypeNo(button) {\r\n if (button == 'cancel') {\r\n this.model.IsDevBuilding = 'Y';\r\n this.showNoMessage = false;\r\n this.foucsChangeService.changeFocus(true);\r\n }\r\n else if (button == 'continue') {\r\n this.model.IsDevBuilding = 'N';\r\n this.showNoMessage = false;\r\n this.foucsChangeService.changeFocus(true);\r\n }\r\n\r\n }\r\n\r\n\r\n\r\n\r\n}\r\n","module.exports = \"{{title}}\\r\\n
0\\\"\\r\\n id=\\\"systemMessageHeader\\\">\\r\\n
{{item}}
\\r\\n \\r\\n
\\r\\n\\r\\n
0\\\"\\r\\n id=\\\"systemMessageHeader\\\">\\r\\n
{{item}}
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n Building Information {{this.buildingAddress}}\\r\\n
\\r\\n
If this building will contain a condominium or cooperative structure, you must provide a description of the structure.
\\r\\n
\\r\\n
\\r\\n
\\r\\n
Condominium or Cooperative Structure Description
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n\"","import { Component, OnInit } from '@angular/core';\r\nimport { FormGroup, FormBuilder, Validators } from \"@angular/forms\";\r\nimport { Route, Router, ActivatedRoute, NavigationEnd, NavigationStart } from '@angular/router';\r\nimport { trigger, state, style, animate, transition } from '@angular/animations';\r\n\r\nimport 'rxjs/add/operator/pairwise';\r\n// APP\r\nimport { InformationService } from '../../../services/information.service';\r\nimport { BuildingService } from '../../../services/building.service';\r\nimport { SharedService } from '../../../services/shared.service';\r\nimport { CondoStructure } from '../../../viewmodel';\r\nimport { Animations } from '../../common/animations';\r\nimport { CustomValidators } from '../../../directives/validators/custom-validator.directive';\r\n\r\n@Component({\r\n selector: 'app-condo-structure',\r\n templateUrl: './condostructure.component.html',\r\n providers: [InformationService, BuildingService],\r\n animations: [Animations.flyInOut]\r\n})\r\nexport class CondoStructureComponent implements OnInit {\r\n\r\n animate: string = 'active';\r\n animateDirection: number = -1;\r\n title: string = 'Condominium or Cooperative Structure Description';\r\n projectId: number = 0;\r\n devProjectBuildingId: number = 0;\r\n siteProjectBuildingId: number = 0;\r\n buildingId: number = 0;\r\n //projBuildingId: number = 0;\r\n trackingId: number = 0;\r\n entityId: number = 0;\r\n questionType: number = 415;\r\n buildingAddress: string = '';\r\n HFO: string = 'N'; //Housing fund Option\r\n\r\n pageError: any = [];\r\n pageSuccess: any = [];\r\n isEdit: boolean = false;\r\n submitted: boolean = false;\r\n questionForm: FormGroup;\r\n model: CondoStructure;\r\n\r\n constructor(private router: Router\r\n , private frmBuilder: FormBuilder\r\n , private activeRoute: ActivatedRoute\r\n , private informationService: InformationService\r\n , private buildingService: BuildingService\r\n , private sharedService: SharedService) {\r\n\r\n this.model = new CondoStructure();\r\n this.model.ProjectId = this.projectId;\r\n }\r\n ngOnInit() {\r\n let ids = this.sharedService.getJsonData(\"id\");\r\n if (ids != null) {\r\n if (ids.projectId != null)\r\n this.projectId = this.model.ProjectId = ids.projectId;\r\n }\r\n else {\r\n if (this.model.ProjectId == 0 && this.projectId == 0)\r\n this.sharedService.navigateHome();\r\n }\r\n\r\n let bqp = this.sharedService.getJsonData('BuildingQuestionParam');\r\n if (bqp != null) {\r\n this.devProjectBuildingId = this.model.DevProjectBuildingId = bqp.devProjectBuildingId;\r\n this.siteProjectBuildingId = this.model.SiteProjectBuildingId = bqp.siteProjectBuildingId;\r\n this.buildingId = this.model.BuildingId = bqp.bldgId;\r\n if (!(bqp.buildingAddress == null || bqp.buildingAddress == ''))\r\n this.buildingAddress = '- ' + bqp.buildingAddress;\r\n }\r\n else {\r\n this.sharedService.navigateSummary();\r\n }\r\n if (this.siteProjectBuildingId == null || this.buildingId == null)\r\n this.sharedService.navigateSummary(); \r\n\r\n this.questionForm = this.frmBuilder.group({\r\n condoStructure: [null, [Validators.required]],\r\n description: [null, [Validators.required, CustomValidators.noZeroLength]]\r\n\r\n });\r\n\r\n //check the payment In Liu info and valid to browse\r\n this.informationService.getQuestionByType(this.projectId, 'AHF')\r\n .subscribe(\r\n success => {\r\n if (!success.Success)\r\n this.showError(success.StatusMessage);\r\n else {\r\n if (success.Result != null) {\r\n this.HFO = success.Result.Hfo;\r\n if (this.HFO != 'N') {\r\n this.sharedService.navigateSummary();\r\n }\r\n }\r\n if (this.model.ProjectId == 0 && this.projectId == 0)\r\n this.showError(\"Project ID not found!\")\r\n else if (this.model.ProjectId == 0)\r\n this.model.ProjectId = this.projectId;\r\n }\r\n },\r\n error => {\r\n if (error.status == 401)\r\n this.router.navigateByUrl('/login?session=0');\r\n\r\n this.showError(error.ExceptionMessage)\r\n })\r\n\r\n //get condo Structure\r\n this.informationService.GetProjectBuildingCondoStructure(this.devProjectBuildingId, this.siteProjectBuildingId)\r\n .subscribe(\r\n success => {\r\n if (!success.Success)\r\n this.showError(success.StatusMessage);\r\n else {\r\n if (success.Result != null) {\r\n this.model = success.Result;\r\n this.isEdit = this.model.IsValid;\r\n }\r\n if (this.model.ProjectId == 0 && this.projectId == 0) {\r\n this.showError(\"Project ID not found!\")\r\n }\r\n else if (this.model.ProjectId == 0)\r\n this.model.ProjectId = this.projectId;\r\n }\r\n },\r\n error => {\r\n if (error.status == 401)\r\n this.router.navigateByUrl('/login?session=0');\r\n\r\n this.showError(error.ExceptionMessage)\r\n })\r\n }\r\n\r\n save(button) {\r\n this.submitted = true; \r\n //if (!this.questionForm.valid) {\r\n //return false;\r\n //}\r\n\r\n if (this.model.CondoStructure == null || this.model.CondoStructure == '')\r\n return false;\r\n \r\n if (this.model.CondoStructure == 'Y' && (this.model.Description == '' || this.model.Description==null)) {\r\n return false;\r\n }\r\n\r\n if (this.model.CondoStructure == 'N')\r\n this.model.Description = ''; \r\n\r\n this.model.IsValid = true;\r\n this.informationService.SaveCondoSturcture(this.model)\r\n .subscribe(\r\n success => {\r\n if (!success.Success) {\r\n this.showError(success.StatusMessage);\r\n }\r\n else {\r\n if (button == 'NEXT') {\r\n this.router.navigate([\"/buildings/electricsystems\"]);\r\n }\r\n else if (button == 'LATER')\r\n this.sharedService.navigateSummary();\r\n }\r\n },\r\n error => {\r\n if (error.status == 401)\r\n this.router.navigateByUrl('/login?session=0');\r\n\r\n this.showError(error.ExceptionMessage);\r\n })\r\n }\r\n\r\n changeDescriptionValidity() {\r\n var data = this.model.CondoStructure; \r\n\r\n if (data === 'Y') { \r\n this.questionForm.get('description').setValidators([Validators.required]);\r\n }\r\n else if (data === 'N') {\r\n this.questionForm.get('description').setValidators([]);\r\n }\r\n this.questionForm.get('description').updateValueAndValidity();\r\n }\r\n\r\n \r\n PopulateQuestionAndAddress(buildings) {\r\n if (buildings == null || buildings.length == 0)\r\n return false;\r\n\r\n var item = buildings[0];\r\n this.buildingAddress = item.HouseNumber + ' ' + item.StreetName;\r\n }\r\n\r\n previous() {\r\n this.router.navigate([\"/buildings/siteunitcount/\"]);\r\n }\r\n\r\n home() {\r\n this.sharedService.navigateHome();\r\n }\r\n \r\n closeError() {\r\n this.pageError = [];\r\n this.pageSuccess = [];\r\n }\r\n\r\n showError(msg) {\r\n this.pageError = []; this.pageSuccess = [];\r\n this.pageError.push(this.sharedService.getCustomError(msg));\r\n this.sharedService.processError(msg);\r\n }\r\n\r\n showErrorAlert(msg) {\r\n this.pageError = []; this.pageSuccess = [];\r\n this.pageError.push(msg);\r\n this.sharedService.processError(msg);\r\n }\r\n\r\n}\r\n","module.exports = \"{{title}}\\r\\n
0\\\"\\r\\n id=\\\"systemMessageHeader\\\">\\r\\n
{{item}}
\\r\\n \\r\\n
\\r\\n\\r\\n
0\\\"\\r\\n id=\\\"systemMessageHeader\\\">\\r\\n
{{item}}
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n Building Information {{this.buildingAddress}}\\r\\n
\\r\\n
Please identify the electric system(s) that will be used in this building (if at all).
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
Electric Systems
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n Required
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n\"","import { Component, OnInit } from '@angular/core';\r\nimport { FormGroup, FormBuilder, Validators } from \"@angular/forms\";\r\nimport { Route, Router, ActivatedRoute, NavigationEnd, NavigationStart } from '@angular/router';\r\nimport { trigger, state, style, animate, transition } from '@angular/animations';\r\n\r\nimport 'rxjs/add/operator/pairwise';\r\n// APP\r\nimport { InformationService } from '../../../services/information.service';\r\nimport { BuildingService } from '../../../services/building.service';\r\nimport { SharedService } from '../../../services/shared.service';\r\nimport { ElectricSystems } from '../../../viewmodel';\r\nimport { Animations } from '../../common/animations';\r\n\r\nimport { CustomValidators } from '../../../directives/validators/custom-validator.directive';\r\n\r\n@Component({\r\n selector: 'app-electricsystems',\r\n templateUrl: './electricsystems.component.html',\r\n providers: [InformationService, BuildingService],\r\n animations: [Animations.flyInOut]\r\n})\r\nexport class ElectricSystemsComponent implements OnInit {\r\n\r\n animate: string = 'active';\r\n title: string = 'Electric Systems';\r\n projectId: number = 0;\r\n devProjectBuildingId: number = 0;\r\n siteProjectBuildingId: number = 0;\r\n buildingId: number = 0;\r\n //projBuildingId: number = 0;\r\n trackingId: number = 0;\r\n entityId: number = 0;\r\n questionType: number = 708;\r\n buildingAddress: string = '';\r\n HFO: string = 'N'; //Housing fund Option\r\n\r\n pageError: any = [];\r\n pageSuccess: any = [];\r\n isEdit: boolean = false;\r\n submitted: boolean = false;\r\n questionForm: FormGroup;\r\n model: ElectricSystems;\r\n\r\n constructor(private router: Router\r\n , private frmBuilder: FormBuilder\r\n , private activeRoute: ActivatedRoute\r\n , private informationService: InformationService\r\n , private buildingService: BuildingService\r\n , private sharedService: SharedService) {\r\n\r\n this.model = new ElectricSystems();\r\n this.model.ProjectId = this.projectId;\r\n }\r\n ngOnInit() {\r\n\r\n let ids = this.sharedService.getJsonData(\"id\");\r\n if (ids != null) {\r\n if (ids.projectId != null)\r\n this.projectId = this.model.ProjectId = ids.projectId;\r\n }\r\n else {\r\n if (this.model.ProjectId == 0 && this.projectId == 0)\r\n this.sharedService.navigateHome();\r\n }\r\n\r\n let bqp = this.sharedService.getJsonData('BuildingQuestionParam');\r\n if (bqp != null) {\r\n this.devProjectBuildingId = this.model.DevProjectBuildingId = bqp.devProjectBuildingId;\r\n this.siteProjectBuildingId = this.model.SiteProjectBuildingId = bqp.siteProjectBuildingId;\r\n this.buildingId = this.model.BuildingId = bqp.bldgId;\r\n if (!(bqp.buildingAddress == null || bqp.buildingAddress == ''))\r\n this.buildingAddress = '- ' + bqp.buildingAddress;\r\n }\r\n else {\r\n this.sharedService.navigateSummary();\r\n }\r\n if (this.siteProjectBuildingId == null || this.buildingId == null)\r\n this.sharedService.navigateSummary();\r\n\r\n this.questionForm = this.frmBuilder.group({\r\n electricSystems: [null, Validators.required],\r\n heatPumps: [null], \r\n boilers: [null],\r\n stoves: [null]\r\n\r\n });\r\n\r\n //check the payment In Liu info and valid to browse\r\n this.informationService.getQuestionByType(this.projectId, 'AHF')\r\n .subscribe(\r\n success => {\r\n if (!success.Success)\r\n this.showError(success.StatusMessage);\r\n else {\r\n if (success.Result != null) {\r\n this.HFO = success.Result.Hfo;\r\n if (this.HFO != 'N') { \r\n this.sharedService.navigateSummary();\r\n }\r\n }\r\n if (this.model.ProjectId == 0 && this.projectId == 0)\r\n this.showError(\"Project ID not found!\")\r\n else if (this.model.ProjectId == 0)\r\n this.model.ProjectId = this.projectId;\r\n }\r\n },\r\n error => {\r\n if (error.status == 401)\r\n this.router.navigateByUrl('/login?session=0');\r\n\r\n this.showError(error.ExceptionMessage)\r\n })\r\n\r\n \r\n \r\n //get electric systems\r\n this.informationService.GetProjectBuildingElectricSystems(this.devProjectBuildingId, this.siteProjectBuildingId)\r\n .subscribe(\r\n success => {\r\n if (!success.Success)\r\n this.showError(success.StatusMessage);\r\n else {\r\n if (success.Result != null) {\r\n this.model = success.Result;\r\n this.isEdit = success.Result.IsValid;\r\n }\r\n if (this.model.ProjectId == 0 && this.projectId == 0) {\r\n this.showError(\"Project ID not found!\")\r\n }\r\n else if (this.model.ProjectId == 0)\r\n this.model.ProjectId = this.projectId;\r\n }\r\n },\r\n error => {\r\n if (error.status == 401)\r\n this.router.navigateByUrl('/login?session=0');\r\n\r\n this.showError(error.ExceptionMessage)\r\n\r\n })\r\n }\r\n\r\n save(button) {\r\n\r\n this.submitted = true;\r\n if (!this.questionForm.valid) {\r\n return false;\r\n }\r\n\r\n if (this.model.HasElectricSystems == 'Y' \r\n && (this.model.HasPTCASHeatPumps == false || this.model.HasPTCASHeatPumps == null)\r\n && (this.model.HasPoweredBoilers == false || this.model.HasPoweredBoilers == null) \r\n && (this.model.HasElectricStoves == false || this.model.HasElectricStoves == null)) {\r\n return false;\r\n }\r\n\r\n if (this.model.HasElectricSystems == 'N') {\r\n this.model.HasPTCASHeatPumps = null; this.model.HasPoweredBoilers = null; this.model.HasElectricStoves = null; \r\n }\r\n\r\n this.model.IsValid = true;\r\n this.informationService.SaveProjectBuildingElectricSystems(this.model)\r\n .subscribe(\r\n success => {\r\n if (!success.Success) {\r\n this.showError(success.StatusMessage);\r\n }\r\n else {\r\n if (button == 'NEXT') {\r\n this.sharedService.navigateSummary();\r\n }\r\n else if (button == 'LATER')\r\n this.sharedService.navigateSummary();\r\n }\r\n },\r\n error => {\r\n if (error.status == 401)\r\n this.router.navigateByUrl('/login?session=0');\r\n\r\n this.showError(error.ExceptionMessage);\r\n })\r\n }\r\n\r\n changeElectricSystems() {\r\n\r\n var data = this.model.HasElectricSystems;\r\n if (data == 'N') {\r\n this.model.HasPTCASHeatPumps = null; this.model.HasPoweredBoilers = null; this.model.HasElectricStoves = null; \r\n }\r\n }\r\n\r\n previous() {\r\n this.router.navigate([\"/buildings/condostructure\"]);\r\n }\r\n\r\n home() {\r\n this.sharedService.navigateHome();\r\n }\r\n\r\n closeError() {\r\n this.pageError = [];\r\n this.pageSuccess = [];\r\n }\r\n\r\n showError(msg) {\r\n this.pageError = []; this.pageSuccess = [];\r\n this.pageError.push(this.sharedService.getCustomError(msg));\r\n this.sharedService.processError(msg);\r\n }\r\n\r\n validateElectric()\r\n {\r\n var result =\r\n (this.model.HasElectricSystems == 'Y' &&\r\n ((this.model.HasPTCASHeatPumps == false || this.model.HasPTCASHeatPumps == null) &&\r\n (this.model.HasPoweredBoilers == false || this.model.HasPoweredBoilers == null) &&\r\n (this.model.HasElectricStoves == false || this.model.HasElectricStoves == null)) && this.submitted);\r\n return result;\r\n }\r\n}\r\n","module.exports = \"{{title}}\\r\\n
0\\\"\\r\\n id=\\\"systemMessageHeader\\\">\\r\\n
{{item}}
\\r\\n \\r\\n
\\r\\n\\r\\n
0\\\"\\r\\n id=\\\"systemMessageHeader\\\">\\r\\n
{{item}}
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n Building Information {{buildingAddress}}\\r\\n
\\r\\n
A MIH Site is a building containing affordable floor area that satisfies the MIH requirement for a MIH Development.
\\r\\n
\\r\\n
\\r\\n
\\r\\n
Location of MIH Site
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n Required
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\"","import { Component, OnInit } from '@angular/core';\r\nimport { FormGroup, FormBuilder, Validators } from \"@angular/forms\";\r\nimport { Route, Router, ActivatedRoute, NavigationEnd, NavigationStart } from '@angular/router';\r\nimport { trigger, state, style, animate, transition } from '@angular/animations';\r\n\r\nimport { InformationService } from '../../../services/information.service';\r\nimport { BuildingService } from '../../../services/building.service';\r\nimport { SharedService } from '../../../services/shared.service';\r\nimport { LocationMihSiteUnit } from '../../../viewmodel';\r\nimport { BuildingQuestionParam } from '../../../viewmodel';\r\nimport { Animations } from '../../common/animations';\r\n\r\n@Component({\r\n selector: 'app-locationmihsiteunit',\r\n templateUrl: './locationmihsiteunit.component.html',\r\n providers: [InformationService, BuildingService],\r\n animations: [Animations.flyInOut]\r\n})\r\nexport class LocationMihSiteUnitComponent implements OnInit {\r\n\r\n animate: string = 'active';\r\n title: string = 'Location of MIH Units';\r\n\r\n projectId: number = 0;\r\n buildingId: number = 0;\r\n //projBuildingId: number = 0;\r\n devProjectBuildingId: number = 0;\r\n siteProjectBuildingId: number = 0;\r\n trackingId: number = 0;\r\n entityId: number = 0;\r\n buildingAddress: string = '';\r\n pageError: any = [];\r\n pageSuccess: any = [];\r\n isEdit: boolean = false;\r\n submitted: boolean = false;\r\n questionType: number = 704;\r\n questionForm: FormGroup;\r\n model: LocationMihSiteUnit;\r\n editable: any = null; //'disabled' or null for enable\r\n\r\n constructor(private router: Router\r\n , private frmBuilder: FormBuilder\r\n , private activeRoute: ActivatedRoute\r\n , private informationService: InformationService\r\n , private buildingService: BuildingService\r\n , private sharedService: SharedService) {\r\n\r\n this.model = new LocationMihSiteUnit();\r\n this.model.ProjectId = this.projectId; \r\n }\r\n ngOnInit() {\r\n \r\n let ids = this.sharedService.getJsonData(\"id\");\r\n if (ids != null) {\r\n if (ids.projectId != null)\r\n this.projectId = this.model.ProjectId = ids.projectId;\r\n }\r\n else {\r\n if (this.model.ProjectId == 0 && this.projectId == 0)\r\n this.sharedService.navigateHome();\r\n }\r\n \r\n let bqp = this.sharedService.getJsonData('BuildingQuestionParam');\r\n if (bqp != null) {\r\n this.devProjectBuildingId = this.model.DevProjectBuildingId = bqp.devProjectBuildingId;\r\n this.siteProjectBuildingId = this.model.SiteProjectBuildingId = bqp.siteProjectBuildingId;\r\n this.buildingId = this.model.BuildingId = bqp.bldgId;\r\n if (!(bqp.buildingAddress == null || bqp.buildingAddress == ''))\r\n this.buildingAddress = '- ' + bqp.buildingAddress;\r\n }\r\n else {\r\n this.sharedService.navigateSummary();\r\n }\r\n if (this.siteProjectBuildingId == null || this.buildingId == null)\r\n this.sharedService.navigateSummary();\r\n\r\n this.questionForm = this.frmBuilder.group({\r\n location: ['', Validators.required]\r\n })\r\n\r\n this.informationService.GetProjectBuildingSiteLocation(this.devProjectBuildingId, this.siteProjectBuildingId)\r\n .subscribe(\r\n success => {\r\n if (!success.Success)\r\n this.showError(success.StatusMessage);\r\n else {\r\n if (success.Result != null) {\r\n this.PopulateData(success.Result);\r\n this.isEdit = success.Result.IsValid; \r\n }\r\n\r\n if (this.model.ProjectId == 0 && this.projectId == 0)\r\n this.showError(\"Project ID not found!\")\r\n else if (this.model.ProjectId == 0)\r\n this.model.ProjectId = this.projectId;\r\n }\r\n },\r\n error => {\r\n if (error.status == 401)\r\n this.router.navigateByUrl('/login?session=0');\r\n\r\n this.showError(error.ExceptionMessage)\r\n })\r\n\r\n }\r\n\r\n save(button) {\r\n this.submitted = true;\r\n if (!this.questionForm.valid) {\r\n return false;\r\n }\r\n\r\n if(this.model.MihSiteLocation == null || this.model.MihSiteLocation == '')\r\n return false; \r\n\r\n this.model.IsValid = true;\r\n this.informationService.SaveProjectBuildingSiteLocation(this.model)\r\n .subscribe(\r\n success => {\r\n if (!success.Success) {\r\n this.showError(success.StatusMessage);\r\n\t\t\t\t}\r\n else {\r\n if (button == 'NEXT') {\r\n //this.setBuildingQuestionParam(success.Result);\r\n this.router.navigate([\"/buildings/taxcredit\"]);\r\n }\r\n else if (button == 'LATER')\r\n this.sharedService.navigateSummary();\r\n }\r\n },\r\n error => {\r\n if (error.status == 401)\r\n this.router.navigateByUrl('/login?session=0');\r\n\r\n this.showError(error.ExceptionMessage);\r\n })\r\n }\r\n\r\n\r\n previous() {\r\n this.router.navigate([\"/buildings/buildingtype\"]);\r\n }\r\n\r\n home() {\r\n this.sharedService.navigateHome();\r\n }\r\n\r\n PopulateData(question) {\r\n if (question == null || question.length == 0) {\r\n this.model.MihSiteLocation = null;\r\n return false;\r\n }\r\n this.model.MihSiteLocation = question.MihSiteLocation; \r\n if (question.Editable == false)\r\n this.editable = 'disable';\r\n else\r\n this.editable = null; \r\n }\r\n\r\n setBuildingQuestionParam(building) {\r\n var BQP = new BuildingQuestionParam();\r\n BQP.devProjectBuildingId = building.DevProjectBuildingId;\r\n BQP.siteProjectBuildingId = building.SiteProjectBuildingId;\r\n BQP.bldgId = building.BuildingId;\r\n BQP.mood = 'A';\r\n this.sharedService.setJsonData('BuildingQuestionParam', BQP);\r\n }\r\n\r\n closeError() {\r\n this.pageError = [];\r\n this.pageSuccess = [];\r\n }\r\n\r\n showError(msg) {\r\n this.pageError = []; this.pageSuccess = [];\r\n this.pageError.push(this.sharedService.getCustomError(msg));\r\n this.sharedService.processError(msg);\r\n }\r\n\r\n}\r\n","module.exports = \"{{title}}\\r\\n
0\\\"\\r\\n id=\\\"systemMessageHeader\\\">\\r\\n
{{item}}
\\r\\n
\\r\\n
\\r\\n\\r\\n
0\\\"\\r\\n id=\\\"systemMessageHeader\\\">\\r\\n
{{item}}
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n Building Information {{buildingAddress}}\\r\\n
\\r\\n
The MIH Options available to your MIH Development are listed in Appendix F of the NYC Zoning Resolution, or will be determined through the ULURP process.
\\r\\n
\\r\\n
\\r\\n
\\r\\n
MIH Options
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n Required
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
An MIH Development with Public Funding may not utilize the Deep Affordability Option, except where HPD determines that such Public Funding is necessary to support a significant amount of affordable housing that is in addition to the affordable floor area satisfying the MIH requirements.
\\r\\n
An MIH Development with Public Funding may not utilize the Workforce Option.
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\"","import { Component, OnInit } from '@angular/core';\r\nimport { FormGroup, FormBuilder, Validators } from \"@angular/forms\";\r\nimport { Route, Router, ActivatedRoute, NavigationEnd, NavigationStart } from '@angular/router';\r\nimport { trigger, state, style, animate, transition } from '@angular/animations';\r\n\r\nimport { InformationService } from '../../../services/information.service';\r\nimport { BuildingService } from '../../../services/building.service';\r\nimport { SharedService } from '../../../services/shared.service';\r\nimport { MihOptions } from '../../../viewmodel';\r\nimport { Animations } from '../../common/animations';\r\n\r\nimport { CustomValidators } from '../../../directives/validators/custom-validator.directive';\r\n\r\n@Component({\r\n selector: 'app-mihoptions',\r\n templateUrl: './mihoptions.component.html',\r\n providers: [InformationService, BuildingService],\r\n animations: [Animations.flyInOut]\r\n})\r\nexport class MIHOptionsComponent implements OnInit {\r\n\r\n animate: string = 'active';\r\n title: string = 'MIH Options';\r\n projectId: number = 0;\r\n devProjectBuildingId: number = 0;\r\n siteProjectBuildingId: number = 0;\r\n buildingId: number = 0;\r\n projBuildingId: number = 0;\r\n trackingId: number = 0;\r\n entityId: number = 0;\r\n buildingAddress: string = '';\r\n pageError: any = [];\r\n pageSuccess: any = [];\r\n isEdit: boolean = false;\r\n submitted: boolean = false;\r\n SourceList: any;\r\n CitySubsidySourceList: any;\r\n questionType: number = 419;\r\n\r\n hasPublicFunding: boolean = false; \r\n questionForm: FormGroup;\r\n model: MihOptions;\r\n\r\n constructor(private router: Router\r\n , private frmBuilder: FormBuilder\r\n , private activeRoute: ActivatedRoute\r\n , private informationService: InformationService\r\n , private buildingService: BuildingService\r\n , private sharedService: SharedService) {\r\n\r\n this.model = new MihOptions();\r\n this.model.ProjectId = this.projectId; \r\n }\r\n ngOnInit() {\r\n let bqp = this.sharedService.getJsonData('BuildingQuestionParam');\r\n if (bqp != null) {\r\n this.devProjectBuildingId = this.model.DevProjectBuildingId = bqp.devProjectBuildingId;\r\n this.siteProjectBuildingId = this.model.SiteProjectBuildingId = bqp.siteProjectBuildingId;\r\n this.buildingId = this.model.BuildingId = bqp.bldgId;\r\n this.projBuildingId = this.devProjectBuildingId == null ? this.siteProjectBuildingId : this.devProjectBuildingId;\r\n if (!(bqp.buildingAddress == null || bqp.buildingAddress == ''))\r\n this.buildingAddress = '- ' + bqp.buildingAddress;\r\n }\r\n else {\r\n this.sharedService.navigateSummary();\r\n }\r\n\r\n if (this.devProjectBuildingId == null || this.buildingId == null)\r\n this.sharedService.navigateSummary();\r\n\r\n let ids = this.sharedService.getJsonData(\"id\");\r\n if (ids != null) {\r\n if (ids.projectId != null)\r\n this.projectId = this.model.ProjectId = ids.projectId;\r\n }\r\n else {\r\n if (this.model.ProjectId == 0 && this.projectId == 0)\r\n this.sharedService.navigateHome();\r\n }\r\n\r\n this.questionForm = this.frmBuilder.group({\r\n mihOption: ['', [Validators.required, CustomValidators.noZeroLength]]\r\n })\r\n\r\n this.informationService.GetProjectBuildingMIHOption(this.devProjectBuildingId, this.siteProjectBuildingId)\r\n .subscribe(\r\n success => {\r\n if (!success.Success)\r\n this.showError(success.StatusMessage);\r\n else {\r\n if (success.Result != null) {\r\n this.isEdit = success.Result.IsValid; \r\n this.PopulateData(success.Result);\r\n }\r\n\r\n if (this.model.ProjectId == 0 && this.projectId == 0)\r\n this.showError(\"Project ID not found!\")\r\n else if (this.model.ProjectId == 0)\r\n this.model.ProjectId = this.projectId;\r\n }\r\n },\r\n error => {\r\n if (error.status == 401)\r\n this.router.navigateByUrl('/login?session=0');\r\n\r\n this.showError(error.ExceptionMessage)\r\n })\r\n\r\n\r\n this.informationService.GetProjectBuildingPublicFunding(this.devProjectBuildingId, this.siteProjectBuildingId)\r\n .subscribe(\r\n success => {\r\n if (!success.Success)\r\n this.showError(success.StatusMessage);\r\n else {\r\n if (success.Result != null) {\r\n if (success.Result.HasPublicFunding == true) {\r\n this.hasPublicFunding = true; \r\n } \r\n\r\n }\r\n }\r\n },\r\n error => {\r\n if (error.status == 401)\r\n this.router.navigateByUrl('/login?session=0');\r\n\r\n this.showError(error.ExceptionMessage)\r\n }) //end \r\n\r\n\r\n }\r\n\r\n save(button) {\r\n\r\n this.submitted = true;\r\n if (!this.questionForm.valid) {\r\n return false;\r\n }\r\n if (this.model.MihOption == null || this.model.MihOption == '')\r\n return false; \r\n\r\n this.model.IsValid = true;\r\n this.informationService.SaveProjectBuildingMIHOption(this.model)\r\n .subscribe(\r\n success => {\r\n if (!success.Success){\r\n this.showError(success.StatusMessage);\r\n\t\t\t\t}\r\n else {\r\n if (button == 'NEXT') { \r\n this.router.navigate([\"/buildings/mihunits\"]);\r\n }\r\n else if (button == 'LATER')\r\n this.sharedService.navigateSummary();\r\n }\r\n },\r\n error => {\r\n if (error.status == 401)\r\n this.router.navigateByUrl('/login?session=0');\r\n\r\n this.showError(error.ExceptionMessage);\r\n })\r\n }\r\n\r\n previous() {\r\n this.router.navigate([\"/buildings/buildingtype\"]);\r\n }\r\n\r\n home() {\r\n this.sharedService.navigateHome();\r\n }\r\n\r\n PopulateData(question) {\r\n if (question == null || question.length == 0) {\r\n this.model.MihOption = null;\r\n return false;\r\n }\r\n this.model.MihOption = question.MIHOption; \r\n \r\n }\r\n\r\n closeError() {\r\n this.pageError = [];\r\n this.pageSuccess = [];\r\n }\r\n\r\n showError(msg) {\r\n this.pageError = []; this.pageSuccess = [];\r\n this.pageError.push(this.sharedService.getCustomError(msg));\r\n this.sharedService.processError(msg);\r\n }\r\n\r\n}\r\n","module.exports = \"{{title}}\\r\\n
0\\\"\\r\\n id=\\\"systemMessageHeader\\\">\\r\\n
{{item}}
\\r\\n
\\r\\n
\\r\\n\\r\\n
0\\\"\\r\\n id=\\\"systemMessageHeader\\\">\\r\\n
{{item}}
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n Change to Location of MIH Units Option\\r\\n \\r\\n
\\r\\n
Please note, by selecting \\\"Yes\\\" you will be required to provide additional information about this building. Would you like to proceed?
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Change to Location of MIH Units Option\\r\\n \\r\\n
\\r\\n
Please note, selecting \\\"No\\\" may result in the loss of some information about this building. Would you like to proceed?
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n Building Information - {{buildingAddress}}\\r\\n
\\r\\n
MIH units are the permanently affordable units that will satisfy the MIH requirement for your MIH Development.
\\r\\n
\\r\\n
\\r\\n
\\r\\n
Location of MIH Units
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n Required
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\"","import { Component, OnInit } from '@angular/core';\r\nimport { FormGroup, FormBuilder, Validators } from \"@angular/forms\";\r\nimport { Route, Router, ActivatedRoute, NavigationEnd, NavigationStart } from '@angular/router';\r\nimport { trigger, state, style, animate, transition } from '@angular/animations';\r\n\r\nimport { InformationService } from '../../../services/information.service';\r\nimport { BuildingService } from '../../../services/building.service';\r\nimport { SharedService } from '../../../services/shared.service';\r\nimport { FoucsChangeService } from '../../../services/focuschange.service';\r\nimport { MihUnits } from '../../../viewmodel';\r\nimport { BuildingQuestionParam } from '../../../viewmodel';\r\nimport { Animations } from '../../common/animations';\r\n\r\n@Component({\r\n selector: 'app-mihunits',\r\n templateUrl: './mihunits.component.html',\r\n providers: [InformationService, BuildingService],\r\n animations: [Animations.flyInOut]\r\n})\r\nexport class MIHUnitsComponent implements OnInit {\r\n\r\n animate: string = 'active';\r\n title: string = 'Location of MIH Units';\r\n projectId: number = 0;\r\n devProjectBuildingId: number = 0;\r\n siteProjectBuildingId: number = 0;\r\n projBuildingId: number = 0;\r\n buildingId: number = 0;\r\n trackingId: number = 0;\r\n entityId: number = 0;\r\n buildingAddress: string = '';\r\n pageError: any = [];\r\n pageSuccess: any = [];\r\n isEdit: boolean = false;\r\n submitted: boolean = false;\r\n questionType: number = 420; // MIHUnits\r\n questionForm: FormGroup;\r\n model: MihUnits;\r\n showYesMessage: boolean = false;\r\n showNoMessage: boolean = false;\r\n\r\n constructor(private router: Router\r\n , private frmBuilder: FormBuilder\r\n , private activeRoute: ActivatedRoute\r\n , private informationService: InformationService\r\n , private buildingService: BuildingService\r\n , private sharedService: SharedService\r\n , private foucsChangeService: FoucsChangeService) {\r\n\r\n this.model = new MihUnits();\r\n this.model.ProjectId = this.projectId;\r\n }\r\n ngOnInit() {\r\n \r\n let ids = this.sharedService.getJsonData(\"id\");\r\n if (ids != null) {\r\n if (ids.projectId != null)\r\n this.projectId = this.model.ProjectId = ids.projectId;\r\n }\r\n else {\r\n if (this.model.ProjectId == 0 && this.projectId == 0)\r\n this.sharedService.navigateHome();\r\n }\r\n\r\n let bqp = this.sharedService.getJsonData('BuildingQuestionParam');\r\n if (bqp != null) {\r\n this.devProjectBuildingId = this.model.DevProjectBuildingId = bqp.devProjectBuildingId;\r\n this.siteProjectBuildingId = this.model.SiteProjectBuildingId = bqp.siteProjectBuildingId;\r\n this.buildingId = this.model.BuildingId = bqp.bldgId;\r\n this.projBuildingId = this.devProjectBuildingId == null ? this.siteProjectBuildingId : this.devProjectBuildingId;\r\n if (!(bqp.buildingAddress == null || bqp.buildingAddress == ''))\r\n this.buildingAddress = bqp.buildingAddress;\r\n }\r\n else {\r\n this.sharedService.navigateSummary();\r\n }\r\n if (this.devProjectBuildingId == null || this.buildingId == null)\r\n this.sharedService.navigateSummary();\r\n\r\n this.questionForm = this.frmBuilder.group({\r\n IsDevSite: [null, Validators.required]\r\n })\r\n\r\n this.informationService.GetProjectBuildingLocationOfMIHUnits(this.devProjectBuildingId, this.siteProjectBuildingId)\r\n .subscribe(\r\n success => {\r\n if (!success.Success)\r\n this.showError(success.StatusMessage);\r\n else {\r\n if (success.Result != null) {\r\n this.PopulateData(success.Result);\r\n }\r\n\r\n if (this.model.ProjectId == 0 && this.projectId == 0)\r\n this.showError(\"Project ID not found!\")\r\n else if (this.model.ProjectId == 0)\r\n this.model.ProjectId = this.projectId;\r\n }\r\n },\r\n error => {\r\n if (error.status == 401)\r\n this.router.navigateByUrl('/login?session=0');\r\n\r\n this.showError(error.ExceptionMessage)\r\n })\r\n\r\n }\r\n\r\n save(button) {\r\n \r\n this.submitted = true;\r\n if (!this.questionForm.valid) {\r\n return false;\r\n }\r\n if (this.model.IsDevSite == null)\r\n return false;\r\n\r\n this.model.IsValid = true;\r\n this.informationService.SaveProjectBuildingLocationOfMIHUnits(this.model)\r\n .subscribe(\r\n success => {\r\n if (!success.Success) {\r\n this.showError(success.StatusMessage);\r\n\t\t\t\t}\r\n else {\r\n if (button == 'NEXT') {\r\n var path = ''; \r\n if (this.model.IsDevSite == 'true') { \r\n path = '/buildings/taxcredit';\r\n this.sharedService.setBuildingQuestionParam(success.Result, this.buildingAddress);\r\n this.router.navigate([path]);\r\n }\r\n else if(this.model.IsDevSite == 'false') {\r\n this.sharedService.navigateSummary();\r\n }\r\n \r\n }\r\n else if (button == 'LATER')\r\n this.sharedService.navigateSummary();\r\n }\r\n },\r\n error => {\r\n if (error.status == 401)\r\n this.router.navigateByUrl('/login?session=0');\r\n\r\n this.showError(error.ExceptionMessage);\r\n })\r\n }\r\n\r\n PopulateData(question) {\r\n if (question == null || question.length == 0) {\r\n return false;\r\n }\r\n\r\n if (question.IsDevSite) {\r\n this.model.IsDevSite = 'true';\r\n this.isEdit = true;\r\n }\r\n else {\r\n this.model.IsDevSite = 'false';\r\n this.isEdit = true;\r\n }\r\n }\r\n\r\n setBuildingQuestionParam(building) {\r\n\r\n var BQP = new BuildingQuestionParam();\r\n BQP.devProjectBuildingId = building.DevProjectBuildingId;\r\n BQP.siteProjectBuildingId = building.SiteProjectBuildingId;\r\n BQP.bldgId = building.BuildingId;\r\n BQP.mood = 'A';\r\n this.sharedService.setJsonData('BuildingQuestionParam', BQP);\r\n }\r\n\r\n previous() {\r\n this.router.navigate([\"/buildings/mihoptions\"]);\r\n }\r\n home() {\r\n this.sharedService.navigateHome();\r\n }\r\n\r\n closeError() {\r\n this.pageError = [];\r\n this.pageSuccess = [];\r\n }\r\n\r\n showError(msg) {\r\n this.pageError = []; this.pageSuccess = [];\r\n this.pageError.push(this.sharedService.getCustomError(msg));\r\n this.sharedService.processError(msg);\r\n }\r\n\r\n showErrorAlert(msg) {\r\n this.pageError = []; this.pageSuccess = [];\r\n this.pageError.push(msg);\r\n this.sharedService.processError(msg);\r\n }\r\n\r\n /**** Edit mih unit and popup section ****/\r\n changeIsDevSite() {\r\n if (this.model.IsDevSite == 'true' && this.isEdit) {\r\n this.showYesMessage = true;\r\n this.foucsChangeService.changeFocus(false);\r\n }\r\n else if (this.model.IsDevSite == 'false' && this.isEdit) {\r\n this.showNoMessage = true;\r\n this.foucsChangeService.changeFocus(false);\r\n }\r\n }\r\n\r\n mihUnitYes(button) {\r\n if (button == 'cancel') {\r\n this.model.IsDevSite = 'false';\r\n this.showYesMessage = false;\r\n this.foucsChangeService.changeFocus(true);\r\n }\r\n else if (button == 'continue') {\r\n this.model.IsDevSite = 'true';\r\n this.showYesMessage = false;\r\n this.foucsChangeService.changeFocus(true);\r\n }\r\n }\r\n\r\n mihUnitNo(button) {\r\n if (button == 'cancel') {\r\n this.model.IsDevSite = 'true';\r\n this.showNoMessage = false;\r\n this.foucsChangeService.changeFocus(true);\r\n }\r\n else if (button == 'continue') {\r\n this.model.IsDevSite = 'false';\r\n this.showNoMessage = false;\r\n this.foucsChangeService.changeFocus(true);\r\n }\r\n }\r\n\r\n}\r\n","module.exports = \"{{title}}\\r\\n
0\\\"\\r\\n id=\\\"systemMessageHeader\\\">\\r\\n
{{item}}
\\r\\n \\r\\n
\\r\\n\\r\\n
0\\\"\\r\\n id=\\\"systemMessageHeader\\\">\\r\\n
{{item}}
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n Building Information {{this.buildingAddress}}\\r\\n
\\r\\n
Some MIH Options restrict the use of Public Funding. View the definition of Public Funding here.
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
Public Funding
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n\"","import { Component, OnInit } from '@angular/core';\r\nimport { FormGroup, FormBuilder, Validators } from \"@angular/forms\";\r\nimport { Route, Router, ActivatedRoute } from '@angular/router';\r\nimport { trigger, state, style, animate, transition } from '@angular/animations';\r\n\r\nimport { InformationService } from '../../../services/information.service';\r\nimport { BuildingService } from '../../../services/building.service';\r\nimport { SharedService } from '../../../services/shared.service';\r\nimport { Funding } from '../../../viewmodel';\r\nimport { Animations } from '../../common/animations';\r\nimport { AppConfig } from '../../../app.config';\r\n\r\n@Component({\r\n selector: 'app-publicfunding',\r\n templateUrl: './publicfunding.component.html',\r\n providers: [InformationService, BuildingService],\r\n animations: [Animations.flyInOut]\r\n})\r\nexport class PublicFundingComponent implements OnInit {\r\n\r\n public floornumberMask = [/\\d/, /\\d/, /\\d/, /\\d/, /\\d/, /\\d/, /\\d/, /\\d/]\r\n public unitsnumberMask = [/\\d/, /\\d/, /\\d/, /\\d/, /\\d/, /\\d/, /\\d/, /\\d/]\r\n public ZR23Url: string = AppConfig.config.ZR23Url;\r\n animate: string = 'active';\r\n animateClass = 'slideInRight';\r\n previousUrl: string = ''; \r\n title: string = 'Public Funding';\r\n questionType: number = 416; \r\n projectId: number = 0; \r\n devProjectBuildingId: number = 0;\r\n siteProjectBuildingId: number = 0;\r\n projBuildingId: number = 0;\r\n buildingId: number = 0;\r\n\r\n entityId: number = 0;\r\n buildingAddress: string = '';\r\n pageError: any = [];\r\n pageSuccess: any = [];\r\n isEdit: boolean = false; \r\n submitted: boolean = false; \r\n questionForm: FormGroup;\r\n model: Funding;\r\n showOther: boolean = false;\r\n\r\n constructor(private router: Router \r\n , private frmBuilder: FormBuilder\r\n , private activeRoute: ActivatedRoute\r\n , private informationService: InformationService\r\n , private buildingService: BuildingService\r\n , private sharedService: SharedService) {\r\n\r\n this.model = new Funding();\r\n //this.model.ProjectId = this.projectId; \r\n }\r\n\r\n ngOnInit() {\r\n this.animateClass = 'slideInLeft';\r\n let bqp = this.sharedService.getJsonData('BuildingQuestionParam');\r\n if (bqp != null) {\r\n this.devProjectBuildingId = this.model.DevProjectBuildingId = bqp.devProjectBuildingId;\r\n this.siteProjectBuildingId = this.model.SiteProjectBuildingId = bqp.siteProjectBuildingId;\r\n this.buildingId = this.model.BuildingId = bqp.bldgId;\r\n this.projBuildingId = this.devProjectBuildingId == null ? this.siteProjectBuildingId : this.devProjectBuildingId;\r\n if (bqp.buildingAddress != null || bqp.buildingAddress == '')\r\n this.buildingAddress = '- ' + bqp.buildingAddress;\r\n }\r\n else {\r\n this.sharedService.navigateSummary();\r\n }\r\n if (this.projBuildingId == null || this.buildingId == null)\r\n this.sharedService.navigateSummary();\r\n\r\n let ids = this.sharedService.getJsonData(\"id\");\r\n if (ids != null) {\r\n if (ids.projectId != null)\r\n this.projectId = this.model.ProjectId = ids.projectId;\r\n }\r\n else {\r\n if (this.model.ProjectId == 0 && this.projectId == 0)\r\n this.sharedService.navigateHome();\r\n }\r\n\r\n this.questionForm = this.frmBuilder.group({\r\n pubicFunding: ['', Validators.required],\r\n city: [null], \r\n state: [null], \r\n federal: [null], \r\n cityHpd: [null],\r\n cityHdc: [null],\r\n cityOther: [null],\r\n subsidyDesc: ['', Validators.required] \r\n }); \r\n\r\n this.informationService.GetProjectBuildingPublicFunding(this.devProjectBuildingId, this.siteProjectBuildingId)\r\n .subscribe(\r\n success => {\r\n if (!success.Success)\r\n this.showError(success.StatusMessage);\r\n else {\r\n if (success.Result != null) { \r\n if (success.Result.IsValid)\r\n this.isEdit = true; \r\n\r\n this.PopulateData(success.Result);\r\n }\r\n\r\n if (this.model.ProjectId == 0 && this.projectId == 0)\r\n this.showError(\"Project ID not found!\")\r\n else if (this.model.ProjectId == 0)\r\n this.model.ProjectId = this.projectId;\r\n }\r\n },\r\n error => {\r\n if (error.status == 401)\r\n this.router.navigateByUrl('/login?session=0');\r\n\r\n this.showError(error.ExceptionMessage)\r\n })\r\n \r\n }\r\n\r\n PopulateData(building) {\r\n if (building == null || building.length == 0)\r\n return false;\r\n\r\n if (building.HasPublicFunding)\r\n this.model.HasPublicFunding = 'true';\r\n else\r\n this.model.HasPublicFunding = 'false';\r\n\r\n this.model.HasCitySourceCategory = building.HasCitySourceCategory;\r\n this.model.HasStateSourceCategory = building.HasStateSourceCategory;\r\n this.model.HasFederalSourceCategory = building.HasFederalSourceCategory;\r\n\r\n this.model.HasHPDCitySubsidy = building.HasHPDCitySubsidy;\r\n this.model.HasHDCCitySubsidy = building.HasHDCCitySubsidy;\r\n this.model.HasOtherCitySubsidy = building.HasOtherCitySubsidy;\r\n this.model.OtherCitySubsidySourceName = building.OtherCitySubsidySourceName; \r\n }\r\n\r\n\r\n changePublicFunction() {\r\n if (this.model.HasPublicFunding == 'false') {\r\n this.model.HasCitySourceCategory = this.model.HasStateSourceCategory = this.model.HasFederalSourceCategory = false;\r\n this.model.HasHPDCitySubsidy = this.model.HasHDCCitySubsidy = this.model.HasOtherCitySubsidy = false; \r\n this.model.OtherCitySubsidySourceName = ''; \r\n } \r\n }\r\n\r\n changeCity() {\r\n if (!this.model.HasCitySourceCategory) {\r\n this.model.HasHPDCitySubsidy = this.model.HasHDCCitySubsidy = this.model.HasOtherCitySubsidy = false;\r\n this.model.OtherCitySubsidySourceName = '';\r\n } \r\n }\r\n\r\n changeOther() {\r\n if (!this.model.HasOtherCitySubsidy) \r\n this.model.OtherCitySubsidySourceName = '';\r\n }\r\n\r\n save(button) {\r\n\r\n this.submitted = true;\r\n\r\n if (this.model.HasOtherCitySubsidy == true && this.model.OtherCitySubsidySourceName != null)\r\n this.model.OtherCitySubsidySourceName = this.model.OtherCitySubsidySourceName.trim();\r\n\r\n if ((this.model.HasPublicFunding == null)\r\n || (this.model.HasPublicFunding == 'true' && ((this.model.HasCitySourceCategory == false || this.model.HasCitySourceCategory == null) && (this.model.HasStateSourceCategory == false || this.model.HasStateSourceCategory == null) && (this.model.HasFederalSourceCategory == false || this.model.HasFederalSourceCategory == null)))\r\n || (this.model.HasCitySourceCategory == true && ((this.model.HasHPDCitySubsidy == false || this.model.HasHPDCitySubsidy == null) && (this.model.HasHDCCitySubsidy == false || this.model.HasHDCCitySubsidy == null) && (this.model.HasOtherCitySubsidy == false || this.model.HasOtherCitySubsidy == null)))\r\n || ((this.model.HasOtherCitySubsidy == true && (this.model.OtherCitySubsidySourceName == '' || this.model.OtherCitySubsidySourceName == null)))) {\r\n return false;\r\n }\r\n\r\n this.model.IsValid = true;\r\n this.informationService.SaveProjectBuildingPublicFunding(this.model)\r\n .subscribe(\r\n success => {\r\n if (!success.Success){ \r\n this.showError(success.StatusMessage);\r\n\t\t\t\t}\r\n else {\r\n if (button == 'NEXT') {\r\n this.router.navigate([\"/buildings/buildingtype\"]);\r\n }\r\n else if (button == 'LATER')\r\n this.sharedService.navigateSummary();\r\n }\r\n },\r\n error => {\r\n if (error.status == 401)\r\n this.router.navigateByUrl('/login?session=0');\r\n\r\n this.showError(error.ExceptionMessage);\r\n })\r\n }\r\n\r\n previous() {\r\n this.router.navigate([\"/buildings/unitcount\"]);\r\n }\r\n\r\n home() {\r\n this.sharedService.navigateHome();\r\n }\r\n\r\n closeError() {\r\n this.pageError = [];\r\n this.pageSuccess = [];\r\n }\r\n\r\n showError(msg) {\r\n this.pageError = []; this.pageSuccess = [];\r\n this.pageError.push(this.sharedService.getCustomError(msg));\r\n this.sharedService.processError(msg);\r\n }\r\n\r\n validateSourceCategories()\r\n {\r\n return (((this.model.HasCitySourceCategory == null || this.model.HasCitySourceCategory == false) &&\r\n (this.model.HasStateSourceCategory == null || this.model.HasStateSourceCategory == false) &&\r\n (this.model.HasFederalSourceCategory == null || this.model.HasFederalSourceCategory == false))\r\n && this.submitted);\r\n }\r\n\r\n validateSourceofCitySubsidy()\r\n {\r\n return (((this.model.HasHPDCitySubsidy == null || this.model.HasHPDCitySubsidy == false) &&\r\n (this.model.HasHDCCitySubsidy == null || this.model.HasHDCCitySubsidy == false) &&\r\n (this.model.HasOtherCitySubsidy == null || this.model.HasOtherCitySubsidy == false)) && this.submitted);\r\n }\r\n\r\n needCitySubsidyOther()\r\n {\r\n return this.model.HasOtherCitySubsidy && this.model.HasCitySourceCategory && this.model.HasPublicFunding == 'true';\r\n }\r\n}\r\n","module.exports = \"{{title}}\\r\\n
0\\\"\\r\\n id=\\\"systemMessageHeader\\\">\\r\\n
{{item}}
\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
0\\\"\\r\\n id=\\\"systemMessageHeader\\\">\\r\\n
{{item}}
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n Building Information {{this.buildingAddress}}\\r\\n
\\r\\n
Please enter information on the MIH units, MIH floor area, and superintendent’s unit(s), if any.
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
MIH Floor Area & Unit Count
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n units\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n square feet\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n units\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n\"","import { Component, OnInit } from '@angular/core';\r\nimport { FormGroup, FormBuilder, Validators } from \"@angular/forms\";\r\nimport { Route, Router, ActivatedRoute } from '@angular/router';\r\nimport { trigger, state, style, animate, transition } from '@angular/animations';\r\n\r\nimport { InformationService } from '../../../services/information.service';\r\nimport { BuildingService } from '../../../services/building.service';\r\nimport { SharedService } from '../../../services/shared.service';\r\nimport { SiteUnitCount } from '../../../viewmodel';\r\nimport { Animations } from '../../common/animations';\r\n\r\n@Component({\r\n selector: 'app-siteunitcount',\r\n templateUrl: './siteunitcount.component.html',\r\n providers: [InformationService, BuildingService],\r\n animations: [Animations.flyInOut]\r\n})\r\nexport class SiteUnitCountComponent implements OnInit {\r\n\r\n public floornumberMask = [/\\d/, /\\d/, /\\d/, /\\d/, /\\d/, /\\d/, /\\d/, /\\d/]\r\n public unitsnumberMask = [/\\d/, /\\d/, /\\d/, /\\d/, /\\d/, /\\d/, /\\d/, /\\d/]\r\n animate: string = 'active';\r\n animateDirection: number = -1;\r\n title: string = 'Unit Count';\r\n projectId: number = 0;\r\n devProjectBuildingId: number = 0;\r\n siteProjectBuildingId: number = 0;\r\n buildingId: number = 0;\r\n //projBuildingId: number = 0;\r\n trackingId: number = 0;\r\n entityId: number = 0;\r\n questionType: number = 415;\r\n buildingAddress: string = '';\r\n HFO: string = ''; //Housing fund Option\r\n \r\n pageError: any = [];\r\n pageSuccess: any = [];\r\n isEdit: boolean = false;\r\n submitted: boolean = false;\r\n questionForm: FormGroup;\r\n model: SiteUnitCount;\r\n serverValidationErrors: Array = ['Total MIH units and total MIH square footage must be greater than 0', \r\n 'Total MIH units must be greater than 0 and the total MIH square footage must be less than or equal to the total residential square footage',\r\n 'Total MIH units must be greater than 0',\r\n 'The sum of MIH units and super’s units must be less than or equal to the total residential units of this building and total MIH square footage must be greater than 0',\r\n 'Total MIH square footage must be greater than 0',\r\n 'The sum of MIH units and super’s units must be less than or equal to the total residential units of this building and the total MIH square footage must be less than or equal to the total residential square footage',\r\n 'Total MIH square footage must be less than or equal to the total residential square footage',\r\n 'The sum of MIH units and super’s units must be less than or equal to the total residential units of this building'];\r\n\r\n constructor(private router: Router\r\n , private frmBuilder: FormBuilder\r\n , private activeRoute: ActivatedRoute\r\n , private informationService: InformationService\r\n , private buildingService: BuildingService\r\n , private sharedService: SharedService) {\r\n\r\n this.model = new SiteUnitCount();\r\n this.model.ProjectId = this.projectId;\r\n }\r\n ngOnInit() {\r\n let ids = this.sharedService.getJsonData(\"id\");\r\n if (ids != null) {\r\n if (ids.projectId != null)\r\n this.projectId = this.model.ProjectId = ids.projectId;\r\n }\r\n else {\r\n if (this.model.ProjectId == 0 && this.projectId == 0)\r\n this.sharedService.navigateHome();\r\n }\r\n\r\n let bqp = this.sharedService.getJsonData('BuildingQuestionParam');\r\n if (bqp != null) {\r\n this.devProjectBuildingId = this.model.DevProjectBuildingId = bqp.devProjectBuildingId;\r\n this.siteProjectBuildingId = this.model.SiteProjectBuildingId = bqp.siteProjectBuildingId;\r\n this.buildingId = this.model.BuildingId = bqp.bldgId;\r\n if (!(bqp.buildingAddress == null || bqp.buildingAddress == ''))\r\n this.buildingAddress = '- ' + bqp.buildingAddress;\r\n }\r\n else {\r\n this.sharedService.navigateSummary();\r\n }\r\n if (this.siteProjectBuildingId == null || this.buildingId == null)\r\n this.sharedService.navigateSummary();\r\n\r\n this.questionForm = this.frmBuilder.group({ \r\n mihUnits: [null, [Validators.required, Validators.pattern('[0-9]*')]],\r\n mihSqr: [null, [Validators.required, Validators.pattern('[0-9]*')]],\r\n superUnits: [null, [Validators.required, Validators.pattern('[0-9]*')]]\r\n });\r\n\r\n //get the payment In Liu info\r\n this.informationService.getQuestionByType(this.projectId, 'AHF')\r\n .subscribe(\r\n success => {\r\n if (!success.Success)\r\n this.showError(success.StatusMessage);\r\n else {\r\n if (success.Result != null) {\r\n this.HFO = success.Result.Hfo;\r\n }\r\n if (this.model.ProjectId == 0 && this.projectId == 0)\r\n this.showError(\"Project ID not found!\")\r\n else if (this.model.ProjectId == 0)\r\n this.model.ProjectId = this.projectId;\r\n }\r\n },\r\n error => {\r\n if (error.status == 401)\r\n this.router.navigateByUrl('/login?session=0');\r\n\r\n this.showError(error.ExceptionMessage)\r\n })\r\n\r\n //get floorArea data\r\n this.informationService.GetProjectBuildingResidentialMIHSuperUnits(this.devProjectBuildingId, this.siteProjectBuildingId)\r\n .subscribe(\r\n success => {\r\n if (!success.Success)\r\n this.showError(success.StatusMessage);\r\n else {\r\n if (success.Result != null) {\r\n this.PopulateData(success.Result);\r\n }\r\n if (this.model.ProjectId == 0 && this.projectId == 0) {\r\n this.showError(\"Project ID not found!\")\r\n }\r\n else if (this.model.ProjectId == 0)\r\n this.model.ProjectId = this.projectId;\r\n }\r\n },\r\n error => {\r\n if (error.status == 401)\r\n this.router.navigateByUrl('/login?session=0');\r\n\r\n this.showError(error.ExceptionMessage)\r\n\r\n })\r\n }\r\n\r\n save(button) {\r\n \r\n this.submitted = true;\r\n if (!this.questionForm.valid) {\r\n return false;\r\n }\r\n\r\n if ((this.model.MIHFloorArea == null)\r\n || (this.model.MihUnits == null )\r\n || (this.model.SuperUnits == null)) {\r\n return false;\r\n }\r\n\r\n // var alertMessage = this.validateForm();\r\n // if (alertMessage != '') {\r\n // this.showErrorAlert(alertMessage);\r\n // return false;\r\n // } \r\n\r\n this.model.IsValid = true;\r\n this.informationService.SaveProjectBuildingResidentialMIHSuperUnits(this.model)\r\n .subscribe(\r\n success => {\r\n if (!success.Success) {\r\n if (success.StatusMessage != null && this.serverValidationErrors.indexOf(success.StatusMessage) !== -1) {\r\n this.showErrorAlert(success.StatusMessage);\r\n }\r\n else {\r\n this.showError(success.StatusMessage);\r\n }\r\n\t\t\t\t}\r\n else {\r\n if (button == 'NEXT') {\r\n this.router.navigate([\"/buildings/condostructure\"]);\r\n }\r\n else if (button == 'LATER')\r\n this.sharedService.navigateSummary();\r\n }\r\n },\r\n error => {\r\n if (error.status == 401)\r\n this.router.navigateByUrl('/login?session=0');\r\n\r\n this.showError(error.ExceptionMessage);\r\n })\r\n }\r\n\r\n // validateForm() {\r\n // var mihunits = +this.model.MihUnits;\r\n // var mihFloorArea = +this.model.MIHFloorArea;\r\n // var msg = '';\r\n // if (mihunits == 0 && mihFloorArea == 0)\r\n // msg = 'Total MIH square footage and MIH units must be greater than 0';\r\n // else if (mihunits == 0)\r\n // msg = 'Total MIH units must be greater than 0';\r\n // else if (mihFloorArea == 0)\r\n // msg = 'Total MIH square footage must be greater than 0';\r\n\r\n // return msg; \r\n // }\r\n\r\n\r\n previous() {\r\n this.animateDirection = 1;\r\n this.router.navigate([\"/buildings/taxincentive\"]);\r\n }\r\n\r\n home() {\r\n this.sharedService.navigateHome();\r\n }\r\n\r\n PopulateData(question) {\r\n this.model.MihUnits = question.MIHUnits;\r\n this.model.MIHFloorArea = question.MIHFloorArea;\r\n this.model.SuperUnits = question.SuperUnits; \r\n if (this.model.MihUnits != null && this.model.MIHFloorArea != null && this.model.SuperUnits != null)\r\n this.isEdit = true;\r\n }\r\n\r\n closeError() {\r\n this.pageError = [];\r\n this.pageSuccess = [];\r\n }\r\n\r\n showError(msg) {\r\n this.pageError = []; this.pageSuccess = [];\r\n this.pageError.push(this.sharedService.getCustomError(msg));\r\n this.sharedService.processError(msg);\r\n }\r\n\r\n showErrorAlert(msg) {\r\n this.pageError = []; this.pageSuccess = [];\r\n this.pageError.push(msg);\r\n this.sharedService.processError(msg);\r\n }\r\n\r\n showSuccess(msg) {\r\n this.pageSuccess = []; this.pageError = [];\r\n this.pageSuccess.push(msg);\r\n this.sharedService.scroll();\r\n }\r\n\r\n}\r\n","module.exports = \"{{title}}\\r\\n
0\\\"\\r\\n id=\\\"systemMessageHeader\\\">\\r\\n
{{item}}
\\r\\n \\r\\n
\\r\\n\\r\\n
0\\\"\\r\\n id=\\\"systemMessageHeader\\\">\\r\\n
{{item}}
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n Building Information {{buildingAddress}}\\r\\n
\\r\\n
Please identify which tax credit this building will be using, if applicable.
\\r\\n
\\r\\n
\\r\\n
\\r\\n
Tax Credits
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\"","import { Component, OnInit } from '@angular/core';\nimport { FormGroup, FormBuilder, Validators } from \"@angular/forms\";\nimport { Route, Router, ActivatedRoute } from '@angular/router';\nimport { trigger, state, style, animate, transition } from '@angular/animations';\n\nimport { InformationService } from '../../../services/information.service';\nimport { BuildingService } from '../../../services/building.service';\nimport { SharedService } from '../../../services/shared.service';\nimport { TaxCredit } from '../../../viewmodel';\nimport { Animations } from '../../common/animations';\n\n@Component({\n selector: 'app-taxcredit',\n templateUrl: './taxcredit.component.html',\n providers: [InformationService, BuildingService],\n animations: [Animations.flyInOut]\n})\nexport class TaxCreditComponent implements OnInit {\n\n animate: string = 'active';\n animateDirection: number = -1;\n title: string = 'Tax credit';\n questionType: number = 706;\n projectId: number = 0;\n devProjectBuildingId: number = 0;\n siteProjectBuildingId: number = 0;\n buildingId: number = 0;\n //projBuildingId: number = 0;\n buildingAddress: string = '';\n pageError: any = [];\n pageSuccess: any = [];\n isEdit: boolean = false;\n submitted: boolean = false;\n questionForm: FormGroup;\n model: TaxCredit;\n\n constructor(private router: Router\n , private activeRoute: ActivatedRoute\n , private formBuilder: FormBuilder\n , private informationService: InformationService\n , private buildingService: BuildingService\n , private sharedService: SharedService) {\n\n this.model = new TaxCredit();\n this.model.ProjectId = this.projectId;\n }\n\n ngOnInit() {\n\n let ids = this.sharedService.getJsonData(\"id\");\n if (ids != null) {\n if (ids.projectId != null)\n this.projectId = this.model.ProjectId = ids.projectId;\n }\n else {\n if (this.model.ProjectId == 0 && this.projectId == 0)\n this.sharedService.navigateHome();\n }\n\n let bqp = this.sharedService.getJsonData('BuildingQuestionParam');\n if (bqp != null) {\n this.devProjectBuildingId = this.model.DevProjectBuildingId = bqp.devProjectBuildingId;\n this.siteProjectBuildingId = this.model.SiteProjectBuildingId = bqp.siteProjectBuildingId;\n this.buildingId = this.model.BuildingId = bqp.bldgId;\n if (!(bqp.buildingAddress == null || bqp.buildingAddress == ''))\n this.buildingAddress = '- ' + bqp.buildingAddress;\n }\n else {\n this.sharedService.navigateSummary();\n }\n if (this.siteProjectBuildingId == null || this.buildingId == null)\n this.sharedService.navigateSummary();\n\n this.questionForm = this.formBuilder.group({\n isRequestingTaxCredits: ['', [Validators.required]],\n LIHTC4: [null],\n LIHTC9: [null],\n brownFields: [null],\n historic: [null],\n SLIHTC: [null],\n newMarkets: [null],\n hasOtherType: [null],\n otherTypeName: ['', Validators.required],\n sourceCitySubsidy: ['', Validators.required] \n }); \n \n this.informationService.GetProjectBuildingTaxCredits(this.devProjectBuildingId, this.siteProjectBuildingId)\n .subscribe(\n success => {\n if (!success.Success)\n this.showError(success.StatusMessage);\n else {\n if (success.Result != null) {\n this.isEdit = success.Result.IsValid;\n this.PopulateData(success.Result);\n }\n\n if (this.model.ProjectId == 0 && this.projectId == 0)\n this.showError(\"Project ID not found!\")\n else if (this.model.ProjectId == 0)\n this.model.ProjectId = this.projectId;\n }\n },\n error => {\n if (error.status == 401)\n this.router.navigateByUrl('/login?session=0');\n\n this.showError(error.ExceptionMessage)\n })\n\n }\n\n isTaxCreditValid(thisParam)\n {\n var result = !thisParam.model ? false :\n (thisParam.model.IsRequestingTaxCredits == 'true' && thisParam.submitted) &&\n\n ((thisParam.model.HasLIHTC4PercTaxCreditType == false || thisParam.model.HasLIHTC4PercTaxCreditType == null) &&\n (thisParam.model.HasLIHTC9PercTaxCreditType == false || thisParam.model.HasLIHTC9PercTaxCreditType == null) &&\n (thisParam.model.HasBrownFieldsTaxCreditType == false || thisParam.model.HasBrownFieldsTaxCreditType == null) &&\n (thisParam.model.HasHistoricTaxCreditType == false || thisParam.model.HasHistoricTaxCreditType == null) &&\n (thisParam.model.HasSLIHCTaxCreditType == false || thisParam.model.HasSLIHCTaxCreditType == null) &&\n (thisParam.model.HasNewMarketsTaxCreditType == false || thisParam.model.HasNewMarketsTaxCreditType == null) &&\n (thisParam.model.HasOtherTaxCreditType == false || thisParam.model.HasOtherTaxCreditType == null));\n\n return result;\n }\n\n PopulateData(building) {\n if (building == null || building.length == 0)\n return false;\n\n if (building.IsRequestingTaxCredits)\n this.model.IsRequestingTaxCredits = 'true';\n else\n this.model.IsRequestingTaxCredits = 'false';\n\n this.model.HasLIHTC4PercTaxCreditType = building.HasLIHTC4PercTaxCreditType;\n this.model.HasLIHTC9PercTaxCreditType = building.HasLIHTC9PercTaxCreditType;\n this.model.HasBrownFieldsTaxCreditType = building.HasBrownFieldsTaxCreditType;\n this.model.HasHistoricTaxCreditType = building.HasHistoricTaxCreditType;\n this.model.HasSLIHCTaxCreditType = building.HasSLIHCTaxCreditType;\n this.model.HasNewMarketsTaxCreditType = building.HasNewMarketsTaxCreditType;\n this.model.HasOtherTaxCreditType = building.HasOtherTaxCreditType;\n this.model.OtherTaxCreditTypeName = building.OtherTaxCreditTypeName;\n this.model.SourceCitySubsidy = building.SourceCitySubsidy;\n //this.model.HasHDCCitySubsidy = building.HasHDCCitySubsidy;\n }\n\n changeRequestingTaxCredits() {\n if (this.model.IsRequestingTaxCredits == 'false') {\n this.model.HasLIHTC4PercTaxCreditType = this.model.HasLIHTC9PercTaxCreditType = this.model.HasBrownFieldsTaxCreditType = this.model.HasHistoricTaxCreditType = this.model.HasSLIHCTaxCreditType = this.model.HasNewMarketsTaxCreditType = this.model.HasOtherTaxCreditType = false;\n this.model.SourceCitySubsidy = '';\n this.model.OtherTaxCreditTypeName = '';\n }\n }\n\n changeLIHTCPercent(cbType) {\n \n if (cbType == '4P') {\n this.model.HasLIHTC9PercTaxCreditType = false;\n this.model.SourceCitySubsidy = '';\n }\n else if (cbType == '9P') {\n this.model.HasLIHTC4PercTaxCreditType = false;\n this.model.SourceCitySubsidy = '';\n }\n\n if (this.model.HasLIHTC4PercTaxCreditType == false && this.model.HasLIHTC9PercTaxCreditType == false) {\n this.model.SourceCitySubsidy = '';\n }\n }\n\n changeHasOtherType() { \n if (this.model.HasOtherTaxCreditType == false) \n this.model.OtherTaxCreditTypeName = '';\n }\n\n save(button) {\n this.submitted = true;\n //if (!this.questionForm.valid) \n // return false;\n\n var isValid = this.CheckFormValid();\n if (!isValid)\n return false; \n \n this.model.IsValid = true;\n this.informationService.SaveProjectBuildingTaxCredits(this.model)\n .subscribe(\n success => {\n if (!success.Success){\n this.showError(success.StatusMessage);\n\t\t\t\t}\n else {\n if (button == 'NEXT') {\n this.router.navigate([\"/buildings/taxincentive\"]);\n }\n else if (button == 'LATER')\n this.sharedService.navigateSummary();\n }\n },\n error => {\n if (error.status == 401)\n this.router.navigateByUrl('/login?session=0');\n\n this.showError(error.ExceptionMessage);\n })\n }\n\n CheckFormValid() {\n var isValid = true;\n if (this.model.IsRequestingTaxCredits == null || this.model.IsRequestingTaxCredits == '')\n isValid = false;\n else if ((this.model.IsRequestingTaxCredits == 'true') && ((this.model.HasLIHTC4PercTaxCreditType == false || this.model.HasLIHTC4PercTaxCreditType == null)\n && (this.model.HasLIHTC9PercTaxCreditType == false || this.model.HasLIHTC9PercTaxCreditType == null) && (this.model.HasBrownFieldsTaxCreditType == false || this.model.HasBrownFieldsTaxCreditType == null)\n && (this.model.HasHistoricTaxCreditType == false || this.model.HasHistoricTaxCreditType == null) && (this.model.HasSLIHCTaxCreditType == false || this.model.HasSLIHCTaxCreditType == null)\n && (this.model.HasNewMarketsTaxCreditType == false || this.model.HasNewMarketsTaxCreditType == null) && (this.model.HasOtherTaxCreditType == false || this.model.HasOtherTaxCreditType == null))) {\n\n isValid = false;\n }\n else if (this.model.HasOtherTaxCreditType == true && (this.model.OtherTaxCreditTypeName == null || this.model.OtherTaxCreditTypeName == ''))\n isValid = false;\n else if ((this.model.HasLIHTC4PercTaxCreditType == true || this.model.HasLIHTC9PercTaxCreditType == true)\n && ((this.model.SourceCitySubsidy == '' || this.model.SourceCitySubsidy == null)\n // && (this.model.HasHDCCitySubsidy == false || this.model.HasHDCCitySubsidy == null)\n ))\n isValid = false;\n\n return isValid;\n }\n\n previous() {\n //this.animateDirection = 1;\n if (this.devProjectBuildingId == null) \n this.router.navigate([\"/buildings/locationmihsiteunit\"]); //site building\n else \n this.router.navigate([\"/buildings/mihunits\"]); //dev or dev-Site building\n }\n\n home() {\n this.sharedService.navigateHome();\n }\n\n closeError() {\n this.pageError = [];\n this.pageSuccess = [];\n }\n\n showError(msg) {\n this.pageError = []; this.pageSuccess = [];\n this.pageError.push(this.sharedService.getCustomError(msg));\n this.sharedService.processError(msg);\n }\n \n}\n","module.exports = \"{{title}}\\r\\n
0\\\" id=\\\"systemMessageHeader\\\">\\r\\n
{{item}}
\\r\\n
\\r\\n
\\r\\n\\r\\n
0\\\" id=\\\"systemMessageHeader\\\">\\r\\n
{{item}}
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n Building Information {{buildingAddress}}\\r\\n
\\r\\n
Please identify what tax incentive this building will be using, if\\r\\n applicable.
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
Tax Incentive
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Required\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\"","import { Component, OnInit } from '@angular/core';\nimport { FormGroup, FormBuilder, Validators } from \"@angular/forms\";\nimport { Route, Router, ActivatedRoute } from '@angular/router';\nimport { trigger, state, style, animate, transition } from '@angular/animations';\n\nimport { InformationService } from '../../../services/information.service';\nimport { BuildingService } from '../../../services/building.service';\nimport { SharedService } from '../../../services/shared.service';\nimport { TaxIncentive } from '../../../viewmodel';\nimport { Incentives } from '../../../viewmodel';\nimport { Animations } from '../../common/animations';\n\nimport { CustomValidators } from '../../../directives/validators/custom-validator.directive';\nimport { HelperService } from '../../../services/helper.service';\n\n\n@Component({\n selector: 'app-taxincentive',\n templateUrl: './taxincentive.component.html',\n providers: [InformationService, BuildingService],\n styles: ['.rowTemplate4 { min-height: 380px; }'],\n animations: [Animations.flyInOut]\n})\n\nexport class TaxIncentiveComponent implements OnInit {\n\n animate: string = 'active';\n animateDirection: number = -1;\n title: string = 'Tax Incentive';\n projectId: number = 0;\n devProjectBuildingId: number = 0;\n siteProjectBuildingId: number = 0;\n buildingId: number = 0;\n buildingAddress: string = '';\n pageError: any = [];\n pageSuccess: any = [];\n isEdit: boolean = false;\n submitted: boolean = false;\n questionForm: FormGroup;\n model: TaxIncentive;\n\n dropdownList = [];\n\n constructor(private router: Router\n , private activeRoute: ActivatedRoute\n , private formBuilder: FormBuilder\n , private informationService: InformationService\n , private buildingService: BuildingService\n , private sharedService: SharedService\n , private helperService: HelperService\n ) {\n\n this.model = new TaxIncentive();\n this.model.ProjectId = this.projectId;\n }\n\n ngOnInit() {\n let ids = this.sharedService.getJsonData(\"id\");\n if (ids != null) {\n if (ids.projectId != null)\n this.projectId = this.model.ProjectId = ids.projectId;\n }\n else {\n if (this.model.ProjectId == 0 && this.projectId == 0)\n this.sharedService.navigateHome();\n }\n\n let bqp = this.sharedService.getJsonData('BuildingQuestionParam');\n if (bqp != null) {\n this.devProjectBuildingId = this.model.DevProjectBuildingId = bqp.devProjectBuildingId;\n this.siteProjectBuildingId = this.model.SiteProjectBuildingId = bqp.siteProjectBuildingId;\n this.buildingId = this.model.BuildingId = bqp.bldgId;\n if (!(bqp.buildingAddress == null || bqp.buildingAddress == ''))\n this.buildingAddress = '- ' + bqp.buildingAddress;\n }\n else {\n this.sharedService.navigateSummary();\n }\n if (this.siteProjectBuildingId == null || this.buildingId == null)\n this.sharedService.navigateSummary();\n\n this.questionForm = this.formBuilder.group({\n exemption: ['', Validators.required]\n });\n\n this.informationService.GetProjectBuildingTaxIncentives(this.devProjectBuildingId, this.siteProjectBuildingId)\n .subscribe(\n success => {\n if (!success.Success)\n this.showError(success.StatusMessage);\n else {\n if (success.Result != null) {\n if (success.Result.TaxIncentives != null) {\n this.dropdownList = success.Result.TaxIncentives;\n this.PopulateData(success.Result);\n }\n }\n\n if (this.model.ProjectId == 0 && this.projectId == 0)\n this.showError(\"Project ID not found!\")\n else if (this.model.ProjectId == 0)\n this.model.ProjectId = this.projectId;\n }\n },\n error => {\n if (error.status == 401)\n this.router.navigateByUrl('/login?session=0');\n\n this.showError(error.ExceptionMessage)\n })\n\n }\n\n PopulateData(data) {\n if (data == null || data.length == 0)\n return false;\n\n if (data.IsRequestingTaxIncentives == true) {\n this.model.IsRequestingTaxIncentives = 'true';\n this.isEdit = true;\n }\n else if (data.IsRequestingTaxIncentives == false) {\n this.model.IsRequestingTaxIncentives = 'false';\n this.isEdit = true;\n }\n else if (data.IsRequestingTaxIncentives == '')\n this.model.IsRequestingTaxIncentives = '';\n\n this.model.TaxIncentives = data.TaxIncentives;\n this.model.dropdownList = data.TaxIncentives;\n }\n\n save(button) {\n\n this.submitted = true;\n if (this.model.IsRequestingTaxIncentives == 'true') {\n if (!this.questionForm.valid) {\n return false;\n }\n }\n\n if ((this.model.IsRequestingTaxIncentives == null || this.model.IsRequestingTaxIncentives == '')\n || (this.model.IsRequestingTaxIncentives == 'true' && !this.isTaxIncentivesSelected())) {\n return false;\n }\n\n this.model.IsValid = true;\n if (this.model.IsRequestingTaxIncentives == 'false')\n this.deSelectAll(); // de-select source\n\n this.informationService.SaveProjectBuildingTaxIncentives(this.model)\n .subscribe(\n success => {\n if (!success.Success) {\n this.showError(success.StatusMessage);\n }\n else {\n if (button == 'NEXT') {\n this.router.navigate([\"/buildings/siteunitcount\"]);\n }\n else if (button == 'LATER')\n this.sharedService.navigateSummary();\n }\n },\n error => {\n if (error.status == 401)\n this.router.navigateByUrl('/login?session=0');\n\n this.showError(error.ExceptionMessage);\n\n })\n }\n\n isTaxIncentivesSelected(): boolean {\n if (this.dropdownList != null && this.dropdownList.find(x => x.StringTrackingValue == \"Y\")) {\n return true;\n }\n return false;\n }\n\n removeSelectedTaxIncentives() {\n if (this.dropdownList != null) {\n this.dropdownList.forEach(x => x.StringTrackingValue = '');\n }\n }\n\n previous() {\n this.animateDirection = 1;\n this.router.navigate([\"/buildings/taxcredit\"]);\n }\n\n home() {\n this.sharedService.navigateHome();\n }\n\n deSelectAll() {\n if (this.dropdownList != null) {\n for (var i = 0; i < this.dropdownList.length; i++) {\n this.dropdownList[i].StringTrackingValue = '';\n }\n }\n }\n\n closeError() {\n this.pageError = [];\n this.pageSuccess = [];\n }\n\n showError(msg) {\n this.pageError = []; this.pageSuccess = [];\n this.pageError.push(this.sharedService.getCustomError(msg));\n this.sharedService.processError(msg);\n }\n}\n","module.exports = \"{{title}}\\r\\n
0\\\"\\r\\n id=\\\"systemMessageHeader\\\">\\r\\n
{{item}}
\\r\\n \\r\\n
\\r\\n\\r\\n
0\\\"\\r\\n id=\\\"systemMessageHeader\\\">\\r\\n
{{item}}
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n Building Information {{this.buildingAddress}}\\r\\n
\\r\\n
Please enter information on the total number of residential units in this building, which includes the MIH units, non-MIH units, and super’s unit(s), if applicable See ZR 23-911 definition of Eligible Common Area. Only Use Group 2 residential floor area is counted as residential floor area for the purposes of determining the MIH requirement.
\\r\\n
\\r\\n
\\r\\n
\\r\\n
Residential Floor Area & Unit Count
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n units\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n square feet\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n\"","import { Component, OnInit } from '@angular/core';\r\nimport { FormGroup, FormBuilder, Validators } from \"@angular/forms\";\r\nimport { Route, Router, ActivatedRoute } from '@angular/router';\r\nimport { trigger, state, style, animate, transition } from '@angular/animations';\r\n\r\nimport { InformationService } from '../../../services/information.service';\r\nimport { BuildingService } from '../../../services/building.service';\r\nimport { SharedService } from '../../../services/shared.service';\r\nimport { UnitCount } from '../../../viewmodel'; \r\nimport { Animations } from '../../common/animations';\r\nimport { AppConfig } from '../../../app.config';\r\n\r\n@Component({\r\n selector: 'app-unitcount',\r\n templateUrl: './unitcount.component.html',\r\n providers: [InformationService, BuildingService],\r\n animations: [Animations.flyInOut] \r\n})\r\nexport class UnitCountComponent implements OnInit {\r\n\r\n public floornumberMask = [/\\d/, /\\d/, /\\d/, /\\d/, /\\d/, /\\d/, /\\d/, /\\d/] \r\n public unitsnumberMask = [/\\d/, /\\d/, /\\d/, /\\d/, /\\d/, /\\d/, /\\d/, /\\d/] \r\n public ZR23Url: string = AppConfig.config.ZR23Url; \r\n animate: string = 'active';\r\n title: string = 'Unit Count';\r\n projectId: number = 0;\r\n buildingId: number = 0; \r\n projBuildingId: number = 0;\r\n devProjBuildingId: number = 0;\r\n siteProjBuildingId: number = 0; \r\n trackingId: number = 0; \r\n entityId: number = 0; \r\n questionType: number = 415; \r\n buildingAddress: string = ''; \r\n HFO: string = ''; //Housing fund Option\r\n\r\n pageError: any = [];\r\n pageSuccess: any = [];\r\n isEdit: boolean = false;\r\n submitted: boolean = false;\r\n questionForm: FormGroup;\r\n model: UnitCount; \r\n serverValidationErrors: Array = ['Total residential units and total residential square footage must be greater than 0', \r\n 'Total residential units must be greater than 0 and the total residential square footage must be greater than or equal to the total MIH square footage',\r\n 'Total residential units must be greater than 0', \r\n 'Total residential units for this building must be greater than or equal to the sum of MIH units and super’s units and the total residential square footage must be greater than 0',\r\n 'Total residential square footage must be greater than 0',\r\n 'Total residential units for this building must be greater than or equal to the sum of MIH units and super’s units and the total residential square footage must be greater than or equal to the total MIH square footage',\r\n 'Total residential units for this building must be greater than or equal to the sum of MIH units and super’s units',\r\n 'Total residential square footage must be greater than or equal to the total MIH square footage'];\r\n\r\n constructor(private router: Router\r\n\t, private frmBuilder: FormBuilder\r\n , private activeRoute: ActivatedRoute\r\n , private informationService: InformationService\r\n , private buildingService: BuildingService\r\n , private sharedService: SharedService\r\n ) {\r\n\r\n this.model = new UnitCount();\r\n this.model.ProjectId = this.projectId;\r\n \r\n }\r\n ngOnInit() {\r\n \r\n let ids = this.sharedService.getJsonData(\"id\");\r\n if (ids != null) {\r\n if (ids.projectId != null)\r\n this.projectId = this.model.ProjectId = ids.projectId;\r\n }\r\n else {\r\n if (this.model.ProjectId == 0 && this.projectId == 0)\r\n this.sharedService.navigateHome();\r\n }\r\n\r\n let bqp = this.sharedService.getJsonData('BuildingQuestionParam');\r\n if (bqp != null) {\r\n this.devProjBuildingId = this.model.DevProjectBuildingId = bqp.devProjectBuildingId;\r\n this.siteProjBuildingId = this.model.SiteProjectBuildingId = bqp.siteProjectBuildingId;\r\n this.buildingId = this.model.BuildingId = bqp.bldgId;\r\n this.projBuildingId = this.devProjBuildingId == null ? this.siteProjBuildingId : this.devProjBuildingId;\r\n if (bqp.buildingAddress != null || bqp.buildingAddress == '')\r\n this.buildingAddress = '- ' + bqp.buildingAddress;\r\n }\r\n else {\r\n this.sharedService.navigateSummary();\r\n }\r\n\r\n if (this.projBuildingId == null || this.buildingId == null) \r\n this.sharedService.navigateSummary();\r\n\r\n this.questionForm = this.frmBuilder.group({\r\n floorarea: [null, [Validators.required, Validators.pattern('[0-9]*')]],\r\n units: [null, [Validators.required, Validators.pattern('[0-9]*')]] \r\n });\r\n\r\n //get the payment In Liu info\r\n if (bqp != null) {\r\n this.informationService.getQuestionByType(this.projectId, 'AHF')\r\n .subscribe(\r\n success => {\r\n if (!success.Success)\r\n this.showError(success.StatusMessage);\r\n else {\r\n if (success.Result != null) {\r\n this.HFO = success.Result.Hfo;\r\n }\r\n }\r\n },\r\n error => {\r\n if (error.status == 401)\r\n this.router.navigateByUrl('/login?session=0');\r\n\r\n this.showError(error.ExceptionMessage)\r\n })\r\n }\r\n\r\n //get floorArea data\r\n if (bqp != null) { \r\n this.informationService.GetProjectBuildingFloorAreaUnitCount(this.devProjBuildingId, this.siteProjBuildingId)\r\n .subscribe(\r\n success => {\r\n if (!success.Success)\r\n this.showError(success.StatusMessage);\r\n else {\r\n if (success.Result != null) {\r\n this.model.UnitCount = success.Result.UnitCount;\r\n this.model.Floorarea = success.Result.FloorArea;\r\n if (this.model.UnitCount > 0 && this.model.Floorarea>0)\r\n this.isEdit = true; \r\n }\r\n }\r\n },\r\n error => {\r\n if (error.status == 401)\r\n this.router.navigateByUrl('/login?session=0');\r\n\r\n this.showError(error.ExceptionMessage)\r\n })\r\n }\r\n }\r\n\r\n next(button) {\r\n this.submitted = true;\r\n if (!this.questionForm.valid) {\r\n return false;\r\n }\r\n\r\n // var alertMessage = this.validateForm();\r\n // if (alertMessage != '') {\r\n // this.showErrorAlert(alertMessage);\r\n // return false;\r\n // }\r\n\r\n if (this.model.Floorarea == null || this.model.UnitCount == null) {\r\n return false;\r\n }\r\n \r\n this.model.IsValid = true;\r\n this.informationService.SaveProjectBuildingFloorAreaUnitCount(this.model) \r\n .subscribe(\r\n success => {\r\n if (!success.Success) { \r\n if (success.StatusMessage != null && this.serverValidationErrors.indexOf(success.StatusMessage) !== -1) {\r\n this.showErrorAlert(success.StatusMessage);\r\n }\r\n else {\r\n this.showError(success.StatusMessage);\r\n }\r\n\t\t\t\t}\r\n else {\r\n if (button == 'NEXT') {\r\n if (this.HFO == 'N')\r\n this.router.navigate([\"/buildings/publicfunding\"]);\r\n else {\r\n this.sharedService.navigateSummary();\r\n }\r\n }\r\n else if (button == 'LATER')\r\n this.sharedService.navigateSummary();\r\n }\r\n },\r\n error => {\r\n if (error.status == 401)\r\n this.router.navigateByUrl('/login?session=0');\r\n\r\n this.showError(error.ExceptionMessage);\r\n })\r\n }\r\n\r\n PopulateData(question) {\r\n this.model.UnitCount = question.ResidentialUnits;\r\n this.model.Floorarea = question.FloorArea;\r\n }\r\n\r\n PopulateQuestionAndAddress(buildings) {\r\n if (buildings == null || buildings.length == 0)\r\n return false; \r\n\r\n var item = buildings[0];\r\n this.buildingAddress = item.HouseNumber + ' ' + item.StreetName;\r\n }\r\n\r\n // validateForm() {\r\n // var floorarea = +this.model.Floorarea; //cast of string to number\r\n // var unitCount = +this.model.UnitCount;\r\n // var msg = '';\r\n // if (floorarea == 0 && unitCount == 0)\r\n // msg = 'Total residential square footage and residential units must be greater than 0';\r\n // else if (floorarea == 0)\r\n // msg = 'Total residential square footage must be greater than 0';\r\n // else if (unitCount == 0)\r\n // msg = 'Total residential units must be greater than 0';\r\n\r\n // return msg; \r\n // }\r\n\r\n previous() {\r\n this.sharedService.navigateSummary();\r\n }\r\n home() {\r\n this.sharedService.navigateHome();\r\n }\r\n\r\n closeError() {\r\n this.pageError = [];\r\n this.pageSuccess = [];\r\n }\r\n\r\n showError(msg) {\r\n this.pageError = []; this.pageSuccess = [];\r\n this.pageError.push(this.sharedService.getCustomError(msg));\r\n this.sharedService.processError(msg);\r\n }\r\n\r\n showErrorAlert(msg) {\r\n this.pageError = []; this.pageSuccess = [];\r\n this.pageError.push(msg);\r\n this.sharedService.processError(msg);\r\n }\r\n\r\n}\r\n","import { trigger, state, transition, animate, style } from '@angular/animations';\r\n\r\nexport class Animations {\r\n \r\n public static collapseInOut = trigger('collapseInOut', [ \r\n state('true', style({ height: '0px', display: 'none' })),\r\n state('false', style({ height: '*' })),\r\n transition('true => false', animate('300ms ease-in')),\r\n transition('false => true', animate('300ms ease-out'))\r\n ]);\r\n\r\n public static flyInOut = trigger('flyInOut', [\r\n state('in', style({ transform: 'translateX(0)' })),\r\n transition('void => *', [\r\n style({ transform: 'translateX(200%)' }),\r\n animate(700)\r\n ]),\r\n transition('* => void', [\r\n animate(700, style({ transform: 'translateX(-200%)' }))\r\n ])\r\n ])\r\n \r\n}\r\n\r\n//export const Scrollup = trigger('Scrollup', [\r\n// // transition('1 => 0', animate('500ms ease-in')),\r\n// // transition('0 => 1', animate('500ms ease-out'))\r\n\r\n// transition('void => *', [\r\n// style({ transform: 'translateY(-100%)' }), \r\n// animate(700)\r\n// ]),\r\n// transition('* => void', [\r\n// animate(700, style({ transform: 'translateY(100%)' }))\r\n// ])\r\n//]);","module.exports = \"
\\r\\n
\\r\\n
\\r\\n

HPD

\\r\\n

\\r\\n

System Processing...

\\r\\n
\\r\\n
\\r\\n
\"","import { Component, OnInit } from '@angular/core';\nimport { ProgressService } from '../../services/progress.service';\n\n@Component({\n selector: 'mih-loader',\n templateUrl: './progress.component.html',\n providers:[]\n})\nexport class ProgressComponent implements OnInit {\n loading: boolean = false;\n constructor(private progressService: ProgressService) { }\n\n ngOnInit() {\n this.progressService.getInProgress()\r\n .subscribe((count) => {\r\n this.loading = count > 0;\r\n });\n }\n\n}\n","import { Component, Input, Output, EventEmitter } from '@angular/core';\r\nimport { Idle, DEFAULT_INTERRUPTSOURCES } from '@ng-idle/core';\r\nimport { AppConfig } from 'app/app.config';\r\n\r\n@Component({\r\n selector: 'inactivity-timeout',\r\n template: `
\r\n\t\t
\r\n\t\t\t
Inactivity Alert
\r\n\t\t\t
\r\n Due to inactivity your online session will expire in {{countdown}} minutes. Click \"Stay Logged In\" to continue working on this page or click \"Log Out\" to end your session now. Any changes not saved will be lost.\r\n
\t\t\t \t\r\n\t\t\t
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n\t\t
\r\n\t
`\r\n})\r\n\r\nexport class TimeoutComponent {\r\n @Input() show: boolean;\r\n @Input() countdown: string;\r\n @Output() stayLogged: EventEmitter = new EventEmitter();\r\n\r\n constructor(private idle: Idle) { }\r\n\r\n stayLoggedIn() {\r\n this.stayLogged.emit('staylogged');\r\n this.show = false;\r\n }\r\n\r\n logout() {\r\n this.idle.watch();\r\n window.location.href = AppConfig.config.cpuiLogoutUrl;\r\n }\r\n}\r\n\r\n","module.exports = \"{{title}}\\r\\n
0\\\" \\r\\n id=\\\"systemMessageHeader\\\">\\r\\n
{{item}}
\\r\\n \\r\\n
\\r\\n\\r\\n
0\\\"\\r\\n id=\\\"systemMessageHeader\\\">\\r\\n
{{item}}
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n Incomplete Profile\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
Your NYC.ID profile is missing some information. You are being redirected to NYC DoITT to update this information.
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
{{appNameLabel}}{{appIdLabel}}
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n Application Information\\r\\n
\\r\\n
\\r\\n
Please provide a name for your application. If your project doesn't have a name, we suggest using the address of your MIH Development as your application name. Add the borough initials of the project's address to the application name. QN- Queens, SI-Staten Island, BK- Brooklyn, BX- Bronx, MN- Manhattan. For example: where 100 Gold Street, New York N.Y. is the address of your MIH Development, “MN-100 Gold Street” would be your application name.
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
Application Name
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\"","import { Component, OnInit } from '@angular/core';\r\nimport { FormGroup, FormBuilder, Validators } from \"@angular/forms\";\r\nimport { Route, Router, ActivatedRoute, NavigationEnd, NavigationStart } from '@angular/router';\r\nimport { trigger, state, style, animate, transition } from '@angular/animations';\r\nimport 'rxjs/add/operator/pairwise';\r\n// APP\r\nimport { EntityService } from '../../services/entity.service';\r\nimport { AccountService } from '../../services/account.service'; \r\nimport { SharedService } from '../../services/shared.service';\r\nimport { AuthenticationService } from '../../services/authentication.service';\r\nimport { FoucsChangeService } from '../../services/focuschange.service'; \r\nimport { AddAppName } from '../../viewmodel'; \r\nimport { Animations } from '../common/animations';\r\n\r\n@Component({\r\n selector: 'application-name',\r\n templateUrl: './addapplication.component.html',\r\n providers: [EntityService, AccountService],\r\n animations: [Animations.flyInOut]\r\n})\r\n\r\nexport class AddApplicationComponent implements OnInit {\r\n\r\n animate: string = 'active';\r\n title: string = 'Add new application';\r\n projectId: number = 0; \r\n createAppliication: boolean = false;\r\n pageError: any = [];\r\n pageSuccess: any = [];\r\n submitted: boolean = false;\r\n appNameForm: FormGroup;\r\n appName: string = '';\r\n appNameLabel: string = ''; \r\n appIdLabel: string = '';\r\n appStatus: string = ''; \r\n appMode: string = ''; \r\n model: any; \r\n isModified = false;\r\n isIncompleteProfile: boolean = false;\r\n\r\n constructor(private router: Router\r\n , private frmBuilder: FormBuilder\r\n , private activeRoute: ActivatedRoute\r\n , private entityService: EntityService\r\n , private accountService: AccountService\r\n , private sharedService: SharedService\r\n , private authenticationservice: AuthenticationService\r\n , private foucsChangeService: FoucsChangeService) {\r\n \r\n this.model = new AddAppName(); \r\n }\r\n\r\n ngOnInit() {\r\n \r\n let ids = this.sharedService.getJsonData(\"id\");\r\n \r\n if (ids != null) {\r\n if (ids.projectId != null) {\r\n this.projectId = ids.projectId;\r\n\r\n if (this.projectId == 0) {\r\n this.createAppliication = true; \r\n this.appStatus = 'Draft'; \r\n }\r\n else {\r\n\r\n this.createAppliication = false;\r\n this.title = \"Edit application name\";\r\n this.appNameLabel = this.appName = ids.appName;\r\n this.appIdLabel = ids.appIdLabel;\r\n this.appStatus = ids.appStatus;\r\n this.appMode = ids.appMode; \r\n }\r\n }\r\n }\r\n else {\r\n this.createAppliication = true; \r\n this.projectId = 0;\r\n this.appStatus = 'Draft'; \r\n }\r\n \r\n this.appNameForm = this.frmBuilder.group({ appName: ['', [Validators.required]] });\r\n\r\n var user = this.sharedService.getJsonData(\"loggedInUser\"); \r\n this.getAccountByUserId(user.UserID);\r\n\t\t\r\n } \r\n \r\n next(button) {\r\n this.submitted = true;\r\n if (this.appName.trim() == '' || this.appName == null) {\r\n this.appName = '';\r\n return false;\r\n }\r\n\r\n if (this.appName.length > 0)\r\n this.appName = this.appName.trim();\r\n //this.appName = this.appName.replace(/ +/g, ' '); \r\n\r\n this.model.AppName = this.appName;\r\n this.model.ProjectId = this.projectId;\r\n\r\n this.entityService.addApplicationName(JSON.stringify(this.model)) \r\n .subscribe(\r\n success => this.doOnSuccess(success, button, this.appName),\r\n error => {\r\n if (error.status == 401)\r\n this.router.navigate([\"/login?session=0\"]);\r\n if (error.ExceptionMessage == null && error.MessageDetail != '')\r\n error.ExceptionMessage = error.MessageDetail; \r\n\t\t\t\t\r\n this.showError(error.ExceptionMessage);\r\n })\r\n }\r\n\r\n doOnSuccess(success, button, appName)\r\n { \r\n if (!success.Success) {\r\n if (success.StatusMessage && success.StatusMessage.indexOf('Project Name already exists') !== -1) {\r\n this.showErrorAlert('This application name already exists. Please provide a unique application name.');\r\n }\r\n else {\r\n this.showError(success.StatusMessage);\r\n }\r\n }\r\n else {\r\n\r\n //success case\r\n if (success.Result != null) {\r\n var idLabel = 'ID - ' + success.Result;\r\n this.sharedService.setData('id', JSON.stringify({ 'projectId': success.Result, 'appName': appName, 'appIdLabel': idLabel, 'appStatus': this.appStatus, 'appMode': this.appMode }));\r\n }\r\n if (button == 'NEXT') {\r\n this.router.navigate(['/information/housingarea']);\r\n }\r\n else if (button = 'LATER') {\r\n this.sharedService.navigateSummary(); \r\n }\r\n }\r\n }\r\n\r\n home() {\r\n this.sharedService.navigateHome();\r\n }\r\n\r\n summary() {\r\n this.sharedService.navigateSummary();\r\n }\r\n\r\n closeError() {\r\n this.pageError = [];\r\n this.pageSuccess = [];\r\n }\r\n\r\n showError(msg) {\r\n this.pageError = []; this.pageSuccess = [];\r\n this.pageError.push(this.sharedService.getCustomError(msg));\r\n this.sharedService.processError(msg);\r\n }\r\n\t\r\n\t showErrorAlert(msg) {\r\n this.pageError = []; this.pageSuccess = [];\r\n this.pageError.push(msg);\r\n this.sharedService.processError(msg);\r\n }\r\n\r\n showSuccess(msg) {\r\n this.pageSuccess = []; this.pageError = [];\r\n this.pageSuccess.push(msg);\r\n this.sharedService.scroll();\r\n }\r\n\r\n valueChanged()\r\n {\r\n this.isModified = true;\r\n }\r\n\r\n getAccountByUserId(email) {\r\n \r\n this.accountService.getAccountByUserId(email)\r\n .subscribe(\r\n successResp => {\r\n if (!successResp.Success) {\r\n //this.pageError.push(successResp.StatusMessage);\r\n }\r\n else {\r\n var firstName = successResp.Result.FirstName;\r\n var lastName = successResp.Result.LastName;\r\n var emailAddr = successResp.Result.UserID;\r\n var hphone = successResp.Result.HomePhone;\r\n var orgName = successResp.Result.OrganizationName\r\n if ( \r\n firstName == null || firstName == 'N_A' || firstName.trim() == ''\r\n || lastName == null || lastName == 'N_A' || lastName.trim() == '' \r\n || emailAddr == null || emailAddr.trim() == '') {\r\n\r\n // this.updateProfile(); // redirect to NYC ID profile page. user info need to update in NYCID database server. \r\n this.isIncompleteProfile = true;\r\n this.foucsChangeService.changeFocus(false);\r\n return false; \r\n }\r\n\r\n if (orgName == null || orgName.trim() == ''\r\n || hphone == null || hphone.trim() == '') {\r\n\r\n this.sharedService.navigateAccount();\r\n }\r\n }\r\n },\r\n error => {\r\n window.scrollTo(0, 0);\r\n })\r\n }\r\n\r\n updateProfile() {\r\n var profileUrlLink = '';\r\n this.authenticationservice.getUpdateProfile()\r\n .subscribe(profileUrl => {\r\n profileUrlLink = profileUrl.d;\r\n window.location.href = profileUrlLink;\r\n });\r\n }\r\n\r\n\r\n}\r\n\r\n","module.exports = \"
0\\\"\\r\\n id=\\\"systemMessageHeader\\\">\\r\\n
{{item}}
\\r\\n \\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n
Delete Document \\r\\n
\\r\\n
Are you sure you want to permanently remove this item?
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n MIH Application Documents\\r\\n \\r\\n
\\r\\n
\\r\\n

Congratulations, you are now ready to start uploading your supporting documents. You must submit all supporting documents for your completed application, identified entities and site building (s). You will see a corresponding list of documents upon selecting the application, entity or building (s) you are submitting for.

\\r\\n
    \\r\\n
  1. Use dropdown 1 to select the entity or building you want to submit for.
  2. \\r\\n
  3. Use dropdown 2 to select which document you want to attach to your first selection
  4. \\r\\n
  5. Required documents will be highlighted with an asterisk (*)
  6. \\r\\n
  7. If you do not see the document you are looking for you may choose ‘other’ and name your document accordingly.
  8. \\r\\n
\\r\\n

\\r\\n

Please Note: You must use the templates below for your ‘Stacking Chart’ and ‘Doing Business Data’ form uploads. If you need additional assistance you may visit the help page for further instructions or may consult with your assigned project manager.

\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n Required\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n Required\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n Required\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n Name \\r\\n Document TypeDocument NameDateAction
{{document.IsFirstRecordInGroup ? document.DocumentType : ''}}{{document.SubDocumentType}}\\r\\n {{document.DocumentName?.length > 18 ? '...' : ''}}{{document.DocumentName | slice: -18}}\\r\\n {{formatDate(document.UploadedDate)}}\\r\\n /\\r\\n
\\r\\n \\r\\n
No Record Found
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\"","import { Component, OnInit, ViewChild, ElementRef, Input, Output, EventEmitter } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport 'rxjs/add/operator/catch';\r\nimport { Animations } from '../common/animations';\r\nimport { DatePipe } from '@angular/common';\r\n\r\n// APP \r\nimport { EntityService } from '../../services/entity.service';\r\nimport { SharedService } from '../../services/shared.service';\r\nimport { HelperService } from '../../services/helper.service';\r\nimport { FoucsChangeService } from '../../services/focuschange.service';\r\nimport { FilesService } from 'app/services/files.service';\r\nimport { MIHDocumentType, MIHSubDocumentType, MIHUploadDocInfo, MIHDocument } from 'app/viewmodel';\r\n\r\n@Component({\r\n selector: 'app-upload',\r\n templateUrl: './applicationupload.component.html',\r\n providers: [EntityService, HelperService],\r\n animations: [Animations.collapseInOut]\r\n})\r\nexport class ApplicationUploadComponent implements OnInit {\r\n @Input('projectId') projectId: number;\r\n @Input('documents') documents: Array;\r\n @Input('appStatus') appStatus: string; \r\n @Input('sortColumn') sortColumn: string;\r\n @Input('sortDirection') sortDirection: string;\r\n @Input('lockChanges') lockChanges: boolean;\r\n @Output() sortColumnEvent: EventEmitter = new EventEmitter();\r\n @Output() sortDirectionEvent: EventEmitter = new EventEmitter();\r\n @Output() refreshDocumentsEvent: EventEmitter = new EventEmitter();\r\n @ViewChild('fileUpload') fileUpload: ElementRef;\r\n pageError: any = [];\r\n documentTypes: Array = [];\r\n subDocumentTypes: Array = [];\r\n selectedDocumentType: MIHDocumentType;\r\n selectedSubDocumentType: MIHSubDocumentType;\r\n uploadDocInfo: MIHUploadDocInfo;\r\n fileName: string;\r\n documentTypeRequiredError: boolean = false;\r\n subDocumentTypeRequiredError: boolean = false;\r\n fileNameRequiredError: boolean = false;\r\n displayDeleteConfirmation: boolean = false;\r\n deleteDocumentID: number = 0;\r\n fileExt: string = 'PDF, XLS, XLSX, DOC, DOCX, TIF, JPG, JPEG, GIF';\r\n maxSize: number = 4;\r\n \r\n constructor(private router: Router\r\n , private filesService: FilesService\r\n , private sharedService: SharedService\r\n , private datePipe: DatePipe\r\n , private foucsChangeService: FoucsChangeService) {\r\n }\r\n\r\n ngOnInit() {\r\n // Get Document Types\r\n this.getDocumentTypes();\r\n }\r\n\r\n getDocumentTypes() {\r\n this.filesService.getDocumentTypes(this.projectId)\r\n .subscribe(\r\n successResp => {\r\n if (!successResp.Success) {\r\n this.showError(successResp.StatusMessage);\r\n }\r\n else {\r\n this.documentTypes = successResp.Result;\r\n }\r\n },\r\n error => {\r\n this.showError(error.ExceptionMessage);\r\n });\r\n }\r\n\r\n getSubDocumentTypes(documentType: MIHDocumentType) {\r\n this.filesService.getSubDocumentTypes(documentType)\r\n .subscribe(\r\n successResp => {\r\n if (!successResp.Success) {\r\n this.showError(successResp.StatusMessage);\r\n }\r\n else {\r\n this.subDocumentTypes = successResp.Result;\r\n }\r\n },\r\n error => {\r\n this.showError(error.ExceptionMessage);\r\n });\r\n }\r\n\r\n onDocumentTypeChange(documentType: MIHDocumentType) {\r\n this.documentTypeRequiredError = false;\r\n this.selectedSubDocumentType = null;\r\n this.subDocumentTypeRequiredError = false;\r\n this.fileName = \"\";\r\n this.fileNameRequiredError = false;\r\n if (documentType) {\r\n this.getSubDocumentTypes(documentType);\r\n } else {\r\n this.subDocumentTypes = new Array();\r\n }\r\n }\r\n\r\n onSubDocumentTypeChange(subDocumentType: MIHSubDocumentType) {\r\n if (subDocumentType && subDocumentType.DropDownText == 'Other') {\r\n this.fileName = \"\";\r\n this.fileNameRequiredError = false;\r\n }\r\n this.subDocumentTypeRequiredError = false;\r\n }\r\n\r\n downloadDocument(documentId: number, documentName: string) {\r\n this.filesService.downloadDocument(documentId, documentName)\r\n .subscribe(async (data: Blob) => {\r\n if (data && data.type == 'application/octet-stream') {\r\n if (window.navigator.msSaveOrOpenBlob)\r\n window.navigator.msSaveBlob(data, documentName);\r\n else {\r\n var a = window.document.createElement(\"a\");\r\n a.href = window.URL.createObjectURL(data);\r\n a.download = documentName;\r\n document.body.appendChild(a);\r\n a.click();\r\n document.body.removeChild(a);\r\n }\r\n } else if (data && data.type == 'text/json') {\r\n var errorMessage = await (new Response(data)).text();\r\n if (errorMessage && errorMessage.length > 2) {\r\n errorMessage = errorMessage.slice(1, -1);\r\n }\r\n // Display the specific failure. \r\n if (errorMessage == 'This document is no longer available. Please refresh page for an updated list of documents.') {\r\n this.showErrorAlert(errorMessage);\r\n }\r\n else {\r\n this.showError(errorMessage);\r\n }\r\n }\r\n });\r\n }\r\n\r\n confirmDeletion(mihDocumentID: number) {\r\n this.closeError();\r\n this.deleteDocumentID = mihDocumentID;\r\n this.displayDeleteConfirmation = true;\r\n this.foucsChangeService.changeFocus(false);\r\n }\r\n\r\n cancelDocumentDeletion() {\r\n this.deleteDocumentID = 0;\r\n this.displayDeleteConfirmation = false;\r\n this.foucsChangeService.changeFocus(true);\r\n }\r\n\r\n deleteDocument() {\r\n this.closeError();\r\n let mihDocumentId = this.deleteDocumentID;\r\n this.deleteDocumentID = 0;\r\n this.displayDeleteConfirmation = false;\r\n this.filesService.deleteDocument(mihDocumentId)\r\n .subscribe(\r\n success => {\r\n if (!success.Success) {\r\n // Display the specific failure. \r\n if (success.StatusMessage == 'This document is no longer available. Please refresh page for an updated list of documents.' ||\r\n success.StatusMessage == 'This application is no longer available for modifications. Please refresh page for an updated application details.') {\r\n this.showErrorAlert(success.StatusMessage);\r\n }\r\n else {\r\n this.showError(success.StatusMessage);\r\n }\r\n }\r\n else {\r\n this.refreshDocumentsEvent.emit();\r\n }\r\n },\r\n error => {\r\n if (error.status == 401)\r\n this.router.navigateByUrl('/login?session=0');\r\n\r\n this.showError(error.ExceptionMessage)\r\n });\r\n }\r\n\r\n ////////// Save Uploaded file section /////////\r\n uploadDocument() {\r\n this.pageError = []; \r\n this.fileUpload.nativeElement.value = '';\r\n\r\n this.documentTypeRequiredError = !this.selectedDocumentType;\r\n this.subDocumentTypeRequiredError = !this.selectedSubDocumentType;\r\n\r\n if (this.selectedSubDocumentType && this.selectedSubDocumentType.DropDownText == 'Other' && this.fileName != null) {\r\n this.fileName = this.fileName.trim(); \r\n }\r\n this.fileNameRequiredError = this.selectedSubDocumentType && this.selectedSubDocumentType.DropDownText == 'Other' && !this.fileName ? true : false;\r\n \r\n if (this.documentTypeRequiredError || this.subDocumentTypeRequiredError || this.fileNameRequiredError) {\r\n return false;\r\n }\r\n }\r\n \r\n filesSelected(evt) {\r\n\r\n let files = evt.target.files;\r\n if (files.length > 0 && (!this.isValidFiles(files))) {\r\n return false;\r\n }\r\n\r\n this.uploadDocInfo = new MIHUploadDocInfo();\r\n if (files.length > 0) {\r\n\r\n this.uploadDocInfo.ProjectID = this.selectedDocumentType.ProjectID;\r\n this.uploadDocInfo.BldgID = this.selectedDocumentType.BldgID;\r\n this.uploadDocInfo.DocumentType = this.selectedSubDocumentType.DocumentType;\r\n this.uploadDocInfo.DocumentSubType = this.selectedSubDocumentType.DocumentSubType;\r\n this.uploadDocInfo.DocumentSubTypeName = this.selectedSubDocumentType.DropDownText;\r\n this.uploadDocInfo.PartyID = this.selectedSubDocumentType.PartyID;\r\n this.uploadDocInfo.PartyStagingID = this.selectedSubDocumentType.PartyStagingID;\r\n if (this.selectedSubDocumentType.DocumentSubType == 654)\r\n this.uploadDocInfo.OtherDocType = this.fileName;\r\n else\r\n this.uploadDocInfo.OtherDocType = '';\r\n\r\n let formData: FormData = new FormData();\r\n for (var j = 0; j < files.length; j++) {\r\n formData.append(\"file[]\", files[j], files[j].name);\r\n }\r\n\r\n this.filesService.uploadMIHFile(formData, this.uploadDocInfo)\r\n .subscribe(\r\n success => {\r\n if (!success.Success) {\r\n // Display the specific failure. \r\n if (success.StatusMessage == 'This application is no longer available for modifications. Please refresh page for an updated application details.') {\r\n this.showErrorAlert(success.StatusMessage);\r\n }\r\n else {\r\n this.showError(success.StatusMessage);\r\n }\r\n }\r\n else {\r\n this.refreshDocumentsEvent.emit();\r\n this.selectedDocumentType = null;\r\n this.onDocumentTypeChange(this.selectedDocumentType);\r\n }\r\n },\r\n error => {\r\n if (error.status == 401)\r\n this.router.navigateByUrl('/login?session=0');\r\n\r\n this.showError(error.ExceptionMessage)\r\n })\r\n }\r\n }\r\n\r\n private isValidFiles(files) {\r\n\r\n var isValidFile = true;\r\n var extensions = (this.fileExt.split(',')).map(function (x) { return x.toLocaleUpperCase().trim() }); // [PDF,XLS,XLSX,DOC,DOCX,TIF,JPG,JPEG,GIF]\r\n for (var i = 0; i < files.length; i++) {\r\n var ext = files[i].name.toUpperCase().split('.').pop() || files[i].name;\r\n \r\n if (extensions.indexOf(ext) == -1) {\r\n isValidFile = false;\r\n this.showErrorAlert(\"The specified file \" + files[i].name + \" could not be uploaded. Only the following file types are allowed: PDF, Excel, Word, JPG, JPEG, TIF and GIF.\");\r\n }\r\n // Check max file size\r\n if (!this.isValidFileSize(files[i])) {\r\n isValidFile = false;\r\n }\r\n }\r\n\r\n return isValidFile;\r\n }\r\n\r\n private isValidFileSize(file) {\r\n\r\n var isValidFileSize = true;\r\n var fileSizeinMB = file.size / (1024 * 1024);\r\n var size = Math.round(fileSizeinMB * 100) / 100; // convert upto 2 decimal place\r\n\r\n if (size > this.maxSize) {\r\n this.showErrorAlert(file.name + \" exceeds the maximum upload size for this site. Maximum upload file size: \" + this.maxSize + \"MB.\");\r\n isValidFileSize = false;\r\n }\r\n return isValidFileSize;\r\n }\r\n\r\n /* ///Test\r\n saveCheckList(projectId) {\r\n this.filesService.uploadCheckListTemplate(projectId)\r\n .subscribe(\r\n success => {\r\n if (!success.Success) { \r\n if (success.StatusMessage == 'This application is no longer available for modifications. Please refresh page for an updated application details.') {\r\n this.showErrorAlert(success.StatusMessage);\r\n }\r\n else {\r\n this.showError(success.StatusMessage);\r\n }\r\n }\r\n else {\r\n this.refreshDocumentsEvent.emit();\r\n this.selectedDocumentType = null;\r\n this.onDocumentTypeChange(this.selectedDocumentType);\r\n }\r\n },\r\n error => {\r\n if (error.status == 401)\r\n this.router.navigateByUrl('/login?session=0');\r\n\r\n this.showError(error.ExceptionMessage)\r\n })\r\n\r\n }\r\n */\r\n\r\n /////////////end Save Uploaded file section /////////////\r\n\r\n ///////////view list of file- getUploadDocsByProjectId/////////////\r\n formatDate(date) {\r\n var retDate = '';\r\n if (date != null) {\r\n retDate = this.datePipe.transform(date, 'MM/dd/yyyy');\r\n }\r\n return retDate;\r\n }\r\n\r\n sortData(columnName: string) {\r\n this.sortDirection = (this.sortColumn == columnName) ? (this.sortDirection == 'asc' ? 'desc' : 'asc') : 'desc';\r\n this.sortColumn = columnName;\r\n this.sortColumnEvent.emit(this.sortColumn);\r\n this.sortDirectionEvent.emit(this.sortDirection); \r\n }\r\n\r\n ///////// end view file list //////////\r\n\r\n closeError() {\r\n this.pageError = [];\r\n }\r\n\r\n showError(msg) {\r\n this.pageError = [];\r\n this.pageError.push(this.sharedService.getCustomError(msg));\r\n this.sharedService.processError(msg);\r\n }\r\n\r\n showErrorAlert(msg) {\r\n this.pageError = [];\r\n this.pageError.push(msg);\r\n this.sharedService.processError(msg);\r\n }\r\n}\r\n","module.exports = \"
\\r\\n Application Checklist\\r\\n
0\\\">\\r\\n
Checklist Upload Date
{{checkListUploadedDate}}
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\"","import { Component, OnInit, ViewChild, ElementRef, Input, Output, EventEmitter } from '@angular/core';\r\nimport { FilesService } from 'app/services/files.service';\r\nimport { SharedService } from 'app/services/shared.service';\r\nimport { DatePipe } from '@angular/common';\r\n\r\n@Component({\r\n selector: 'checklist',\r\n templateUrl: 'checklist.component.html'\r\n})\r\nexport class ChecklistComponent implements OnInit {\r\n @ViewChild('pdfViewer') pdfViewer;\r\n @Input('documentId') documentId: number;\r\n @Input('projectId') projectId: number; \r\n public checkListName: string = 'mih-application-checklist.pdf';\r\n public checkListUploadedDate: string; \r\n public InfoSrc: number = 0; \r\n public pageError: any = [];\r\n \r\n constructor(private filesService: FilesService\r\n ,private sharedService: SharedService\r\n , private datePipe: DatePipe ) {\r\n }\r\n\r\n ngOnInit() {\r\n this.getCheckListDocumentByProjectId(this.projectId, this.checkListName);\r\n this.getCheckListInfo(this.projectId); \r\n }\r\n\r\n\r\n getCheckListDocumentByProjectId(projectId: number, documentName: string) {\r\n this.filesService.getCheckListDocumentByProjectId(projectId)\r\n .subscribe(async (data: Blob) => {\r\n if (data && data.type == 'application/octet-stream') {\r\n this.pdfViewer.pdfSrc = data;\r\n this.pdfViewer.refresh();\r\n } else if (data && data.type == 'text/json') {\r\n var errorMessage = await (new Response(data)).text();\r\n if (errorMessage && errorMessage.length > 2) {\r\n errorMessage = errorMessage.slice(1, -1);\r\n }\r\n this.showError(errorMessage);\r\n }\r\n });\r\n }\r\n\r\n getCheckListInfo(projectId: number) {\r\n this.filesService.getCheckListInfo(projectId)\r\n .subscribe(\r\n successResp => {\r\n if (successResp) {\r\n if (successResp.Success) {\r\n var data = successResp.Result;\r\n if (data.DateTaken) {\r\n this.checkListUploadedDate = this.formatDate(data.DateTaken)\r\n }\r\n this.InfoSrc = data.InfoSrc; \r\n }\r\n }\r\n },\r\n error => {\r\n });\r\n }\r\n\r\n\r\n showError(msg) {\r\n this.pageError = [];\r\n this.pageError.push(this.sharedService.getCustomError(msg));\r\n this.sharedService.processError(msg);\r\n } \r\n\r\n formatDate(sDate) {\r\n var retDate = '';\n if (!sDate) {\n return '';\n }\n\n retDate = this.datePipe.transform(sDate, 'MM/dd/yyyy');\n return retDate;\r\n }\r\n\r\n}","module.exports = \"{{title}}\\r\\n
0\\\" id=\\\"systemMessageHeader\\\">\\r\\n
{{item}}
\\r\\n \\r\\n
\\r\\n\\r\\n
0\\\"\\r\\n id=\\\"systemMessageHeader\\\">\\r\\n
{{item}}
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n Submit Application\\r\\n \\r\\n
\\r\\n
The total unit count and/or the total residential floor area for your MIH\\r\\n Development is not in compliance with the Affordable Housing Fund requirement; you may be required to\\r\\n provide affordable housing. Are you sure you would like to proceed with the application submission?
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n Incomplete Application\\r\\n \\r\\n
\\r\\n
\\r\\n

This application is incomplete. Please correct the following issue(s).

\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n Select Entities & Contacts from Development Team\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
{{showNoCopyEntityPopupMessage}}
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n Select Entities & Contacts from Development Team\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n Delete Entity\\r\\n \\r\\n
\\r\\n
Deleting this company from your Development Team will result in the loss of all\\r\\n contacts associated with it. Are you sure you would like to proceed?
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n Delete Entity\\r\\n \\r\\n
\\r\\n
Deleting this company from this Site Team will result in the loss of all contacts\\r\\n associated with it. Are you sure you would like to proceed?
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n Delete Building\\r\\n \\r\\n
\\r\\n
Deleting this building will result in the loss of all information related to this\\r\\n building. Are you sure you would like to proceed?
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n Add Building(s) Association\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n Required\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
Please note: Only buildings\\r\\n containing MIH units are shown above. If a building is missing from the list, please review the\\r\\n building information section for that building.
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Add Building(s) Association\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n Delete Building Association\\r\\n \\r\\n
\\r\\n
Are you sure you would like to remove this building association?
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n This application is currently being updated. Please note processing of the application will be halted until\\r\\n changes made to this application are submitted to the agency.\\r\\n \\r\\n
\\r\\n
\\r\\n Below is the summary of your submitted application. Any changes needed can be made by using the button to your\\r\\n right. Please note: You must complete all required items before you can submit any changes made to your\\r\\n application.\\r\\n \\r\\n
\\r\\n
\\r\\n This application is currently locked and pending execution. Please contact your assigned project manager for any additional assistance you may require.\\r\\n
\\r\\n
\\r\\n Application Locked: You are not allowed to make any changes to the application because Restrictive Deck has been executed\\r\\n
\\r\\n
\\r\\n Application Locked: You are not allowed to make any changes because this application has been Withdrawn\\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n MIH Application Summary\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n Application Information\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
Restrictive Deck Executed
\\r\\n
\\r\\n
\\r\\n
\\r\\n
Date
\\r\\n
{{record?.ExecutedDate}}
\\r\\n

\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
Mandatory Inclusionary Housing Area
\\r\\n
\\r\\n Edit\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
Is this a private rezoning?
\\r\\n
\\r\\n No
\\r\\n
\\r\\n Yes and approved by City Council
\\r\\n
\\r\\n Yes and pending City Council approval
\\r\\n

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
Zoning Resolution Map Reference
\\r\\n
\\r\\n {{record?.MIHArea.ZoningResolutionMap || 'N/A'}}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
Does this project have or is this project seeking a\\r\\n BSA Special Permit?
\\r\\n
Yes
\\r\\n
No
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

{{record?.MIHArea.Description}}

\\r\\n
\\r\\n
\\r\\n
\\r\\n Required\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
Development Construction Type
\\r\\n
\\r\\n Edit\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n New Construction
\\r\\n
\\r\\n Conversion
\\r\\n
\\r\\n Enlargement
\\r\\n
\\r\\n
\\r\\n Required\\r\\n
\\r\\n
\\r\\n
\\r\\n
Affordable Housing Fund Option (Payment In-Lieu)
\\r\\n
\\r\\n Edit\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
Do you intend to satisfy your MIH requirement by making\\r\\n a\\r\\n contribution to the Affordable Housing Fund?
\\r\\n
Yes
\\r\\n
No
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

\\r\\n
\\r\\n
\\r\\n Required\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n
Development\\r\\n Team Members\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
Applicant
\\r\\n
\\r\\n Delete |\\r\\n Edit\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
Applicant
\\r\\n
\\r\\n Required\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n
Owner
\\r\\n
\\r\\n Delete\\r\\n |\\r\\n Edit\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
Owner
\\r\\n
\\r\\n Required\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n
Attorney
\\r\\n
\\r\\n Delete |\\r\\n Edit\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
Attorney
\\r\\n
\\r\\n Required\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n
Architect
\\r\\n
\\r\\n Edit\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n Building Summary ({{siteidx+1}} of {{buildings.length}})Site is Also a\\r\\n Development\\r\\n
\\r\\n
\\r\\n
\\r\\n {{building.HouseNumber}} {{building.StreetName}}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

{{building.Boro.LongName}}, NY\\r\\n {{building.BuildingZip || '– – – – –'}}

\\r\\n
\\r\\n
\\r\\n

Community District {{building.CommunityBoard}}

\\r\\n
\\r\\n
\\r\\n

BBL {{building.Boro?.SeqNo}}-{{building.Block}}-{{building.Lot}}

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n BUILDING INFORMATION\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
Residential Floor Area & Unit Count
\\r\\n
\\r\\n Edit
\\r\\n
\\r\\n
\\r\\n
\\r\\n
Total residential units in this building
\\r\\n
{{building.ProjectBuildingUnitCount.toLocaleString()}}\\r\\n
\\r\\n
Total residential floor area in this building
\\r\\n
{{building?.ProjectBuildingFloorArea.toLocaleString()}}\\r\\n SF
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
Public Funding
\\r\\n
\\r\\n Edit
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
Is this building receiving public funding?\\r\\n
\\r\\n
\\r\\n Yes
\\r\\n
\\r\\n No
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n City
\\r\\n
\\r\\n State
\\r\\n
\\r\\n Federal
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n HPD
\\r\\n
\\r\\n HDC
\\r\\n
\\r\\n Other:\\r\\n {{building?.ProjectBuildingPublicFunding?.OtherCitySubsidySourceName}}\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n
Building Type
\\r\\n
\\r\\n Edit
\\r\\n
\\r\\n
\\r\\n
\\r\\n
Is this building a part of your MIH\\r\\n Development?
\\r\\n
Yes
\\r\\n
No
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n
MIH Option
\\r\\n
\\r\\n Edit
\\r\\n
\\r\\n
\\r\\n
\\r\\n
Option 1
\\r\\n
Option 2
\\r\\n
Deep\\r\\n Affordability\\r\\n Option
\\r\\n
Workforce Option\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
Location of MIH Units
\\r\\n
\\r\\n Edit
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
Will there be any MIH units within this\\r\\n building?
\\r\\n
Yes
\\r\\n
No
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
Location of MIH Site
\\r\\n
\\r\\n Edit
\\r\\n
\\r\\n
\\r\\n
\\r\\n
On-site: (MIH\\r\\n Site\\r\\n is located on the same zoning lot as the MIH Development)
\\r\\n
Off-site: (MIH\\r\\n Site\\r\\n is located on a different zoning lot to MIH Development)
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
Tax Credits
\\r\\n
\\r\\n Edit
\\r\\n
\\r\\n
\\r\\n
\\r\\n
Is this building requesting tax credits?\\r\\n
\\r\\n
\\r\\n Yes
\\r\\n
\\r\\n No
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n 4% LIHTC
\\r\\n
\\r\\n 9% LIHTC
\\r\\n\\r\\n
\\r\\n Brownsfield\\r\\n
\\r\\n
\\r\\n Historic
\\r\\n
\\r\\n SLIHTC
\\r\\n
\\r\\n New Markets\\r\\n Tax\\r\\n Credits
\\r\\n
\\r\\n Other
\\r\\n
\\r\\n {{building.ProjectBuildingTaxCredits.OtherTaxCreditTypeName}}
\\r\\n\\r\\n
\\r\\n HPD
\\r\\n
\\r\\n HDC
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
Tax Incentive
\\r\\n
\\r\\n Edit
\\r\\n
\\r\\n
\\r\\n
\\r\\n
Is this building requesting a tax\\r\\n incentive?
\\r\\n
\\r\\n Yes
\\r\\n
\\r\\n No
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n {{incentive?.itemName}}
\\r\\n
\\r\\n
\\r\\n
\\r\\n
Tax Exemptions Not Requested
\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
MIH Floor Area & Unit Count
\\r\\n
\\r\\n Edit
\\r\\n
\\r\\n
\\r\\n
\\r\\n
Total MIH units in this building
\\r\\n
\\r\\n {{building?.ProjectBuildingResidentialMIHSuperUnits?.MIHUnits?.toLocaleString()}}\\r\\n
\\r\\n
Total MIH floor area in this building
\\r\\n
\\r\\n {{building?.ProjectBuildingResidentialMIHSuperUnits?.MIHFloorArea?.toLocaleString()}}\\r\\n SF
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
Total super’s units in this building
\\r\\n
\\r\\n {{building?.ProjectBuildingResidentialMIHSuperUnits?.SuperUnits?.toLocaleString()}}\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
Condominium or Cooperative Structure Description\\r\\n
\\r\\n
\\r\\n Edit
\\r\\n
\\r\\n
\\r\\n
\\r\\n
Will this building contain a condominium or\\r\\n cooperative structure?
\\r\\n
\\r\\n Yes
\\r\\n
\\r\\n No
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

{{building?.ProjectBuildingCondoStructure?.Description}}

\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n
Electric Systems
\\r\\n
\\r\\n Edit
\\r\\n
\\r\\n
\\r\\n
\\r\\n
Will this building contain electric\\r\\n systems?
\\r\\n
\\r\\n Yes
\\r\\n
\\r\\n No
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Individual\\r\\n residential unit heating systems utilizing electric resistance\\r\\n heated\\r\\n PTACs or heat pumps
\\r\\n
\\r\\n Individual\\r\\n residential unit hot water systems heated by electrically powered\\r\\n boilers
\\r\\n
\\r\\n Electric\\r\\n stoves
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n
0) ) && PILValue =='N'\\\">\\r\\n
\\r\\n Site Team Members\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n
Applicant
\\r\\n
\\r\\n Delete\\r\\n |\\r\\n Edit\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
Applicant
\\r\\n
\\r\\n Required\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n
Owner
\\r\\n
\\r\\n Delete\\r\\n |\\r\\n Edit\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
Owner
\\r\\n
\\r\\n Required\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n
Architect
\\r\\n
\\r\\n Delete\\r\\n |\\r\\n Edit\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
Architect
\\r\\n
\\r\\n Required\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
Administering Agent
\\r\\n
\\r\\n Delete\\r\\n |\\r\\n Edit\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
Attorney
\\r\\n
\\r\\n Delete\\r\\n |\\r\\n Edit\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n
General Contractor
\\r\\n
\\r\\n Delete\\r\\n |\\r\\n Edit\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
Ground Lessee
\\r\\n
\\r\\n Delete\\r\\n |\\r\\n Edit\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n Building Summary\\r\\n
\\r\\n
\\r\\n
\\r\\n
You must add at least one building to your application.
\\r\\n Required\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n {{buildingFlags.missingBuildingSectionHeader}}\\r\\n
\\r\\n
\\r\\n
\\r\\n
{{buildingFlags.missingBuildingSectionDescription}}
\\r\\n Required\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n Building Association\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n {{bldg.devProjBuilding?.HouseNumber}} {{bldg.devProjBuilding?.StreetName}}\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Associated site(s) containing MIH units\\r\\n
\\r\\n
\\r\\n {{siteAssociation?.HouseNumber}} {{siteAssociation?.StreetName}},\\r\\n {{siteAssociation?.Boro?.LongName}}\\r\\n
\\r\\n Remove\\r\\n Association\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n Required\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
DISCLAIMER
\\r\\n
\\r\\n
\\r\\n
\\r\\n Required\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\"","import { Component, OnInit, Renderer } from '@angular/core';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { Observable } from 'rxjs';\r\nimport 'rxjs/add/operator/catch';\r\nimport { Animations } from '../common/animations';\r\n\r\n// APP \r\nimport { Entity, MIHDocument } from '../../viewmodel';\r\nimport { EntityParam } from '../../viewmodel';\r\nimport { AppFlags } from '../../viewmodel';\r\nimport { BuildingFlags } from '../../viewmodel';\r\nimport { SiteEntityParam } from '../../viewmodel';\r\nimport { BuildingQuestionParam } from '../../viewmodel';\r\nimport { MIHSiteEntityAssociations } from '../../viewmodel';\r\nimport { DevSiteAssociations } from '../../viewmodel';\r\nimport { siteBldg } from '../../viewmodel';\r\nimport { SummaryInstruction } from '../../viewmodel';\r\n\r\nimport { LookupService } from '../../services/lookup.service';\r\nimport { EntityService } from '../../services/entity.service';\r\nimport { BuildingService } from '../../services/building.service';\r\nimport { InformationService } from '../../services/information.service';\r\nimport { SharedService } from '../../services/shared.service';\r\nimport { HelperService } from '../../services/helper.service';\r\nimport { FoucsChangeService } from '../../services/focuschange.service';\r\nimport { AppConfig } from '../../app.config';\r\nimport { FilesService } from 'app/services/files.service';\r\n\r\n@Component({\r\n selector: 'app-entity',\r\n templateUrl: './entity.component.html',\r\n providers: [EntityService, InformationService, BuildingService, HelperService],\r\n animations: [Animations.collapseInOut]\r\n})\r\nexport class EntityComponent implements OnInit {\r\n animate: string = 'active';\r\n title: string = 'Application';\r\n public activeTab: string;\r\n public ZR23154Url: string = AppConfig.config.ZR23154Url;\r\n navFixed:boolean = false;\r\n showDelete: boolean = false;\r\n showContactDelete: boolean = false;\r\n deleteItem: any = null;\r\n\r\n projectDetail: Entity;\r\n projectId: number = 0;\r\n appName: string = ''; \r\n entities: Array;\r\n buildings: Array;\r\n sites: Array;\r\n devSiteAssociations: Array;\r\n siteAssociations: Array;\r\n pageError: any = [];\r\n pageSuccess: any = [];\r\n record: any;\r\n\r\n model: AppFlags;\r\n buildingFlags: BuildingFlags;\r\n viewModeInstructions: SummaryInstruction; \r\n editModeInstructions: SummaryInstruction; \r\n\r\n projDevTeamArray: any;\r\n showCopyEntityPopup: boolean = false;\r\n showNoCopyEntityPopup: boolean = false;\r\n showNoCopyEntityPopupMessage: string = '';\r\n copyToSiteProjectBuildingId: number = 0;\r\n siteDestination: any;\r\n siteEntityAssociations: MIHSiteEntityAssociations;\r\n showRequireInCopyDevTeamPopup: boolean = false;\r\n showSaveBtnInCopyDevTeamPopup: boolean = false;\r\n\r\n showAssociationPopup: boolean = false; //Associations\r\n showRequireMsgInAssociation: boolean = false;\r\n showSaveBtnAssociation: boolean = false;\r\n showNoSiteAssociationPopup: boolean = false;\r\n showRemoveAssociationPopup: boolean = false;\r\n currentRemoveDevSiteAssociationId: number = 0;\r\n currentDevSiteAssociations: DevSiteAssociations;\r\n currentDevAssociation: any;\r\n devAssocationAddress:string = '';\r\n showDeleteEntityPopup: boolean = false;\r\n deleteEntityId: number = 0;\r\n deleteEntityCompanyName = ''; \r\n showDeleteSiteEntityPopup: boolean = false;\r\n deleteSiteEntityId: number = 0;\r\n\r\n deleteBuildingId: number = 0;\r\n showDeleteBuildingPopup: boolean = false;\r\n\r\n totalFloorArea: number = 0;\r\n totalUnits: number = 0;\r\n PILValue: string = '';\r\n pilAlertMessage: string = '';\r\n displayPILMessge = false;\r\n\r\n haveOwner: boolean = false;\r\n haveApplicant: boolean = false;\r\n haveAttorney: boolean = false; \r\n noDevTeamMember: boolean = false;\r\n appInfoColl: boolean = false;\r\n devTeamColl: boolean = false;\r\n\r\n //submissionFlags\r\n userName: string = '';\r\n appStatus: string = '';\r\n appMode: string = ''; \r\n isAppEditable: boolean = false;\r\n lockFileUploadChanges: boolean = false; \r\n disclaimerChecked: boolean = false;\r\n\r\n buildingQuestionsComplete: boolean = false;\r\n allRequireEntryComplete: boolean = false;\r\n showSubmitIncomplete: boolean = false;\r\n ShowConfirmInvalidFloorUnit: boolean = false;\r\n submitted: boolean = false;\r\n incompleteMessage: string = '';\r\n associationFlag: boolean = false;\r\n allSitesAssociated: boolean = false;\r\n hangingSites: Array;\r\n haveSiteTeamMembers: boolean = false;\r\n documents: Array;\r\n fileUploadSortColumn: string = 'GroupSequence';\r\n fileUploadSortDirection: string = 'asc';\r\n\r\n constructor(private router: Router\r\n , private activatedRoute: ActivatedRoute\r\n , private filesService: FilesService\r\n , private entityService: EntityService\r\n , private informationService: InformationService\r\n , private buildingService: BuildingService\r\n , private sharedService: SharedService\r\n , private helperService: HelperService\r\n , private foucsChangeService: FoucsChangeService\r\n , private renderer: Renderer) {\r\n\r\n this.model = new AppFlags(); \r\n this.buildingFlags = new BuildingFlags(); \r\n this.setupInstructions();\r\n\r\n this.renderer.listenGlobal('window', 'scroll', (evt) => {\r\n this.navFixed = (evt.srcElement.body.scrollTop >= 120);\r\n });\r\n }\r\n\r\n ngOnInit() {\r\n // Set Active Tab\r\n var paramActiveTab = this.activatedRoute.snapshot.queryParamMap.get(\"activeTab\");\r\n if (paramActiveTab) {\r\n this.activeTab = paramActiveTab == 'Application' ? 'Application' : 'FileUpload';\r\n } else {\r\n this.activeTab = 'Application';\r\n }\r\n\r\n this.navFixed = false;\r\n this.sharedService.manageSession('application');\r\n let ids = this.sharedService.getJsonData(\"id\");\r\n if (ids != null) {\r\n\r\n if (ids.projectId != null) {\r\n this.projectId = ids.projectId;\r\n this.appName = ids.appName; \r\n this.appStatus = ids.appStatus;\r\n if (this.appStatus == 'Draft') {\r\n this.isAppEditable = true;\r\n }\r\n }\r\n }\r\n\r\n if (this.projectId <= 0) {\r\n this.sharedService.navigateHome();\r\n }\r\n else {\r\n var user = this.sharedService.getJsonData(\"loggedInUser\");\r\n this.userName = user.FirstName;\r\n\r\n this.getEntities(this.projectId);\r\n this.getQuestionByTypeAndGetBuildings(this.projectId);\r\n this.getAllDevSiteAssociationsforProj(this.projectId);\r\n this.getUploadDocsByProjectId(this.projectId);\r\n }\r\n }\r\n\r\n changeTab(tabName: string) {\r\n this.activeTab = tabName;\r\n }\r\n\r\n private filterByType(typeId) {\r\n if (this.entities != null) {\r\n return this.entities.filter(\r\n entity => entity.PartyRoleLookup ? entity.PartyRoleLookup.SeqNo === typeId : false );\r\n }\r\n }\r\n\r\n checkForApplicantOwnerAttorney() {\r\n // Check Owner\r\n let owners = this.filterByType(1765);\r\n this.haveOwner = (owners != null && owners.length > 0);\r\n\r\n let applicants = this.filterByType(1030);\r\n this.haveApplicant = (applicants != null && applicants.length > 0);\r\n\r\n let attorneys = this.filterByType(1880);\r\n this.haveAttorney = (attorneys != null && attorneys.length > 0);\r\n\r\n // To show the valid and invalid\r\n this.noDevTeamMember = (this.haveOwner == false && this.haveApplicant == false && this.haveAttorney == false);\r\n this.model.hasDevTeamMember = (this.haveOwner == true || this.haveApplicant == true || this.haveAttorney == true);\r\n }\r\n\r\n ///////////////////////\r\n getEntities(projectId) {\r\n this.entityService.getEntities(projectId)\r\n .subscribe(\r\n successResp => {\r\n if (!successResp.Success) {\r\n this.showError(successResp.StatusMessage);\r\n }\r\n else {\r\n this.entities = successResp.Result\r\n\r\n // Check for applicant, Owner and Attorney\r\n this.checkForApplicantOwnerAttorney();\r\n }\r\n },\r\n error => {\r\n if (error.status == 401)\r\n this.router.navigateByUrl('/login?session=0');\r\n\r\n this.showError(error.ExceptionMessage)\r\n });\r\n }\r\n\r\n //combine multiple methods due to dependency\r\n getQuestionByTypeAndGetBuildings(projectId) {\r\n Observable.forkJoin([\r\n this.informationService.getQuestionByType(projectId, 'ALL'),\r\n this.buildingService.getBuildingsByProjectId(projectId)\r\n ])\r\n .subscribe(\r\n successResp => {\r\n\r\n if (!successResp[0].Success) {\r\n this.showError(successResp[0].StatusMessage)\r\n }\r\n else {\r\n //InfoSection - method1\r\n this.record = successResp[0].Result;\r\n\r\n // Setup Application Mode\r\n if (this.record.IsInEditMode && \r\n this.appStatus != 'Pending Execution' &&\r\n this.appStatus != 'Executed' &&\r\n this.appStatus != 'Withdrawn') {\r\n this.isAppEditable = true;\r\n }\r\n\r\n // Update with latest status\r\n this.appStatus = this.record.CurrentStatus;\r\n if (this.appStatus == 'Pending Execution' || this.appStatus == 'Executed' || this.appStatus == 'Withdrawn') {\r\n this.lockFileUploadChanges = true;\r\n }\r\n this.updateSessionAppStatus(this.appStatus);\r\n\r\n this.disclaimerChecked = this.record && this.record.Disclaimer;\r\n\r\n //this.getInfoSectionFlags();\r\n this.model.IsInfoSectionComplete = (this.record.MIHArea.IsValid && this.record.Const.IsValid && this.record.Ahf.IsValid);\r\n if (this.record != null && this.record.Ahf != null) {\r\n this.model.IsPILComplete = this.record.Ahf.IsValid;\r\n if (this.record.Ahf.Hfo != null)\r\n this.model.PILValue = this.PILValue = this.record.Ahf.Hfo;\r\n }\r\n\r\n\r\n //getBuildings method\r\n if (successResp[1].Result != null && successResp[1].Result.length > 0) {\r\n this.buildings = successResp[1].Result[0].buildings;\r\n this.buildingFlags.showDisclaimer = successResp[1].Result[0].showDisclaimer;\r\n\r\n this.buildingFlags.showMissingBuildingSection = successResp[1].Result[0].showMissingBuildingSection;\r\n if (successResp[1].Result[0].showMissingBuildingSection == true) {\r\n if (successResp[1].Result[0].MissingBuildingSectionHeader == 'MIH Development Building Is Missing') {\r\n this.buildingFlags.missingBuildingSectionHeader = 'MIH Development Building is Missing';\r\n this.buildingFlags.missingBuildingSectionDescription = 'A MIH Development building is a building that is a part of the MIH Development construction project which triggered the MIH requirement. You must have at least one building that is a part of your MIH Development.';\r\n }\r\n else if (successResp[1].Result[0].MissingBuildingSectionHeader == 'MIH Site Is Missing') {\r\n this.buildingFlags.missingBuildingSectionHeader = 'MIH Site is Missing';\r\n this.buildingFlags.missingBuildingSectionDescription = 'A MIH Site is a building containing affordable floor area that satisfies the MIH requirement for a MIH Development. You must have at least one building that contains MIH units to satisfy your MIH requirement.';\r\n }\r\n }\r\n\r\n if (this.PILValue == 'Y')\r\n this.CalculateTotalFloorAreaUnits();\r\n\r\n this.getBuildingFlag(this.buildings);\r\n }\r\n }\r\n },\r\n error => {\r\n this.showError(error.ExceptionMessage)\r\n });\r\n }\r\n\r\n //building data\t\r\n getBuildingsByProjectId(projectId) {\r\n this.buildingService.getBuildingsByProjectId(projectId)\r\n .subscribe(\r\n successResp => {\r\n if (!successResp.Success) {\r\n this.showError(successResp.StatusMessage);\r\n }\r\n else {\r\n\r\n if (successResp.Result != null && successResp.Result.length > 0) {\r\n this.buildings = successResp.Result[0].buildings;\r\n this.buildingFlags.showDisclaimer = successResp.Result[0].showDisclaimer;\r\n\r\n this.buildingFlags.showMissingBuildingSection = successResp.Result[0].showMissingBuildingSection;\r\n if (successResp.Result[0].showMissingBuildingSection == true) {\r\n if (successResp.Result[0].MissingBuildingSectionHeader == 'MIH Development Building Is Missing') {\r\n this.buildingFlags.missingBuildingSectionHeader = 'MIH Development Building is Missing';\r\n this.buildingFlags.missingBuildingSectionDescription = 'A MIH Development building is a building that is a part of the MIH Development construction project which triggered the MIH requirement. You must have at least one building that is a part of your MIH Development.';\r\n }\r\n else if (successResp.Result[0].MissingBuildingSectionHeader == 'MIH Site Is Missing') {\r\n this.buildingFlags.missingBuildingSectionHeader = 'MIH Site is Missing';\r\n this.buildingFlags.missingBuildingSectionDescription = 'A MIH Site is a building containing affordable floor area that satisfies the MIH requirement for a MIH Development. You must have at least one building that contains MIH units to satisfy your MIH requirement.';\r\n }\r\n }\r\n\r\n this.CalculateTotalFloorAreaUnits();\r\n this.getBuildingFlag(this.buildings);\r\n }\r\n\r\n if (successResp.Result != null && successResp.Result.length > 1) {\r\n this.sites = successResp.Result[1];\r\n }\r\n }\r\n },\r\n error => {\r\n if (error.status == 401)\r\n this.router.navigateByUrl('/login?session=0');\r\n\r\n this.showError(error.ExceptionMessage)\r\n });\r\n }\r\n\r\n\r\n addEntity(roleId, event) {\r\n\r\n if (roleId == 0 && this.noDevTeamMember)\r\n roleId = 1030; // set Applicant\r\n\r\n this.sharedService.setData('entityRole', JSON.stringify({ 'entityRoleId': roleId }));\r\n this.router.navigate(['/createentity']);\r\n }\r\n\r\n edityEntity(entityId, entity) {\r\n\r\n var entityParam = new EntityParam();\r\n entityParam.projectId = this.projectId;\r\n entityParam.entityId = entity.MIHProjectDevTeamID;\r\n entityParam.partyId = entity.PartyID;\r\n entityParam.partyStagingId = entity.PartyStagingID;\r\n entityParam.partyAddressId = entity.PartyAddressID;\r\n entityParam.partyAddressStagingId = entity.PartyAddressStagingID;\r\n entityParam.newEntityEntry = 'N';\r\n this.sharedService.setJsonData('entityParam', entityParam);\r\n this.router.navigate(['/editentity']);\r\n }\r\n\r\n\r\n\r\n addBuilding(buildingId, event) {\r\n\r\n if (buildingId != null) {\r\n this.sharedService.setJsonData('building', {'buildingId': buildingId, 'type': 'DEV' });\r\n }\r\n this.router.navigate(['/addbuilding']);\r\n }\r\n\r\n CalculateTotalFloorAreaUnits() {\r\n let tUnits = 0;\r\n this.totalUnits = 0;\r\n let tFloorArea = 0;\r\n this.totalFloorArea = 0;\r\n if (this.buildings != null && this.buildings.length > 0) {\r\n\r\n for (var i = 0; i < this.buildings.length; i++) {\r\n if (this.buildings[i].ProjectBuildingUnitCount != null || this.buildings[i].ProjectBuildingUnitCount != '')\r\n tUnits += this.buildings[i].ProjectBuildingUnitCount;\r\n\r\n if (this.buildings[i].ProjectBuildingFloorArea != null || this.buildings[i].ProjectBuildingFloorArea != '')\r\n tFloorArea += this.buildings[i].ProjectBuildingFloorArea;\r\n }\r\n\r\n this.totalUnits = tUnits;\r\n this.totalFloorArea = tFloorArea;\r\n this.generatePaymentInLiuAlertMessage();\r\n }\r\n }\r\n\r\n generatePaymentInLiuAlertMessage() {\r\n var units = this.totalUnits;\r\n var areas = this.totalFloorArea;\r\n var U1 = 11; // units range 1 \r\n var U2 = 25; // units range 2\r\n var F1 = 12500; // floor area range 1\r\n var F2 = 25000; // floor area range 2\r\n var message = '';\r\n var messageid = ''; //for test purpose\r\n var ZR23HtmlString = ' See ZR 23-154(d)(3)(v)';\r\n\r\n if (units < U1) {\r\n if (areas < F1) {\r\n messageid = 'A1';\r\n message = '';\r\n this.displayPILMessge = false;\r\n }\r\n else if (areas < F2) {\r\n messageid = 'A2';\r\n message = '';\r\n this.displayPILMessge = false;\r\n }\r\n else if (areas >= F2) {\r\n messageid = 'A3';\r\n message = 'The total residential floor area for your MIH Development building(s) is equal to or over 25,000 square feet; you may be required to provide affordable housing.' + ZR23HtmlString;\r\n this.displayPILMessge = true;\r\n }\r\n }\r\n else if (units <= U2) {\r\n if (areas < F1) {\r\n messageid = 'B1';\r\n message = '';\r\n this.displayPILMessge = false;\r\n }\r\n else if (areas < F2) {\r\n messageid = 'B2';\r\n message = '';\r\n this.displayPILMessge = false;\r\n }\r\n else if (areas >= F2) {\r\n messageid = 'B3';\r\n message = 'The total residential floor area for your MIH Development building(s) is equal to or over 25,000 square feet; you may be required to provide affordable housing. ' + ZR23HtmlString;\r\n this.displayPILMessge = true;\r\n }\r\n }\r\n else if (units > U2) {\r\n if (areas < F1) {\r\n messageid = 'C1';\r\n message = '';\r\n this.displayPILMessge = false;\r\n }\r\n else if (areas < F2) {\r\n messageid = 'C2';\r\n message = 'The total unit count for your MIH Development building(s) is over 25 units; you may be required to provide affordable housing. ' + ZR23HtmlString;\r\n this.displayPILMessge = true;\r\n }\r\n else if (areas >= F2) {\r\n messageid = 'C3';\r\n message = 'The total unit count for your MIH Development building(s) is over 25 units and the total residential floor area for your MIH Development building(s) is equal to or over 25,000 square feet; you may be required to provide affordable housing. ' + ZR23HtmlString;\r\n this.displayPILMessge = true;\r\n }\r\n }\r\n\r\n this.pilAlertMessage = message;\r\n }\r\n\r\n cancelDelete(event) {\r\n this.showDelete = false;\r\n event.stopPropagation();\r\n }\r\n\r\n cancelContactDelete(event) {\r\n this.showContactDelete = false;\r\n event.stopPropagation();\r\n }\r\n\r\n confirmContactDelete(event) {\r\n this.showContactDelete = false;\r\n event.stopPropagation();\r\n }\r\n\r\n delete(item) {\r\n event.stopPropagation();\r\n }\r\n\r\n deleteDevBuilding() {\r\n event.stopPropagation();\r\n }\r\n\r\n confirmDelete() {\r\n this.showDelete = false;\r\n }\r\n\r\n closeError() {\r\n this.pageError = [];\r\n this.pageSuccess = [];\r\n }\r\n\r\n showError(msg) {\r\n this.pageError = []; this.pageSuccess = [];\r\n this.pageError.push(this.sharedService.getCustomError(msg));\r\n this.sharedService.processError(msg);\r\n }\r\n\r\n showErrorAlert(msg) {\r\n this.pageError = []; this.pageSuccess = [];\r\n this.pageError.push(msg);\r\n this.sharedService.processError(msg);\r\n }\r\n\r\n showSuccess(msg) {\r\n this.pageSuccess = []; this.pageError = [];\r\n this.pageSuccess.push(msg);\r\n this.sharedService.scroll();\r\n\r\n setTimeout(() => {\r\n this.pageSuccess = []; \r\n this.pageError = [];\r\n }, 3000); \r\n }\r\n\r\n addBldgQuestion(building, questionType) {\r\n var path = '';\r\n var devProjBldgId = building.DevProjectBuildingID == null ? building.SiteProjectBuildingID : building.DevProjectBuildingID;\r\n if (devProjBldgId == null || devProjBldgId==0)\r\n return false;\r\n\r\n var BQP = new BuildingQuestionParam();\r\n BQP.devProjectBuildingId = building.DevProjectBuildingID;\r\n BQP.siteProjectBuildingId = building.SiteProjectBuildingID;\r\n BQP.bldgId = building.BldgID;\r\n BQP.buildingAddress = this.getAddress(building);\r\n BQP.mood = 'A';\r\n\r\n switch (questionType) {\r\n case 702:\r\n path = \"/buildings/unitcount\";\r\n break;\r\n case 703:\r\n path = \"/buildings/publicfunding\";\r\n break;\r\n case 704:\r\n path = \"/buildings/mihoptions\";\r\n break;\r\n case 705:\r\n path = \"/buildings/mihunits\";\r\n break;\r\n case 790:\r\n path = \"/buildings/buildingtype\";\r\n break;\r\n default:\r\n break;\r\n }\r\n\r\n if (path != '') {\r\n this.sharedService.setJsonData('BuildingQuestionParam', BQP);\r\n this.router.navigate([path]);\r\n }\r\n }\r\n\r\n editBldgQuestion(building, questionType) {\r\n\r\n var path = '';\r\n var devProjBldgId = building.DevProjectBuildingID == null ? building.SiteProjectBuildingID : building.DevProjectBuildingID;\r\n if (devProjBldgId == null || devProjBldgId == 0)\r\n return false;\r\n\r\n var BQP = new BuildingQuestionParam();\r\n BQP.devProjectBuildingId = building.DevProjectBuildingID;\r\n BQP.siteProjectBuildingId = building.SiteProjectBuildingID;\r\n BQP.bldgId = building.BldgID;\r\n BQP.buildingAddress = this.getAddress(building);\r\n BQP.mood = 'E';\r\n\r\n if (building.ProjectBuildingType != null && building.ProjectBuildingType.SeqNo == 2060)\r\n BQP.buildingTypeId = building.ProjectBuildingType.SeqNo;\r\n\r\n switch (questionType) {\r\n case 702:\r\n path = \"/buildings/unitcount\";\r\n break;\r\n case 703:\r\n path = \"/buildings/publicfunding\";\r\n break;\r\n case 704:\r\n path = \"/buildings/mihoptions\";\r\n break;\r\n case 705:\r\n path = \"/buildings/mihunits\";\r\n break;\r\n case 790:\r\n path = \"/buildings/buildingtype\"; // to check\r\n break;\r\n default:\r\n break;\r\n }\r\n if (path != '') {\r\n this.sharedService.setJsonData('BuildingQuestionParam', BQP);\r\n this.router.navigate([path]);\r\n }\r\n }\r\n\r\n addSiteQuestion(building, questionType) {\r\n\r\n var path = '';\r\n var siteProjBldgId = building.SiteProjectBuildingID;\r\n if (siteProjBldgId == null || siteProjBldgId == 0)\r\n return false;\r\n\r\n var BQP = new BuildingQuestionParam();\r\n BQP.devProjectBuildingId = building.DevProjectBuildingID; // building.DevProjectBuildingID;\r\n BQP.siteProjectBuildingId = building.SiteProjectBuildingID;\r\n BQP.bldgId = building.BldgID;\r\n BQP.buildingAddress = this.getAddress(building);\r\n BQP.mood = 'A';\r\n\r\n switch (questionType) {\r\n case 702:\r\n path = \"/buildings/unitcount\";\r\n break;\r\n case 703:\r\n path = \"/buildings/publicfundingsite\";\r\n break;\r\n case 704:\r\n path = \"/buildings/mihoptions\";\r\n break;\r\n case 705:\r\n path = \"/buildings/locationmihsiteunit\";\r\n break;\r\n case 706:\r\n path = \"/buildings/taxcredit\";\r\n break;\r\n case 707:\r\n path = \"/buildings/taxincentive\";\r\n break;\r\n case 708:\r\n path = \"/buildings/siteunitcount\";\r\n break;\r\n case 7081:\r\n path = \"/buildings/condostructure\";\r\n break;\r\n case 7082:\r\n path = \"/buildings/electricsystems\";\r\n break;\r\n default:\r\n break;\r\n }\r\n\r\n if (path != '') {\r\n this.sharedService.setJsonData('BuildingQuestionParam', BQP);\r\n this.router.navigate([path]);\r\n }\r\n }\r\n\r\n editSiteQuestion(building, site, questionType) {\r\n var path = '';\r\n var address = '';\r\n if (site.SiteProjectBuildingId == null || site.SiteProjectBuildingId == 0 || site.BuildingId == null || site.BuildingId == 0)\r\n return false;\r\n\r\n var BQP = new BuildingQuestionParam();\r\n BQP.devProjectBuildingId = building.DevProjectBuildingID; //site.DevProjectBuildingId; \r\n BQP.siteProjectBuildingId = site.SiteProjectBuildingId;\r\n BQP.bldgId = site.BuildingId;\r\n BQP.buildingAddress = this.getAddress(building);\r\n BQP.mood = 'E';\r\n\r\n switch (questionType) {\r\n case 703:\r\n path = \"/buildings/publicfundingsite\";\r\n break;\r\n case 705:\r\n path = \"/buildings/locationmihsiteunit\";\r\n break;\r\n case 706:\r\n path = \"/buildings/taxcredit\";\r\n break;\r\n case 707:\r\n path = \"/buildings/taxincentive\";\r\n break;\r\n case 708:\r\n path = \"/buildings/siteunitcount\";\r\n break;\r\n case 7081:\r\n path = \"/buildings/condostructure\";\r\n break;\r\n case 7082:\r\n path = \"/buildings/electricsystems\";\r\n break;\r\n default:\r\n break;\r\n }\r\n if (path != '') {\r\n this.sharedService.setJsonData('BuildingQuestionParam', BQP);\r\n this.router.navigate([path]);\r\n }\r\n }\r\n\r\n getAddress(building) {\r\n var addr = '';\r\n if (building == null)\r\n return '';\r\n\r\n if (!(building.HouseNumber == null || building.HouseNumber == ''))\r\n addr = building.HouseNumber + ' ';\r\n if (building.StreetName != null)\r\n addr += building.StreetName;\r\n\r\n return addr;\r\n }\r\n\r\n addSiteEntity(site, roleId) {\r\n\r\n if (roleId == 0 && this.noDevTeamMember)\r\n roleId = 1030; // set Applicant\r\n\r\n var buildingAddress = '';\r\n if (site.SiteProjectBuildingID == null || site.SiteProjectBuildingID == 0)\r\n return false;\r\n\r\n var sep = new SiteEntityParam();\r\n sep.projectBldgDevTeamId = 0;\r\n //sep.devProjectBuildingId = site.devProjectBuildingID; \r\n sep.siteProjectBuildingId = site.SiteProjectBuildingID;\r\n sep.bldgId = site.BldgID;\r\n sep.entityRole = roleId; // applicant\r\n sep.siteAddress = this.helperService.getSiteAddress(site);\r\n this.sharedService.setData('SiteEntityParam', JSON.stringify({ sep }));\r\n this.router.navigate(['entity/addsiteentity']);\r\n }\r\n\r\n editSiteEntity(entityId, entity, building) {\r\n\r\n var sep = new SiteEntityParam();\r\n sep.projectId = this.projectId;\r\n\r\n sep.projectBldgDevTeamId = entity.MIHProjectBldgDevTeamID;\r\n sep.siteProjectBuildingId = building.SiteProjectBuildingID;\r\n sep.bldgId = entity.BldgID;\r\n sep.entityRole = entity.PartyRoleLookup.SeqNo; //roleId; // applicant\r\n\r\n sep.siteAddress = this.helperService.getSiteAddress(building);\r\n sep.partyId = entity.PartyID;\r\n sep.partyStagingId = entity.PartyStagingID;\r\n sep.partyAddressId = entity.PartyAddressID;\r\n sep.partyAddressStagingId = entity.PartyAddressStagingID;\r\n sep.mood = 'E';\r\n\r\n this.sharedService.setJsonData('SiteEntityParam', sep);\r\n this.router.navigate(['entity/editsiteentity']);\r\n }\r\n\r\n ////////// copy project DevTeam members to site //////////\r\n\r\n showCopyEntity(site) {\r\n\r\n if (this.noDevTeamMember) {\r\n this.showNoCopyEntityPopupMessage = \"There are no development team members added to this application.\";\r\n this.showNoCopyEntityPopup = true;\r\n this.foucsChangeService.changeFocus(false);\r\n return false;\r\n }\r\n\r\n this.entityService.getDevTeamEntitiesForSite(this.projectId, site.SiteProjectBuildingID)\r\n .subscribe(\r\n successResp => {\r\n if (!successResp.Success) {\r\n this.showError(successResp.StatusMessage);\r\n }\r\n else {\r\n this.projDevTeamArray = successResp.Result;\r\n\r\n if (this.projDevTeamArray !=null && this.projDevTeamArray.length > 0) {\r\n this.siteDestination = site;\r\n this.showCopyEntityPopup = true;\r\n this.foucsChangeService.changeFocus(false);\r\n }\r\n else {\r\n // No Dev team to copy \r\n this.showNoCopyEntityPopupMessage = \"All Development team members have already been added to this Site's team.\";\r\n this.showNoCopyEntityPopup = true;\r\n this.foucsChangeService.changeFocus(false);\r\n }\r\n }\r\n },\r\n error => {\r\n this.showError(error.ExceptionMessage);\r\n });\r\n }\r\n\r\n CopyDevTeamToSite(event) {\r\n var devTeamSelected: any = [];\r\n\r\n if (this.projDevTeamArray != null) {\r\n\r\n var array = this.projDevTeamArray;\r\n for (var i = 0; i < array.length; i++) {\r\n var item = array[i];\r\n if (item.isChecked == true) {\r\n if (item.MIHProjectDevTeamID > 0)\r\n devTeamSelected.push(item.MIHProjectDevTeamID);\r\n }\r\n }\r\n\r\n if (devTeamSelected != null) {\r\n var association = new MIHSiteEntityAssociations();\r\n association.projectId = this.projectId;\r\n association.siteProjBuildingId = this.siteDestination.SiteProjectBuildingID; //this.copyToSiteProjectBuildingId; \r\n association.bldgId = this.siteDestination.BldgID;\r\n association.ProjDevTeamIds = devTeamSelected;\r\n\r\n this.associateDevTeamEntitiestoSite(association); // save associate dev team to site \r\n }\r\n }\r\n }\r\n\r\n // save associate dev teams to site \r\n associateDevTeamEntitiestoSite(association) {\r\n this.showCopyEntityPopup = false;\r\n this.foucsChangeService.changeFocus(true);\r\n this.entityService.AssociateDevTeamEntitiestoSite(association)\r\n .subscribe(\r\n success => {\r\n if (!success.Success) {\r\n this.showError(success.StatusMessage);\r\n this.siteDestination = null;\r\n }\r\n else {\r\n //TODO \r\n this.siteDestination = null;\r\n this.getBuildingsByProjectId(this.projectId); // display/synced changes in summary view \r\n }\r\n },\r\n error => {\r\n if (error.status == 401)\r\n this.router.navigateByUrl('/login?session=0');\r\n\r\n this.siteDestination = null;\r\n this.showError(error.ExceptionMessage);\r\n })\r\n }\r\n\r\n cancelCopy(event) {\r\n this.showCopyEntityPopup = false;\r\n this.foucsChangeService.changeFocus(true);\r\n this.showRequireInCopyDevTeamPopup = false;\r\n this.showSaveBtnInCopyDevTeamPopup = false;\r\n this.siteDestination = null;\r\n event.stopPropagation();\r\n }\r\n\r\n cancelNoCopyEntity(event) {\r\n this.showNoCopyEntityPopup = false;\r\n this.showNoCopyEntityPopupMessage = '';\r\n this.showRequireInCopyDevTeamPopup = false;\r\n this.showSaveBtnInCopyDevTeamPopup = false;\r\n this.siteDestination = null;\r\n this.foucsChangeService.changeFocus(true);\r\n event.stopPropagation();\r\n }\r\n\r\n changeTeamCheckbox(index) {\r\n\r\n var isChecked = false;\r\n if (this.projDevTeamArray != null) {\r\n var array = this.projDevTeamArray;\r\n for (var i = 0; i < array.length; i++) {\r\n var item = array[i];\r\n if (item.isChecked == true) {\r\n isChecked = true;\r\n break;\r\n }\r\n }\r\n }\r\n this.showRequireInCopyDevTeamPopup = !isChecked;\r\n this.showSaveBtnInCopyDevTeamPopup = isChecked;\r\n }\r\n //////////end copy project DevTeam members to site //////////\r\n\r\n ////////// building Associations section //////////\r\n getAllDevSiteAssociationsforProj(projectId) {\r\n\r\n this.buildingService.GetAllDevSiteAssociationsforProj(projectId)\r\n .subscribe(\r\n successResp => {\r\n if (!successResp.Success) {\r\n this.showError(successResp.StatusMessage);\r\n }\r\n else {\r\n if (successResp.Result != null) {\r\n if (successResp.Result.devSiteAssociationDetails != null && successResp.Result.devSiteAssociationDetails.length > 0) {\r\n this.devSiteAssociations = successResp.Result.devSiteAssociationDetails;\r\n this.allSitesAssociated = successResp.Result.isAllSiteAssociated;\r\n\r\n if (this.allSitesAssociated != true && successResp.Result.sitesNeedToAssociate != null) {\r\n this.hangingSites = successResp.Result.sitesNeedToAssociate;\r\n }\r\n }\r\n //update current associationFlag\r\n this.devSiteAssociations = successResp.Result.devSiteAssociationDetails; \r\n this.associationFlag = this.IsAssociationComplete(this.devSiteAssociations);\r\n }\r\n }\r\n },\r\n error => {\r\n if (error.status == 401)\r\n this.router.navigateByUrl('/login?session=0');\r\n\r\n this.showError(error.ExceptionMessage)\r\n });\r\n }\r\n\r\n //Association LightBox \r\n showAssociationLightbox(devBldg) {\r\n\r\n this.devAssocationAddress = devBldg.HouseNumber + ' ' + devBldg.StreetName;\r\n this.buildingService.GetSitesToAddToDevProjectBuilding(this.projectId, devBldg.MIHProjectBuildingID)\r\n .subscribe(\r\n successResp => {\r\n\r\n if (!successResp.Success) {\r\n this.showError(successResp.StatusMessage)\r\n }\r\n else {\r\n this.siteAssociations = successResp.Result;\r\n if (this.siteAssociations != null && this.siteAssociations.length>0) {\r\n this.showAssociationPopup = true;\r\n this.foucsChangeService.changeFocus(false);\r\n this.currentDevSiteAssociations = new DevSiteAssociations();\r\n this.currentDevSiteAssociations.devProjBuildingId = devBldg.MIHProjectBuildingID;\r\n this.currentDevSiteAssociations.devBldgId = devBldg.BldgID;\r\n this.currentDevSiteAssociations.projectId = this.projectId;\r\n\r\n }\r\n else {\r\n this.showAssociationPopup = false;\r\n this.showNoSiteAssociationPopup = true;\r\n this.foucsChangeService.changeFocus(false);\r\n }\r\n }\r\n },\r\n error => {\r\n this.showError(error.ExceptionMessage);\r\n });\r\n\r\n }\r\n\r\n AddAssociation(event) {\r\n var siteAssociationSelected: any = [];\r\n if (this.siteAssociations != null) {\r\n\r\n var array = this.siteAssociations;\r\n for (var i = 0; i < array.length; i++) {\r\n var item = array[i];\r\n if (item.isChecked == true) {\r\n if (item.MIHProjectBuildingID > 0) {\r\n\r\n var sBldg = new siteBldg();\r\n sBldg.siteProjBuildingId = item.MIHProjectBuildingID;\r\n sBldg.siteBldgId = item.BldgID;\r\n siteAssociationSelected.push(sBldg);\r\n }\r\n }\r\n }\r\n\r\n if (siteAssociationSelected != null && siteAssociationSelected.length > 0) {\r\n this.currentDevSiteAssociations.siteBldgs = siteAssociationSelected;\r\n this.AssocaiateDevAndSite(this.currentDevSiteAssociations); // save associate dev and site\r\n\r\n this.showAssociationPopup = false;\r\n this.showRequireInCopyDevTeamPopup = false;\r\n this.showSaveBtnAssociation = false;\r\n this.siteAssociations = null;\r\n this.foucsChangeService.changeFocus(true);\r\n }\r\n else {\r\n\r\n }\r\n }\r\n }\r\n\r\n // save AssocaiateDevAndSite\r\n AssocaiateDevAndSite(devSiteAssociations) {\r\n this.showCopyEntityPopup = false;\r\n this.foucsChangeService.changeFocus(true);\r\n this.buildingService.AssocaiateDevAndSite(devSiteAssociations)\r\n .subscribe(\r\n success => {\r\n if (!success.Success) {\r\n this.showError(success.StatusMessage);\r\n this.currentDevSiteAssociations = null;\r\n }\r\n else {\r\n //save success. partial refresh in summary view\r\n this.currentDevSiteAssociations = null;\r\n this.getQuestionByTypeAndGetBuildings(this.projectId);\r\n this.getAllDevSiteAssociationsforProj(this.projectId);\r\n //window.location.reload();\r\n }\r\n },\r\n error => {\r\n if (error.status == 401)\r\n this.router.navigateByUrl('/login?session=0');\r\n\r\n this.currentDevSiteAssociations = null;\r\n this.showError(error.ExceptionMessage);\r\n })\r\n }\r\n\r\n removeAssociationPopup(devSiteAssociationId) {\r\n this.showRemoveAssociationPopup = true;\r\n this.currentRemoveDevSiteAssociationId = devSiteAssociationId;\r\n this.foucsChangeService.changeFocus(false);\r\n }\r\n\r\n removeDevSiteAssociation(devSiteAssociationId) {\r\n\r\n if (devSiteAssociationId > 0) {\r\n this.showRemoveAssociationPopup = false;\r\n this.foucsChangeService.changeFocus(true);\r\n this.buildingService.DeleteDevSiteAssociation(devSiteAssociationId)\r\n .subscribe(\r\n success => {\r\n if (!success.Success) {\r\n this.showError(success.StatusMessage);\r\n this.currentRemoveDevSiteAssociationId = 0;\r\n }\r\n else {\r\n //save success. partial refresh in summary view \r\n this.currentRemoveDevSiteAssociationId = 0;\r\n this.getQuestionByTypeAndGetBuildings(this.projectId);\r\n this.getAllDevSiteAssociationsforProj(this.projectId);\r\n //window.location.reload();\r\n }\r\n },\r\n error => {\r\n if (error.status == 401)\r\n this.router.navigateByUrl('/login?session=0');\r\n\r\n this.currentRemoveDevSiteAssociationId = 0;\r\n this.showError(error.ExceptionMessage);\r\n })\r\n }\r\n }\r\n\r\n cancelRemoveAssociation() {\r\n this.showRemoveAssociationPopup = false;\r\n this.currentRemoveDevSiteAssociationId = 0;\r\n this.foucsChangeService.changeFocus(true);\r\n }\r\n\r\n cancelAssociation(event) {\r\n this.showAssociationPopup = false;\r\n this.showRequireMsgInAssociation = false;\r\n this.showSaveBtnAssociation = false;\r\n this.foucsChangeService.changeFocus(true);\r\n this.siteAssociations = null;\r\n this.currentDevSiteAssociations = null;\r\n event.stopPropagation();\r\n }\r\n\r\n cancelNoSiteAssociation(event) {\r\n this.showNoSiteAssociationPopup = false;\r\n this.currentDevSiteAssociations = null;\r\n this.foucsChangeService.changeFocus(true);\r\n event.stopPropagation();\r\n }\r\n\r\n\r\n changeAssociationCheckbox(index) {\r\n var isChecked = false;\r\n if (this.siteAssociations != null) {\r\n var array = this.siteAssociations;\r\n for (var i = 0; i < array.length; i++) {\r\n var item = array[i];\r\n if (item.isChecked == true) {\r\n isChecked = true;\r\n break;\r\n }\r\n }\r\n }\r\n this.showSaveBtnAssociation = isChecked;\r\n this.showRequireMsgInAssociation = !isChecked;\r\n }\r\n\r\n IsAssociationComplete(devSiteAssociations) {\r\n var flag = true;\r\n if (devSiteAssociations == null || devSiteAssociations.length == 0)\r\n return false;\r\n\r\n for (var i = 0; i < devSiteAssociations.length; i++) {\r\n if (devSiteAssociations[i].devSiteAssociations == null || devSiteAssociations[i].devSiteAssociations.length == 0) {\r\n flag = false;\r\n break;\r\n }\r\n }\r\n\r\n return flag;\r\n }\r\n\r\n ////////// end building associations section //////////\r\n\r\n //////////////// submit application to HPD ////////////////\r\n getBuildingCheckList() {\r\n this.buildingService.getBuildingsByProjectId(this.projectId)\r\n .subscribe(\r\n successResp => {\r\n if (!successResp.Success) {\r\n this.showError(successResp.StatusMessage);\r\n }\r\n else {\r\n if (successResp.Result != null && successResp.Result.length > 0) {\r\n this.buildings = successResp.Result[0].buildings;\r\n this.CalculateTotalFloorAreaUnits();\r\n\r\n this.getBuildingFlag(this.buildings);\r\n\r\n }\r\n\r\n if (successResp.Result != null && successResp.Result.length > 1) {\r\n this.sites = successResp.Result[1];\r\n }\r\n }\r\n },\r\n error => {\r\n if (error.status == 401)\r\n this.router.navigateByUrl('/login?session=0');\r\n\r\n this.showError(error.ExceptionMessage)\r\n });\r\n }\r\n\r\n getBuildingFlag(bldgs) { \r\n var bqFlag = true;\r\n if (bldgs == null) {\r\n this.buildingQuestionsComplete = bqFlag = false;\r\n return false;\r\n }\r\n\r\n //PIL Yes case \r\n if (this.PILValue == 'Y') {\r\n for (var i = 0; i < bldgs.length; i++) {\r\n if (bldgs[i].ProjectBuildingFloorArea == 0 || bldgs[i].ProjectBuildingFloorArea == null\r\n || bldgs[i].ProjectBuildingUnitCount == 0 || bldgs[i].ProjectBuildingUnitCount == null) {\r\n this.buildingQuestionsComplete = false;\r\n bqFlag = false;\r\n break;\r\n }\r\n }\r\n\r\n this.buildingQuestionsComplete = bqFlag;\r\n var flags = (this.PILValue == 'Y' && this.model.IsInfoSectionComplete && this.buildingQuestionsComplete\r\n && (this.haveOwner == true && this.haveApplicant == true && this.haveAttorney == true));\r\n\r\n }\r\n else if (this.PILValue == 'N') {\r\n //Non PIL case \r\n for (var i = 0; i < bldgs.length; i++) {\r\n if (bldgs[i].ProjectBuildingFloorArea == 0 || bldgs[i].ProjectBuildingFloorArea == null\r\n || bldgs[i].ProjectBuildingUnitCount == 0 || bldgs[i].ProjectBuildingUnitCount == null) {\r\n bqFlag = false; //BQ1 \r\n break;\r\n }\r\n bqFlag = this.IsBuildingQuestionComplete(bldgs[i]);\r\n this.buildingQuestionsComplete = bqFlag;\r\n if (bqFlag == false) {\r\n break; // out of loop\r\n }\r\n }\r\n\r\n this.buildingQuestionsComplete = bqFlag;\r\n //check siteTeam member only if buildingQuestion is complete - submission purpose \r\n if (bqFlag) {\r\n this.haveSiteTeamMembers = this.HaveSiteTeamMembers(bldgs);\r\n }\r\n }\r\n }\r\n\r\n IsBuildingQuestionComplete(bldg) {\r\n var isComplete = true;\r\n var bldgType = 0;\r\n if (bldg == null || bldg.ProjectBuildingType == null)\r\n return false;\r\n\r\n if (bldg.ProjectBuildingType.SeqNo == null || bldg.ProjectBuildingType.SeqNo == 0) {\r\n return false;\r\n }\r\n else {\r\n bldgType = bldg.ProjectBuildingType.SeqNo;\r\n switch(bldgType) {\r\n case 2059:\r\n if (bldg.ProjectBuildingPublicFunding == null || bldg.ProjectBuildingPublicFunding.IsValid == false) {\r\n isComplete = false;\r\n break;\r\n }\r\n if (bldg.ProjectBuildingMIHOption == null || bldg.ProjectBuildingMIHOption.IsValid == false) {\r\n isComplete = false;\r\n break;\r\n }\r\n if (bldg.ProjectBuildingMIHOption == null || bldg.ProjectBuildingMIHOption.IsValid == false) {\r\n isComplete = false;\r\n break;\r\n }\r\n if (bldg.ProjectBuildingLocationOfMIHUnits == null || bldg.ProjectBuildingLocationOfMIHUnits.IsValid == false) {\r\n isComplete = false;\r\n break;\r\n }\r\n break;\r\n\r\n case 2061:\r\n if (bldg.ProjectBuildingPublicFunding == null || bldg.ProjectBuildingPublicFunding.IsValid == false) {\r\n isComplete = false;\r\n break;\r\n }\r\n if (bldg.ProjectBuildingMIHOption == null || bldg.ProjectBuildingMIHOption.IsValid == false) {\r\n isComplete = false;\r\n break;\r\n }\r\n if (bldg.ProjectBuildingMIHOption == null || bldg.ProjectBuildingMIHOption.IsValid == false) {\r\n isComplete = false;\r\n break;\r\n }\r\n if (bldg.ProjectBuildingLocationOfMIHUnits == null || bldg.ProjectBuildingLocationOfMIHUnits.IsValid == false) {\r\n isComplete = false;\r\n break;\r\n }\r\n\r\n if (bldg.ProjectBuildingTaxCredits == null || bldg.ProjectBuildingTaxCredits.IsValid == false) {\r\n isComplete = false;\r\n break;\r\n }\r\n if (bldg.ProjectBuildingTaxIncentives == null || bldg.ProjectBuildingTaxIncentives.IsValid == false) {\r\n isComplete = false;\r\n break;\r\n }\r\n if (bldg.ProjectBuildingResidentialMIHSuperUnits == null || bldg.ProjectBuildingResidentialMIHSuperUnits.IsValid == false) {\r\n isComplete = false;\r\n break;\r\n }\r\n if (bldg.ProjectBuildingCondoStructure == null || bldg.ProjectBuildingCondoStructure.IsValid == false) {\r\n isComplete = false;\r\n break;\r\n }\r\n if (bldg.ProjectBuildingElectricSystems == null || bldg.ProjectBuildingElectricSystems.IsValid == false) {\r\n isComplete = false;\r\n break;\r\n }\r\n break;\r\n case 2060:\r\n if (bldg.ProjectBuildingPublicFunding == null || bldg.ProjectBuildingPublicFunding.IsValid == false) {\r\n isComplete = false;\r\n break;\r\n }\r\n if (bldg.ProjectBuildingSiteLocation == null || bldg.ProjectBuildingSiteLocation.IsValid == false) {\r\n isComplete = false;\r\n break;\r\n }\r\n if (bldg.ProjectBuildingTaxCredits == null || bldg.ProjectBuildingTaxCredits.IsValid == false) {\r\n isComplete = false;\r\n break;\r\n }\r\n if (bldg.ProjectBuildingTaxIncentives == null || bldg.ProjectBuildingTaxIncentives.IsValid == false) {\r\n isComplete = false;\r\n break;\r\n }\r\n if (bldg.ProjectBuildingResidentialMIHSuperUnits == null || bldg.ProjectBuildingResidentialMIHSuperUnits.IsValid == false) {\r\n isComplete = false;\r\n break;\r\n }\r\n if (bldg.ProjectBuildingCondoStructure == null || bldg.ProjectBuildingCondoStructure.IsValid == false) {\r\n isComplete = false;\r\n break;\r\n }\r\n if (bldg.ProjectBuildingElectricSystems == null || bldg.ProjectBuildingElectricSystems.IsValid == false) {\r\n isComplete = false;\r\n break;\r\n }\r\n break;\r\n default:\r\n isComplete = false;\r\n break;\r\n }\r\n }\r\n\r\n return isComplete;\r\n }\r\n\r\n HaveSiteTeamMembers(bldgs) {\r\n var flag = true;\r\n if (bldgs == null || bldgs.length == 0)\r\n return false;\r\n\r\n for (var i = 0; i < bldgs.length; i++) {\r\n\r\n if (bldgs[i].ProjectBuildingType != null\r\n && (bldgs[i].ProjectBuildingType.SeqNo == 2060 || bldgs[i].ProjectBuildingType.SeqNo == 2061 || (bldgs[i].IsDevBuilding && bldgs[i].ProjectBuildingLocationOfMIHUnits.IsDevSite)) ) {\r\n var hasSiteApplicant = false;\r\n var hasSiteOwner = false;\r\n var hasSiteArchitect = false;\r\n\r\n if (bldgs[i].BuildingDevTeam == null || bldgs[i].BuildingDevTeam.length < 3) {\r\n return false;\r\n }\r\n\r\n for (var j = 0; j < bldgs[i].BuildingDevTeam.length; j++) {\r\n var team = bldgs[i].BuildingDevTeam[j];\r\n var roleId = 0;\r\n if (team.PartyRoleLookup != null)\r\n roleId = team.PartyRoleLookup.SeqNo;\r\n\r\n switch (roleId) {\r\n case 1030:\r\n hasSiteApplicant = true;\r\n break;\r\n case 1032:\r\n hasSiteOwner = true;\r\n break;\r\n case 1765:\r\n hasSiteArchitect = true;\r\n break;\r\n default:\r\n break;\r\n }\r\n\r\n }\r\n\r\n if (!(hasSiteApplicant && hasSiteOwner && hasSiteArchitect)) {\r\n return false;\r\n }\r\n } // end each site, dev-site\r\n\r\n }\r\n\r\n return flag;\r\n }\r\n\r\n validateCheckList(event) {\r\n var checkListMessage = '';\r\n this.incompleteMessage = '';\r\n // MIH-1324 check for validations\r\n checkListMessage = '';\r\n if (!((this.buildingQuestionsComplete && this.model.IsInfoSectionComplete && (this.haveOwner == true && this.haveApplicant == true && this.haveAttorney == true))\r\n && (this.PILValue == 'Y' || (this.PILValue == 'N' && this.haveSiteTeamMembers && this.associationFlag))))\r\n { \r\n this.submitted = false;\r\n checkListMessage = '
  • Incomplete sections are highlighted in red. Please navigate to the appropriate sections and complete the required information before submitting the application.
  • ';\r\n }\r\n \r\n if (((this.buildingQuestionsComplete && this.model.IsInfoSectionComplete && (this.haveOwner == true && this.haveApplicant == true && this.haveAttorney == true))\r\n && (this.PILValue == 'Y' || (this.PILValue == 'N' && this.haveSiteTeamMembers && this.associationFlag))))\r\n {\r\n this.submitted = true;\r\n if (this.disclaimerChecked != true) {\r\n checkListMessage += '
  • Please read and accept the disclaimer.
  • ';\r\n }\r\n\r\n // display incomplete hanging site message - check if all sites are associated.\r\n if (this.PILValue == 'N' && (!this.allSitesAssociated)) { \r\n var hangingSiteAddress = this.getHangingSiteAddressHtml(); \r\n if (hangingSiteAddress != '') {\r\n checkListMessage += '
  • The following building(s) have not yet been associated to a MIH development building:' + hangingSiteAddress + '
  • ';\r\n }\r\n } \r\n }\r\n\r\n if (checkListMessage.trim() != '') {\r\n this.incompleteMessage = '
      ' + checkListMessage + '
        ';\r\n this.showSubmitIncomplete = true;\r\n this.foucsChangeService.changeFocus(false);\r\n return false;\r\n }\r\n else {\r\n\r\n if (this.PILValue == 'Y') {\r\n if (this.model.IsInfoSectionComplete && (this.haveOwner && this.haveApplicant && this.haveAttorney)\r\n && this.buildingQuestionsComplete) {\r\n if (this.displayPILMessge == true && this.pilAlertMessage.trim() != '') {\r\n this.ShowConfirmInvalidFloorUnit = true;\r\n this.foucsChangeService.changeFocus(false);\r\n }\r\n else {\r\n this.submitApplication();\r\n }\r\n }\r\n } //end PIL Yes\r\n else if (this.PILValue == 'N') {\r\n\r\n if (this.model.IsInfoSectionComplete\r\n && (this.haveOwner && this.haveApplicant && this.haveAttorney)\r\n && this.buildingQuestionsComplete && this.haveSiteTeamMembers\r\n && this.associationFlag) {\r\n\r\n if (this.allSitesAssociated) {\r\n this.submitApplication();\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n confirmSubmit(event) {\r\n this.ShowConfirmInvalidFloorUnit = false; //close diglog\r\n this.foucsChangeService.changeFocus(true);\r\n this.submitApplication();\r\n }\r\n\r\n submitApplication() {\r\n this.getBuildingCheckList();\r\n\r\n this.entityService.submitApplication(this.projectId)\r\n .subscribe(\r\n success => {\r\n if (!success.Success) {\r\n\r\n if (success.StatusMessage != null && success.StatusMessage.indexOf('because it has been withdrawn') !== -1) {\r\n this.showErrorAlert(success.StatusMessage);\r\n }\r\n else {\r\n this.showError(success.StatusMessage);\r\n }\r\n }\r\n else {\r\n if (this.appStatus == 'Draft') {\r\n this.appStatus = 'Submitted';\r\n this.appMode = 'Complete'\r\n this.showSuccess('Your application has been successfully submitted. You may now proceed to upload your supporting documentation.');\r\n }\r\n else {\r\n this.appMode = 'Complete'; \r\n }\r\n\r\n this.updateSessionEditMode(this.appMode); \r\n this.updateSessionAppStatus(this.appStatus);\r\n this.isAppEditable = false;\r\n this.activeTab = 'FileUpload';\r\n }\r\n },\r\n error => {\r\n if (error.status == 401)\r\n this.router.navigateByUrl('/login?session=0');\r\n\r\n this.showError(error.ExceptionMessage);\r\n });\r\n }\r\n\r\n cancelSubmit(event) {\r\n this.showSubmitIncomplete = false;\r\n this.foucsChangeService.changeFocus(true);\r\n this.incompleteMessage = '';\r\n this.activeTab = 'Application';\r\n event.stopPropagation();\r\n }\r\n\r\n cancelConfirmFloorUnit(event) {\r\n this.ShowConfirmInvalidFloorUnit = false;\r\n this.foucsChangeService.changeFocus(true);\r\n event.stopPropagation();\r\n }\r\n\r\n ////////// end of submission ///////////\r\n ////////// Delete ///////////\r\n deleteEntity(entity) {\r\n this.showDeleteEntityPopup = true;\r\n this.deleteEntityId = entity.MIHProjectDevTeamID; \r\n this.deleteEntityCompanyName = entity.PartyName; \r\n this.foucsChangeService.changeFocus(false);\r\n }\r\n\r\n deleteDevTeamEntity(deleteEntityId, deleteCompanyName) {\r\n if (deleteEntityId > 0) {\r\n this.showDeleteEntityPopup = false;\r\n this.foucsChangeService.changeFocus(true);\r\n this.entityService.deleteDevTeamEntity(deleteEntityId, deleteCompanyName, this.projectId)\r\n .subscribe(\r\n success => {\r\n if (!success.Success) {\r\n this.showError(success.StatusMessage);\r\n this.deleteEntityId = 0;\r\n }\r\n else {\r\n //save success. partial refresh in summary view\r\n this.deleteEntityId = 0;\r\n this.deleteEntityCompanyName = '';\r\n this.getEntities(this.projectId);\r\n }\r\n },\r\n error => {\r\n if (error.status == 401)\r\n this.router.navigateByUrl('/login?session=0');\r\n\r\n this.deleteEntityId = 0;\r\n this.showError(error.ExceptionMessage);\r\n })\r\n }\r\n }\r\n\r\n cancelDeleteEntity() {\r\n this.showDeleteEntityPopup = false;\r\n this.foucsChangeService.changeFocus(true);\r\n this.deleteEntityId = 0;\r\n this.deleteEntityCompanyName = '';\r\n }\r\n /////// DeleteSiteEntity /////\r\n clickDeleteSiteEntity(deleteSiteEntityId) {\r\n this.showDeleteSiteEntityPopup = true;\r\n this.deleteSiteEntityId = deleteSiteEntityId;\r\n this.foucsChangeService.changeFocus(false);\r\n }\r\n\r\n deleteSiteEntity(deleteSiteEntityId) {\r\n if (deleteSiteEntityId > 0) {\r\n this.entityService.deleteSiteTeamEntity(deleteSiteEntityId)\r\n .subscribe(\r\n success => {\r\n if (!success.Success) {\r\n this.showError(success.StatusMessage);\r\n this.deleteSiteEntityId = 0;\r\n }\r\n else {\r\n this.showDeleteSiteEntityPopup = false;\r\n this.foucsChangeService.changeFocus(true);\r\n this.deleteSiteEntityId = 0;\r\n this.getQuestionByTypeAndGetBuildings(this.projectId);\r\n\r\n }\r\n },\r\n error => {\r\n if (error.status == 401)\r\n this.router.navigateByUrl('/login?session=0');\r\n\r\n this.deleteSiteEntityId = 0;\r\n this.showError(error.ExceptionMessage);\r\n })\r\n }\r\n }\r\n\r\n cancelDeleteSiteEntity(deleteSiteEntityId) {\r\n this.showDeleteSiteEntityPopup = false;\r\n this.deleteSiteEntityId = 0;\r\n this.foucsChangeService.changeFocus(true);\r\n }\r\n\r\n\r\n clickDeleteBuilding(building) {\r\n this.showDeleteBuildingPopup = true;\r\n this.deleteBuildingId = building.BldgID; // deleteBuildingId;\r\n this.foucsChangeService.changeFocus(false);\r\n }\r\n\r\n deleteBuilding(deleteBuildingId) {\r\n this.showDeleteBuildingPopup = false;\r\n this.foucsChangeService.changeFocus(true);\r\n if (deleteBuildingId > 0) {\r\n this.buildingService.deleteBuilding(this.projectId, deleteBuildingId)\r\n .subscribe(\r\n success => {\r\n if (!success.Success) {\r\n this.showError(success.StatusMessage);\r\n this.deleteBuildingId = 0;\r\n }\r\n else {\r\n this.deleteBuildingId = 0;\r\n this.getQuestionByTypeAndGetBuildings(this.projectId);\r\n this.getAllDevSiteAssociationsforProj(this.projectId);\r\n }\r\n },\r\n error => {\r\n if (error.status == 401)\r\n this.router.navigateByUrl('/login?session=0');\r\n\r\n this.deleteSiteEntityId = 0;\r\n this.showError(error.ExceptionMessage);\r\n })\r\n }\r\n }\r\n\r\n cancelDeleteBuilding(event) {\r\n this.showDeleteBuildingPopup = false;\r\n this.deleteBuildingId = 0;\r\n this.foucsChangeService.changeFocus(true);\r\n event.stopPropagation();\r\n }\r\n\r\n getHangingSiteAddressHtml() {\r\n var htmlHangingSiteAddress = ''; \r\n for (var i = 0; i < this.hangingSites.length; i++) { \r\n if (this.hangingSites[i].HouseNumber != '') {\r\n htmlHangingSiteAddress += '

        ' + this.hangingSites[i].HouseNumber + ' ' + this.hangingSites[i].StreetName + '

        '; \r\n }\r\n }\r\n\r\n return htmlHangingSiteAddress; \r\n }\r\n\r\n GotoTop(event) {\r\n var element = document.getElementById(\"top\");\r\n if (element) {\r\n window.scrollTo({\r\n 'behavior': 'smooth',\r\n 'left': 0,\r\n 'top': element.offsetTop\r\n });\r\n }\r\n else\r\n {\r\n window.scrollTo(0, 0);\r\n }\r\n }\r\n\r\n goToHome() {\r\n this.sharedService.navigateHome();\r\n }\r\n\r\n setupInstructions() {\r\n this.viewModeInstructions = new SummaryInstruction(); \r\n this.viewModeInstructions.appSummaryText = 'Below is the summary of your submitted MIH application. The Inclusionary Housing project manager assigned to your application will be in contact with you shortly. If your application is in need of an update, please be sure to inform your project manager.'; \r\n this.viewModeInstructions.devTeamText = 'A development entity is any entity that is a part of the MIH Development construction project. Your MIH Development Team is listed below. '; \r\n this.viewModeInstructions.siteTeamText = 'A site entity is any entity that is a part of the MIH Site construction project. Your MIH Site Team for this building is listed below.'; \r\n this.viewModeInstructions.associationText = 'This section identifies the MIH Site(s) that will contain the MIH units to satisfy the MIH requirement for your MIH Development.'; \r\n\r\n this.editModeInstructions = new SummaryInstruction(); \r\n this.editModeInstructions.appSummaryText = 'Below is the summary of your application. You can review each section and make edits as necessary. You must complete all required items before you can submit your application. New questions and sections will appear as you complete your application.';\r\n this.editModeInstructions.devTeamText = 'A development entity is any entity that is a part of the MIH Development construction project. Please identify the entities that are a part of your development team. You can add as many entities as you wish to your application. Your development team must include at least one Applicant, Owner, and Attorney.'; \r\n this.editModeInstructions.siteTeamText = 'In addition to the development team members, you are also required to add entities for Sites. A site entity is any entity that is a part of the MIH Site construction project. Your site team must include at least one Applicant, Owner, and Architect before initial submission. You can add as many entities as you wish to your site team.';\r\n this.editModeInstructions.associationText = 'Please identify the building(s) that will contain the MIH units to satisfy the MIH requirement for the buildings listed below. All buildings listed below must have at least one association.'; \r\n }\r\n\r\n\r\n changeToEditMode() {\r\n this.entityService.changeToEditMode(this.projectId)\r\n .subscribe(\r\n successResp => {\r\n if (!successResp.Success) {\r\n if (successResp.StatusMessage != null && successResp.StatusMessage.indexOf('because it has been either withdrawn') !== -1) {\r\n this.showErrorAlert(successResp.StatusMessage);\r\n }\r\n else {\r\n this.showError(AppConfig.config.customErrorMsg);\r\n } \r\n }\r\n else {\r\n\r\n this.isAppEditable = true;\r\n this.disclaimerChecked = false;\r\n this.activeTab = 'Application';\r\n this.updateSessionEditMode('Edit'); \r\n }\r\n },\r\n errorResp => this.showError(AppConfig.config.customErrorMsg));\r\n }\r\n\r\n\r\n updateSessionEditMode(mode) {\r\n let rawIdStorage = this.sharedService.getData('id');\r\n if (rawIdStorage) {\r\n let jsonIdStorage = JSON.parse(rawIdStorage);\r\n if (jsonIdStorage) {\r\n jsonIdStorage.appMode = mode;\r\n this.sharedService.setData('id', JSON.stringify(jsonIdStorage));\r\n }\r\n }\r\n }\r\n\r\n updateSessionAppStatus(status) {\r\n let rawIdStorage = this.sharedService.getData('id');\r\n if (rawIdStorage) {\r\n let jsonIdStorage = JSON.parse(rawIdStorage);\r\n if (jsonIdStorage) {\r\n jsonIdStorage.appStatus = status;\r\n this.sharedService.setData('id', JSON.stringify(jsonIdStorage));\r\n }\r\n }\r\n }\r\n\r\n isPageExpand() {\r\n let pageExpand: boolean = false;\r\n\r\n pageExpand = !this.appInfoColl || !this.devTeamColl;\r\n if (this.buildings && this.buildings.length > 0) {\r\n pageExpand = pageExpand || this.buildings.filter(x => !x.SiteStyleId).length > 0;\r\n this.buildings.forEach(x => {\r\n if (x.BuildingDevTeam && x.BuildingDevTeam.length > 0) {\r\n pageExpand = pageExpand || !x.siteTeamStyleId;\r\n }\r\n });\r\n } \r\n\r\n return pageExpand;\r\n }\r\n\r\n collapseOrExpand() {\r\n let collapseFlag: boolean = false;\r\n collapseFlag = this.isPageExpand();\r\n\r\n this.appInfoColl = collapseFlag;\r\n this.devTeamColl = collapseFlag; \r\n if (this.buildings) {\r\n this.buildings.forEach(x => {\r\n x.SiteStyleId = collapseFlag;\r\n x.siteTeamStyleId = collapseFlag;\r\n });\r\n }\r\n }\r\n\r\n /** Documents */\r\n\r\n updateFileUploadSortColumn(columnName: string) {\r\n this.fileUploadSortColumn = columnName;\r\n }\r\n\r\n updateFileUploadSortDirection(direction: string) {\r\n this.fileUploadSortDirection = direction;\r\n }\r\n \r\n getUploadDocsByProjectId(projectId) {\r\n this.filesService.getUploadDocsByProjectId(projectId)\r\n .subscribe(\r\n successResp => {\r\n if (!successResp.Success) {\r\n this.showError(successResp.StatusMessage);\r\n }\r\n else {\r\n this.documents = successResp.Result;\r\n }\r\n },\r\n error => {\r\n if (error.status == 401)\r\n this.router.navigateByUrl('/login?session=0');\r\n\r\n this.showError(error.ExceptionMessage)\r\n });\r\n }\r\n}\r\n","module.exports = \"
        Deleting this company from your Development\\r\\n
        \\r\\n
        \\r\\n Delete Contact\\r\\n \\r\\n
        \\r\\n
        Are you sure you would like to delete this contact from this entity?
        \\r\\n
        \\r\\n
        \\r\\n \\r\\n
        \\r\\n
        \\r\\n \\r\\n
        \\r\\n
        \\r\\n
        \\r\\n
        \\r\\n\\r\\n
        \\r\\n
        \\r\\n

        {{entity.PartyName}}

        \\r\\n \\r\\n

        {{entity.PartyName}}

        \\r\\n
        \\r\\n

        {{getFormattedAddressLine(entity)}}

        \\r\\n

        {{entity.City}}, {{entity.StateLookup.ShortName}} {{(entity.PostalCode | zip)}}

        \\r\\n
        \\r\\n
        \\r\\n

        TIN {{entity.PartyTaxid | tin}}

        \\r\\n

        {{entity.CorporatePhoneNumber |\\r\\n phone}}

        \\r\\n

        {{(entity.CorporateFax | phone) || 'Not\\r\\n Provided'}}

        \\r\\n
        \\r\\n
        \\r\\n\\r\\n
        \\r\\n
        \\r\\n
        Contacts
        \\r\\n
        \\r\\n \\r\\n
        \\r\\n
        \\r\\n
        \\r\\n
        \\r\\n

        \\r\\n {{contact.ContactFirstName}} {{contact.ContactLastName}}

        \\r\\n
        \\r\\n \\r\\n

        {{contact.ContactFirstName}} {{contact.ContactLastName}}

        \\r\\n
        \\r\\n \\r\\n
        \\r\\n

        {{contact.ContactPhone |\\r\\n phone}}\\r\\n \\r\\n ext. {{contact.ContactPhoneExtension}}

        \\r\\n
        \\r\\n
        \\r\\n Delete\\r\\n Delete\\r\\n |\\r\\n Edit\\r\\n
        \\r\\n
        \\r\\n
        \\r\\n\\r\\n
        \\r\\n Contact Required\\r\\n
        \\r\\n
        \"","import { Component, OnInit, Input } from '@angular/core';\r\nimport { Route, Router, ActivatedRoute } from '@angular/router';\r\nimport { EntityContactParam } from '../../viewmodel'; \r\nimport { EntityParam } from '../../viewmodel';\r\nimport { SharedService } from '../../services/shared.service';\r\nimport { EntityService } from '../../services/entity.service';\r\nimport { FoucsChangeService } from '../../services/focuschange.service';\r\n\r\n@Component({\r\n selector: 'entity-detail',\r\n templateUrl: './entitydetail.component.html'\r\n})\r\nexport class EntitydetailComponent implements OnInit {\r\n @Input() entity: any;\r\n //@Input() landingpage: string;\r\n projectId: number = 0;\r\n showDeleteDevTeamContactPopup: boolean = false;\r\n currentDeleteDevTeamContactId: number = 0;\r\n summaryUrl = '/MIH/#/entity/application'; \r\n @Input('isAppEditable') isAppEditable: boolean = false;\r\n\r\n constructor(private router: Router\r\n , private activeRoute: ActivatedRoute\r\n , private sharedService: SharedService\r\n , private entityService: EntityService\r\n , private foucsChangeService: FoucsChangeService) { }\r\n\r\n ngOnInit() {\r\n let id = this.sharedService.getData('id');\r\n if (id != null) {\r\n let ids = JSON.parse(id);\r\n if (ids.projectId != null) {\r\n this.projectId = ids.projectId;\r\n }\r\n } \r\n }\r\n\r\n addContacts() {\r\n this.router.navigate(['/addcontacts']);\r\n }\r\n\r\n cancelDeleteDevTeamContact() {\r\n this.showDeleteDevTeamContactPopup = false;\r\n this.currentDeleteDevTeamContactId = 0; \r\n this.foucsChangeService.changeFocus(true);\r\n }\r\n\r\n deleteDevTeamContactpopup(MIHProjectDevTeamContactID) {\r\n this.showDeleteDevTeamContactPopup = true;\r\n this.currentDeleteDevTeamContactId = MIHProjectDevTeamContactID;\r\n this.foucsChangeService.changeFocus(false);\r\n }\r\n\r\n deleteDevTeamContact(devTeamContactId) {\r\n\r\n if (devTeamContactId > 0) {\r\n this.entityService.deleteDevTeamContact(devTeamContactId)\r\n .subscribe(\r\n success => {\r\n if (!success.Success) {\r\n //this.pageError.push(success.StatusMessage);\r\n //this.currentDeleteDevTeamContactId = 0;\r\n }\r\n else {\r\n\r\n this.showDeleteDevTeamContactPopup = false;\r\n this.foucsChangeService.changeFocus(true);\r\n this.currentDeleteDevTeamContactId = 0;\r\n window.location.reload();\r\n }\r\n },\r\n error => {\r\n if (error.status == 401)\r\n this.router.navigateByUrl('/login?session=0');\r\n\r\n this.currentDeleteDevTeamContactId = 0;\r\n //this.pageSuccess = []; this.pageError = [];\r\n //this.pageError.push(error.ExceptionMessage);\r\n window.scrollTo(0, 0);\r\n })\r\n }\r\n\r\n }\r\n\r\n \r\n\r\n\r\n addContact(entity) {\r\n if (entity == null)\r\n return false;\r\n\r\n this.setEntityParam(entity)\r\n this.router.navigate(['/entity/addcontacts']);\r\n }\r\n\r\n setEntityParam(entity) {\r\n var eParam = new EntityParam();\r\n eParam.projectId = this.projectId;\r\n eParam.entityId = entity.MIHProjectDevTeamID;\r\n eParam.partyId = entity.PartyID;\r\n eParam.partyStagingId = entity.PartyStagingID;\r\n \r\n eParam.companyName = this.entity.organization;\r\n if (entity.PartyRoleLookup != null) {\r\n eParam.roleId = entity.PartyRoleLookup.SeqNo;\r\n eParam.partyRoleName = entity.PartyRoleLookup.LongName;\r\n }\r\n eParam.newEntityEntry = 'N';\r\n this.sharedService.setJsonData('entityParam', eParam);\r\n }\r\n \r\n editContact(contact, entity) {\r\n\r\n var entitycontactParams = new EntityContactParam();\r\n entitycontactParams.projectId = this.projectId; \r\n entitycontactParams.entityId = entity.MIHProjectDevTeamID; \r\n entitycontactParams.partyId = entity.PartyID;\r\n entitycontactParams.partyStagingId = entity.PartyStagingID;\r\n entitycontactParams.projectDevTeamContactId = contact.MIHProjectDevTeamContactID; \r\n entitycontactParams.commContactId = contact.CommContactID;\r\n entitycontactParams.companyName = entity.PartyName; \r\n entitycontactParams.partyRoleName = entity.PartyRoleLookup.LongName; \r\n entitycontactParams.roleId = entity.PartyRoleLookup.SeqNo; \r\n\r\n this.sharedService.setData('entitycontactParams', JSON.stringify({'projectId': this.projectId, 'entityId': entity.MIHProjectDevTeamID, 'contactId': contact.CommContactID, 'projectDevTeamContactId': contact.MIHProjectDevTeamContactID, 'entitycontactParams': entitycontactParams }));\r\n \r\n if (contact == null)\r\n this.router.navigate(['/entity/editcontact']);\r\n else {\r\n this.router.navigate(['/entity/editcontact']);\r\n\r\n }\r\n }\r\n\r\n getFormattedAddressLine(entity) {\r\n var ret = '';\r\n if (entity == null)\r\n return ret;\r\n\r\n if (entity.PartyAddress1 != null)\r\n ret += entity.PartyAddress1;\r\n\r\n if (entity.PartyAddress2 != null && entity.PartyAddress2 != '')\r\n ret += ', ' + entity.PartyAddress2;\r\n\r\n return ret;\r\n }\r\n \r\n\r\n //confirmContactDelete() {\r\n // this.showContactDelete = false;\r\n // }\r\n\r\n}\r\n","module.exports = \"
        \\r\\n
        \\r\\n
        \\r\\n Delete Contact\\r\\n \\r\\n
        \\r\\n
        Are you sure you would like to delete this contact from this entity?
        \\r\\n
        \\r\\n
        \\r\\n \\r\\n
        \\r\\n
        \\r\\n \\r\\n
        \\r\\n
        \\r\\n
        \\r\\n
        \\r\\n\\r\\n
        \\r\\n
        \\r\\n

        {{entity.PartyName}}

        \\r\\n \\r\\n

        {{entity.PartyName}}

        \\r\\n
        \\r\\n

        {{getFormattedAddressLine(entity)}}

        \\r\\n

        {{entity.City}}, {{entity.StateLookup.ShortName}} {{(entity.PostalCode | zip)}}

        \\r\\n
        \\r\\n
        \\r\\n

        TIN {{entity.PartyTaxid | tin}}

        \\r\\n

        {{entity.CorporatePhoneNumber |\\r\\n phone}}

        \\r\\n

        {{(entity.CorporateFax | phone) || 'Not\\r\\n Provided'}}

        \\r\\n
        \\r\\n
        \\r\\n\\r\\n
        \\r\\n
        \\r\\n
        Contacts
        \\r\\n
        \\r\\n \\r\\n
        \\r\\n
        \\r\\n
        \\r\\n
        \\r\\n

        \\r\\n {{contact.ContactFirstName}} {{contact.ContactLastName}}\\r\\n

        \\r\\n
        \\r\\n \\r\\n

        {{contact.ContactFirstName}} {{contact.ContactLastName}}

        \\r\\n
        \\r\\n \\r\\n
        \\r\\n

        \\r\\n {{contact.ContactPhone | phone}}\\r\\n \\r\\n ext. {{contact.ContactPhoneExtension}}\\r\\n

        \\r\\n
        \\r\\n
        \\r\\n Delete\\r\\n Delete\\r\\n |\\r\\n Edit\\r\\n
        \\r\\n
        \\r\\n
        \\r\\n\\r\\n \\r\\n\"","import { Component, OnInit, Input } from '@angular/core';\nimport { Route, Router, ActivatedRoute } from '@angular/router';\nimport { SiteEntityContactParam } from '../../viewmodel';\nimport { SiteEntityParam } from '../../viewmodel';\nimport { SharedService } from '../../services/shared.service';\nimport { HelperService } from '../../services/helper.service';\nimport { EntityService } from '../../services/entity.service';\nimport { FoucsChangeService } from '../../services/focuschange.service';\n\n@Component({\n selector: 'site-entity-detail',\n templateUrl: './siteentitydetail.component.html'\n})\nexport class SiteEntityDetailComponent implements OnInit {\n @Input() entity: any;\n projectId: number = 0;\n siteAddress: string = ''; \n showDeleteSiteContactPopup: boolean = false;\n deleteSiteContactId: number = 0;\n @Input('isAppEditable') isAppEditable: boolean = false;\n\n constructor(private router: Router\n , private activeRoute: ActivatedRoute \n , private sharedService: SharedService\n , private helperService: HelperService\n , private entityService: EntityService\n , private foucsChangeService: FoucsChangeService) { }\n\n ngOnInit() {\n let id = this.sharedService.getData('id');\n if (id != null) {\n let ids = JSON.parse(id);\n if (ids.projectId != null) {\n this.projectId = ids.projectId;\n }\n }\n }\n\n addSiteContact(entity) {\n if (entity == null)\n return false;\n\n this.setSiteEntityParam(entity)\n this.router.navigate(['/entity/addsitecontacts']);\n }\n\n setSiteEntityParam(sEntity) {\n var sep = new SiteEntityParam();\n sep.projectId = this.projectId;\n sep.siteProjectBuildingId = sEntity.MIHProjectBuildingID //this.entity.ProjectBuildingID; 794784\n sep.bldgId = sEntity.BldgID //this.entity.BuildingID;\n sep.companyName = sEntity.PartyName; //this.entity.organization;\n sep.partyRoleSeqNo = sEntity.PartyRoleLookup.SeqNo //this.entity.entityRole;\n sep.partyRoleName = this.helperService.getSiteRoleName(sEntity.PartyRoleLookup.SeqNo); //this.helperService.getSiteRoleName(this.entity.entityRole);\n sep.mood = 'A'; //Add or Edit\n sep.projectBldgDevTeamId = sEntity.MIHProjectBldgDevTeamID;\n sep.partyId = sEntity.PartyID;\n sep.partyStagingId = sEntity.PartyStagingID;\n sep.partyAddressId = sEntity.PartyAddressID;\n sep.partyAddressStagingId = sEntity.PartyAddressStagingID;\n this.sharedService.setData('SiteEntityParam', JSON.stringify({ sep }));\n } \n\n editSiteContact(contact, entity) {\n\n var secp = new SiteEntityContactParam();\n secp.projectBldgDevTeamContactId = contact.MIHProjectBldgDevTeamContactID;\n secp.ProjectBldgDevTeamID = contact.MIHProjectBldgDevTeamID;\n secp.siteProjectBuildingID = entity.MIHProjectBuildingID; //entity.siteProjectBuildingID; \n secp.BuildingID = entity.BldgID; \n secp.projectId = this.projectId; \n secp.partyId = entity.PartyID;\n secp.partyStagingId = entity.PartyStagingID; \n secp.commContactId = contact.CommContactID; \n secp.companyName = entity.PartyName;\n secp.partyRoleName = entity.PartyRoleLookup.LongName;\n secp.roleId = entity.PartyRoleLookup.SeqNo;\n this.sharedService.setJsonData('SiteEntityContactParams', secp); \n\n if (contact == null)\n this.router.navigate(['/entity/editsitecontact']);\n else {\n this.router.navigate(['/entity/editsitecontact']);\n\n }\n }\n\n /////DeleteSiteContact////\n cancelDeleteSiteContact(event) {\n this.showDeleteSiteContactPopup = false;\n this.deleteSiteContactId = 0;\n this.foucsChangeService.changeFocus(true);\n event.stopPropagation();\n }\n\n clickDeleteSiteContact(siteContactId) {\n this.deleteSiteContactId = siteContactId;\n this.showDeleteSiteContactPopup = true; \n this.foucsChangeService.changeFocus(false);\n }\n\n deleteSiteContact(siteContactId) {\n if (siteContactId > 0) {\n this.entityService.deleteSiteTeamContact(siteContactId)\n .subscribe(\n success => {\n if (!success.Success) {\n }\n else {\n this.showDeleteSiteContactPopup = false;\n this.deleteSiteContactId = 0;\n this.foucsChangeService.changeFocus(true);\n window.location.reload();\n }\n },\n error => {\n if (error.status == 401)\n this.router.navigateByUrl('/login?session=0');\n\n this.deleteSiteContactId = 0;\n //this.pageSuccess = []; this.pageError = [];\n //this.pageError.push(error.ExceptionMessage);\n window.scrollTo(0, 0);\n })\n }\n }\n\n getFormattedAddressLine(entity) {\n var ret = '';\n if (entity == null)\n return ret;\n\n if (entity.PartyAddress1 != null)\n ret += entity.PartyAddress1;\n\n if (entity.PartyAddress2 != null && entity.PartyAddress2 != '')\n ret += ', ' + entity.PartyAddress2;\n\n return ret;\n }\n\n\n}\n","import { Component, Input, ElementRef, Renderer2 } from '@angular/core';\nimport { AbstractControlDirective, AbstractControl, FormGroup, FormControl } from '@angular/forms';\nimport { HelperService } from '../../services/helper.service'\n\n@Component({\n selector: 'errors',\n template: `\n \n {{errors()}}\n \n `\n})\n\nexport class ErrorsComponent {\n\n private static readonly errorMessages = {\n 'required': () => ({ rank: 1, message: 'Required' }),\n 'invalid': () => ({ rank: 1, message: 'Invalid' }),\n 'maxlength': (params) => ({ rank: 2, message: 'Invalid' }),\n 'pattern': (params) => ({ rank: 2, message: \"Invalid\" }),\n 'noZeroLength': (params) => ({ rank: 2, message: \"Invalid\" }),\n 'min': (params) => ({ rank: 2, message: 'Invalid' }),\n 'max': (params) => ({ rank: 2, message: 'Invalid' }),\n 'email': (params) => ({ rank: 2, message: \"Invalid\" })\n };\n \n constructor(\n private el: ElementRef,\n private renderer: Renderer2,\n private helperService: HelperService) { }\n\n @Input() \n private control: FormControl; \n @Input()\n private componentClass: any;\n \n showErrors(): boolean {\n \n var cname = this.getControlName(this.control); \n var isInvalid = (this.control && this.control.errors) ? true : false;\n\n if (!this.control && (typeof this.componentClass === \"object\"))\n { \n isInvalid = typeof this.componentClass[0] === 'boolean' ? this.componentClass[0] : null;\n }\n else\n if (isInvalid)\n {\n var submitted = this.componentClass ? (this.componentClass.submitted ? true : false) : null;\n var verifyClicked = this.componentClass ? (this.componentClass.verifyClicked ? true : false) : null; \n var isCondition = typeof this.componentClass === 'boolean' ? this.componentClass : null;\n\n var isDirty = this.helperService.activeBrowser === \"IE-11\" ? false : this.control.dirty; \n\n if (isCondition != null)\n {\n isInvalid = isInvalid && (isCondition || isDirty);\n }\n else if (this.control.hasError(\"pattern\"))\n {\n isInvalid = isInvalid || isDirty;\n if (submitted != null) {\n isInvalid = isInvalid || submitted;\n }\n }\n else if (this.control.hasError(\"required\")) {\n isInvalid = isInvalid || isDirty;\n if (verifyClicked != null)\n {\n isInvalid = isInvalid || verifyClicked;\n }\n }\n else if (this.control.hasError(\"noZeroLength\")) {\n if (submitted != null) {\n isInvalid = isInvalid || submitted;\n }\n }\n }\n\n var attr = this.el.nativeElement.getAttribute('locationTop');\n \n var parentElem = this.el.nativeElement.parentElement;\n\n if (parentElem) {\n if (isInvalid) {\n parentElem.classList.add('validationError');\n }\n else {\n parentElem.classList.remove('validationError');\n }\n \n if (attr == \"\")\n { \n this.el.nativeElement.classList.add('messageLocationRightTop');\n }\n } \n \n return isInvalid;\n }\n\n errors(): string {\n\n var error = \"\";\n if (this.control) {\n var errs = Object.keys(this.control.errors);\n var errlist = errs.map(field => this.getMessage(field, this.control.errors[field]))\n error = errlist.sort(function (er1, er2) { return er1.rank - er2.rank; })[0].message;\n }\n else\n {\n error = this.componentClass[1] ? this.componentClass[1] : \"\";\n }\n return error;\n }\n\n private getMessage(type: string, params: any) {\n return ErrorsComponent.errorMessages[type](params);\n }\n\n getControlName(c: AbstractControl): string | null {\n var result = \"\";\n if (c && c.parent) {\n const formGroup = c.parent.controls;\n result = Object.keys(formGroup).find(name => c === formGroup[name]) || null;\n }\n return result;\n }\n\n //activeBrowser = (function () {\n // var ua = navigator.userAgent, tem,\n // M = ua.match(/(opera|chrome|safari|firefox|msie|trident(?=\\/))\\/?\\s*(\\d+)/i) || [];\n // if (/trident/i.test(M[1])) {\n // tem = /\\brv[ :]+(\\d+)/g.exec(ua) || [];\n // return 'IE-' + (tem[1] || '');\n // }\n // if (M[1] === 'Chrome') {\n // tem = ua.match(/\\b(OPR|Edge)\\/(\\d+)/);\n // if (tem != null) return tem.slice(1).join(' ').replace('OPR', 'Opera');\n // }\n // M = M[2] ? [M[1], M[2]] : [navigator.appName, navigator.appVersion, '-?'];\n // if ((tem = ua.match(/version\\/(\\d+)/i)) != null) M.splice(1, 1, tem[1]);\n // return M.join(' ');\n //})();\n\n}\n","module.exports = \"Help\\r\\n
        \\r\\n
        \\r\\n
        \\r\\n
        \\r\\n \\r\\n \\r\\n \\\"\\\"\\r\\n\\r\\n \\\"\\\" NYC.ID\\r\\n \\r\\n
        \\r\\n
        \\r\\n
        \\r\\n\\r\\n
        \\r\\n
        \\r\\n
        \\r\\n
        \\r\\n
        \\r\\n
        \\r\\n
        \\r\\n
        \\r\\n
        \\r\\n
        \\r\\n \\r\\n
        \\r\\n
        \\r\\n\\r\\n
        \\r\\n
        \\r\\n\\r\\n \\r\\n
        \\r\\n
        \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n
        \\r\\n
        \\r\\n \\r\\n \\r\\n
        \\r\\n MIH Online Help Document\\r\\n\\r\\n
        \\r\\n
        Profile Management
        \\r\\n
        You can manage your email address and password using the Profile link at the top right corner. This is your NYC.ID Profile.
        \\r\\n
        \\r\\n\\r\\n
        \\r\\n
        What is \\\"NYC.ID\\\"?
        \\r\\n
        \\r\\n

        NYC.ID is New York City's Centralized Public Identity Management Application. NYC.ID is required per the General Requirements of the External Identity Management and Password Policy for all City public-facing applications. The policy states that all user profiles and passwords used to protect public-facing City of New York systems which permit individuals or companies to manage their own data, shall be appropriately configured and issued for individual use.

        \\r\\n

        Public users must create an ACCESS NYC profile and utilize DoITT (Department of Information Technology and Telecommunications) provided self-service mechanisms for password/credentials management. These public-facing profiles must be validated with a valid email address and each email address may only be associated with one account.

        \\r\\n

        For more information on NYC.ID please visit http://www1.nyc.gov/home/terms-of-use.page.

        \\r\\n
        \\r\\n
        \\r\\n
        \\r\\n
        How to Create an ACCESS NYC profile
        \\r\\n
        \\r\\n

        Navigate to MIH Online Application.

        \\r\\n

        Select Create Account. You will be redirected to the NYC.ID Application page.
        Enter your information:

        \\r\\n
          \\r\\n
        1. Email
        2. \\r\\n
        3. Password
        4. \\r\\n
        5. Name
        6. \\r\\n
        7. Security Questions and Answers
        8. \\r\\n
        \\r\\n

        \\r\\n
        \\r\\n Follow the instructions to verify your profile.
        \\r\\n Once your identity has been verified, you will be able to log into MIH Online.\\r\\n

        \\r\\n
        \\r\\n
        \\r\\n
        \\r\\n
        Your MIH Online Account
        \\r\\n
        \\r\\n

        \\r\\n Once you have a verified NYC.ID profile, upon entering MIH Online, you will be prompted to register your account. This is your MIH Online Account. This account will hold information about your organization and your contact details. You can update this information at any point by using the “My Account” link on the Home Page. Upon saving your MIH account information you will be able to create an MIH application.\\r\\n

        \\r\\n
        \\r\\n
        \\r\\n
        \\r\\n
        Creating a NEW Application
        \\r\\n
        \\r\\n

        To start a new MIH application, you will need to click on the “start new application” button located on the top left hand corner of your screen. Please be sure to read all information presented to you while completing your MIH application.

        \\r\\n
        \\r\\n
        \\r\\n
        \\r\\n
        What is an MIH DEVELOPMENT?
        \\r\\n
        \\r\\n

        An MIH Development is a building or group of buildings that are part of the same project that triggers an MIH requirement. You can find the exact definition according to the NYC Zoning Resolution text here.

        \\r\\n
        \\r\\n
        \\r\\n
        \\r\\n
        What is an MIH SITE?
        \\r\\n
        \\r\\n

        An MIH Site is a building containing affordable floor area that satisfies the MIH requirement for an MIH Development or Developments. You can find the exact definition according to the NYC Zoning Resolution text here.

        \\r\\n
        \\r\\n
        \\r\\n
        \\r\\n
        What is the Affordable Housing Fund?
        \\r\\n
        \\r\\n

        The affordable housing fund is a fund administered by HPD, all contributions to which shall be used for the development of affordable housing. An MIH Development can satisfy its MIH requirement by paying the fee in-lieu of providing affordable housing if the MIH Development is over 12,500 square feet but less than 25,000 square feet, and will contain between 11 and 25 residential units. You can review the exact definition for the Affordable Housing Fund in the NYC Zoning Resolution text here.

        \\r\\n
        \\r\\n
        \\r\\n
        \\r\\n
        Completing your MIH application
        \\r\\n
        \\r\\n

        Follow these steps

        \\r\\n
          \\r\\n
        1. Step1: Name your application
          When naming your application, if you do not already have a name for your application, we suggest you use a combination of the borough initials and the street address.
        2. \\r\\n
        3. Step2: Provide information on your MIH Development’s MIH Area
        4. \\r\\n
        5. Step3: Describe the construction type of your MIH Development
        6. \\r\\n
        7. Step4: Identify whether you intend to make a contribution to the affordable housing fund to satisfy your MIH requirement.
        8. \\r\\n
        \\r\\n

        If you are not satisfying your MIH requirement by paying the fee in-lieu, you must add an MIH Site to your application.

        \\r\\n
        \\r\\n
        \\r\\n
        \\r\\n
        Adding an MIH DEVELOPMENT TEAM to your Application
        \\r\\n
        \\r\\n

        An MIH Development Team is a group of companies and/or individuals who are a part of constructing the MIH Development. Your MIH Development team must contain AT LEAST ONE applicant, owner, and attorney for initial submission. You must add at least one contact to each company added.

        \\r\\n
        \\r\\n
        \\r\\n
        \\r\\n
        Adding a BUILDING to your Application
        \\r\\n
        \\r\\n

        Every application must contain a building.

        \\r\\n
          \\r\\n
        1. Step1: Enter the building’s BBL (Borough, Block, and Lot)
          If you are splitting or merging lots, use the existing BBL to add the building to your application.
        2. \\r\\n
        3. \\r\\n Step2: Enter the building’s Primary House Number (PHN) and select the street name from the dropdown menu; click next.
          If the street name is not listed in the dropdown, select “Enter new street address” and provide the name of the street to add the building to your application.
          \\r\\n For each building added to your application, you must provide some additional information about the building.\\r\\n
        4. \\r\\n
        5. Step3: Provide the total residential floor area of the building. You must also provide the total number of units in the building. The unit count provided should not include the superintendents’ unit(s). See the NYC Zoning Resolution text for a definition of residential floor area and unit count.
        6. \\r\\n
        \\r\\n

        Please Note: Steps 4 through 7 will apply if you will be providing affordable floor area to satisfy your MIH requirement; you must answer some additional questions about the MIH Development building you add to your application.

        \\r\\n
          \\r\\n
        1. Step4: Identify if that building is receiving or intends to receive public funding.
        2. \\r\\n
        3. Step5: Identify whether that building is a part of the MIH Development. See What is a MIH DEVELOPMENT?
        4. \\r\\n
        \\r\\n

        If this building is not a part of the MIH Development, skip steps 6 and 7.

        \\r\\n
          \\r\\n
        1. Step6: Select the MIH Option for that MIH Development building.
        2. \\r\\n
        3. \\r\\n Step7: Identify if that MIH Development building will contain MIH units.
          If your building is not a part of your MIH Development, it will be marked as an MIH Site. A building is also marked as an MIH Site if it contains MIH units.\\r\\n See What is a MIH SITE?\\r\\n
        4. \\r\\n
        \\r\\n

        Please Note Step 7a only applies if a building is not part of the MIH Development.

        \\r\\n
          \\r\\n
        1. Step7a: Identify whether the MIH Site is on the same zoning lot as the MIH Development (on-site) or located on a different zoning lot from the MIH Development (off-site).
        2. \\r\\n
        \\r\\n

        Please Note: Steps 8 through 11 will apply if your MIH Development building will contain MIH units.

        \\r\\n
          \\r\\n
        1. Step8: Identify whether the building will be requesting tax credits.
        2. \\r\\n
        3. Step9: Identify whether the building will be requesting tax incentives.
        4. \\r\\n
        5. Step10: Provide building unit count information. This includes: the total number of units in the building, taken from Step 3; the total number of MIH units in this building; and the number of superintendents’ unit(s) in the building.
        6. \\r\\n
        7. Step11: Describe the condominium/co-operative structure of the building (if any).
        8. \\r\\n
        9. Step12: Identify any electric systems in the building (if any).
        10. \\r\\n
        \\r\\n
        \\r\\n
        \\r\\n
        \\r\\n
        Adding an MIH SITE TEAM to your Application
        \\r\\n
        \\r\\n

        For every MIH Site added to the application, you must identify the MIH Site Team for that building. An MIH Site Team is a group of companies and/or individuals who are a part of constructing the MIH Site. Your MIH Site team must contain AT LEAST ONE applicant, owner, and architect for initial submission. You must add at least one contact to each company added.

        \\r\\n

        If your MIH Development building is also your MIH Site, you can copy the members of your MIH Development Team to your MIH Site Team by using the “Select from Existing Entities” function.

        \\r\\n
        \\r\\n
        \\r\\n
        \\r\\n
        Adding Building Associations
        \\r\\n
        \\r\\n

        This section will require you to identify the MIH Site that will contain the MIH units for each MIH Development building added to your application.

        \\r\\n

        Once your application is complete, you will be required to consent to the disclaimer before submission.

        \\r\\n
        \\r\\n
        \\r\\n
        \\r\\n
        \\r\\n
        \\r\\n
        \\r\\n
        Copyright © 2017 The City of New York. All Rights Reserved.
        \\r\\n
        \\r\\n
        \\r\\n
        \\r\\n\\r\\n\\r\\n\"","// NG 2\nimport { Component, OnInit } from '@angular/core';\nimport { Router, ActivatedRoute } from '@angular/router';\nimport { Animations } from '../common/animations';\n\n@Component({\n selector: 'app-help',\n templateUrl: './help.component.html', \n animations: [Animations.collapseInOut]\n})\nexport class HelpComponent implements OnInit {\n\n loading = false;\n notification: any;\n //isLoginPage: boolean = true;\n qa1: boolean = true; \n qa2: boolean = true;\n qa3: boolean = true;\n qa4: boolean = true;\n qa5: boolean = true;\n qa6: boolean = true;\n qa7: boolean = true;\n qa8: boolean = true;\n qa9: boolean = true;\n qa10: boolean = true;\n qa11: boolean = true;\n qa12: boolean = true;\n qa13: boolean = true;\n\n constructor(\n private route: ActivatedRoute,\n private router: Router\n \n ) { }\n\n ngOnInit() {\n\r\n }\r\n \r\n }\n\n\n\n","module.exports = \"Home\\r\\n\\r\\n
        0\\\" id=\\\"systemMessageHeader\\\">\\r\\n
        {{item}}
        \\r\\n \\r\\n
        \\r\\n\\r\\n
        0\\\"\\r\\n id=\\\"systemMessageHeader\\\">\\r\\n
        {{item}}
        \\r\\n
        \\r\\n
        \\r\\n\\r\\n
        \\r\\n
        \\r\\n
        \\r\\n Incomplete Profile\\r\\n
        \\r\\n
        \\r\\n
        \\r\\n
        \\r\\n
        Your NYC.ID profile is missing some information. You are being redirected to NYC DoITT to update this information.
        \\r\\n
        \\r\\n
        \\r\\n
        \\r\\n \\r\\n
        \\r\\n
        \\r\\n
        \\r\\n
        \\r\\n \\r\\n
        \\r\\n
        \\r\\n Delete Application\\r\\n \\r\\n
        \\r\\n
        Are you sure you would like to delete this draft application?
        \\r\\n
        \\r\\n
        \\r\\n \\r\\n
        \\r\\n
        \\r\\n \\r\\n
        \\r\\n
        \\r\\n
        \\r\\n\\r\\n
        \\r\\n\\r\\n\\r\\n\\r\\n
        \\r\\n
        \\r\\n
        \\r\\n
        \\r\\n
        \\r\\n \\r\\n \\r\\n \\r\\n
        To begin your Mandatory Inclusionary Housing application click on your right.
        \\r\\n
        \\r\\n
        \\r\\n
        \\r\\n
        \\r\\n\\r\\n
        0\\\">\\r\\n Applications\\r\\n
        \\r\\n
        \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
         ID \\r\\n Application Name \\r\\n Status \\r\\n Submitted \\r\\n
        \\r\\n \\r\\n {{application.ProjectID}}{{application.ProjectName}}{{application.ApplicationStatus}} 5 ? 145 : 165\\\" (click)=\\\"viewDetail(application.ProjectID, application.ProjectName, application.ApplicationStatus, application.ApplicationMode)\\\">{{getSubmissionDate(application.SubmissionDate,application.ApplicationStatus)}}
        \\r\\n
        \\r\\n
        \\r\\n
        \\r\\n\"","// NG 2\nimport { Component, OnInit, ViewChild } from '@angular/core';\nimport { Router, ActivatedRoute } from '@angular/router';\n//import { Route, Router, ActivatedRoute, NavigationEnd, NavigationStart } from '@angular/router';\nimport { DatePipe } from '@angular/common';\nimport { AuthenticationService } from '../../services/authentication.service';\nimport { EntityService } from '../../services/entity.service';\nimport { AuthGuardService } from '../../services/auth-guard.service';\nimport { SharedService } from '../../services/shared.service';\nimport { FoucsChangeService } from '../../services/focuschange.service';\n// APP\nimport { Account } from '../../viewmodel';\n\n@Component({\n selector: 'app-home',\n templateUrl: './home.component.html',\n providers: [EntityService, DatePipe]\n\n})\nexport class HomeComponent implements OnInit {\n title: string = 'Home';\n applications: Array;\n\n isDesc: boolean = true;\n column: string = 'ProjectID';\n direction: number = -1;\n pageError: any = [];\n pageSuccess: any = [];\n appName: string = '';\n isIncompleteProfile: boolean = false;\n //successText: string = 'Your application was successfully submitted.'; \n showDeleteAppPopup: boolean = false;\n deleteAppId: number = 0;\n\n constructor(private router: Router\n , private entityService: EntityService\n , private sharedService: SharedService\n , private activatedRoute: ActivatedRoute\n , private authenticationService: AuthenticationService\n , private datePipe: DatePipe\n , private foucsChangeService: FoucsChangeService) {\n\n }\n\n ngOnInit() {\n\n // Clear any selected Id\n this.sharedService.manageSession(\"home\");\n //var user = JSON.parse(this.sharedService.getData(\"loggedInUser\"));\n //this.getAccountByUserId(user.UserID); \n // var route = this.activatedRoute.url; \n var urlparam = this.activatedRoute.snapshot.params[\"submit\"];\n if (urlparam === 'IP') {\n this.isIncompleteProfile = true;\n this.foucsChangeService.changeFocus(false);\n }\n else {\n\n this.getUserProjects();\n }\n\n if (urlparam === 'save') {\n this.showSuccess('Your information was successfully saved.');\n }\n\n }\n\n navigate() {\n\n // Clean Ids to create new project \n this.sharedService.removeData('id');\n this.router.navigate([\"/navigator\"]);\n }\n\n closeError() {\n this.pageError = [];\n this.pageSuccess = [];\n }\n\n showError(msg) {\n this.pageError = []; this.pageSuccess = [];\n this.pageError.push(this.sharedService.getCustomError(msg));\n this.sharedService.processError(msg);\n }\n\n showSuccess(msg) {\n this.pageSuccess = []; this.pageError = [];\n this.pageSuccess.push(msg);\n this.sharedService.scroll();\n }\n\n changeOrder(property) {\n if (this.column == property) {\n this.isDesc = !this.isDesc;\n }\n else {\n this.isDesc = true;\n }\n this.column = property;\n this.direction = this.isDesc ? 1 : -1;\n //if (this.direction == -1) {\n // this.column = \"-\" + this.column;\n //}\n //else {\n // this.column.replace(\"-\", \"\");\n //} \n }\n\n viewDetailByKey(e, projectId, projectName, status, mood) {\n var keycode = (e.keyCode ? e.keyCode : e.which);\n if (keycode == '13') {\n this.viewDetail(projectId, projectName, status, mood);\n e.stopPropagation();\n }\n }\n\n viewDetail(projectId, projectName, status, mood) {\n var idLabel = \"ID - \" + projectId;\n this.sharedService.setData('id', JSON.stringify({ 'projectId': projectId, 'appName': projectName, appIdLabel: idLabel, 'appStatus': status, 'appMode': mood }));\n\n if (status == 'Draft') {\n this.router.navigate([\"/entity/application\"]);\n }\n else {\n this.router.navigate([\"/entity/application\"], { queryParams: { activeTab: 'FileUpload' } });\n }\n }\n\n getSubmissionDate(date, status) {\n\n var retDate = '';\n if (status == 'Draft') {\n return '';\n }\n\n retDate = this.datePipe.transform(date, 'MM/dd/yyyy');\n return retDate;\n }\n\n getUserProjects() {\n this.entityService.getUserProjects()\n .subscribe(\n successResp => {\n if (!successResp.Success) {\n this.showError(successResp.StatusMessage);\n }\n else {\n\n this.applications = successResp.Result;\n\n if (this.applications && this.applications.length > 0) {\n for (var i = 0; i < this.applications.length; i++) {\n if (this.applications[i].ApplicationStatus == \"Draft\") {\n this.applications[i].SubmissionDate = \"1900-01-01\";\n }\n }\n this.column = \"ProjectID\";\n this.isDesc = false;\n }\n }\n },\n error => {\n if (error.status == 401)\n this.router.navigateByUrl('/login?session=0');\n\n this.showError(error.ExceptionMessage)\n });\n }\n\n /////////Delete Application ////////////\n deleteAppPopupByKey(deleteApplicationId, btnId, e) {\n var keycode = (e.keyCode ? e.keyCode : e.which);\n if (keycode == '13') {\n this.deleteAppPopup(deleteApplicationId, btnId, e);\n // e.stopPropagation();\n }\n }\n\n deleteAppPopup(deleteApplicationId, btnId, event) {\n document.getElementById(btnId).blur();\n this.showDeleteAppPopup = true;\n this.deleteAppId = deleteApplicationId;\n this.foucsChangeService.changeFocus(false);\n event.stopPropagation();\n }\n\n cancelDeleteApp(event) {\n this.showDeleteAppPopup = false;\n this.deleteAppId = 0;\n this.foucsChangeService.changeFocus(true);\n event.stopPropagation();\n }\n\n\n deleteApplication(deleteAppId, $event) {\n\n if (deleteAppId > 0) {\n this.showDeleteAppPopup = false;\n this.foucsChangeService.changeFocus(true);\n this.entityService.DeleteApplicationAndCleanup(deleteAppId)\n .subscribe(\n success => {\n if (!success.Success) {\n this.showError(success.StatusMessage);\n this.deleteAppId = 0;\n }\n else {\n //partial refresh \n this.deleteAppId = 0;\n this.getUserProjects();\n }\n },\n error => {\n if (error.status == 401)\n this.router.navigateByUrl('/login?session=0');\n\n this.deleteAppId = 0;\n this.showError(error.ExceptionMessage);\n })\n }\n }\n\n overdelete(e) {\n let postion = e.clientY;\n if (postion > 540) {\n e.currentTarget.parentNode.classList.add('tooltipUp');\n }\n else {\n e.currentTarget.parentNode.classList.remove('tooltipUp');\n }\n }\n\n updateProfile() {\n\n this.isIncompleteProfile = false;\n this.foucsChangeService.changeFocus(true);\n var profileUrlLink = '';\n this.authenticationService.getUpdateProfile()\n .subscribe(profileUrl => {\n profileUrlLink = profileUrl.d;\n window.location.href = profileUrlLink;\n });\n }\n\n cancelProfile(event) {\n this.isIncompleteProfile = false;\n this.foucsChangeService.changeFocus(true);\n }\n\n displayEditIcon(application: any) {\n return application.ApplicationMode == 'Edit' &&\n application.ApplicationStatus != 'Pending Execution' &&\n application.ApplicationStatus != 'Executed' &&\n application.ApplicationStatus != 'Withdrawn';\n } \n}\n","module.exports = \"
        \\r\\nNavigator\\r\\n
        \\r\\n
        \\r\\n
        Welcome {{userFirstName}}
        \\r\\n \\r\\n
        \\r\\n

        Welcome to the Mandatory Inclusionary Housing (MIH) Application. The application is required for:

        \\r\\n
          \\r\\n
        • Anyone developing residential properties in an MIH Area.
        • \\r\\n
        • Any project in an MIH area with 10 or more units and over 12,500 sq. ft of residential floor area.
        • \\r\\n
        \\r\\n

        You will be required to enter information about your MIH Development and MIH Site (if applicable).

        \\r\\n
          \\r\\n
        • A MIH Development is a construction project that consists of one or more buildings, located on the same zoning lot which triggers an MIH requirement.
        • \\r\\n
        • A MIH Site is a building that contains permanently affordable MIH units. An MIH Site can also be an MIH Development.
        • \\r\\n
        \\r\\n

        Capitalized terms are defined in the NYC Zoning Resolution

        \\r\\n

        Please review the MIH checklist to ensure you have all the information you will need to complete this application.

        \\r\\n
        \\r\\n\\r\\n
        \\r\\n
        \\r\\n \\r\\n
        \\r\\n
        \\r\\n
        \\r\\n
        \"","\r\n// NG 2\r\nimport { Component, OnInit } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { AuthenticationService } from '../../services/authentication.service';\r\n\r\n// APP\r\n@Component({\r\n selector: 'state-vav',\r\n templateUrl: './statenav.component.html'\r\n})\r\n\r\nexport class StatenavComponent implements OnInit {\r\n userName: string = '';\r\n loginUser: any; \r\n userFirstName: string; \r\n\r\n constructor(private router: Router,\r\n private authenticationService: AuthenticationService) { }\r\n\r\n ngOnInit() {\r\n // Get Current User and set to User Name\r\n this.loginUser = this.authenticationService.getUser();\r\n if (this.loginUser != null) {\r\n this.userFirstName = this.userName = this.loginUser.FirstName;\r\n var tempName = this.userName.split(\" \");\r\n if (tempName != null)\r\n this.userFirstName = tempName[0]; \r\n }\r\n }; \r\n\r\n GoToApplication(evnet) {\r\n sessionStorage.removeItem('id');\r\n this.router.navigate([\"/entity/addapplication\"]); \r\n event.stopPropagation();\r\n\r\n }\r\n}","module.exports = \"{{title}}\\r\\n
        0\\\"\\r\\n id=\\\"systemMessageHeader\\\">\\r\\n
        {{item}}
        \\r\\n \\r\\n
        \\r\\n\\r\\n
        0\\\"\\r\\n id=\\\"systemMessageHeader\\\">\\r\\n
        {{item}}
        \\r\\n
        \\r\\n
        \\r\\n
        \\r\\n \\r\\n \\r\\n
        \\r\\n
        \\r\\n
        \\r\\n Change Affordable Housing Fund Option\\r\\n \\r\\n
        \\r\\n
        Please note by selecting \\\"Yes\\\" you will not need to provide affordable floor area. If you have already added buildings with MIH units to your application, selecting this option will result in the loss of any and all information related to these buildings.
        \\r\\n
        \\r\\n
        \\r\\n \\r\\n \\r\\n
        \\r\\n
        \\r\\n
        \\r\\n\\r\\n
        \\r\\n
        \\r\\n Change Affordable Housing Fund Option\\r\\n \\r\\n
        \\r\\n
        Please note by selecting \\\"No\\\" you will be required to provide affordable housing.
        \\r\\n
        \\r\\n
        \\r\\n \\r\\n \\r\\n
        \\r\\n
        \\r\\n
        \\r\\n\\r\\n
        \\r\\n\\r\\n
        \\r\\n
        \\r\\n Application Information\\r\\n
        \\r\\n
        \\r\\n
        You are eligible to make a payment in lieu of providing affordable housing if your MIH Development is over 12,500 square feet but not over 25,000 square feet, and will contain between 11 and 25 residential units.
        \\r\\n
        \\r\\n
        \\r\\n\\r\\n
        \\r\\n
        \\r\\n
        Affordable Housing Fund Option
        \\r\\n
        \\r\\n
        \\r\\n
        \\r\\n
        \\r\\n \\r\\n \\r\\n \\r\\n
        \\r\\n
        \\r\\n
        \\r\\n\\r\\n
        \\r\\n
        \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
        \\r\\n
        \\r\\n
        \\r\\n
        \\r\\n
        \"","import { Component, OnInit } from '@angular/core';\nimport { FormGroup, FormBuilder, Validators } from \"@angular/forms\";\nimport { Route, Router, ActivatedRoute, NavigationEnd, NavigationStart } from '@angular/router';\nimport { trigger, state, style, animate, transition } from '@angular/animations';\n\nimport 'rxjs/add/operator/pairwise';\n// APP\nimport { InformationService } from '../../../services/information.service';\nimport { SharedService } from '../../../services/shared.service';\nimport { FoucsChangeService } from '../../../services/focuschange.service';\nimport { HousingFund } from '../../../viewmodel';\nimport { Animations } from '../../common/animations';\n\n@Component({\n\n selector: 'affordable-housing',\n templateUrl: './affordable-housing.component.html',\n providers: [InformationService],\n animations: [Animations.flyInOut]\n})\nexport class AffordableHousingComponent implements OnInit {\n\n animate: string = 'active';\n title: string = 'Affordable Housing';\n projectId: number = 0;\n isEdit: boolean = false; \n pageError: any = [];\n pageSuccess: any = [];\n submitted: boolean = false;\n ahfForm: FormGroup;\n model: HousingFund;\n showYesMessage: boolean = false; \n showNoMessage: boolean = false; \n isEditMood: boolean = true; \n isAppEditable: boolean = false;\n\n constructor(private router: Router\n , private activeRoute: ActivatedRoute\n , private formBuilder: FormBuilder\n , private informationService: InformationService\n , private sharedService: SharedService\n , private foucsChangeService: FoucsChangeService) {\n\n this.model = new HousingFund();\n this.model.ProjectId = this.projectId; \n}\n\n ngOnInit() {\n \n let ids = this.sharedService.getJsonData(\"id\");\n if (ids != null) {\n if (ids.projectId != null) {\n this.projectId = ids.projectId;\n }\n /*\n if (ids.appStatus == 'Draft') {\n this.isAppEditable = true;\n }\n else {\n this.sharedService.navigateSummary();\n } */ \n } \n if (this.projectId <= 0)\n this.sharedService.navigateHome();\n\n this.ahfForm = this.formBuilder.group({\n Hfo: [null, [Validators.required]] \n });\n\n this.informationService.getQuestionByType(this.projectId, 'AHF')\n .subscribe(\n success => {\n if (!success.Success)\n this.showError(success.StatusMessage);\n else {\n this.model = success.Result;\n this.isEdit = this.model.IsValid;\n\n if (success.Result.HfoId <= 0)\n this.isEditMood = false; \n\n if (this.model.ProjectId == 0 && this.projectId == 0)\n this.showError(\"Project ID not found!\")\n else if (this.model.ProjectId == 0)\n this.model.ProjectId = this.projectId;\n }\n },\n error => {\n if (error.status == 401)\n this.router.navigateByUrl('/login?session=0');\n\n this.showError(error.ExceptionMessage)\n }) \n }\n\n next(button) {\n \n this.submitted = true;\n if (!this.ahfForm.valid) {\n return false;\n }\n this.model.IsValid = this.ahfForm.valid;\n\n this.informationService.SaveAHF(this.model)\n .subscribe(\n success => {\n if (!success.Success)\n this.showError(success.StatusMessage);\n else {\n if (button == 'NEXT') {\n this.sharedService.navigateSummary();\n }\n else if (button = 'LATER')\n this.sharedService.navigateSummary();\n }\n },\n error => {\n if (error.status == 401)\n this.router.navigateByUrl('/login?session=0');\n\n this.showError(error.ExceptionMessage);\n }) \n }\n\n previous() {\n this.router.navigate([\"/information/construction\"]);\n }\n\n home() {\n this.sharedService.navigateHome();\n }\n \n closeError() {\n this.pageError = [];\n this.pageSuccess = [];\n }\n\n showError(msg) {\n this.pageError = []; this.pageSuccess = [];\n this.pageError.push(this.sharedService.getCustomError(msg));\n this.sharedService.processError(msg);\n }\n\n showSuccess(msg) {\n this.pageSuccess = []; this.pageError = [];\n this.pageSuccess.push(msg);\n this.sharedService.scroll();\n }\n\n // show popup only when editing\n changeHousingFund() { \n if (this.model.Hfo == 'Y' && this.isEditMood) {\n this.showYesMessage = true; \n this.foucsChangeService.changeFocus(false); \n }\n else if (this.model.Hfo == 'N' && this.isEditMood) {\n this.showNoMessage = true; \n this.foucsChangeService.changeFocus(false); \n }\n }\n\n selectYes(button) {\n if(button == 'cancel') {\n this.model.Hfo = 'N';\n this.showYesMessage = false; \n this.foucsChangeService.changeFocus(true);\n }\n else if (button =='ok') {\n this.model.Hfo = 'Y';\n this.showYesMessage = false;\n this.foucsChangeService.changeFocus(true);\n } \n }\n\n selectNo(button) {\n if (button == 'cancel') {\n this.model.Hfo = 'Y';\n this.showNoMessage = false;\n this.foucsChangeService.changeFocus(true);\n }\n else if (button =='ok') {\n this.model.Hfo = 'N';\n this.showNoMessage = false;\n this.foucsChangeService.changeFocus(true);\n }\n }\n\n}\n\n\n\n","module.exports = \"{{title}}\\r\\n
        0\\\"\\r\\n id=\\\"systemMessageHeader\\\">\\r\\n
        {{item}}
        \\r\\n \\r\\n
        \\r\\n\\r\\n
        0\\\"\\r\\n id=\\\"systemMessageHeader\\\">\\r\\n
        {{item}}
        \\r\\n
        \\r\\n
        \\r\\n
        \\r\\n \\r\\n \\r\\n
        \\r\\n
        \\r\\n
        \\r\\n Application Information\\r\\n
        \\r\\n
        \\r\\n
        Please indicate the construction type of your MIH Development.
        \\r\\n
        \\r\\n
        \\r\\n
        \\r\\n
        \\r\\n
        Development Construction Type
        \\r\\n
        \\r\\n
        \\r\\n
        \\r\\n \\r\\n \\r\\n
        \\r\\n \\r\\n \\r\\n
        \\r\\n \\r\\n \\r\\n
        \\r\\n \\r\\n \\r\\n
        \\r\\n
        \\r\\n
        \\r\\n
        \\r\\n
        \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
        \\r\\n
        \\r\\n
        \\r\\n
        \\r\\n
        \"","import { Component, OnInit } from '@angular/core';\nimport { FormGroup, FormBuilder, Validators } from \"@angular/forms\";\nimport { Route, Router, ActivatedRoute } from '@angular/router';\nimport { trigger, state, style, animate, transition } from '@angular/animations';\n\nimport { InformationService } from '../../../services/information.service';\nimport { SharedService } from '../../../services/shared.service';\nimport { Construction } from '../../../viewmodel'; \nimport { Animations } from '../../common/animations';\n\n@Component({\n selector: 'app-construnction',\n templateUrl: './construction.component.html',\n providers: [InformationService],\n animations: [Animations.flyInOut] \n})\nexport class ConstructionComponent implements OnInit {\n animate: string = 'active';\n title: string = 'Construction Type';\n projectId: number = 0;\n isEdit: boolean = false; \n pageError: any = [];\n pageSuccess: any = [];\n submitted: boolean = false;\n constForm: FormGroup;\n model: Construction;\n isAppEditable: boolean = false;\n\n constructor(private router: Router\n\t, private frmBuilder: FormBuilder\n , private activeRoute: ActivatedRoute\n , private informationService: InformationService\n , private sharedService: SharedService) {\n\n this.model = new Construction();\n this.model.ProjectId = this.projectId; \n }\n ngOnInit() {\n\n let ids = this.sharedService.getJsonData(\"id\");\n if (ids != null) {\n if (ids.projectId != null) {\n this.projectId = ids.projectId;\n }\n \n }\n if (this.projectId <= 0)\n this.sharedService.navigateHome(); \n\n \tthis.constForm = this.frmBuilder.group({ \n NewConstruction: [null], \n Conversion: [null],\n Enlargement: [null]\n \n });\n this.informationService.getQuestionByType(this.projectId, 'CONST')\n .subscribe(\n success => {\n if (!success.Success)\n this.showError(success.StatusMessage);\n else {\n if (success.Result != null) {\n this.model = success.Result;\n this.isEdit = this.model.IsValid;\n } \n\n if (this.model.ProjectId == 0 && this.projectId == 0)\n this.showError(\"Project ID not found!\")\n else if (this.model.ProjectId == 0)\n this.model.ProjectId = this.projectId;\n }\n },\n error => {\n if (error.status == 401)\n this.router.navigateByUrl('/login?session=0');\n\n this.showError(error.ExceptionMessage)\n })\n }\n\n next(button) {\n \n this.submitted = true;\n if ((this.model.NewConstruction == false || this.model.NewConstruction == null) && (this.model.Conversion == false || this.model.Conversion == null) && (this.model.Enlargement == false || this.model.Enlargement == null))\n return false; \n\n //this.model.IsValid = true; \n this.informationService.SaveConstruction(this.model)\n .subscribe(\n success => {\n if (!success.Success)\n this.showError(success.StatusMessage);\n else {\n if (button == 'NEXT')\n this.router.navigate([\"/information/affordablehousing\"]);\n else if (button = 'LATTER')\n this.sharedService.navigateSummary();\n else if (button == 'PRE')\n this.router.navigate([\"/information/housingarea\"]);\n }\n },\n error => {\n if (error.status == 401)\n this.router.navigateByUrl('/login?session=0');\n\n this.showError(error.ExceptionMessage);\n })\n }\n\n previous() {\n this.router.navigate([\"/information/housingarea\"]);\n }\n\n home() {\n this.sharedService.navigateHome();\n }\n\n showError(msg) {\n this.pageError = []; this.pageSuccess = [];\n this.pageError.push(this.sharedService.getCustomError(msg));\n this.sharedService.processError(msg);\n }\n\n showSuccess(msg) {\n this.pageSuccess = []; this.pageError = [];\n this.pageSuccess.push(msg);\n this.sharedService.scroll();\n }\n\n closeError() {\n this.pageError = [];\n this.pageSuccess = [];\n }\n\n validateConstructionType()\n {\n var res = (((this.constForm.controls['NewConstruction'].value == false || this.constForm.controls['NewConstruction'].value == null) &&\n (this.constForm.controls['Conversion'].value == false || this.constForm.controls['Conversion'].value == null) &&\n (this.constForm.controls['Enlargement'].value == false || this.constForm.controls['Enlargement'].value == null)) && this.submitted);\n return res;\n }\n}\n","module.exports = \"{{title}}\\r\\n
        0\\\"\\r\\n id=\\\"systemMessageHeader\\\">\\r\\n
        {{item}}
        \\r\\n \\r\\n
        \\r\\n\\r\\n
        0\\\"\\r\\n id=\\\"systemMessageHeader\\\">\\r\\n
        {{item}}
        \\r\\n
        \\r\\n
        \\r\\n
        \\r\\n \\r\\n
        \\r\\n
        \\r\\n Application Information\\r\\n
        \\r\\n
        \\r\\n
        Please provide the following information about your Mandatory Inclusionary Housing Area.
        \\r\\n
        \\r\\n
        \\r\\n
        \\r\\n
        \\r\\n
        Mandatory Inclusionary Housing Area
        \\r\\n
        \\r\\n\\r\\n
        \\r\\n
        \\r\\n \\r\\n \\r\\n
        \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
        \\r\\n
        \\r\\n \\r\\n
        \\r\\n
        \\r\\n \\r\\n \\r\\n \\r\\n
        \\r\\n
        \\r\\n
        \\r\\n
        \\r\\n \\r\\n \\r\\n
        \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
        \\r\\n
        \\r\\n
        \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
        \\r\\n
        \\r\\n
        \\r\\n
        \\r\\n\\r\\n
        \\r\\n
        \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
        \\r\\n
        \\r\\n
        \\r\\n \\r\\n
        \\r\\n
        \\r\\n\"","import { Component, OnInit } from '@angular/core';\nimport { FormGroup, FormBuilder, Validators } from \"@angular/forms\";\nimport { Route, Router, ActivatedRoute, NavigationEnd, NavigationStart } from '@angular/router';\nimport { trigger, state, style, animate, transition } from '@angular/animations';\n\nimport 'rxjs/add/operator/pairwise';\n// APP\nimport { InformationService } from '../../../services/information.service';\nimport { SharedService } from '../../../services/shared.service';\nimport { MIHArea } from '../../../viewmodel';\nimport { Animations } from '../../common/animations';\n\n@Component({\n selector: 'app-housing-area',\n templateUrl: './housing-area.component.html',\n providers: [InformationService],\n animations: [Animations.flyInOut] \n})\nexport class HousingAreaComponent implements OnInit {\n\n animate: string = 'active';\n title: string = 'Housing Area';\n projectId: number = 0;\n appName: string = '';\n appIdLabel: string = '';\n isEdit: boolean = false; \n pageError: any = [];\n pageSuccess: any = [];\n submitted: boolean = false;\n mihAreaForm: FormGroup;\n model: MIHArea;\n isAppEditable: boolean = false;\n\n constructor(private router: Router\n , private frmBuilder: FormBuilder\n , private activeRoute: ActivatedRoute\n , private informationService: InformationService\n , private sharedService: SharedService) { \n this.model = new MIHArea();\n this.model.ProjectId = this.projectId; \n }\n\n ngOnInit() {\n\n let ids = this.sharedService.getJsonData(\"id\"); \n if (ids != null) {\n if (ids.projectId != null) {\n this.projectId = ids.projectId;\n this.appName = ids.appName;\n this.appIdLabel = ids.appIdLabel;\n }\n } \n if (this.projectId <= 0)\n this.sharedService.navigateHome();\n\n this.mihAreaForm = this.frmBuilder.group({ \n PrivateRezoning: [null, Validators.required], \n ZoningResolutionMap: [null],\n BSASpecialPermit: [null, [Validators.required]],\n Description: []\n });\n\n this.informationService.getQuestionByType(this.projectId, 'MIHAREA')\n .subscribe(\n success => {\n if (!success.Success)\n this.showError(success.StatusMessage);\n else {\n this.model = success.Result;\n this.isEdit = this.model.IsValid;\n \n if (this.model.ProjectId == 0 && this.projectId == 0)\n this.showError(\"Project ID not found!\")\n else if (this.model.ProjectId == 0)\n this.model.ProjectId = this.projectId;\n }\n },\n error => {\n if (error.status == 401)\n this.router.navigateByUrl('/login?session=0');\n\n this.showError(error.ExceptionMessage)\n }) \n }\n\n changeDescriptionValidity() { \n var data = this.mihAreaForm.get('BSASpecialPermit').value\n\n if (data === 'Y') {\n this.mihAreaForm.get('Description').setValidators([Validators.required ]);\n } else if (data === 'N') {\n this.mihAreaForm.get('Description').setValidators([]);\n }\n this.mihAreaForm.get('Description').updateValueAndValidity();\n\n }\n\n changeRezoningValidity() {\n var data = this.mihAreaForm.get('PrivateRezoning').value; \n if (data == '0')\n this.mihAreaForm.get('ZoningResolutionMap').setValidators([Validators.required]);\n else \n this.mihAreaForm.get('ZoningResolutionMap').setValidators([]);\n\n this.mihAreaForm.get('ZoningResolutionMap').updateValueAndValidity();\n }\n \n next(button) {\n\n this.submitted = true; \n if (button === \"PRE\")\n {\n this.router.navigate([\"/entity/addapplication\"]);\n return true;\n }\n\n if (!this.mihAreaForm.valid) {\n return false;\n }\n\n if (this.model.ZoningResolutionMap != null)\n this.model.ZoningResolutionMap = this.model.ZoningResolutionMap.trim();\n\n if (this.model.BSASpecialPermit == 'Y' && this.model.Description != null)\n this.model.Description = this.model.Description.trim();\n \n if (this.model.PrivateRezoning == '0' && (this.model.ZoningResolutionMap ==null || this.model.ZoningResolutionMap == '')) { \n this.changeRezoningValidity(); \n\n if (this.model.BSASpecialPermit == 'Y' && (this.model.Description == null ||this.model.Description == '')) {\n this.changeDescriptionValidity();\n return false;\n } \n return false;\n }\n\n if (this.model.BSASpecialPermit == 'Y' && (this.model.Description == null || this.model.Description == '')) { \n this.changeDescriptionValidity(); \n return false;\n } \n\n if (this.model.BSASpecialPermit == 'N')\n this.model.Description = '';\n\n this.model.IsValid = this.mihAreaForm.valid;\n this.informationService.saveMIHArea(this.model)\n .subscribe(\n success => {\n if (!success.Success)\n this.showError(success.StatusMessage);\n else {\n if (button == 'NEXT')\n this.router.navigate([\"/information/construction\"]);\n else if (button = 'LATTER')\n this.sharedService.navigateSummary();\n \n }\n },\n error => {\n if (error.status == 401)\n this.router.navigateByUrl('/login?session=0');\n\n this.showError(error.ExceptionMessage); \n })\n }\n\n showError(msg) {\n this.pageError = []; this.pageSuccess = [];\n this.pageError.push(this.sharedService.getCustomError(msg));\n this.sharedService.processError(msg);\n }\n\n showSuccess(msg) {\n this.pageSuccess = []; this.pageError = [];\n this.pageSuccess.push(msg);\n this.sharedService.scroll();\n }\n\n closeError() {\n this.pageError = [];\n this.pageSuccess = [];\n }\n\n validateZoningMap()\n {\n var result = (this.mihAreaForm.controls['PrivateRezoning'].value == '0' &&\n this.mihAreaForm.controls['ZoningResolutionMap'].hasError('required')) &&\n (this.mihAreaForm.controls['ZoningResolutionMap'].dirty || this.submitted);\n return result;\n }\n\n validateDescription()\n {\n var result = this.mihAreaForm.controls[\"BSASpecialPermit\"].value === 'Y' && \n (this.mihAreaForm.controls[\"Description\"].dirty || this.submitted);\n return result;\n }\n\n home() {\n this.sharedService.navigateHome(); \n }\n\n summary() {\n this.sharedService.navigateSummary();\n }\n\n}\n","module.exports = \"Login\\n\\n
        \\r\\n \\r\\n
        \\r\\n
        \\r\\n
        Down for Maintenance
        \\r\\n
        {{maintenanceMessage}}
        \\r\\n
        \\r\\n
        \\r\\n \\r\\n
        \\r\\n
        \\r\\n
        \\r\\n
        \\r\\n\\r\\n
        \\r\\n
        \\r\\n
        \\r\\n
        \\r\\n Sign in using your NYC.ID account. \\r\\n
          \\r\\n
        1. If you do not have an account, you must create an account in order to use this application.
        2. \\r\\n
        \\r\\n
          \\r\\n
        1. \\r\\n \\r\\n
        2. \\r\\n
        3. \\r\\n \\r\\n
        4. \\r\\n
        \\r\\n
        \\r\\n
        \\r\\n
        \\r\\n
        Mandatory Inclusionary Housing
        \\r\\n
        \\r\\n
        \\r\\n\"","// NG 2\r\nimport { Component, OnInit } from '@angular/core';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\n\r\n// app\r\nimport { AppConfig } from '../../app.config';\r\nimport { AuthenticationService } from '../../services/authentication.service';\r\nimport { EntityService } from '../../services/entity.service';\r\nimport { SharedService } from '../../services/shared.service';\r\nimport { AccountService } from '../../services/account.service';\r\nimport { LoginService } from '../../services/login.service';\r\nimport { FoucsChangeService } from '../../services/focuschange.service';\r\nimport { Account } from '../../viewmodel';\r\nimport { MaintenanceNotification } from '../../viewmodel';\r\n\r\n@Component({\r\n selector: 'app-login',\r\n templateUrl: './login.component.html',\r\n providers: [EntityService, AccountService, LoginService]\r\n})\r\nexport class LoginComponent implements OnInit {\r\n\r\n public baseAppUrl: string = AppConfig.config.baseAppUrl;\r\n public rootAppUrl: string = AppConfig.config.rootAppUrl;\r\n public appHostName: string = AppConfig.config.appHostName;\r\n public _enableNotification = AppConfig.config.enableNotification;\r\n helpUrl: string = this.rootAppUrl + 'assets/help.html';\r\n model: any = {};\r\n loading = false;\r\n returnUrl: string;\r\n notification: MaintenanceNotification;\r\n pageError: any = [];\r\n isLoginPage: boolean = true; \r\n isUrlIncludeSession: boolean = false; \r\n maintenanceMessage: string = ''; \r\n startDisplayMaintenceMessage: boolean = true; \r\n isMaintenanceInProgress: boolean = false; \r\n isMaintenanceExpire: boolean = false; \r\n \r\n userAccount: Account;\r\n account: any;\r\n\r\n constructor(\r\n private route: ActivatedRoute,\r\n private router: Router,\r\n private authenticationService: AuthenticationService,\r\n private accountService: AccountService,\r\n private loginService: LoginService, \r\n private entityService: EntityService,\r\n private sharedService: SharedService,\r\n private foucsChangeService: FoucsChangeService,\r\n ) { this.userAccount = new Account(); }\r\n\r\n ngOnInit() {\r\n\r\n this.returnUrl = this.route.snapshot.queryParams['returnUrl'] || '/home'; \r\n var token = this.route.snapshot.queryParams['token'];\r\n var referrer = document.referrer;\r\n if (referrer && referrer.indexOf(this.appHostName) == -1) {\r\n //invalid referer; \r\n }\r\n if (token != null && token.length > 0) {\r\n this.sharedService.setData('token', token);\r\n this.authenticationService.getTokenDetail(token)\r\n .subscribe(success => {\r\n this.sharedService.setData('loggedInUser', JSON.stringify(success.Result));\r\n \r\n var user = JSON.parse(this.sharedService.getData(\"loggedInUser\"));\r\n this.getAccountByUserId(user.UserID); \r\n })\r\n }\r\n\r\n this.isUrlIncludeSession = this.router.url.toLowerCase().includes('session=0'); \r\n \r\n if (this.isUrlIncludeSession) {\r\n this.sharedService.removeData('loggedInUser');\r\n }\r\n\r\n if (this._enableNotification == true) {\r\n this.getMaintenanceNotification();\r\n } \r\n \r\n }\r\n\r\n login() {\r\n window.location.href = AppConfig.config.cpuiLoginUrl; \r\n\r\n }\r\n\r\n createAccount() {\r\n window.location.href = AppConfig.config.createAccountLocation; \r\n }\r\n\r\n closeError() {\r\n this.pageError = [];\r\n this.maintenanceMessage = ''; \r\n \r\n }\r\n \r\n //checking user account \r\n getAccountByUserId(email) {\r\n\r\n this.accountService.getAccountByUserId(email)\r\n .subscribe(\r\n successResp => {\r\n if (!successResp.Success) {\r\n //this.pageSuccess = []; this.pageError = [];\r\n this.pageError.push(successResp.StatusMessage);\r\n if (successResp.StatusMessage.indexOf('SessionNotExists') !== -1) {\r\n window.location.href = '/MIH/#/login?session=0';\r\n }\r\n }\r\n else {\r\n\t\t\t\t\t \r\n this.account = successResp.Result;\r\n if (this.account != null) {\r\n this.userAccount.firstName = this.account.FirstName;\r\n this.userAccount.lastName = this.account.LastName;\r\n this.userAccount.fullName = this.account.FirstName + ' ' + this.account.LastName;\r\n this.userAccount.email = this.account.UserID;\r\n this.userAccount.organization = this.account.OrganizationName;\r\n this.userAccount.phone = this.account.HomePhone;\r\n this.sharedService.setJsonData('account', this.userAccount); //store in session\r\n\r\n if (this.userAccount.firstName == null || this.userAccount.firstName == 'N_A' || this.userAccount.firstName.trim() == '' \r\n || this.userAccount.lastName == null || this.userAccount.lastName == 'N_A' || this.userAccount.lastName.trim() == ''\r\n || this.userAccount.email == null || this.userAccount.email == '') {\r\n\r\n //this.isIncompleteProfile = true;\r\n this.router.navigate(['/home/IP']);\r\n return false; \r\n }\r\n\r\n if (this.userAccount.organization == null || this.userAccount.organization.trim() == ''\r\n || this.userAccount.phone == null || this.userAccount.phone.trim() == '') {\r\n\r\n this.sharedService.navigateAccount();\r\n }\r\n else \r\n this.router.navigate([this.returnUrl]);\r\n }\r\n }\r\n },\r\n error => {\r\n this.pageError.push(error.ExceptionMessage);\r\n window.scrollTo(0, 0);\r\n\r\n })\r\n }\r\n\r\n ///Login - bypass NYCID \r\n\t /*\r\n LoginByPass(emailId, guid) {\r\n \r\n this.loginService.LoginByPass(emailId, guid)\r\n .subscribe(\r\n success => {\r\n if (!success.Success) {\r\n //this.showError(success.StatusMessage);\r\n }\r\n else {\r\n if (success.Result != null || success.Result !='') {\r\n var fakeToken = success.Result;\r\n\r\n var retUrl = \"/login?token=\" + fakeToken;\r\n this.router.navigateByUrl(retUrl);\r\n window.location.reload();\r\n //var retUrl = this.baseAppUrl + \"login?token=\" + fakeToken;\r\n //window.location.href = retUrl; \r\n }\r\n }\r\n },\r\n error => {\r\n if (error.status == 401)\r\n this.router.navigateByUrl('/login?session=0');\r\n })\r\n }\r\n\t */\r\n\r\n //service via webAPI\r\n getMaintenanceNotification() {\r\n this.entityService.getMaintenanceNotification()\r\n .subscribe(\r\n successResp => {\r\n \r\n if (successResp != null && (!(successResp.Result == null || successResp.Result == 'null'))) {\r\n this.notification = JSON.parse(successResp.Result);\r\n\r\n if (this.notification.MaintenanceMessage != null) {\r\n this.maintenanceMessage = this.notification.MaintenanceMessage;\r\n\r\n let currentDateTime = new Date();\r\n let maintenanceStartTime = new Date(this.notification.MaintenanceStartTime);\r\n this.isMaintenanceInProgress = currentDateTime >= maintenanceStartTime;\r\n this.startDisplayMaintenceMessage = currentDateTime >= new Date(this.notification.DisplayMsgStartTime);\r\n\r\n this.isMaintenanceExpire = currentDateTime > new Date(this.notification.MaintenanceEndTime);\r\n if (this.isMaintenanceExpire) {\r\n this.maintenanceMessage = this.notification.MaintenanceMessage = '';\r\n this.startDisplayMaintenceMessage = false;\r\n this.foucsChangeService.changeFocus(true);\r\n }\r\n\r\n if (this.maintenanceMessage) {\r\n this.foucsChangeService.changeFocus(false);\r\n }\r\n\r\n } \r\n }\r\n },\r\n error => {\r\n });\r\n }\r\n\r\n closeMaintenanceMsg() {\r\n this.maintenanceMessage = this.notification.MaintenanceMessage = ''; \r\n this.startDisplayMaintenceMessage = false; \r\n this.foucsChangeService.changeFocus(true);\r\n }\r\n\r\n}","module.exports = \"Logout\\r\\n
        \\r\\n
        \\r\\n
        \\r\\n
          \\r\\n
        1. Logout
        2. \\r\\n
        \\r\\n
        \\r\\n
        \\r\\n
        \"","// NG 2\nimport { Component, OnInit } from '@angular/core';\nimport { Router, ActivatedRoute } from '@angular/router';\n\n// app\nimport { AuthenticationService } from '../../services/authentication.service';\nimport { SharedService } from '../../services/shared.service';\n@Component({\n selector: 'app-logout',\n templateUrl: './logout.component.html',\n})\nexport class LogoutComponent implements OnInit {\n\n model: any = {};\n loading = false;\n isUrlIncludeSession: boolean = false; \n returnUrl: string = \"./#/login\";\n returnUrlSession: string = \"./#/login?session=0\";\n\n constructor(\n private route: ActivatedRoute,\n private router: Router,\n private authenticationService: AuthenticationService, \n private sharedService: SharedService\n ) { }\n\n ngOnInit() {\n\n this.isUrlIncludeSession = this.router.url.toLowerCase().includes('session=0');\n this.logout(); \n } \n\n logout() {\n this.sharedService.removeData('loggedInUser');\n if (this.isUrlIncludeSession)\n this.router.navigate([this.returnUrlSession]);\n else \n this.router.navigate([this.returnUrl]);\n\n }\n\n\n\n}","module.exports = \"
        \\r\\n
        {{appName}}{{appIdLabel}}
        \\r\\n \\r\\n
        \\r\\n\"","import { Component, OnInit, HostListener, Renderer } from '@angular/core';\nimport { Router, NavigationStart } from '@angular/router';\nimport { DOCUMENT } from \"@angular/platform-browser\";\n\n// APP\n//import { AuthenticationService } from '../../services/authentication.service';\nimport { SharedService } from '../../services/shared.service';\n\n@Component({\n selector: 'app-infomenu',\n templateUrl: './infomenu.component.html'\n //providers: [AuthenticationService]\n})\nexport class InfomenuComponent implements OnInit {\n\n projectId: number = 0;\n appName: string = '';\n appIdLabel: string = ''; \n isLoggedin: boolean = false;\n\n constructor(\n private router: Router,\n private renderer: Renderer,\n private sharedService: SharedService\n ) {\n \n }\n\n ngOnInit() {\n\n let ids = this.sharedService.getJsonData(\"id\");\n if (ids != null) {\n if (ids.projectId != null) {\n this.projectId = ids.projectId;\n this.appName = ids.appName;\n this.appIdLabel = ids.appIdLabel;\n }\n } \n if (this.projectId <= 0)\n this.sharedService.navigateHome();\n }\n\n summary() {\n this.sharedService.navigateSummary();\n }\n\n}\n","module.exports = \"
        \\r\\n
          \\r\\n
        1. \\r\\n \\r\\n Development Team\\r\\n \\r\\n
        2. \\r\\n
        3. \\r\\n \\r\\n Buildings\\r\\n \\r\\n
        4. \\r\\n
        5. \\r\\n \\r\\n Project Information \\r\\n \\r\\n \\r\\n
        6. \\r\\n
        7. \\r\\n \\r\\n Application Deposit\\r\\n \\r\\n
        8. \\r\\n
        \\r\\n
        \"","import { Component, OnInit, Input } from '@angular/core';\n\n@Component({\n selector: 'app-leftmenu',\n templateUrl: './leftmenu.component.html'\n})\nexport class LeftmenuComponent implements OnInit {\n @Input() isValidDevTeam: boolean = false;\n @Input() isBuildingExist: boolean = false; \n constructor() { }\n\n ngOnInit() {\n }\n}\n","module.exports = \"
        \\n \\n
        \\n
        \\n
        \\n
        \\n \\n \\n \\\"\\\"\\n \\n \\n \\\"\\\"\\n Mandatory Inclusionary Housing\\n \\n \\n \\n Log In\\n \\n \\n \\n \\n Log Out \\n \\n \\n \\\"\\\"\\n \\n Profile \\n \\n
        \\n
        \\n
        \\n \\n
        \\n
        \\n
        \\n
        \\n
        \\n
        \\n
        \\n
        \\n
        \\n
        \\n \\n
        \\n\\n
        \\n\"","import { Component, OnInit, HostListener, Renderer } from '@angular/core';\r\nimport { Router, NavigationStart } from '@angular/router';\r\nimport { DOCUMENT } from \"@angular/platform-browser\";\r\n\r\n// APP\r\nimport { AppConfig } from '../../app.config';\r\nimport { AuthenticationService } from '../../services/authentication.service';\r\nimport { SharedService } from '../../services/shared.service';\r\n\r\n@Component({\r\n selector: 'app-navmenu',\r\n templateUrl: './navmenu.component.html',\r\n providers: [AuthenticationService]\r\n})\r\nexport class NavmenuComponent implements OnInit {\r\n loginDetail: any;\r\n pageError: Array = [];\r\n isLoginUrl: boolean = false; \r\n isLoggedin: boolean = false;\r\n navIsFixed: boolean = false; \r\n pageName: string = ''; \r\n _baseAppUrl: string = AppConfig.config.baseAppUrl;\r\n _rootAppUrl: string = AppConfig.config.rootAppUrl;\r\n env: string = AppConfig.config.env;\r\n helpUrl: string = this._rootAppUrl + 'assets/help.html';\r\n\r\n constructor(private authenticationService: AuthenticationService,\r\n public router: Router,\r\n private renderer: Renderer, \r\n private sharedService: SharedService\r\n )\r\n {\r\n router.events.forEach((event) => {\r\n if (event instanceof NavigationStart) {\r\n this.isLoggedin = this.authenticationService.isLoggedIn();\r\n if (this.sharedService.getData('loggedInUser') != null)\r\n this.isLoggedin == true;\r\n\r\n if (event.url.indexOf('/login') >= 0)\r\n this.isLoginUrl = true; \r\n else \r\n this.isLoginUrl = false;\r\n\r\n if (event.url.indexOf('/home') >= 0)\r\n this.pageName = 'home';\r\n else if (event.url.indexOf('/account') >= 0)\r\n this.pageName = 'account';\r\n else\r\n this.pageName = '';\r\n } \r\n });\r\n\r\n this.renderer.listenGlobal('window', 'scroll', (evt) => { \r\n this.navIsFixed = (evt.srcElement.body.scrollTop >= 85);\r\n //console.log(evt.srcElement.body.scrollTop + ' : ' + this.navIsFixed);\r\n //// Get error and message div if any\r\n //let err = evt.srcElement.body.getElementsByClassName(\"alertRed\");\r\n //let msg = evt.srcElement.body.getElementsByClassName(\"alertGreen\");\r\n //if (err != null) {\r\n // console.log(err + ' : ' + $('#pageError') );\r\n // //if (this.navIsFixed == true) {\r\n // // err.classList.add('fixedHeaderMessage'); \r\n // // err.classList.remove('systemMessage');\r\n // //} else {\r\n // // err.classList.add('systemMessage'); \r\n // // err.classList.remove('fixedHeaderMessage'); \r\n // //}\r\n //}\r\n\r\n });\r\n }\r\n\r\n //@HostListener('scroll', ['$event'])\r\n //onScroll(event) {\r\n // let scroll = event.scrollTop;\r\n // //this.navIsFixed = (scroll >= 130);\r\n //}\r\n\r\n ngOnInit() {\r\n \r\n this.navIsFixed = false; \r\n var loggedIn = this.sharedService.getData(\"loggedInUser\");\r\n \r\n if (loggedIn != null) {\r\n this.isLoggedin = true;\r\n }\r\n else {\r\n this.isLoggedin = false; \r\n }\r\n }\r\n\r\n login() {\r\n window.location.href = AppConfig.config.cpuiLoginUrl;\r\n }\r\n\r\n logout() {\r\n this.sharedService.removeData('loggedInUser');\r\n sessionStorage.clear();\r\n window.location.href = AppConfig.config.cpuiLogoutUrl;\r\n }\r\n \r\n // NYCID 2.0\r\n updateProfile() {\r\n var profileUrlLink = this._rootAppUrl + 'hpdcpui/InitiateUpdateProfile.aspx'; \r\n window.location.href = profileUrlLink;\r\n } \r\n\r\n/*\r\n //NYCID 1.0\r\n updateProfile() {\r\n var profileUrlLink = ''; \r\n this.authenticationservice.getUpdateProfile() \r\n .subscribe(profileUrl => {\r\n profileUrlLink = profileUrl.d;\r\n\r\n window.location.href = profileUrlLink; \r\n }); \r\n } */\r\n \r\n navigateToHome() {\r\n this.sharedService.navigateHome();\r\n }\r\n\r\n navigateToAccount() {\r\n this.sharedService.navigateAccount();\r\n }\r\n\r\n navigateToHelp() {\r\n window.location.href = this._baseAppUrl + 'help.html';\r\n }\r\n\r\n}\r\n","module.exports = \"
        \\r\\n
        Filer's Name - {{userName}}{{userPhone | phone}} | {{userEmail}}
        \\r\\n\\r\\n
        {{projectDetail?.ProjectName}} \\r\\n Edit\\r\\n ID - {{projectDetail?.ProjectID}}
        \\r\\n
        \\r\\n
        \\r\\n
        \"","import { Component, OnInit, Input } from '@angular/core';\nimport { Router, ActivatedRoute, Params } from '@angular/router';\n\n// APP\nimport { EntityService } from '../../services/entity.service';\nimport { SharedService } from '../../services/shared.service';\n\n@Component({\n selector: 'app-topmenu',\n templateUrl: './topmenu.component.html',\n providers: [EntityService]\n})\nexport class TopmenuComponent implements OnInit {\n projectDetail: any;\n projectId: number= 0;\n topMenu: number;\n pageError: Array = [];\n isInDraft: boolean = false; \n userName: string = '';\n userEmail: string = ''; \n userPhone: string = ''; \n @Input('isAppEditable') isAppEditable: boolean = false;\n\n constructor(private router: Router\n , private entityService: EntityService\n , private sharedService: SharedService) { }\n\n ngOnInit() {\n \n var url = this.router.url;\n if (url != null) {\n url = url.toUpperCase();\n if (url.indexOf('APPLICATION') > -1)\n this.topMenu = 1;\n else if (url.indexOf('UPLOADS') > -1)\n this.topMenu = 2;\n else if (url.indexOf('SIGNOFF') > -1)\n this.topMenu = 3;\n else if (url.indexOf('FEECOLLECTION') > -1)\n this.topMenu = 4;\n else if (url.indexOf('PERMITNOTICE') > -1)\n this.topMenu = 5;\n }\n\n let ids = this.sharedService.getJsonData(\"id\");\n if (ids != null) {\n if (ids.projectId != null) {\n this.projectId = ids.projectId;\n\n if (ids.appStatus == 'Draft')\n this.isInDraft = true; \n }\n } \n\n this.entityService.getProjectDetailById(this.projectId)\n .subscribe(\n successResp => this.projectDetail = successResp.Result,\n errorResp => this.pageError.push(' Get ProjectDetail: ' + errorResp.statusText));\n\n var user = this.sharedService.getJsonData(\"loggedInUser\");\n this.userName = user.FirstName; \n this.userEmail = user.UserID;\n var account = this.sharedService.getJsonData('account'); \n if (!(account == null || account.phone == null)) {\n this.userPhone = account.phone; \n }\n\n \n }\n}","import { Component, PLATFORM_ID, Inject, Input, Output, EventEmitter, OnInit, OnChanges, ElementRef } from '@angular/core';\nimport { isPlatformBrowser, isPlatformServer } from '@angular/common';\nimport { GlobalRef } from './windowRef.service';\nimport { AutoCompleteSearchService } from './auto-complete.service';\n\nexport interface Settings {\n geoPredictionServerUrl?: string;\n geoLatLangServiceUrl?: string;\n geoLocDetailServerUrl?: string;\n geoCountryRestriction?: any;\n geoTypes?: any; \n geoLocation?: any;\n geoRadius?: number;\n serverResponseListHierarchy?: any;\n serverResponseatLangHierarchy?: any;\n serverResponseDetailHierarchy?: any;\n resOnSearchButtonClickOnly?: boolean;\n useGoogleGeoApi?: boolean;\n inputPlaceholderText?: string;\n inputString?: string;\n showSearchButton?: boolean;\n showRecentSearch?: boolean;\n showCurrentLocation?: boolean;\n recentStorageName?: string;\n noOfRecentSearchSave?: number;\n currentLocIconUrl?: string;\n searchIconUrl?: string;\n locationIconUrl?: string;\n}\n\n@Component({\n selector: 'ng4geo-autocomplete',\n template: `\n \n
        {{settingsErrorMsg}}
        \n `,\n styles: [`\n .custom-autocomplete {\n display: block;\n position: relative;\n width: 100%;\n float: left;\n }\n\n .custom-autocomplete a, .custom-autocomplete a:hover {\n text-decoration: none;\n }\n\n .custom-autocomplete--error {\n color: #fff;\n background-color: #fd4f4f;\n padding: 10px;\n }\n\n .custom-autocomplete__dropdown {\n position: absolute;\n background: #fff;\n margin: 0;\n padding: 0;\n width: 100%;\n list-style: none;\n border: 1px solid #909090;\n z-index: 99;\n top: 50px;\n }\n .custom-autocomplete__dropdown li {\n float: left;\n width: 100%;\n font-size: 15px;\n }\n .custom-autocomplete__dropdown a {\n width: 100%;\n color: #353535;\n float: left;\n padding: 8px 10px;\n }\n .custom-autocomplete__dropdown a:hover {\n text-decoration: none;\n }\n .custom-autocomplete__dropdown .currentlocation {\n text-transform: uppercase;\n letter-spacing: 1px;\n }\n .custom-autocomplete__dropdown .currentlocation a {\n padding: 10px 10px 10px 13px;\n font-size: 14px;\n }\n .custom-autocomplete__dropdown .currentlocation a:hover {\n background-color: #eeeded;\n }\n .custom-autocomplete__dropdown .currentlocation .location-icon {\n width: 16px;\n height: 16px;\n background-size: cover;\n background-image: url(data:image/svg+xml;utf8;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iaXNvLTg4NTktMSI/Pgo8IS0tIEdlbmVyYXRvcjogQWRvYmUgSWxsdXN0cmF0b3IgMTYuMC4wLCBTVkcgRXhwb3J0IFBsdWctSW4gLiBTVkcgVmVyc2lvbjogNi4wMCBCdWlsZCAwKSAgLS0+CjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+CjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgdmVyc2lvbj0iMS4xIiBpZD0iQ2FwYV8xIiB4PSIwcHgiIHk9IjBweCIgd2lkdGg9IjE2cHgiIGhlaWdodD0iMTZweCIgdmlld0JveD0iMCAwIDg3Ljg1OSA4Ny44NTkiIHN0eWxlPSJlbmFibGUtYmFja2dyb3VuZDpuZXcgMCAwIDg3Ljg1OSA4Ny44NTk7IiB4bWw6c3BhY2U9InByZXNlcnZlIj4KPGc+Cgk8ZyBpZD0iTWFya2VyIj4KCQk8Zz4KCQkJPHBhdGggZD0iTTgwLjkzOCw0MC40ODNDNzkuMjk0LDIyLjcxMyw2NS4wOTMsOC41MjgsNDcuMzEyLDYuOTE3VjBoLTYuNzU3djYuOTE4QzIyLjc3Myw4LjUyOCw4LjU3MiwyMi43MTQsNi45Myw0MC40ODNIMHY2Ljc1NyAgICAgaDYuOTE5YzEuNTgyLDE3LjgzOCwxNS44MSwzMi4wODcsMzMuNjM2LDMzLjcwMXY2LjkxOGg2Ljc1N3YtNi45MThjMTcuODI2LTEuNjEzLDMyLjA1NC0xNS44NjIsMzMuNjM2LTMzLjcwMWg2LjkxMXYtNi43NTcgICAgIEg4MC45Mzh6IE00Ny4zMTIsNzQuMTQ2di02LjU1OGgtNi43NTd2Ni41NThDMjYuNDU3LDcyLjU4LDE1LjI0Miw2MS4zNDUsMTMuNzA4LDQ3LjI0aDYuNTY2di02Ljc1N2gtNi41NDkgICAgIGMxLjU5MS0xNC4wNDEsMTIuNzc3LTI1LjIxLDI2LjgyOS0yNi43NzF2Ni41NjRoNi43NTZ2LTYuNTY0YzE0LjA1MywxLjU2LDI1LjIzOSwxMi43MjksMjYuODMsMjYuNzcxaC02LjU1NnY2Ljc1N2g2LjU3MyAgICAgQzcyLjYyNSw2MS4zNDUsNjEuNDA5LDcyLjU4LDQ3LjMxMiw3NC4xNDZ6IE00My45MzQsMzMuNzI3Yy01LjU5NSwwLTEwLjEzNSw0LjUzMy0xMC4xMzUsMTAuMTMxICAgICBjMCw1LjU5OSw0LjU0LDEwLjEzOSwxMC4xMzUsMTAuMTM5czEwLjEzNC00LjU0LDEwLjEzNC0xMC4xMzlDNTQuMDY4LDM4LjI2LDQ5LjUyNywzMy43MjcsNDMuOTM0LDMzLjcyN3oiIGZpbGw9IiMwMDAwMDAiLz4KCQk8L2c+Cgk8L2c+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPC9zdmc+Cg==);\n float: left;\n margin-right: 10px;\n }\n .custom-autocomplete__dropdown .heading {\n padding: 13px 10px 7px 13px;\n text-transform: uppercase;\n letter-spacing: 1px;\n font-size: 13px;\n position: relative;\n }\n .custom-autocomplete__dropdown .heading .line {\n border-top: 1px solid #c2c2c2;\n width: calc(100% - 115px);\n display: inline-block;\n position: absolute;\n top: 21px;\n left: 100px;\n }\n\n .custom-autocomplete__dropdown .heading .line-location {\n left: 100px;\n top: 16px;\n width: calc(100% - 110px);\n }\n\n .custom-autocomplete__dropdown .heading .line-recent {\n left: 158px;\n top: 16px;\n width: calc(100% - 168px);\n }\n .custom-autocomplete__dropdown .heading-recent {\n padding-top: 8px;\n }\n .custom-autocomplete__dropdown .custom-icon {\n width: 16px;\n height: 16px;\n background-size: cover;\n vertical-align: bottom;\n display: inline-block;\n margin-right: 4px;\n }\n .custom-autocomplete__dropdown .main-text {\n padding-right: 4px;\n font-weight: 700;\n }\n .custom-autocomplete__dropdown .secondary_text {\n font-size: 12px;\n color: #909090;\n }\n .custom-autocomplete__dropdown .active a {\n background-color: #ffe0cd;\n }\n .custom-autocomplete__loader {\n position: absolute;\n top: 0;\n width: 100%;\n height: 100%;\n text-align: center;\n background: white;\n }\n .custom-autocomplete__loader .gif {\n background-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzAiIGhlaWdodD0iMzAiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDEwMCAxMDAiIHByZXNlcnZlQXNwZWN0UmF0aW89InhNaWRZTWlkIiBjbGFzcz0idWlsLXJpcHBsZSI+PHBhdGggZmlsbD0ibm9uZSIgY2xhc3M9ImJrIiBkPSJNMCAwaDEwMHYxMDBIMHoiLz48Zz48YW5pbWF0ZSBhdHRyaWJ1dGVOYW1lPSJvcGFjaXR5IiBkdXI9IjJzIiByZXBlYXRDb3VudD0iaW5kZWZpbml0ZSIgYmVnaW49IjBzIiBrZXlUaW1lcz0iMDswLjMzOzEiIHZhbHVlcz0iMTsxOzAiLz48Y2lyY2xlIGN4PSI1MCIgY3k9IjUwIiByPSI0MCIgc3Ryb2tlPSIjYWZhZmI3IiBmaWxsPSJub25lIiBzdHJva2Utd2lkdGg9IjgiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCI+PGFuaW1hdGUgYXR0cmlidXRlTmFtZT0iciIgZHVyPSIycyIgcmVwZWF0Q291bnQ9ImluZGVmaW5pdGUiIGJlZ2luPSIwcyIga2V5VGltZXM9IjA7MC4zMzsxIiB2YWx1ZXM9IjA7MjI7NDQiLz48L2NpcmNsZT48L2c+PGc+PGFuaW1hdGUgYXR0cmlidXRlTmFtZT0ib3BhY2l0eSIgZHVyPSIycyIgcmVwZWF0Q291bnQ9ImluZGVmaW5pdGUiIGJlZ2luPSIxcyIga2V5VGltZXM9IjA7MC4zMzsxIiB2YWx1ZXM9IjE7MTswIi8+PGNpcmNsZSBjeD0iNTAiIGN5PSI1MCIgcj0iNDAiIHN0cm9rZT0iI2ZmYTYzMyIgZmlsbD0ibm9uZSIgc3Ryb2tlLXdpZHRoPSI4IiBzdHJva2UtbGluZWNhcD0icm91bmQiPjxhbmltYXRlIGF0dHJpYnV0ZU5hbWU9InIiIGR1cj0iMnMiIHJlcGVhdENvdW50PSJpbmRlZmluaXRlIiBiZWdpbj0iMXMiIGtleVRpbWVzPSIwOzAuMzM7MSIgdmFsdWVzPSIwOzIyOzQ0Ii8+PC9jaXJjbGU+PC9nPjwvc3ZnPg==);\n background-size: cover;\n width: 30px;\n height: 30px;\n top: 50%;\n left: 50%;\n transform: translate3d(-50%, -50%, 0);\n position: absolute;\n }\n .custom-autocomplete__container,.custom-autocomplete__input {\n width: inherit;\n float: inherit;\n position: relative;\n }\n\n .custom-autocomplete__input input{\n margin: 0;\n padding: 10px;\n height: 50px;\n border: 1px solid #ccc;\n display: block;\n width: 100%;\n overflow: hidden;\n text-overflow: ellipsis;\n font-size: 16px;\n &::-webkit-input-placeholder {\n color: #868484;\n }\n\n &:-moz-placeholder { /* Firefox 18- */\n color: #868484;\n }\n\n &::-moz-placeholder { /* Firefox 19+ */\n color: #868484;\n }\n\n &:-ms-input-placeholder {\n color: #868484;\n }\n }\n\n .button-included input{\n padding-right: 60px;\n }\n\n .search-icon {\n position: absolute;\n right: 0;\n width: 55px;\n top: 0;\n height: 100%;\n background-color: transparent;\n border-bottom: 0;\n border-top: 0;\n border-right: 0;\n border-left: 1px solid #ccc;\n }\n\n .search-icon i {\n background-size: cover;\n height: 23px;\n width: 23px;\n display: inline-block;\n }\n\n .search-default-icon {\n background-image: url('data:image/svg+xml;utf8;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iaXNvLTg4NTktMSI/Pgo8IS0tIEdlbmVyYXRvcjogQWRvYmUgSWxsdXN0cmF0b3IgMTkuMC4wLCBTVkcgRXhwb3J0IFBsdWctSW4gLiBTVkcgVmVyc2lvbjogNi4wMCBCdWlsZCAwKSAgLS0+CjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgdmVyc2lvbj0iMS4xIiBpZD0iQ2FwYV8xIiB4PSIwcHgiIHk9IjBweCIgdmlld0JveD0iMCAwIDU2Ljk2NiA1Ni45NjYiIHN0eWxlPSJlbmFibGUtYmFja2dyb3VuZDpuZXcgMCAwIDU2Ljk2NiA1Ni45NjY7IiB4bWw6c3BhY2U9InByZXNlcnZlIiB3aWR0aD0iMTZweCIgaGVpZ2h0PSIxNnB4Ij4KPHBhdGggZD0iTTU1LjE0Niw1MS44ODdMNDEuNTg4LDM3Ljc4NmMzLjQ4Ni00LjE0NCw1LjM5Ni05LjM1OCw1LjM5Ni0xNC43ODZjMC0xMi42ODItMTAuMzE4LTIzLTIzLTIzcy0yMywxMC4zMTgtMjMsMjMgIHMxMC4zMTgsMjMsMjMsMjNjNC43NjEsMCw5LjI5OC0xLjQzNiwxMy4xNzctNC4xNjJsMTMuNjYxLDE0LjIwOGMwLjU3MSwwLjU5MywxLjMzOSwwLjkyLDIuMTYyLDAuOTIgIGMwLjc3OSwwLDEuNTE4LTAuMjk3LDIuMDc5LTAuODM3QzU2LjI1NSw1NC45ODIsNTYuMjkzLDUzLjA4LDU1LjE0Niw1MS44ODd6IE0yMy45ODQsNmM5LjM3NCwwLDE3LDcuNjI2LDE3LDE3cy03LjYyNiwxNy0xNywxNyAgcy0xNy03LjYyNi0xNy0xN1MxNC42MSw2LDIzLjk4NCw2eiIgZmlsbD0iIzAwMDAwMCIvPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8L3N2Zz4K');\n }\n\n .location-default-icon {\n background-image: url('data:image/svg+xml;utf8;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iaXNvLTg4NTktMSI/Pgo8IS0tIEdlbmVyYXRvcjogQWRvYmUgSWxsdXN0cmF0b3IgMTkuMC4wLCBTVkcgRXhwb3J0IFBsdWctSW4gLiBTVkcgVmVyc2lvbjogNi4wMCBCdWlsZCAwKSAgLS0+CjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgdmVyc2lvbj0iMS4xIiBpZD0iQ2FwYV8xIiB4PSIwcHgiIHk9IjBweCIgdmlld0JveD0iMCAwIDQ4Ny43MjQgNDg3LjcyNCIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgNDg3LjcyNCA0ODcuNzI0OyIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSIgd2lkdGg9IjE2cHgiIGhlaWdodD0iMTZweCI+CjxnPgoJPGc+CgkJPHBhdGggZD0iTTIzNi45MjUsMC4xMjRjLTk2LjksMy40LTE3Ny40LDc5LTE4Ni43LDE3NS41Yy0xLjksMTkuMy0wLjgsMzgsMi42LDU1LjlsMCwwYzAsMCwwLjMsMi4xLDEuMyw2LjEgICAgYzMsMTMuNCw3LjUsMjYuNCwxMy4xLDM4LjZjMTkuNSw0Ni4yLDY0LjYsMTIzLjUsMTY1LjgsMjA3LjZjNi4yLDUuMiwxNS4zLDUuMiwyMS42LDBjMTAxLjItODQsMTQ2LjMtMTYxLjMsMTY1LjktMjA3LjcgICAgYzUuNy0xMi4yLDEwLjEtMjUuMSwxMy4xLTM4LjZjMC45LTMuOSwxLjMtNi4xLDEuMy02LjFsMCwwYzIuMy0xMiwzLjUtMjQuMywzLjUtMzYuOUM0MzguNDI1LDg0LjcyNCwzNDcuNTI1LTMuNzc2LDIzNi45MjUsMC4xMjQgICAgeiBNMjQzLjgyNSwyOTEuMzI0Yy01Mi4yLDAtOTQuNS00Mi4zLTk0LjUtOTQuNXM0Mi4zLTk0LjUsOTQuNS05NC41czk0LjUsNDIuMyw5NC41LDk0LjVTMjk2LjAyNSwyOTEuMzI0LDI0My44MjUsMjkxLjMyNHoiIGZpbGw9IiMwMDAwMDAiLz4KCTwvZz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8L3N2Zz4K');\n }\n\n .current-default-icon {\n background-image: url('data:image/svg+xml;utf8;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iaXNvLTg4NTktMSI/Pgo8IS0tIEdlbmVyYXRvcjogQWRvYmUgSWxsdXN0cmF0b3IgMTYuMC4wLCBTVkcgRXhwb3J0IFBsdWctSW4gLiBTVkcgVmVyc2lvbjogNi4wMCBCdWlsZCAwKSAgLS0+CjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+CjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgdmVyc2lvbj0iMS4xIiBpZD0iQ2FwYV8xIiB4PSIwcHgiIHk9IjBweCIgd2lkdGg9IjE2cHgiIGhlaWdodD0iMTZweCIgdmlld0JveD0iMCAwIDg3Ljg1OSA4Ny44NTkiIHN0eWxlPSJlbmFibGUtYmFja2dyb3VuZDpuZXcgMCAwIDg3Ljg1OSA4Ny44NTk7IiB4bWw6c3BhY2U9InByZXNlcnZlIj4KPGc+Cgk8ZyBpZD0iTWFya2VyIj4KCQk8Zz4KCQkJPHBhdGggZD0iTTgwLjkzOCw0MC40ODNDNzkuMjk0LDIyLjcxMyw2NS4wOTMsOC41MjgsNDcuMzEyLDYuOTE3VjBoLTYuNzU3djYuOTE4QzIyLjc3Myw4LjUyOCw4LjU3MiwyMi43MTQsNi45Myw0MC40ODNIMHY2Ljc1NyAgICAgaDYuOTE5YzEuNTgyLDE3LjgzOCwxNS44MSwzMi4wODcsMzMuNjM2LDMzLjcwMXY2LjkxOGg2Ljc1N3YtNi45MThjMTcuODI2LTEuNjEzLDMyLjA1NC0xNS44NjIsMzMuNjM2LTMzLjcwMWg2LjkxMXYtNi43NTcgICAgIEg4MC45Mzh6IE00Ny4zMTIsNzQuMTQ2di02LjU1OGgtNi43NTd2Ni41NThDMjYuNDU3LDcyLjU4LDE1LjI0Miw2MS4zNDUsMTMuNzA4LDQ3LjI0aDYuNTY2di02Ljc1N2gtNi41NDkgICAgIGMxLjU5MS0xNC4wNDEsMTIuNzc3LTI1LjIxLDI2LjgyOS0yNi43NzF2Ni41NjRoNi43NTZ2LTYuNTY0YzE0LjA1MywxLjU2LDI1LjIzOSwxMi43MjksMjYuODMsMjYuNzcxaC02LjU1NnY2Ljc1N2g2LjU3MyAgICAgQzcyLjYyNSw2MS4zNDUsNjEuNDA5LDcyLjU4LDQ3LjMxMiw3NC4xNDZ6IE00My45MzQsMzMuNzI3Yy01LjU5NSwwLTEwLjEzNSw0LjUzMy0xMC4xMzUsMTAuMTMxICAgICBjMCw1LjU5OSw0LjU0LDEwLjEzOSwxMC4xMzUsMTAuMTM5czEwLjEzNC00LjU0LDEwLjEzNC0xMC4xMzlDNTQuMDY4LDM4LjI2LDQ5LjUyNywzMy43MjcsNDMuOTM0LDMzLjcyN3oiIGZpbGw9IiMwMDAwMDAiLz4KCQk8L2c+Cgk8L2c+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPC9zdmc+Cg==');\n }\n\n .custom-autocomplete__container .searchpage {\n margin-top: 0;\n padding: 0;\n height: 55px;\n border: none;\n }\n\n `],\n host: {\n '(document:click)': 'closeAutocomplete($event)',\n }\n})\nexport class AutoCompleteComponent implements OnInit, OnChanges {\n\t@Input() userSettings: Settings;\n @Output()\n componentCallback: EventEmitter = new EventEmitter();\n\n public selectedAddress: string='aaa'; \n public locationInput: string = '';\n public gettingCurrentLocationFlag: boolean = false;\n public dropdownOpen: boolean = false;\n public recentDropdownOpen: boolean = false;\n public queryItems: any = [];\n public isSettingsError: boolean = false;\n public settingsErrorMsg: string = '';\n public settings: Settings = {};\n private moduleinit: boolean = false;\n private selectedDataIndex: number = -1;\n private recentSearchData: any = [];\n private userSelectedOption: any = '';\n private defaultSettings: Settings = {\n geoPredictionServerUrl: '',\n geoLatLangServiceUrl: '',\n geoLocDetailServerUrl: '',\n geoCountryRestriction: [],\n geoTypes: [],\n geoLocation: [],\n geoRadius: 0,\n serverResponseListHierarchy: [],\n serverResponseatLangHierarchy: [],\n serverResponseDetailHierarchy: [],\n resOnSearchButtonClickOnly: false,\n useGoogleGeoApi: true,\n inputPlaceholderText: 'Enter Area Name',\n inputString: '',\n showSearchButton: true,\n showRecentSearch: true,\n showCurrentLocation: true,\n recentStorageName: 'recentSearches',\n noOfRecentSearchSave: 5,\n currentLocIconUrl: '',\n searchIconUrl: '',\n locationIconUrl: ''\n };\n\n \n constructor(@Inject(PLATFORM_ID) private platformId: Object,\n private _elmRef: ElementRef, private _global: GlobalRef,\n private _autoCompleteSearchService: AutoCompleteSearchService) {\n\n }\n\n ngOnInit(): any {\n if (!this.moduleinit) {\n this.moduleInit();\n }\n }\n\n ngOnChanges(): any {\n this.moduleinit = true;\n this.moduleInit();\n }\n\n\n //function called when click event happens in input box. (Binded with view)\n searchinputClickCallback(event: any): any {\n event.target.select();\n this.searchinputCallback(event);\n }\n\n //function called when there is a change in input. (Binded with view)\n searchinputCallback(event: any): any {\n let inputVal: any = this.locationInput;\n if ((event.keyCode === 40) || (event.keyCode === 38) || (event.keyCode === 13)) {\n this.navigateInList(event.keyCode);\n } else if (inputVal) {\n this.getListQuery(inputVal);\n } else {\n this.queryItems = [];\n if (this.userSelectedOption) {\n this.userQuerySubmit('false');\n }\n this.userSelectedOption = '';\n if (this.settings.showRecentSearch) {\n this.showRecentSearch();\n }else {\n this.dropdownOpen = false;\n }\n }\n }\n\n //function to execute when user hover over autocomplete list.(binded with view)\n activeListNode(index: number): any {\n for (let i: number = 0; i < this.queryItems.length; i++) {\n if (index === i) {\n this.queryItems[i].active = true;\n this.selectedDataIndex = index;\n }else {\n this.queryItems[i].active = false;\n }\n }\n }\n\n //function to execute when user select the autocomplete list.(binded with view)\n selectedListNode(index: number): any {\n\n this.dropdownOpen = false;\n if (this.recentDropdownOpen) {\n this.setRecentLocation(this.queryItems[index]);\n }else {\n this.getPlaceLocationInfo(this.queryItems[index]);\n }\n }\n\n //function to close the autocomplete list when clicked outside. (binded with view)\n closeAutocomplete(event: any): any {\n if (!this._elmRef.nativeElement.contains(event.target)) {\n this.selectedDataIndex = -1;\n this.dropdownOpen = false;\n }\n }\n\n //function to manually trigger the callback to parent component when clicked search button.\n userQuerySubmit(selectedOption?: any): any {\n let _userOption: any = selectedOption === 'false' ? '' : this.userSelectedOption;\n if (_userOption) {\n this.componentCallback.emit(this.userSelectedOption);\n }else {\n this.componentCallback.emit(false);\n }\n }\n\n //function to get user current location from the device.\n currentLocationSelected(): any {\n if (isPlatformBrowser(this.platformId)) {\n this.gettingCurrentLocationFlag = true;\n this.dropdownOpen = false;\n this._autoCompleteSearchService.getGeoCurrentLocation().then((result: any) => {\n if (!result) {\n this.gettingCurrentLocationFlag = false;\n }else {\n this.getCurrentLocationInfo(result);\n \n \n }\n });\n }\n }\n\n //module initialization happens. function called by ngOninit and ngOnChange\n private moduleInit(): any {\n this.settings = this.setUserSettings();\n //condition to check if Radius is set without location detail.\n if (this.settings.geoRadius) {\n if (this.settings.geoLocation.length !== 2) {\n this.isSettingsError = true;\n this.settingsErrorMsg = this.settingsErrorMsg +\n 'Radius should be used with GeoLocation. Please use \"geoLocation\" key to set lat and lng. ';\n }\n }\n\n //condition to check if lat and lng is set and radious is not set then it will set to 20,000KM by default\n if ((this.settings.geoLocation.length === 2) && !this.settings.geoRadius) {\n this.settings.geoRadius = 20000000;\n }\n if (this.settings.showRecentSearch) {\n this.getRecentLocations();\n }\n if (!this.settings.useGoogleGeoApi) {\n if (!this.settings.geoPredictionServerUrl) {\n this.isSettingsError = true;\n this.settingsErrorMsg = this.settingsErrorMsg +\n 'Prediction custom server url is not defined. Please use \"geoPredictionServerUrl\" key to set. ';\n }\n if (!this.settings.geoLatLangServiceUrl) {\n this.isSettingsError = true;\n this.settingsErrorMsg = this.settingsErrorMsg +\n 'Latitude and longitude custom server url is not defined. Please use \"geoLatLangServiceUrl\" key to set. ';\n }\n if (!this.settings.geoLocDetailServerUrl) {\n this.isSettingsError = true;\n this.settingsErrorMsg = this.settingsErrorMsg +\n 'Location detail custom server url is not defined. Please use \"geoLocDetailServerUrl\" key to set. ';\n }\n }\n this.locationInput = this.settings.inputString;\n }\n\n //function to process the search query when pressed enter.\n private processSearchQuery(): any {\n if (this.queryItems.length) {\n if (this.selectedDataIndex > -1) {\n this.selectedListNode(this.selectedDataIndex);\n }else {\n this.selectedListNode(0);\n }\n }\n }\n\n //function to set user settings if it is available.\n private setUserSettings(): Settings {\n let _tempObj: any = {};\n if (this.userSettings && typeof(this.userSettings) === 'object') {\n let keys: string[] = Object.keys(this.defaultSettings);\n for (let value of keys) {\n _tempObj[value] = (this.userSettings[value] !== undefined) ? this.userSettings[value] : this.defaultSettings[value];\n }\n return _tempObj;\n }else {\n return this.defaultSettings;\n }\n }\n\n //function to get the autocomplete list based on user input.\n private getListQuery(value: string): any {\n this.recentDropdownOpen = false;\n if (this.settings.useGoogleGeoApi) {\n let _tempParams: any = {\n 'query': value,\n 'countryRestriction': this.settings.geoCountryRestriction,\n 'geoTypes': this.settings.geoTypes\n };\n if (this.settings.geoLocation.length === 2) {\n _tempParams.geoLocation = this.settings.geoLocation;\n _tempParams.radius = this.settings.geoRadius;\n }\n this._autoCompleteSearchService.getGeoPrediction(_tempParams).then((result) => {\n this.updateListItem(result);\n });\n }else {\n this._autoCompleteSearchService.getPredictions(this.settings.geoPredictionServerUrl, value).then((result) => {\n result = this.extractServerList(this.settings.serverResponseListHierarchy, result);\n this.updateListItem(result);\n });\n }\n }\n\n //function to extratc custom data which is send by the server.\n private extractServerList(arrayList: any, data: any): any {\n if (arrayList.length) {\n let _tempData: any = data;\n for (let key of arrayList) {\n _tempData = _tempData[key];\n }\n return _tempData;\n }else {\n return data;\n }\n }\n\n //function to update the predicted list.\n private updateListItem(listData: any): any {\n this.queryItems = listData ? listData : [];\n this.dropdownOpen = true;\n }\n\n //function to show the recent search result.\n private showRecentSearch(): any {\n this.recentDropdownOpen = true;\n this.dropdownOpen = true;\n this._autoCompleteSearchService.getRecentList(this.settings.recentStorageName).then((result: any) => {\n if (result) {\n this.queryItems = result;\n }else {\n this.queryItems = [];\n }\n });\n }\n\n //function to navigate through list when up and down keyboard key is pressed;\n private navigateInList(keyCode: number): any {\n let arrayIndex: number = 0;\n //arrow down\n if (keyCode === 40) {\n if (this.selectedDataIndex >= 0) {\n arrayIndex = ((this.selectedDataIndex + 1) <= (this.queryItems.length - 1)) ? (this.selectedDataIndex + 1) : 0;\n }\n this.activeListNode(arrayIndex);\n }else if (keyCode === 38) {//arrow up\n if (this.selectedDataIndex >= 0) {\n arrayIndex = ((this.selectedDataIndex - 1) >= 0) ? (this.selectedDataIndex - 1) : (this.queryItems.length - 1);\n }else {\n arrayIndex = this.queryItems.length - 1;\n }\n this.activeListNode(arrayIndex);\n } else {\n this.processSearchQuery();\n }\n }\n\n //function to execute to get location detail based on latitude and longitude.\n private getCurrentLocationInfo(latlng: any): any {\n if (this.settings.useGoogleGeoApi) {\n this._autoCompleteSearchService.getGeoLatLngDetail(latlng).then((result: any) => {\n if (result) {\n this.setRecentLocation(result);\n }\n this.gettingCurrentLocationFlag = false;\n });\n }else {\n this._autoCompleteSearchService.getLatLngDetail(this.settings.geoLatLangServiceUrl, latlng.lat, latlng.lng).then((result: any) => {\n if (result) {\n result = this.extractServerList(this.settings.serverResponseatLangHierarchy, result);\n this.setRecentLocation(result);\n }\n this.gettingCurrentLocationFlag = false;\n });\n }\n }\n\n //function to retrive the location info based on goovle place id.\n private getPlaceLocationInfo(selectedData: any): any {\n if (this.settings.useGoogleGeoApi) {\n this._autoCompleteSearchService.getGeoPlaceDetail(selectedData.place_id).then((data: any) => {\n if (data) {\n this.setRecentLocation(data);\n }\n });\n }else {\n this._autoCompleteSearchService.getPlaceDetails(this.settings.geoLocDetailServerUrl, selectedData.place_id).then((result: any) => {\n if (result) {\n result = this.extractServerList(this.settings.serverResponseDetailHierarchy, result);\n this.setRecentLocation(result);\n }\n });\n }\n }\n\n //function to store the selected user search in the localstorage.\n private setRecentLocation(data: any): any {\n data = JSON.parse(JSON.stringify(data));\n data.description = data.description ? data.description : data.formatted_address;\n data.active = false;\n this.selectedDataIndex = -1;\n this.locationInput = data.description;\n if (this.settings.showRecentSearch) {\n this._autoCompleteSearchService.addRecentList(this.settings.recentStorageName, data, this.settings.noOfRecentSearchSave);\n this.getRecentLocations();\n }\n this.userSelectedOption = data;\n //below code will execute only when user press enter or select any option selection and it emit a callback to the parent component.\n if (!this.settings.resOnSearchButtonClickOnly) {\n this.componentCallback.emit(data);\n }\n }\n\n //function to retrive the stored recent user search from the localstorage.\n private getRecentLocations(): any {\n this._autoCompleteSearchService.getRecentList(this.settings.recentStorageName).then((data: any) => {\n this.recentSearchData = (data && data.length) ? data : [];\n });\n }\n\n //autoCompleteCallback1(data: any): any {\r\n //this.componentData1 = JSON.stringify(data);\r\n //}\n\n}\n","import { Injectable, PLATFORM_ID, Inject } from '@angular/core';\nimport { isPlatformBrowser, isPlatformServer } from '@angular/common';\nimport { GlobalRef } from './windowRef.service';\nimport { Http } from '@angular/http';\nimport { LocalStorageService } from './storage.service';\nimport 'rxjs/Rx';\n\n@Injectable()\nexport class AutoCompleteSearchService {\n constructor(private _http: Http, @Inject(PLATFORM_ID) private platformId: Object,\n private _global: GlobalRef, private _localStorageService: LocalStorageService) {\n\n }\n\n getPredictions(url: string, query: string): Promise {\n return new Promise(resolve => {\n this._http.get(url + '?query=' + query\n ).map(res => res.json())\n .subscribe((data: any) => {\n if (data) {\n resolve(data);\n }else {\n resolve(false);\n }\n });\n });\n }\n\n\n getLatLngDetail(url: string, lat: number, lng: number): Promise {\n return new Promise(resolve => {\n this._http.get(url + '?lat=' + lat + '&lng=' + lng\n ).map(res => res.json())\n .subscribe((data: any) => {\n if (data) {\n resolve(data);\n }else {\n resolve(false);\n }\n });\n });\n }\n\n\n getPlaceDetails(url: string, placeId: string): Promise {\n return new Promise(resolve => {\n this._http.get(url + '?query=' + placeId\n ).map(res => res.json())\n .subscribe((data: any) => {\n if (data) {\n resolve(data);\n }else {\n resolve(false);\n }\n });\n });\n }\n\n getGeoCurrentLocation(): Promise {\n return new Promise(resolve => {\n if (isPlatformBrowser(this.platformId)) {\n let _window: any = this._global.nativeGlobal;\n if (_window.navigator.geolocation) {\n _window.navigator.geolocation.getCurrentPosition((pos) => {\n let latlng: any = {lat: parseFloat(pos.coords.latitude + ''), lng: parseFloat(pos.coords.longitude + '')};\n resolve(latlng);\n });\n }else {\n resolve(false);\n }\n }else {\n resolve(false);\n }\n });\n }\n\n getGeoLatLngDetail(latlng: any): Promise {\n return new Promise(resolve => {\n if (isPlatformBrowser(this.platformId)) {\n let _window: any = this._global.nativeGlobal;\n let geocoder: any = new _window.google.maps.Geocoder;\n geocoder.geocode({'location': latlng}, (results, status) => {\n if (status === 'OK') {\n this.getGeoPlaceDetail(results[0].place_id).then((result) => {\n if (result) {\n resolve(result);\n }else {\n resolve(false);\n }\n });\n } else {\n resolve(false);\n }\n });\n }else {\n resolve(false);\n }\n });\n }\n\n getGeoPrediction(params: any): Promise {\n return new Promise(resolve => {\n if (isPlatformBrowser(this.platformId)) {\n let _window: any = this._global.nativeGlobal;\n let placesService: any = new _window.google.maps.places.AutocompleteService();\n let queryInput: any = {};\n let promiseArr: any = [];\n if (params.countryRestriction.length) {\n queryInput = {\n input: params.query,\n componentRestrictions: {country: params.countryRestriction},\n };\n }else {\n queryInput = {\n input: params.query\n };\n }\n if (params.geoLocation) {\n queryInput.location = new _window.google.maps.LatLng(parseFloat( params.geoLocation[0] ), parseFloat( params.geoLocation[1] ));\n queryInput.radius = params.radius;\n }\n if (params.geoTypes.length) {\n for (let i: number = 0; i < params.geoTypes.length; i++) {\n let _tempQuery: any = queryInput;\n _tempQuery['types'] = new Array(params.geoTypes[i]);\n promiseArr.push(this.geoPredictionCall(placesService, _tempQuery));\n }\n }else {\n promiseArr.push(this.geoPredictionCall(placesService, queryInput));\n }\n\n Promise.all(promiseArr).then(values => {\n let val: any = values;\n if (val.length > 1) {\n let _tempArr: any = [];\n for (let j: number = 0; j < val.length; j++) {\n if (val[j] && val[j].length) {\n _tempArr = _tempArr.concat(val[j]);\n }\n }\n _tempArr = this.getUniqueResults(_tempArr);\n resolve(_tempArr);\n }else {\n resolve(values[0]);\n }\n });\n }else {\n resolve(false);\n }\n });\n }\n\n getGeoPlaceDetail(placeId: string): Promise {\n return new Promise(resolve => {\n if (isPlatformBrowser(this.platformId)) {\n let _window: any = this._global.nativeGlobal;\n let placesService: any = new _window.google.maps.places.PlacesService(document.createElement('div'));\n placesService.getDetails({'placeId': placeId}, (result: any, status: any) => {\n if (result == null || result.length === 0) {\n this.getGeoPaceDetailByReferance(result.referance).then((referanceData: any) => {\n if (!referanceData) {\n resolve(false);\n }else {\n resolve(referanceData);\n }\n });\n }else {\n resolve(result);\n }\n });\n }else {\n resolve(false);\n }\n });\n }\n\n getGeoPaceDetailByReferance(referance: string): Promise {\n return new Promise(resolve => {\n if (isPlatformBrowser(this.platformId)) {\n let _window: any = this._global.nativeGlobal;\n let placesService: any = new _window.google.maps.places.PlacesService();\n placesService.getDetails({'reference': referance}, (result: any, status: any) => {\n if (status === _window.google.maps.places.PlacesServiceStatus.OK) {\n resolve(result);\n }else {\n resolve(false);\n }\n });\n }else {\n resolve(false);\n }\n });\n }\n\n addRecentList(localStorageName: string, result: any, itemSavedLength: number): any {\n this.getRecentList(localStorageName).then((data: any) => {\n if (data) {\n for (let i: number = 0; i < data.length; i++) {\n if (data[i].description === result.description) {\n data.splice(i, 1);\n break;\n }\n }\n data.unshift(result);\n if (data.length > itemSavedLength) {\n data.pop();\n }\n this._localStorageService.setItem(localStorageName, JSON.stringify(data));\n }\n });\n };\n\n\n getRecentList(localStorageName: string): Promise {\n return new Promise(resolve => {\n let value: any = this._localStorageService.getItem(localStorageName);\n if (value) {\n value = JSON.parse(value);\n } else {\n value = [];\n }\n resolve(value);\n });\n }\n\n private getUniqueResults(arr: any): any {\n return Array.from(arr.reduce((m, t) => m.set(t.place_id, t), new Map()).values());\n }\n\n private geoPredictionCall(placesService: any, queryInput: any): Promise {\n let _window: any = this._global.nativeGlobal;\n return new Promise(resolve => {\n placesService.getPlacePredictions(queryInput, (result: any, status: any) => {\n if (status === _window.google.maps.places.PlacesServiceStatus.OK) {\n resolve(result);\n }else {\n resolve(false);\n }\n });\n });\n }\n\n}\n","import { Injectable } from '@angular/core';\n\n@Injectable()\nexport class LocalStorageService {\n\n setItem(key: any, value: any) : any {\n localStorage.setItem(key, value);\n }\n\n getItem(key: any): any {\n return localStorage.getItem(key);\n\n }\n\n removeItem(key: any): any {\n localStorage.removeItem(key);\n }\n\n}\n","export interface MyGlobal {\n\n}\n\nexport abstract class GlobalRef {\n abstract get nativeGlobal(): MyGlobal;\n}\n\nexport class BrowserGlobalRef extends GlobalRef {\n get nativeGlobal(): MyGlobal {\n \treturn window as MyGlobal;\n }\n}\n","import { Directive, ElementRef, AfterViewInit, Input, Renderer, OnChanges } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[focus]'\r\n})\r\nexport class FocusDirective implements OnChanges {\r\n\r\n @Input('focus') focus: boolean;\r\n \r\n constructor(private elementRef: ElementRef) { };\r\n\r\n ngOnChanges() {\r\n if (this.focus) {\r\n setTimeout(() => { this.elementRef.nativeElement.focus(); }, 0);\r\n };\r\n }\r\n\r\n}","import { Directive, ElementRef, HostListener, Output, EventEmitter, Self, Input } from '@angular/core';\r\nimport { NgControl, FormControl } from '@angular/forms';\r\n\r\n@Directive({\r\n selector: 'input[numbersOnly]'\r\n})\r\nexport class NumbersOnlyDirective {\r\n\r\n constructor(private _el: ElementRef, @Self() private ngControl: NgControl) { }\r\n\r\n @HostListener('input', ['$event']) onInputChange(event) {\r\n const initalValue = this._el.nativeElement.value;\r\n this.ngControl.control.setValue(initalValue.replace(/[^0-9]*/g, '')); \r\n\r\n if (initalValue !== this._el.nativeElement.value) {\r\n event.stopPropagation();\r\n }\r\n }\r\n\r\n}","import { FormArray, FormControl, FormGroup, ValidationErrors } from '@angular/forms';\r\n\r\nexport class CustomValidators {\r\n static vaildPhone(c: FormControl): ValidationErrors {\r\n const phone = c.value;\r\n var reg = /^\\(?([0-9]{3})\\)?[-. ]?([0-9]{3})[-. ]?([0-9]{4})$/\r\n var isValid = true;\r\n const message = {\r\n 'vaildPhone': {\r\n 'message': 'Should be valid phone.'\r\n }\r\n };\r\n if (reg.test(phone)) {\r\n isValid = true;\r\n }\r\n else {\r\n isValid = false;\r\n }\r\n return isValid ? null : message;\r\n }\r\n \r\n static noZeroLength(c: FormControl): ValidationErrors\r\n {\r\n const val = c.value;\r\n\r\n const IsValid = val ? (!val.length ? true : \r\n val.length > 0 ? true : false): false;\r\n\r\n const message = {\r\n 'noZeroLength': {\r\n 'message': 'Invalid'\r\n }\r\n };\r\n\r\n return IsValid ? null : message; \r\n }\r\n}\r\n","\r\nimport { Injectable } from '@angular/core';\r\nimport { CanActivate, ActivatedRouteSnapshot, RouterStateSnapshot } from '@angular/router';\r\n\r\n@Injectable()\r\nexport class AppModeGuard implements CanActivate {\r\n \r\n canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot) {\r\n let rawAppInfo = sessionStorage.getItem('id');\r\n let statusAllowedToEdit: Array = [\"Submitted\", \"In Progress\"];\r\n\r\n let canEdit: boolean = false;\r\n if (rawAppInfo) {\r\n let appInfo = JSON.parse(rawAppInfo);\r\n if ((appInfo.appStatus && appInfo.appStatus == 'Draft') ||\r\n (appInfo.appStatus && appInfo.appMode && statusAllowedToEdit.indexOf(appInfo.appStatus) >= 0 && appInfo.appMode == 'Edit')) {\r\n canEdit = true;\r\n }\r\n }\r\n\r\n return canEdit;\r\n }\r\n}","import { XHRBackend, Http, RequestOptions } from \"@angular/http\";\r\nimport { HttpInterceptor } from \"./http.interceptor\";\r\n\r\n\r\nexport function httpFactory(xhrBackend: XHRBackend, requestOptions: RequestOptions): Http {\r\n return new HttpInterceptor(xhrBackend, requestOptions);\r\n}","import { Injectable } from \"@angular/core\";\r\nimport { ConnectionBackend, RequestOptions, Request, RequestOptionsArgs, Response, Http, Headers } from \"@angular/http\";\r\nimport { Observable } from \"rxjs/Rx\";\r\n\r\n@Injectable()\r\nexport class HttpInterceptor extends Http {\r\n constructor(backend: ConnectionBackend, defaultOptions: RequestOptions) {\r\n super(backend, defaultOptions);\r\n }\r\n\r\n request(url: string | Request, options?: RequestOptionsArgs): Observable {\r\n return super.request(url, options);\r\n }\r\n\r\n get(url: string, options?: RequestOptionsArgs): Observable {\r\n return super.get(url, this.getRequestOptionArgs(options));\r\n }\r\n\r\n post(url: string, body: string, options?: RequestOptionsArgs): Observable {\r\n return super.post(url, body, this.getRequestOptionArgs(options));\r\n }\r\n\r\n private getRequestOptionArgs(options?: RequestOptionsArgs): RequestOptionsArgs {\r\n if (options == null) {\r\n options = new RequestOptions();\r\n }\r\n if (options.headers == null) {\r\n options.headers = new Headers();\r\n }\r\n options.headers.append('Cache-Control', 'no-cache, no-store, must-revalidate, max-age=0');\r\n options.headers.append('Pragma', 'no-cache');\r\n options.headers.append('Expires', '-1');\r\n //options.headers.append('If-Modified-Since', 'Mon, 16 Jan 2017 05:00:00 GMT');\r\n\r\n return options;\r\n }\r\n}","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'bldgtrackingtype'\n})\nexport class BldgtrackingtypePipe implements PipeTransform {\n \n transform(ProjectBuildingTracking: Array, trackingType?: number): any {\n \n if (trackingType == null || ProjectBuildingTracking == null) { \r\n //return ProjectBuildingTracking;\r\n return [null];\r\n }\r\n /*\r\n return ProjectBuildingTracking.filter(function (entry) {\r\n if (entry.BuildingTrackingType != null) {\r\n \r\n if (entry.BuildingTrackingType.SeqNo == trackingType) {\r\n return entry.BuildingTrackingType.SeqNo == trackingType;\r\n //return entry;\r\n } \r\n }\r\n })\n */\n\n return ProjectBuildingTracking.filter(function (entry) {\r\n if (entry.BuildingTrackingType != null) {\r\n\r\n if (entry.BuildingTrackingType.SeqNo == trackingType) {\r\n return entry.BuildingTrackingType.SeqNo == trackingType;\r\n //return entry;\r\n }\r\n }\r\n })\n\n }\n\n}","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'entitytype'\n})\nexport class EntitytypePipe implements PipeTransform {\n\n transform(entities: Array, entityType?: number): any {\n if (entityType == null || entities == null) return entities;\r\n\r\n return entities.filter(function (entiry) {\r\n if (entiry.PartyRoleLookup != null )\r\n return entiry.PartyRoleLookup.SeqNo == entityType;\r\n })\n }\n\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'orderBy'\n})\nexport class OrderByPipe implements PipeTransform {\n\n transform(records: Array, args?: any): any {\r\n if (records == null || args == null || args.property == null)\r\n return records;\r\n\r\n return records.sort(function (a, b) {\r\n if (a[args.property] < b[args.property]) {\r\n return -1 * args.direction;\r\n }\r\n else if (a[args.property] > b[args.property]) {\r\n return 1 * args.direction;\r\n }\r\n else {\r\n return 0;\r\n }\r\n });\r\n };\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'orderByUpload'\n})\nexport class OrderByUploadPipe implements PipeTransform {\n\n transform(records: Array, args?: any): any {\r\n if (records == null || args == null || args.property == null || args.noSort)\r\n return records;\r\n\r\n return records.sort(function (a, b) {\r\n let direction: number = (args.direction == 'asc') ? 1 : -1;\r\n\r\n let leftValue = a[args.property] || '';\r\n let rightValue = b[args.property] || '';\r\n\r\n if (leftValue < rightValue) {\r\n return -1 * direction;\r\n }\r\n else if (leftValue > rightValue) {\r\n return 1 * direction;\r\n }\r\n else {\r\n return 0;\r\n }\r\n });\r\n };\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'phone'\n})\nexport class PhonePipe implements PipeTransform {\n\n transform(value: any, args?: any): any {\n if (value == null || value.length == 0)\r\n return \"\";\r\n\r\n let newPhone = '';\r\n switch (value.length) {\r\n case 10:\r\n case 9:\r\n case 8:\r\n case 7:\r\n newPhone = '(' + value.slice(0, 3) + ') ' + value.slice(3, 6) + '-' + value.slice(6);\r\n break;\r\n case 6:\r\n case 5:\r\n case 4:\r\n newPhone = '(' + value.slice(0, 3) + ') ' + value.slice(3, 6);\r\n break;\r\n default:\r\n newPhone = value;\r\n break;\r\n\r\n }\r\n return newPhone;\n }\n\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'tin'\n})\nexport class TinPipe implements PipeTransform {\n\n transform(value: any, args?: any): any {\n if (value == null || value.length == 0)\r\n return \"\";\r\n\r\n return value.slice(0, 2) + '-' + value.slice(2);\n }\n\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'zip'\n})\nexport class ZipPipe implements PipeTransform {\n\n transform(value: any, args?: any): any {\n if (value == null || value.length == 0)\r\n return \"\";\r\n\r\n let newZip = '';\r\n switch (value.length) {\r\n case 9:\r\n newZip = value.slice(0, 5) + '-' + value.slice(5);\r\n break;\r\n case 5:\r\n newZip = value;\r\n break;\r\n default:\r\n newZip = value;\r\n break;\r\n\r\n }\r\n return newZip;\n }\n\n}","// NG 2 \r\nimport { Injectable, OnInit } from '@angular/core';\r\nimport { Http, Response, Headers, RequestOptions } from '@angular/http';\r\nimport { Observable } from 'rxjs/Rx';\r\nimport 'rxjs/add/operator/map';\r\nimport 'rxjs/add/operator/catch';\r\nimport 'rxjs/add/observable/throw';\r\nimport { ProgressService } from './progress.service';\r\nimport { BaseService } from './base.service';\r\n\r\n// APP\r\nimport { AuthenticationService } from './authentication.service';\r\nimport { SharedService } from './shared.service';\r\nimport { AppConfig } from '../app.config';\r\n\r\n@Injectable()\r\nexport class AccountService extends BaseService {\r\n\r\n _baseUrl: string = AppConfig.config.defaultServicePath + 'MIHUser/';\r\n\r\n constructor(private http: Http\r\n , private authenticationService: AuthenticationService\r\n , private sharedService: SharedService\r\n , private progressService: ProgressService) {\r\n super();\r\n }\r\n\r\n saveAccount(account) {\r\n this.progressService.add();\r\n //let headers = new Headers({ 'Content-Type': 'application/json' });\r\n //headers.append('token', \"{sessionId: 12345, user: 'GUEST'}\");\r\n\r\n return this.http.post(this._baseUrl + 'UpdateAccount', account, this.addHeader())\r\n .map((resp: Response) => resp.json())\r\n .catch(this.errorHandler)\r\n .finally(() => this.progressService.remove())\r\n }\r\n \r\n getAccountByUserId(userId) {\r\n this.progressService.add(); \r\n return this.http.get(this._baseUrl + 'GetUserAccount?userId=' + userId, this.addHeader())\r\n .map((resp: Response) => resp.json())\r\n .catch(this.errorHandler)\r\n .finally(() => this.progressService.remove())\r\n }\r\n\r\n errorHandler(error: Response) {\r\n if (error.status == 401)\r\n this.sharedService.removeData('currentUser');\r\n\r\n if (error.statusText == null || error.statusText == '')\r\n error.statusText = 'Server Error';\r\n\r\n console.log(error.statusText);\r\n return Observable.throw(error || { statusText: 'Server Error' });\r\n }\r\n\r\n\r\n}","// NG 2\nimport { Injectable } from '@angular/core';\nimport { Router, CanActivate, ActivatedRouteSnapshot, RouterStateSnapshot } from '@angular/router';\n\n// APP\nimport { AppConfig } from '../app.config';\nimport { AuthenticationService } from './authentication.service';\n\n\n@Injectable()\nexport class AuthGuardService implements CanActivate {\n\n constructor(private router: Router, private authService: AuthenticationService) { }\n \n canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot) { \n\n let isLoggedIn = this.authService.isLoggedIn(); \n if (isLoggedIn === true) { \n return true;\n }\n else {\n window.location.href = AppConfig.config.cpuiLogoutUrl; //nycid 2.0 clear the DOITT session \n //this.router.navigate([''], { queryParams: { returnUrl: state.url } });\n //return false; \n }\n\n }\n\n}\n","// NG 2\nimport { Injectable, OnInit } from '@angular/core';\nimport { Http, Response, Headers, RequestOptions} from '@angular/http';\n//import { LocalStorageService } from 'angular-2-local-storage';\nimport { Subject } from 'rxjs/Subject';\nimport { Observable } from 'rxjs/Rx';\nimport 'rxjs/add/operator/map';\nimport 'rxjs/add/operator/catch';\nimport 'rxjs/add/observable/throw';\n\n// APP\nimport { BaseService } from './base.service';\nimport { AppConfig } from '../app.config';\n\n@Injectable()\nexport class AuthenticationService extends BaseService {\n _baseUrl = AppConfig.config.defaultServicePath;\n _baseCpuiUrl: string = AppConfig.config.baseCPUIUrl; \n\n constructor(private http: Http) {\n super();\n }\n\n getLoginInfo() {\n\n let headers = new Headers();\n headers.append('Content-Type', 'application/json');\n\n return this.http.post(this._baseCpuiUrl + 'GetLoginInfo', JSON.parse(JSON.stringify({ isSessionActive: '' } || null)), this.addHeader())\n .map(res => {\n\n if (res.status === 200) {\n let body = JSON.parse(res.text());\n if (body != null && body.d != null && body.d.LoginUserInfo != null) {\n // set the loggedinUser info when login success\n sessionStorage.setItem('loggedInUser', JSON.stringify(body.d.LoginUserInfo));\n return body;\n }\n else if (body != null && body.d != null && (body.d.LoginStatus == \"Logout\" || body.d.LoginStatus == \"ServerError\")) {\n this.logout();\n }\n else {\n return Observable.throw(body.message);\n }\n }\n })\n .catch(this.errorHandler);\n }\n\n getTokenDetail(token) {\n return this.http.get(this._baseUrl + 'MIHUser/GetTokenDetail', this.addHeader())\n .map(res => res.json())\n .catch(this.errorHandler);\r\n }\n\n getUserDetail(model) {\n return this.http.post(this._baseCpuiUrl + 'GetUowId', JSON.parse(JSON.stringify(model)))\n .map(res => res.json())\n .catch(this.errorHandler);\r\n }\n //getHeaderHTML() {\n // let headers = new Headers();\n // headers.append('Content-Type', 'application/json');\n\n // return this.http.post(this._baseCpuiUrl + 'GetHeaderHTML', JSON.parse(JSON.stringify({ appName: 'HPD Mandatory Inclusionary Housing' } || null)))\n // .map(res => res.json())\n // .catch(this.errorHandler);\n //}\n\n getUpdateProfileUrl() {\n return this.http.post(this._baseCpuiUrl + 'GetUpdateProfileUrl', null, this.addHeader())\n .map(res => res.json())\n .catch(this.errorHandler);\n }\n\n getUpdateProfile() { \r\n return this.http.post(this._baseCpuiUrl + 'UpdateProfile', null, this.addHeader())\r\n .map(res => res.json())\r\n .catch(this.errorHandler);\n }\n\n logout() {\n sessionStorage.clear();\n window.location.href = './';\n }\n\n isLoggedIn() {\n let isTrur: boolean = false;\n if (sessionStorage.getItem(\"loggedInUser\") != null)\n isTrur = true;\n\n return isTrur;\n }\n \n getUser() {\n\n let user = sessionStorage.getItem('loggedInUser');\n if (user != null)\n return JSON.parse(user);\n else\n return null;\n }\n}","// NG 2\r\nimport { Injectable } from '@angular/core';\r\n//import { Route, Router, ActivatedRoute } from '@angular/router';\r\nimport { Route, Router, ActivatedRoute, NavigationEnd, NavigationStart } from '@angular/router';\r\nimport { Http, Response, Headers, RequestOptions, ResponseContentType } from '@angular/http';\r\nimport { Observable } from 'rxjs/Rx';\r\nimport 'rxjs/add/operator/map';\r\nimport 'rxjs/add/operator/catch';\r\nimport 'rxjs/add/observable/throw';\r\n\r\nimport { AppConfig } from '../app.config';\r\n\r\n@Injectable()\r\nexport class BaseService {\r\n public static config: any;\r\n router: Router;\r\n constructor() { \r\n }\r\n\r\n errorHandler(error: Response) {\r\n if (error.status == 401) {\r\n \r\n sessionStorage.removeItem('loggedInUser');\r\n window.location.href = '/MIH/#/login?session=0';\t\t\r\n return Observable.throw({ ExceptionMessage: 'Session is expired, please login again!' });\r\n }\r\n else {\r\n if (error.status == 0) {\r\n return Observable.throw({ ExceptionMessage: \"Unable to connect to server\"});\r\n }\r\n else {\r\n var error1 = error.json();\r\n if (error1.ExceptionMessage == 'SessionNotExists: RetrieveSession') {\r\n var messge = error1.ExceptionMessage; //bug 53567-webAPI Session Timeout-\r\n window.location.href = '/MIH/#/login?session=0';\r\n return Observable.throw({ ExceptionMessage: 'Session is expired, , please login again!' });\r\n\r\n }\r\n\r\n return Observable.throw(error || { ExceptionMessage: ' Internal Server Error' });\r\n }\r\n //if (error.statusText == null || error.statusText == '')\r\n // error.statusText = 'Server Error';\r\n\r\n //console.log(error.statusText);\r\n //return Observable.throw(error || { statusText: 'Server Error' });\r\n }\r\n }\r\n \r\n blobRequestOptions() {\r\n let headers = new Headers({ 'Content-Type': 'application/json', });\r\n headers.append('token', 'Bearer ' + sessionStorage.getItem('token'));\r\n let options = new RequestOptions({ 'headers': headers, responseType: ResponseContentType.Blob });\r\n return options;\r\n }\r\n\r\n addHeader() {\r\n let headers = new Headers({ 'Content-Type': 'application/json', });\r\n headers.append('token', 'Bearer ' + sessionStorage.getItem('token'));\r\n let options = new RequestOptions({ 'headers': headers });\r\n\r\n return options;\r\n }\r\n\r\n getUser() {\r\n \r\n var user = sessionStorage.getItem('loggedInUser');\r\n if (user != null)\r\n return JSON.parse(user);\r\n else\r\n return null;\r\n } \r\n}\r\n","// NG 2\r\nimport { Injectable, OnInit } from '@angular/core';\r\nimport { Http, Response, } from '@angular/http';\r\nimport { Observable } from 'rxjs/Rx';\r\nimport 'rxjs/add/operator/map';\r\nimport 'rxjs/add/operator/catch';\r\nimport 'rxjs/add/observable/throw';\r\n\r\n// APP\r\nimport { AppConfig } from '../app.config';\r\nimport { ProgressService } from './progress.service';\r\nimport { BaseService } from './base.service';\r\n\r\n@Injectable()\r\nexport class BuildingService extends BaseService {\r\n\r\n _baseUrl: string = AppConfig.config.defaultServicePath + 'MIHBuilding/'; \r\n \r\n \r\n\r\n constructor(private http: Http\r\n , private progressService: ProgressService) {\r\n super();\r\n }\r\n\r\n saveBuilding(building) {\r\n this.progressService.add();\r\n return this.http.post(this._baseUrl + 'SaveBuilding', building, this.addHeader())\r\n .map((resp: Response) => resp.json())\r\n .catch(this.errorHandler)\r\n .finally(() => this.progressService.remove())\r\n }\r\n\r\n // saveSiteBuilding(building) {\r\n // this.progressService.add();\r\n // return this.http.post(this._baseUrl + 'saveSite', building, this.addHeader())\r\n // .map((resp: Response) => resp.json())\r\n // .catch(this.errorHandler)\r\n // .finally(() => this.progressService.remove())\r\n // }\r\n\r\n getBuildingsByProjectId(projectId) {\r\n this.progressService.add();\r\n \r\n return this.http.get(this._baseUrl + 'GetBuildings?projectId=' + projectId, this.addHeader())\r\n .map((resp: Response) => resp.json())\r\n .catch(this.errorHandler)\r\n .finally(() => this.progressService.remove())\r\n }\r\n\r\n getBuildingByProjBldgId(projectBuildingId) {\r\n this.progressService.add();\r\n return this.http.get(this._baseUrl + 'GetBuildingByProjectBuildingId?projectBuildingId=' + projectBuildingId, this.addHeader())\r\n .map((resp: Response) => resp.json())\r\n .catch(this.errorHandler)\r\n .finally(() => this.progressService.remove())\r\n }\r\n\r\n GetBuildingByProjectBuildingIdAndType(projectBuildingId, questionType) {\r\n this.progressService.add();\r\n return this.http.get(this._baseUrl + 'GetBuildingByProjectBuildingId?projectBuildingId=' + projectBuildingId + '&ProjBuildingTrackingType=' + questionType, this.addHeader())\r\n .map((resp: Response) => resp.json())\r\n .catch(this.errorHandler)\r\n .finally(() => this.progressService.remove())\r\n }\r\n\r\n\r\n\r\n\r\n deleteBuilding(projectId, buildingId) {\r\n this.progressService.add();\r\n return this.http.get(this._baseUrl + 'DeleteBuilding?projectId=' + projectId + '&buildingId=' + buildingId, this.addHeader()) \r\n .map((resp: Response) => resp.json())\r\n .catch(this.errorHandler)\r\n .finally(() => this.progressService.remove())\r\n }\r\n\r\n getBuildingsByBBL(boro, block, lot) {\r\n this.progressService.add();\r\n return this.http.get(this._baseUrl + 'GetBuildingsByBBL?boro=' + boro + '&block=' + block + '&lot=' + lot, this.addHeader())\r\n .map((resp: Response) => resp.json())\r\n .catch(this.errorHandler)\r\n .finally(() => this.progressService.remove())\r\n }\r\n\r\n GetSitesToAddToProjectBuilding(projectId, projectBuildingId) {\r\n this.progressService.add();\r\n return this.http.get(this._baseUrl + 'GetSitesToAddToProjectBuilding?projectId=' + projectId + '&projectBuildingId=' + projectBuildingId, this.addHeader())\r\n .map((resp: Response) => resp.json())\r\n .catch(this.errorHandler)\r\n .finally(() => this.progressService.remove())\r\n }\r\n\r\n GetAllDevSiteAssociationsforProj(projectId) {\r\n this.progressService.add();\r\n return this.http.get(this._baseUrl + 'GetAllDevSiteAssociationsforProj?projectId=' + projectId, this.addHeader())\r\n .map((resp: Response) => resp.json())\r\n .catch(this.errorHandler)\r\n .finally(() => this.progressService.remove())\r\n }\r\n\r\n\r\n GetSitesToAddToDevProjectBuilding(projectId, devProjectBuildingId) {\r\n this.progressService.add();\r\n return this.http.get(this._baseUrl + 'GetSitesToAddToDevProjectBuilding?projectId=' + projectId + '&devProjectBuildingId=' + devProjectBuildingId, this.addHeader())\r\n .map((resp: Response) => resp.json())\r\n .catch(this.errorHandler)\r\n .finally(() => this.progressService.remove())\r\n }\r\n\r\n \r\n AssocaiateDevAndSite(devSiteAssociations) {\r\n \r\n this.progressService.add();\r\n return this.http.post(this._baseUrl + 'AssocaiateDevAndSite', devSiteAssociations, this.addHeader())\r\n .map((resp: Response) => resp.json())\r\n .catch(this.errorHandler)\r\n .finally(() => this.progressService.remove())\r\n }\r\n\r\n DeleteDevSiteAssociation(devSiteAssociationId) {\r\n this.progressService.add();\r\n return this.http.get(this._baseUrl + 'DeleteDevSiteAssociation?devSiteAssociationId=' + devSiteAssociationId, this.addHeader())\r\n .map((resp: Response) => resp.json())\r\n .catch(this.errorHandler)\r\n .finally(() => this.progressService.remove())\r\n }\r\n\r\n GetBuildingInfoOnlyByProjectBuildingId(projectBuildingId) {\r\n this.progressService.add();\r\n return this.http.get(this._baseUrl + 'GetBuildingInfoOnlyByProjectBuildingId?projectBuildingId=' + projectBuildingId, this.addHeader())\r\n .map((resp: Response) => resp.json())\r\n .catch(this.errorHandler)\r\n .finally(() => this.progressService.remove())\r\n }\r\n\r\n}\r\n","// NG 2\r\nimport { Injectable, OnInit } from '@angular/core';\r\nimport { Http, Response, Headers, RequestOptions } from '@angular/http';\r\nimport { Observable } from 'rxjs/Rx';\r\nimport 'rxjs/add/operator/map';\r\nimport 'rxjs/add/operator/catch';\r\nimport 'rxjs/add/observable/throw';\r\n\r\n\r\n// APP\r\nimport { AppConfig } from '../app.config';\r\nimport { AuthenticationService } from './authentication.service';\r\nimport { ProgressService } from './progress.service';\r\nimport { BaseService } from './base.service';\r\nimport { SaveEntityContact, AppModeUpdateModel, AppMode } from './../viewmodel';\r\nimport { SaveSiteEntityContact } from './../viewmodel';\r\nimport { DeleteEntity } from './../viewmodel';\r\n\r\n@Injectable()\r\nexport class EntityService extends BaseService { \r\n _baseUrl: string = AppConfig.config.defaultServicePath + 'MIHEntity/';\r\n _baseNotificationServiceUrl: string = AppConfig.config.defaultServicePath + 'Notification/'; \r\n _baseNotificationUrl: string = AppConfig.config.notificationUrl;\r\n\r\n constructor(private http: Http\r\n , private authenticationService: AuthenticationService\r\n , private progressService: ProgressService) {\r\n super();\r\n }\r\n\r\n\r\n saveEntity(entity) {\r\n this.progressService.add();\r\n \r\n return this.http.post(this._baseUrl + 'SaveEntity', entity, this.addHeader())\r\n .map((resp: Response) => resp.json())\r\n .catch(this.errorHandler)\r\n .finally(() => this.progressService.remove())\r\n }\r\n\r\n getEntities(projectId) {\r\n // this.progressService.add(); \r\n return this.http.get(this._baseUrl + 'GetEntities?projectId=' + projectId, this.addHeader())\r\n .map((resp: Response) => resp.json())\r\n .catch(this.errorHandler)\r\n //.finally(() => this.progressService.remove())\r\n \r\n }\r\n\r\n getActiveEntitiesAndCurrentPendingEntity(projectId, entityId, partyId, partyStagingId, partyRoleSeqNo) {\r\n this.progressService.add(); \r\n\r\n return this.http.get(this._baseUrl + 'GetActiveEntitiesAndCurrentPendingEntity?projectId=' + projectId + '&entityId=' + entityId + '&partyId=' + partyId + '&partyStagingId=' + partyStagingId + '&partyRoleSeqNo=' + partyRoleSeqNo, this.addHeader())\r\n .map((resp: Response) => resp.json())\r\n .catch(this.errorHandler)\r\n .finally(() => this.progressService.remove())\r\n }\r\n\r\n getContacts(entityAdded) {\r\n this.progressService.add(); \r\n //return this.http.get(this._baseUrl + 'GetEntityContacts?entityAdded=' + entityAdded, this.addHeader())\r\n return this.http.post(this._baseUrl + 'GetEntityContacts', entityAdded, this.addHeader())\r\n .map((resp: Response) => resp.json())\r\n .catch(this.errorHandler)\r\n .finally(() => this.progressService.remove()) \r\n }\r\n\r\n getSiteEntityContacts(entityAdded) {\r\n\r\n this.progressService.add(); \r\n return this.http.post(this._baseUrl + 'GetSiteEntityContacts', entityAdded, this.addHeader())\r\n .map((resp: Response) => resp.json())\r\n .catch(this.errorHandler)\r\n .finally(() => this.progressService.remove())\r\n }\r\n\r\n getEntityById(entityId) {\r\n this.progressService.add(); \r\n return this.http.get(this._baseUrl + 'GetEntitiyByEntityId?entityId=' + entityId, this.addHeader())\r\n .map((resp: Response) => resp.json())\r\n .catch(this.errorHandler)\r\n .finally(() => this.progressService.remove())\r\n }\r\n\r\n GetMIHProjectDevTeamContactByMIHProjectDevTeamContactID(MIHProjectDevTeamContactID) {\r\n this.progressService.add();\r\n return this.http.get(this._baseUrl + 'GetMIHProjectDevTeamContactByMIHProjectDevTeamContactID?MIHProjectDevTeamContactID=' + MIHProjectDevTeamContactID, this.addHeader())\r\n .map((resp: Response) => resp.json())\r\n .catch(this.errorHandler)\r\n .finally(() => this.progressService.remove())\r\n }\r\n\r\n deleteDevTeamEntity(entityId, deleteCompanyName, projectId) {\r\n this.progressService.add();\r\n var body: DeleteEntity = new DeleteEntity();\r\n body.projectId = projectId; \r\n body.entityId = entityId;\r\n body.companyName = deleteCompanyName; \r\n \r\n return this.http.post(this._baseUrl + 'DeleteDevTeamEntity', body, this.addHeader())\r\n .map((resp: Response) => resp.json())\r\n .catch(this.errorHandler)\r\n .finally(() => this.progressService.remove())\r\n }\r\n\r\n deleteDevTeamContact(devTeamContactId) {\r\n this.progressService.add();\r\n return this.http.post(this._baseUrl + 'DeleteDevTeamContact', devTeamContactId, this.addHeader())\r\n .map((resp: Response) => resp.json())\r\n .catch(this.errorHandler)\r\n .finally(() => this.progressService.remove())\r\n }\r\n \r\n deleteSiteTeamEntity(siteTeamEntityId) {\r\n this.progressService.add();\r\n return this.http.post(this._baseUrl + 'DeleteSiteTeamEntity', siteTeamEntityId, this.addHeader())\r\n .map((resp: Response) => resp.json())\r\n .catch(this.errorHandler)\r\n .finally(() => this.progressService.remove())\r\n }\r\n\r\n deleteSiteTeamContact(siteTeamContactId) {\r\n\r\n this.progressService.add();\r\n return this.http.post(this._baseUrl + 'DeleteSiteTeamContact', siteTeamContactId, this.addHeader())\r\n .map((resp: Response) => resp.json())\r\n .catch(this.errorHandler)\r\n .finally(() => this.progressService.remove())\r\n }\r\n\r\n getUserProjects() { \r\n this.progressService.add();\r\n return this.http.get(this._baseUrl + 'GetEntityByUserId', this.addHeader())\r\n .map((resp: Response) => resp.json())\r\n .catch(this.errorHandler)\r\n .finally(() => this.progressService.remove())\r\n }\r\n\r\n getProjectDetailById(projectId) { \r\n //this.progressService.add();\r\n return this.http.get(this._baseUrl + 'GetProjectDetailById?projectId=' + projectId, this.addHeader())\r\n .map((resp: Response) => resp.json())\r\n .catch(this.errorHandler)\r\n //.finally(() => this.progressService.remove())\r\n }\r\n\r\n getMaintenanceNotification() {\r\n this.progressService.add();\r\n return this.http.get(this._baseNotificationServiceUrl + 'MaintenanceNotification', this.addHeader())\r\n .map((resp: Response) => resp.json())\r\n .catch(this.errorHandler)\r\n .finally(() => this.progressService.remove())\r\n }\r\n\r\n getNotification() {\r\n this.progressService.add();\r\n return this.http.get(this._baseNotificationUrl)\r\n .map((resp: Response) => resp.json())\r\n .catch(this.errorHandler)\r\n .finally(() => this.progressService.remove())\r\n }\r\n\r\n addApplicationName(addAppName) {\r\n this.progressService.add();\r\n return this.http.post(this._baseUrl + 'AddApplication', addAppName, this.addHeader())\r\n //return this.http.post(this._baseUrl + 'AddApplication', JSON.parse(JSON.stringify({ addAppName: addAppName } || null)), this.addHeader())\r\n .map((resp: Response) => resp.json())\r\n .catch(this.errorHandler)\r\n .finally(() => this.progressService.remove())\r\n\r\n }\r\n\r\n submitApplication(projectId) {\r\n this.progressService.add();\r\n \r\n return this.http.post(this._baseUrl + 'SubmitApplication', projectId, this.addHeader())\r\n // return this.http.post(this._baseUrl + 'SubmitApplication', addAppName, this.addHeader())\r\n .map((resp: Response) => resp.json())\r\n .catch(this.errorHandler)\r\n .finally(() => this.progressService.remove())\r\n }\r\n\r\n searchAddress(entity) {\r\n\r\n this.progressService.add();\r\n //return this.http.post(this._baseUrl + 'GetVerifiedPartyByLegalNameTaxIdDetails', entity, this.addHeader())\r\n return this.http.post(this._baseUrl + 'SearchAddress', entity, this.addHeader())\r\n .map((resp: Response) => resp.json())\r\n .catch(this.errorHandler)\r\n .finally(() => this.progressService.remove())\r\n }\r\n\r\n saveEntityContact(contact) {\r\n this.progressService.add();\r\n\r\n return this.http.post(this._baseUrl + 'saveEntityContact', contact, this.addHeader())\r\n .map((resp: Response) => resp.json())\r\n .catch(this.errorHandler)\r\n .finally(() => this.progressService.remove())\r\n }\r\n\r\n saveNewEntityContact(contact, entityParam) {\r\n this.progressService.add(); \r\n var body: SaveEntityContact = new SaveEntityContact();\r\n body.contact = contact;\r\n body.entityParamForContact = entityParam;\r\n\r\n return this.http.post(this._baseUrl + 'saveNewEntityContact', body, this.addHeader())\r\n .map((resp: Response) => resp.json())\r\n .catch(this.errorHandler)\r\n .finally(() => this.progressService.remove())\r\n }\r\n\r\n saveSiteEntity(entity) {\r\n this.progressService.add();\r\n return this.http.post(this._baseUrl + 'SaveSiteEntity', entity, this.addHeader())\r\n .map((resp: Response) => resp.json())\r\n .catch(this.errorHandler)\r\n .finally(() => this.progressService.remove())\r\n }\r\n\r\n saveSiteEntityContact(contact) {\r\n this.progressService.add();\r\n return this.http.post(this._baseUrl + 'saveSiteEntityContact', contact, this.addHeader())\r\n .map((resp: Response) => resp.json())\r\n .catch(this.errorHandler)\r\n .finally(() => this.progressService.remove())\r\n }\r\n\r\n SaveNewSiteEntityContact(contact,siteEntityParam) {\r\n this.progressService.add();\r\n var body: SaveSiteEntityContact = new SaveSiteEntityContact();\r\n body.contact = contact;\r\n body.siteEntityParam = siteEntityParam;\r\n\r\n return this.http.post(this._baseUrl + 'SaveNewSiteEntityContact', body, this.addHeader())\r\n .map((resp: Response) => resp.json())\r\n .catch(this.errorHandler)\r\n .finally(() => this.progressService.remove())\r\n }\r\n\r\n\r\n getSiteEntitiyBySiteEntityId(siteentityId) {\r\n this.progressService.add();\r\n \r\n return this.http.get(this._baseUrl + 'GetSiteEntitiyBySiteEntityId?sityEntityId=' + siteentityId, this.addHeader())\r\n .map((resp: Response) => resp.json())\r\n .catch(this.errorHandler)\r\n .finally(() => this.progressService.remove())\r\n }\r\n\r\n //get siteEntityContact\r\n GetMIHProjectBldgDevTeamContactByMIHProjectBldgDevTeamContactID(MIHProjectBldgDevTeamContactID) {\r\n \r\n this.progressService.add();\r\n return this.http.get(this._baseUrl + 'GetMIHProjectBldgDevTeamContactByMIHProjectBldgDevTeamContactID?MIHProjectBldgDevTeamContactID=' + MIHProjectBldgDevTeamContactID, this.addHeader())\r\n .map((resp: Response) => resp.json())\r\n .catch(this.errorHandler)\r\n .finally(() => this.progressService.remove())\r\n }\r\n\r\n getSiteContactBycomContactId(commContactId) {\r\n this.progressService.add();\r\n return this.http.get(this._baseUrl + 'GetSiteContactByCommContactId?commContactId=' + commContactId, this.addHeader())\r\n .map((resp: Response) => resp.json())\r\n .catch(this.errorHandler)\r\n .finally(() => this.progressService.remove())\r\n }\r\n\r\n //GetDevTeamEntitiesForSite(long projectId, long siteProjBuildingId)\r\n getDevTeamEntitiesForSite(projectId, siteProjBuildingId) { \r\n this.progressService.add();\r\n return this.http.get(this._baseUrl + 'GetDevTeamEntitiesForSite?projectId=' + projectId + '&siteProjBuildingId=' + siteProjBuildingId, this.addHeader())\r\n .map((resp: Response) => resp.json())\r\n .catch(this.errorHandler)\r\n .finally(() => this.progressService.remove())\r\n }\r\n\r\n //AssociateDevTeamEntitiestoSite: (long projectId, long siteProjBuildingId, long bldgId, long[] ProjDevTeamIds)\r\n AssociateDevTeamEntitiestoSite(ProjDevTeamIds) {\r\n this.progressService.add();\r\n return this.http.post(this._baseUrl + 'AssociateDevTeamEntitiestoSite', ProjDevTeamIds, this.addHeader())\r\n .map((resp: Response) => resp.json())\r\n .catch(this.errorHandler)\r\n .finally(() => this.progressService.remove())\r\n\r\n }\r\n\r\n\r\n DeleteApplication(projectId) {\r\n this.progressService.add();\r\n return this.http.post(this._baseUrl + 'DeleteApplication', projectId, this.addHeader())\r\n .map((resp: Response) => resp.json())\r\n .catch(this.errorHandler)\r\n .finally(() => this.progressService.remove())\r\n }\r\n\r\n DeleteApplicationAndCleanup(projectId) {\r\n this.progressService.add();\r\n return this.http.post(this._baseUrl + 'DeleteApplicationAndCleanup', projectId, this.addHeader())\r\n .map((resp: Response) => resp.json())\r\n .catch(this.errorHandler)\r\n .finally(() => this.progressService.remove())\r\n }\r\n\r\n changeToEditMode(applicationId: number) { \r\n this.progressService.add();\r\n let body: AppModeUpdateModel = new AppModeUpdateModel();\r\n body.ProjectId = applicationId;\r\n body.Mode = AppMode.Edit;\r\n return this.http.post(this._baseUrl + 'UpdateApplicationMode', body, this.addHeader())\r\n .map((resp: Response) => resp.json())\r\n .catch(this.errorHandler)\r\n .finally(() => this.progressService.remove())\r\n }\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Http, Response, ResponseContentType } from '@angular/http';\r\nimport 'rxjs/add/operator/map';\r\nimport 'rxjs/add/operator/catch';\r\nimport 'rxjs/add/observable/throw';\r\nimport { AppConfig } from '../app.config';\r\nimport { ProgressService } from './progress.service';\r\nimport { BaseService } from './base.service';\r\nimport { MIHDocumentType } from 'app/viewmodel';\r\n\r\n@Injectable()\r\nexport class FilesService extends BaseService {\r\n _baseUrl: string = AppConfig.config.defaultServicePath + 'MIHFile/';\r\n\r\n constructor(\r\n private http: Http\r\n , private progressService: ProgressService) {\r\n super();\r\n }\r\n\r\n getDocumentTypes(projectID: number) {\r\n this.progressService.add();\r\n return this.http.get(this._baseUrl + 'GetDocumentTypes?projectID=' + projectID, this.addHeader())\r\n .map((resp: Response) => resp.json())\r\n .catch(this.errorHandler)\r\n .finally(() => this.progressService.remove());\r\n }\r\n\r\n getSubDocumentTypes(documentType: MIHDocumentType) {\r\n this.progressService.add();\r\n return this.http.get(`${this._baseUrl}GetSubDocumentTypes?projectID=${documentType.ProjectID}&documentType=${documentType.DocumentType}&bldgID=${documentType.BldgID}&partyID=${documentType.PartyID}&partyStagingID=${documentType.PartyStagingID}`, this.addHeader())\r\n .map((resp: Response) => resp.json())\r\n .catch(this.errorHandler)\r\n .finally(() => this.progressService.remove());\r\n }\r\n\r\n getUploadDocsByProjectId(projectID: number) {\r\n this.progressService.add();\r\n return this.http.get(this._baseUrl + 'GetDocuments?projectID=' + projectID, this.addHeader())\r\n .map((resp: Response) => resp.json())\r\n .catch(this.errorHandler)\r\n .finally(() => this.progressService.remove());\r\n }\r\n\r\n uploadMIHFile(files, uploadDocInfo) {\r\n this.progressService.add();\r\n var options = this.addHeader();\r\n options.headers.delete('Content-Type');\r\n options.params = uploadDocInfo;\r\n return this.http.post(this._baseUrl + 'UploadMIHFile', files, options)\r\n .map((resp: Response) => resp.json())\r\n .catch(this.errorHandler)\r\n .finally(() => this.progressService.remove())\r\n }\r\n\r\n downloadDocument(documentId: number, documentName: string) { \r\n this.progressService.add();\r\n return this.http.get(this._baseUrl + 'DownloadDocument?documentId=' + documentId + '&documentName=' + documentName, this.blobRequestOptions())\r\n .map((resp: Response) => resp.blob())\r\n .catch(this.errorHandler)\r\n .finally(() => this.progressService.remove());\r\n }\r\n\r\n deleteDocument(documentId: number) {\r\n this.progressService.add();\r\n return this.http.post(this._baseUrl + 'DeleteDocument', documentId, this.addHeader())\r\n .map((resp: Response) => resp.json())\r\n .catch(this.errorHandler)\r\n .finally(() => this.progressService.remove())\r\n } \r\n\r\n getCheckListDocumentByProjectId(projectId: number) {\r\n this.progressService.add();\r\n return this.http.post(this._baseUrl + 'GetCheckListDocumentByProjectId', projectId, this.blobRequestOptions())\r\n .map((resp: Response) => resp.blob())\r\n .catch(this.errorHandler)\r\n .finally(() => this.progressService.remove())\r\n\r\n }\r\n\r\n getCheckListInfo(projectId: number) {\r\n this.progressService.add();\r\n return this.http.post(this._baseUrl + 'GetCheckListInfo', projectId, this.addHeader())\r\n .map((resp: Response) => resp.json())\r\n .catch(this.errorHandler)\r\n .finally(() => this.progressService.remove())\r\n\r\n }\r\n\r\n /*\r\n uploadCheckListTemplate(projectId: number) {\r\n this.progressService.add();\r\n return this.http.post(this._baseUrl + 'UploadCheckListTemplate', projectId, this.addHeader())\r\n .map((resp: Response) => resp.json())\r\n .catch(this.errorHandler)\r\n .finally(() => this.progressService.remove())\r\n }\r\n */\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\n\r\n@Injectable()\r\nexport class FoucsChangeService {\r\n constructor() {\r\n }\r\n\r\n changeFocus(enable: boolean) {\r\n setTimeout(function () {\r\n //var focusable = Array.from(document.querySelectorAll('.focusable'));\r\n var focusable = Array.from(document.querySelectorAll('a[href], area[href], input:not([disabled]):not(.actionCloseLightbox2):not(.actionCloseLightbox), select:not([disabled]), textarea:not([disabled]), button:not([disabled]):not(.actionCloseLightbox2), iframe, object, embed, *[tabindex], *[contenteditable]')); \r\n //var focusable = Array.from(document.querySelectorAll('a[href], area[href], input:not([disabled]):not(.actionCloseLightbox2):not(.actionCloseLightbox), select:not([disabled]), textarea:not([disabled]), button:not([disabled]):not(.actionCloseLightbox2), iframe, object, embed, *[tabindex], *[contenteditable]')); \r\n\r\n focusable.forEach(el => el.setAttribute('tabindex', enable ? \"0\" : \"-1\"));\r\n }, 0);\r\n }\r\n}","import { Inject, Injectable } from '@angular/core';\r\n\r\n@Injectable()\r\nexport class HelperService {\r\n constructor() { }\r\n\r\n ScrollUp() {\r\n var scrollTimeOut = setTimeout(function () {\r\n clearTimeout(scrollTimeOut);\r\n window.scroll(0, 0);\r\n }, 100);\r\n }\r\n\r\n activeBrowser = function () {\r\n var ua = navigator.userAgent, tem,\r\n M = ua.match(/(opera|chrome|safari|firefox|msie|trident(?=\\/))\\/?\\s*(\\d+)/i) || [];\r\n if (/trident/i.test(M[1])) {\r\n tem = /\\brv[ :]+(\\d+)/g.exec(ua) || [];\r\n return 'IE-' + (tem[1] || '');\r\n }\r\n if (M[1] === 'Chrome') {\r\n tem = ua.match(/\\b(OPR|Edge)\\/(\\d+)/);\r\n if (tem != null) return tem.slice(1).join(' ').replace('OPR', 'Opera');\r\n }\r\n M = M[2] ? [M[1], M[2]] : [navigator.appName, navigator.appVersion, '-?'];\r\n if ((tem = ua.match(/version\\/(\\d+)/i)) != null) M.splice(1, 1, tem[1]);\r\n return M.join(' ');\r\n }();\r\n\r\n\r\n formatPhone(value) {\r\n if (value == null || value.length == 0)\r\n return \"\";\r\n\r\n let newPhone = '';\r\n switch (value.length) {\r\n case 10:\r\n case 9:\r\n case 8:\r\n case 7:\r\n newPhone = value.slice(0, 3) + '-' + value.slice(3, 6) + '-' + value.slice(6);\r\n break;\r\n case 6:\r\n case 5:\r\n case 4:\r\n newPhone = value.slice(0, 3) + '-' + value.slice(3, 6);\r\n break;\r\n default:\r\n newPhone = value;\r\n break;\r\n\r\n }\r\n return newPhone;\n }\r\n\r\n\r\n getSiteAddress(site) {\r\n var address = '';\r\n if (!(site.HouseNumber == null && site.HouseNumber == ''))\r\n address += site.HouseNumber;\r\n if (!(site.StreetName != null && site.StreetName == ''))\r\n address += ' ' + site.StreetName;\r\n if (address.trim() != '')\r\n address = ' - ' + address.trim();\r\n\r\n return address;\r\n }\r\n\r\n getRoleName(roleId) {\r\n var roleid = +roleId;\r\n var roleName = '';\r\n switch (roleid) {\n case 1030:\n roleName = \"Applicant\";\n break;\n case 1765:\n roleName = \"Owner\";\n break;\n case 1880:\n roleName = \"Attorney\";\n break;\r\n default:\r\n roleName = \"\";\r\n }\r\n return roleName;\r\n }\r\n\r\n getSiteRoleName(roleId) {\r\n var roleid = +roleId;\r\n var roleName = '';\r\n switch (roleid) {\n case 1030:\n roleName = \"Applicant\";\n break;\n case 1031:\n roleName = 'Administering Agent';\n break;\n case 1032:\n roleName = \"Architect\";\n break;\n case 1035:\n roleName = \"General Contractor\";\n break;\n case 1765:\n roleName = \"Owner\";\n break;\n case 1880:\n roleName = \"Attorney\";\n break;\r\n case 2077:\n roleName = \"Ground Lessee\";\n break;\r\n default:\r\n roleName = \"\"; \r\n }\r\n return roleName;\r\n }\r\n\r\n scrollUp() {\r\n var scrollTimeOut = setTimeout(function () {\r\n clearTimeout(scrollTimeOut);\r\n window.scroll(0, 0);\r\n }, 100);\r\n }\r\n\r\n}\r\n","// NG 2\r\nimport { Injectable, OnInit } from '@angular/core';\r\nimport { Http, Response, } from '@angular/http';\r\nimport { Observable } from 'rxjs/Rx';\r\nimport 'rxjs/add/operator/map';\r\nimport 'rxjs/add/operator/catch';\r\nimport 'rxjs/add/observable/throw';\r\n\r\n// APP\r\nimport { AppConfig } from '../app.config';\r\nimport { ProgressService } from './progress.service';\r\nimport { BaseService } from './base.service';\n\n@Injectable()\nexport class InformationService extends BaseService {\n \r\n\n _baseUrl: string = AppConfig.config.defaultServicePath + 'MIHInformation/'; \n constructor(private http: Http\r\n , private progressService: ProgressService) {\n super();\n }\n\n saveMIHArea(MihArea) {\r\n this.progressService.add();\r\n return this.http.post(this._baseUrl + 'SaveMIHArea', MihArea, this.addHeader())\r\n .map((resp: Response) => resp.json())\r\n .catch(this.errorHandler)\r\n .finally(() => this.progressService.remove())\r\n }\n\n SaveConstruction(construction) {\r\n this.progressService.add();\r\n return this.http.post(this._baseUrl + 'SaveConstruction', construction, this.addHeader())\r\n .map((resp: Response) => resp.json())\r\n .catch(this.errorHandler)\r\n .finally(() => this.progressService.remove())\r\n }\n\n SaveAHF(AHF) {\r\n this.progressService.add();\r\n return this.http.post(this._baseUrl + 'SaveAHF', AHF, this.addHeader())\r\n .map((resp: Response) => resp.json())\r\n .catch(this.errorHandler)\r\n .finally(() => this.progressService.remove())\r\n }\n\n getQuestionByType(projectId, type) {\r\n this.progressService.add();\r\n return this.http.get(this._baseUrl + 'GetTrackings?projectId=' + projectId + '&type=' + type, this.addHeader())\r\n .map((resp: Response) => resp.json())\r\n .catch(this.errorHandler)\r\n .finally(() => this.progressService.remove()) \r\n }\n\n\n SaveUnitCount(unitCount) {\r\n this.progressService.add();\r\n return this.http.post(this._baseUrl + 'SaveUnitCount', unitCount, this.addHeader())\r\n .map((resp: Response) => resp.json())\r\n .catch(this.errorHandler)\r\n .finally(() => this.progressService.remove())\r\n }\n\n SaveProjectBuildingFloorAreaUnitCount(unitCount) {\r\n this.progressService.add();\r\n return this.http.post(this._baseUrl + 'SaveProjectBuildingFloorAreaUnitCount', unitCount, this.addHeader())\r\n .map((resp: Response) => resp.json())\r\n .catch(this.errorHandler)\r\n .finally(() => this.progressService.remove())\r\n }\n\n GetProjectBuildingFloorAreaUnitCount(projectBuildingId, siteProjBuildingId) {\n this.progressService.add();\r\n var ProjectBuildingId = projectBuildingId;\r\n return this.http.get(this._baseUrl + 'GetProjectBuildingFloorAreaUnitCount?DevProjectBuildingId=' + projectBuildingId + '&SiteProjectBuildingId=' + siteProjBuildingId, this.addHeader())\r\n .map((resp: Response) => resp.json())\r\n .catch(this.errorHandler)\r\n .finally(() => this.progressService.remove())\n }\n\n SaveProjectBuildingPublicFunding(publicFunding) {\r\n this.progressService.add();\r\n return this.http.post(this._baseUrl + 'SaveProjectBuildingPublicFunding', publicFunding, this.addHeader())\r\n .map((resp: Response) => resp.json())\r\n .catch(this.errorHandler)\r\n .finally(() => this.progressService.remove())\r\n }\n\n GetProjectBuildingPublicFunding(devProjectBuildingId, siteProjBuildingId) {\r\n this.progressService.add();\r\n return this.http.get(this._baseUrl + 'GetProjectBuildingPublicFunding?DevProjectBuildingId=' + devProjectBuildingId + '&SiteProjectBuildingId=' + siteProjBuildingId, this.addHeader()) \r\n .map((resp: Response) => resp.json())\r\n .catch(this.errorHandler)\r\n .finally(() => this.progressService.remove())\r\n }\n\n \n SaveProjectBuildingMIHOption(mihoptions) {\r\n this.progressService.add();\r\n return this.http.post(this._baseUrl + 'SaveProjectBuildingMIHOption', mihoptions, this.addHeader())\r\n .map((resp: Response) => resp.json())\r\n .catch(this.errorHandler)\r\n .finally(() => this.progressService.remove())\r\n }\n\n GetProjectBuildingMIHOption(devProjectBuildingId, siteProjBuildingId) {\r\n this.progressService.add(); \r\n return this.http.get(this._baseUrl + 'GetProjectBuildingMIHOption?DevProjectBuildingId=' + devProjectBuildingId + '&SiteProjectBuildingId=' + siteProjBuildingId, this.addHeader())\r\n .map((resp: Response) => resp.json())\r\n .catch(this.errorHandler)\r\n .finally(() => this.progressService.remove())\r\n }\n\n SaveProjectBuildingLocationOfMIHUnits(mihunits) {\r\n this.progressService.add();\r\n return this.http.post(this._baseUrl + 'SaveProjectBuildingLocationOfMIHUnits', mihunits, this.addHeader())\r\n .map((resp: Response) => resp.json())\r\n .catch(this.errorHandler)\r\n .finally(() => this.progressService.remove())\r\n } \n\n GetProjectBuildingLocationOfMIHUnits(devProjectBuildingId, siteProjBuildingId) {\r\n this.progressService.add();\r\n return this.http.get(this._baseUrl + 'GetProjectBuildingLocationOfMIHUnits?DevProjectBuildingId=' + devProjectBuildingId + '&SiteProjectBuildingId=' + siteProjBuildingId, this.addHeader())\r\n .map((resp: Response) => resp.json())\r\n .catch(this.errorHandler)\r\n .finally(() => this.progressService.remove())\r\n } \n\n\n\n GetProjectBuildingSiteLocation(devProjectBuildingId, siteProjBuildingId) {\r\n this.progressService.add();\r\n return this.http.get(this._baseUrl + 'GetProjectBuildingSiteLocation?DevProjectBuildingId=' + devProjectBuildingId + '&SiteProjectBuildingId=' + siteProjBuildingId, this.addHeader())\r\n .map((resp: Response) => resp.json())\r\n .catch(this.errorHandler)\r\n .finally(() => this.progressService.remove())\r\n }\n\n SaveProjectBuildingSiteLocation(sitelocation) {\r\n this.progressService.add();\r\n return this.http.post(this._baseUrl + 'SaveProjectBuildingSiteLocation', sitelocation, this.addHeader())\r\n .map((resp: Response) => resp.json())\r\n .catch(this.errorHandler)\r\n .finally(() => this.progressService.remove())\r\n }\n\n SaveProjectBuildingTaxCredits(siteTaxCredit) {\r\n this.progressService.add();\r\n return this.http.post(this._baseUrl + 'SaveProjectBuildingTaxCredits', siteTaxCredit, this.addHeader())\r\n .map((resp: Response) => resp.json())\r\n .catch(this.errorHandler)\r\n .finally(() => this.progressService.remove())\r\n }\n\n \n GetProjectBuildingTaxCredits(devProjectBuildingId, siteProjBuildingId) {\r\n this.progressService.add();\r\n return this.http.get(this._baseUrl + 'GetProjectBuildingTaxCredits?DevProjectBuildingId=' + devProjectBuildingId + '&SiteProjectBuildingId=' + siteProjBuildingId, this.addHeader())\r\n .map((resp: Response) => resp.json())\r\n .catch(this.errorHandler)\r\n .finally(() => this.progressService.remove())\r\n }\n\n GetProjectBuildingTaxIncentives(devProjectBuildingId, siteProjBuildingId) {\r\n this.progressService.add();\r\n return this.http.get(this._baseUrl + 'GetProjectBuildingTaxIncentives?DevProjectBuildingId=' + devProjectBuildingId + '&SiteProjectBuildingId=' + siteProjBuildingId, this.addHeader())\r\n .map((resp: Response) => resp.json())\r\n .catch(this.errorHandler)\r\n .finally(() => this.progressService.remove())\r\n }\n\n SaveProjectBuildingTaxIncentives(taxIncentive) {\r\n this.progressService.add();\r\n return this.http.post(this._baseUrl + 'SaveProjectBuildingTaxIncentives', taxIncentive, this.addHeader())\r\n .map((resp: Response) => resp.json())\r\n .catch(this.errorHandler)\r\n .finally(() => this.progressService.remove())\r\n }\n\n GetProjectBuildingResidentialMIHSuperUnits(devProjectBuildingId, siteProjBuildingId) {\r\n this.progressService.add();\r\n return this.http.get(this._baseUrl + 'GetProjectBuildingResidentialMIHSuperUnits?DevProjectBuildingId=' + devProjectBuildingId + '&SiteProjectBuildingId=' + siteProjBuildingId, this.addHeader())\r\n .map((resp: Response) => resp.json())\r\n .catch(this.errorHandler)\r\n .finally(() => this.progressService.remove())\r\n }\n\n SaveProjectBuildingResidentialMIHSuperUnits(siteUnitCount) {\r\n this.progressService.add();\r\n return this.http.post(this._baseUrl + 'SaveProjectBuildingResidentialMIHSuperUnits', siteUnitCount, this.addHeader())\r\n .map((resp: Response) => resp.json())\r\n .catch(this.errorHandler)\r\n .finally(() => this.progressService.remove())\r\n }\n\n SaveCondoSturcture(condoStructure) {\r\n this.progressService.add();\r\n return this.http.post(this._baseUrl + 'SaveProjectBuildingCondoStructure', condoStructure, this.addHeader())\r\n .map((resp: Response) => resp.json())\r\n .catch(this.errorHandler)\r\n .finally(() => this.progressService.remove())\r\n }\n\n GetProjectBuildingCondoStructure(devProjectBuildingId, siteProjBuildingId) {\r\n this.progressService.add();\r\n return this.http.get(this._baseUrl + 'GetProjectBuildingCondoStructure?DevProjectBuildingId=' + devProjectBuildingId + '&SiteProjectBuildingId=' + siteProjBuildingId, this.addHeader())\r\n .map((resp: Response) => resp.json())\r\n .catch(this.errorHandler)\r\n .finally(() => this.progressService.remove())\r\n }\n\n \n SaveProjectBuildingElectricSystems(electricSystem) {\r\n this.progressService.add();\r\n return this.http.post(this._baseUrl + 'SaveProjectBuildingElectricSystems', electricSystem, this.addHeader())\r\n .map((resp: Response) => resp.json())\r\n .catch(this.errorHandler)\r\n .finally(() => this.progressService.remove())\r\n }\n\n GetProjectBuildingElectricSystems(devProjectBuildingId, siteProjBuildingId) {\r\n this.progressService.add();\r\n return this.http.get(this._baseUrl + 'GetProjectBuildingElectricSystems?DevProjectBuildingId=' + devProjectBuildingId + '&SiteProjectBuildingId=' + siteProjBuildingId, this.addHeader())\r\n .map((resp: Response) => resp.json())\r\n .catch(this.errorHandler)\r\n .finally(() => this.progressService.remove())\r\n }\n\n SaveProjectBuildingType(buildingType) {\r\n this.progressService.add();\r\n return this.http.post(this._baseUrl + 'SaveProjectBuildingType', buildingType, this.addHeader())\r\n .map((resp: Response) => resp.json())\r\n .catch(this.errorHandler)\r\n .finally(() => this.progressService.remove())\r\n }\n\n GetProjectBuildingType(devProjectBuildingId, siteProjBuildingId) {\r\n this.progressService.add();\r\n return this.http.get(this._baseUrl + 'GetProjectBuildingType?DevProjectBuildingId=' + devProjectBuildingId + '&SiteProjectBuildingId=' + siteProjBuildingId, this.addHeader())\r\n .map((resp: Response) => resp.json())\r\n .catch(this.errorHandler)\r\n .finally(() => this.progressService.remove())\r\n }\n\n getLookupsByGroupName(groupName) {\r\n this.progressService.add();\r\n return this.http.get(this._baseUrl + 'GetLookupsByGroupName?lookupGroupName=' + groupName, this.addHeader())\r\n .map((resp: Response) => resp.json())\r\n .catch(this.errorHandler)\r\n .finally(() => this.progressService.remove())\r\n }\n\n\n}\n","// NG 2\r\nimport { Injectable, OnInit } from '@angular/core';\r\nimport {Http, Response, Headers} from '@angular/http';\r\nimport { Observable } from 'rxjs/Rx';\r\nimport 'rxjs/add/operator/map';\r\nimport 'rxjs/add/operator/catch';\r\nimport 'rxjs/add/observable/throw';\r\nimport 'rxjs/add/operator/toPromise';\r\n// APP\r\nimport { AppConfig } from '../app.config';\r\nimport { BaseService } from './base.service';\r\n\r\n\r\n\r\n@Injectable()\r\nexport class LoginService extends BaseService {\r\n _baseUrl: string = AppConfig.config.baseCPUIUrl; \r\n _bypassLoginUrl: string = AppConfig.config.defaultServicePath; \r\n\r\n public static cpuiLoginResult: any;\r\n\r\n constructor(private http: Http) {\r\n super();\r\n }\r\n\r\n getLoginInfo() {\r\n\r\n var headers = new Headers();\r\n headers.append('Content-Type', 'application/json');\r\n return this.http.post(this._baseUrl + 'GetLoginInfo', JSON.parse(JSON.stringify({ isSessionActive: '' } || null)))\r\n .map(data => data.json())\r\n .catch(this.errorHandler);\r\n }\r\n\r\n getHeaderHTML() {\r\n var headers = new Headers();\r\n headers.append('Content-Type', 'application/json');\r\n\r\n return this.http.post(this._baseUrl + 'GetHeaderHTML', JSON.parse(JSON.stringify({ appName: 'HPD Mandatory Inclusionary Housing' } || null)))\r\n .map(res => res.json())\r\n .catch(this.errorHandler);\r\n }\r\n\r\n\t/*\r\n LoginByPass(emailId, guid) {\n return this.http.get(this._bypassLoginUrl + 'LoginByPass?emailId=' + emailId + '&guid=' + guid, this.addHeader())\r\n .map((resp: Response) => resp.json())\r\n .catch(this.errorHandler)\r\n \n }\r\n\t*/\r\n}","// NG 2\r\nimport { Injectable, OnInit } from '@angular/core';\r\nimport { Http, Response } from '@angular/http';\r\nimport { Observable } from 'rxjs/Rx';\r\nimport 'rxjs/add/operator/map';\r\nimport 'rxjs/add/operator/catch';\r\nimport 'rxjs/add/observable/throw';\r\n\r\n// APP\r\nimport { AppConfig } from '../app.config';\r\nimport { ProgressService } from './progress.service';\r\nimport { BaseService } from './base.service';\r\n\r\n@Injectable()\r\nexport class LookupService extends BaseService { \r\n _baseUrl: string = AppConfig.config.defaultServicePath + 'MIHLookup/'; \r\n\r\n constructor(private http: Http\r\n , private progressService: ProgressService) {\r\n super();\r\n }\r\n\r\n getLookups(groupName) {\r\n this.progressService.add();\r\n return this.http.get(this._baseUrl + 'lookupvalues?name=' + groupName, this.addHeader())\r\n .map((resp: Response) =>resp.json())\r\n .catch(this.errorHandler)\r\n .finally(() => this.progressService.remove())\r\n }\r\n}","import { Injectable } from '@angular/core';\nimport { Subject } from 'rxjs/Subject';\n\n@Injectable()\nexport class ProgressService {\n inpregress: number = 0;\n private loaderSubject = new Subject();\n loaderState = this.loaderSubject.asObservable();\n \n constructor() { }\n\n add() {\r\n this.loaderSubject.next(this.inpregress+= 1);\r\n }\r\n remove() {\r\n if (this.inpregress > 0)\r\n this.loaderSubject.next(this.inpregress-=1);\r\n \r\n }\n getInProgress() {\n return this.loaderSubject.asObservable();\r\n }\n}\n","import { Inject, Injectable } from '@angular/core'\r\nimport { Route, Router, ActivatedRoute, NavigationEnd, NavigationStart } from '@angular/router';\r\nimport { BuildingQuestionParam } from '../viewmodel';\r\nimport { AppConfig } from '../app.config';\r\nimport { Location } from '@angular/common';\r\n\r\n@Injectable()\r\nexport class SharedService {\r\n\r\n public _customError: boolean = AppConfig.config.customError;\r\n public _customErrorMsg: string = AppConfig.config.customErrorMsg;\r\n\r\n selectedEntity: any;\r\n selectedBldg: any;\r\n currentRoute: any;\r\n lastRoute: any;\r\n\r\n public navigationRestrictedUrls: Array = [];\r\n\r\n constructor(private router: Router, private location: Location) {\r\n this.navigationRestrictedUrls.push('/addbuilding');\r\n this.navigationRestrictedUrls.push('/createentity');\r\n this.navigationRestrictedUrls.push('/entity/addsiteentity');\r\n }\r\n\r\n setLocalStorage(key: string, data: any) {\r\n localStorage.setItem(key, JSON.stringify(data));\r\n }\r\n\r\n getLocalStorage(key: string) {\r\n return JSON.parse(localStorage.getItem(key));\r\n }\r\n\r\n removeLocalStorage(key: string) {\r\n localStorage.removeItem(key);\r\n\r\n }\r\n\r\n setData(key: string, data: any) {\r\n\r\n sessionStorage.setItem(key, data);\r\n }\r\n\r\n setJsonData(key: string, data: any) {\r\n sessionStorage.setItem(key, JSON.stringify(data));\r\n }\r\n\r\n getData(key: string) {\r\n return sessionStorage.getItem(key);\r\n\r\n }\r\n\r\n getJsonData(key: string) {\r\n return JSON.parse(sessionStorage.getItem(key));\r\n }\r\n\r\n removeData(key: string) {\r\n sessionStorage.removeItem(key);\r\n }\r\n\r\n manageSession(pageName: string) {\r\n\r\n if (pageName == 'home') {\r\n this.removeData('id');\r\n this.removeData('entityParam');\r\n this.removeData('SiteEntityParam');\r\n this.removeData('BuildingQuestionParam');\r\n\r\n }\r\n if (pageName == 'application') {\r\n this.removeData('entityParam');\r\n this.removeData('SiteEntityParam');\r\n this.removeData('BuildingQuestionParam');\r\n }\r\n\r\n }\r\n\r\n setBuildingQuestionParam(building, buildingAddress) {\r\n\r\n var BQP = new BuildingQuestionParam();\r\n BQP.devProjectBuildingId = building.DevProjectBuildingId;\r\n BQP.siteProjectBuildingId = building.SiteProjectBuildingId;\r\n BQP.bldgId = building.BuildingId;\r\n BQP.buildingAddress = buildingAddress;\r\n BQP.mood = 'A';\r\n this.setJsonData('BuildingQuestionParam', BQP);\r\n }\r\n\r\n\r\n navigateSummary() {\r\n let currentUrl = this.location.path(); \r\n if (this.navigationRestrictedUrls.indexOf(currentUrl) != -1) {\r\n this.router.navigate([\"/entity/application\"], { replaceUrl: true });\r\n }\r\n else {\r\n this.router.navigate([\"/entity/application\"]);\r\n }\r\n }\r\n\r\n navigateHome() { \r\n let currentUrl = this.location.path(); \r\n if (this.navigationRestrictedUrls.indexOf(currentUrl) != -1) {\r\n this.router.navigate([\"/home\"], { replaceUrl: true });\r\n }\r\n else {\r\n this.router.navigate([\"/home\"]);\r\n }\r\n }\r\n\r\n navigateAccount() {\r\n let currentUrl = this.location.path();\r\n if (this.navigationRestrictedUrls.indexOf(currentUrl) != -1) {\r\n this.router.navigate([\"/account\"], { replaceUrl: true });\r\n }\r\n else {\r\n this.router.navigate([\"/account\"]);\r\n }\r\n }\r\n\r\n getCustomError(msg) {\r\n if (this._customError)\r\n return this._customErrorMsg;\r\n else\r\n return msg;\r\n }\r\n\r\n processError(msg) {\r\n window.scrollBy(0, -1); //trigger sticky error message\r\n if (msg!=null && msg.indexOf('SessionNotExists') !== -1) {\r\n this.router.navigate([\"/login?session=0\"]);\r\n }\r\n }\r\n\r\n scroll() {\r\n window.scrollBy(0, -1);\r\n }\r\n\r\n\r\n}","export class AppFlags {\r\n IsMihAreaComplete: boolean = false;\r\n IsConstructionComplete: boolean = false;\r\n IsPILComplete: boolean = false;\r\n IsInfoSectionComplete: boolean = false;\r\n hasDevTeamMember: boolean = false;\r\n PILValue: string = '';\r\n}\r\n\r\nexport class BuildingFlags {\r\n showDisclaimer: boolean = false; \r\n buildingQuestionsComplete: boolean = false; \r\n showMissingBuildingSection: boolean = false;\r\n missingBuildingSectionHeader: string = ''; \r\n missingBuildingSectionDescription: string = ''; \r\n}\r\n\r\nexport class Entity {\r\n projectId: number = 0;\r\n entityId: number;\r\n partyId: number;\r\n partyAddressId: number;\r\n isStageEntry: boolean;\r\n isAddressStageEntry: boolean;\r\n entityRole: number;\r\n isOwner: boolean = false;\r\n organization: string;\r\n tin: string;\r\n tinType: number;\r\n address1: string;\r\n address2: string;\r\n city: string;\r\n state: number = 33;\r\n zipCode: string;\r\n phone: string;\r\n fax: string; \r\n dbApplicationId: number = 84; //MIH default\r\n suppressCheck: boolean;\r\n}\r\n\r\nexport class Contact {\r\n projectId: number;\r\n entityId: number;\r\n companyId: number; \r\n projectDevTeamContactId: number;\r\n isStageEntry: boolean; \r\n partyId: number; \r\n commContactId: number; \r\n comContactTelconId: number;\r\n partyAddressId: number; \r\n fName: string ='';\r\n lName: string; \r\n email: string;\r\n companyPhone: string;\r\n phoneExt: string;\r\n primaryContact: string; \r\n dbApplicationId: number = 84; \r\n isValid: boolean = false;\r\n}\r\n\r\n\r\nexport class EntityParam {\r\n projectId: number;\r\n entityId: number;\r\n //projectDevTeamContactId: number;\r\n partyId: number;\r\n partyStagingId: number;\r\n partyAddressId: number; \r\n partyAddressStagingId: number; \r\n isStageEntry: boolean;\r\n commContactId: number;\r\n companyName: string; \r\n tin: string;\r\n roleId: number; \r\n partyRoleName: string;\r\n fName: string = '';\r\n lName: string;\r\n primaryContact: string;\r\n email: string;\r\n companyPhone: string;\r\n phoneExt: string;\r\n TINVerfiedFlag: boolean; \r\n dbApplicationId: number = 84;\r\n newEntityEntry: string = ''; \r\n isValid: boolean = false;\r\n\r\n}\r\n\r\nexport class SaveEntityContact {\r\n contact: Contact;\r\n entityParamForContact: EntityParamForContact;\r\n}\r\n\r\nexport class EntityParamForContact {\r\n projectId: number;\r\n entityId: number;\r\n partyId: number;\r\n partyStagingId: number; \r\n companyName: string;\r\n tin: string;\r\n roleId: number;\r\n partyRoleName: string;\r\n newEntityEntry: string = '';\r\n dbApplicationId: number; \r\n}\r\n\r\nexport class EntityAdded {\r\n IsStageEntry: boolean;\r\n PartyAddressSeqNo: number; \r\n PartySeqNo: number;\r\n MIHProjectDevTeamID: number; \r\n MIHProjectBldgDevTeamID: number; \r\n}\r\n\r\nexport class SiteEntity {\r\n projectId: number = 0;\r\n ProjectBldgDevTeamID: number = 0; // entityId: number;\r\n ProjectBuildingID: number = 0; // ProjectBuildingID --siteBuildingId\r\n BuildingID: number = 0;\r\n partyId: number;\r\n partyAddressId: number;\r\n isStageEntry: boolean;\r\n isAddressStageEntry: boolean;\r\n entityRole: number;\r\n isOwner: boolean = false;\r\n organization: string;\r\n tin: string;\r\n tinType: number;\r\n address1: string;\r\n address2: string;\r\n city: string;\r\n state: number = 33;\r\n zipCode: string;\r\n phone: string;\r\n fax: string;\r\n dbApplicationId: number = 84; //MIH default\r\n mood: string = '';\r\n}\r\n\r\nexport class SiteEntityParam {\r\n projectId: number; \r\n projectBldgDevTeamId: number; //siteEntityId \r\n //devProjectBuildingId: number; //ProjectBuildingID\r\n siteProjectBuildingId: number; //SiteProjectBuildingId\r\n bldgId: number;\r\n partyId: number;\r\n partyStagingId: number;\r\n partyAddressId: number;\r\n partyAddressStagingId: number;\r\n isStageEntry: boolean;\r\n entityRole: number;\r\n companyName: string;\r\n tin: string;\r\n siteAddress: string = ''; \r\n partyRoleName: string;\r\n partyRoleSeqNo: number;\r\n TINVerfiedFlag: boolean; \r\n dbApplicationId: number = 84;\r\n isValid: boolean = false;\r\n mood: string = '';\r\n newEntityEntry: string = ''; \r\n}\r\n\r\nexport class SaveSiteEntityContact {\r\n contact: SiteContact;\r\n siteEntityParam: SiteEntityParam\r\n}\r\n\r\nexport class BuildingQuestionParam {\r\n projectId: number; \r\n devProjectBuildingId: number; //DevProjectBuildingID\r\n siteProjectBuildingId: number; //SiteProjectBuildingID\r\n bldgId: number; //BldgID\r\n buildingTypeId: number;\r\n buildingAddress: string = '';\r\n mood: string = '';\r\n}\r\n\r\n// fields are define by MIHSiteEntityContact - MIHWebApi\r\nexport class SiteContact {\r\n \r\n projectBldgDevTeamContactId: number = 0; //site entity contactId\r\n ProjectBldgDevTeamID: number = 0; // site entityId\r\n projectId: number;\r\n ProjectBuildingID: number = 0; // Project site buildingId\r\n BuildingID: number = 0; // site building id\r\n isStageEntry: boolean;\r\n partyId: number;\r\n commContactId: number;\r\n comContactTelconId: number; \r\n fName: string = '';\r\n lName: string;\r\n primaryContact: string;\r\n email: string;\r\n companyPhone: string;\r\n phoneExt: string; \r\n partyAddressId: number;\r\n dbApplicationId: number = 84;\r\n isValid: boolean = false;\r\n //companyId: number;\r\n //projectDevTeamContactId: number;\r\n}\r\n\r\nexport class SiteContactParam {\r\n \r\n projectBldgDevTeamContactId: number = 0; //site entity contactId\r\n ProjectBldgDevTeamID: number = 0;\r\n projectId: number;\r\n ProjectBuildingID: number = 0;\r\n BuildingID: number = 0;\r\n\r\n //projectDevTeamContactId: number;\r\n isStageEntry: boolean;\r\n partyId: number;\r\n partyStagingId: number;\r\n partyAddressId: number;\r\n partyAddressStagingId: number;\r\n isAddressStageEntry: boolean;\r\n commContactId: number;\r\n comContactTelconId: number;\r\n companyName: string;\r\n siteAddress: string = '';\r\n partyRoleName: string = '';\r\n roleId: number = 0;\r\n fName: string = '';\r\n lName: string;\r\n primaryContact: string;\r\n email: string;\r\n companyPhone: string;\r\n phoneExt: string;\r\n TINVerfiedFlag: boolean;\r\n dbApplicationId: number = 84;\r\n isValid: boolean = false;\r\n}\r\n\r\nexport class EntityContactParam {\r\n projectId: number;\r\n projectBldgDevTeamContactId: number = 0; //site entity contactId\r\n ProjectBldgDevTeamID: number = 0; \r\n ProjectBuildingID: number = 0; \r\n BuildingID: number = 0;\r\n entityId: number;\r\n projectDevTeamContactId: number;\r\n partyId: number;\r\n partyStagingId: number;\r\n isStageEntry: boolean;\r\n partyAddressId: number;\r\n partyAddressStagingId: number;\r\n isAddressStageEntry: boolean;\r\n commContactId: number;\r\n comContactTelconId: number;\r\n companyName: string;\r\n siteAddress: string = ''; \r\n partyRoleName: string ='';\r\n roleId: number = 0; \r\n fName: string = '';\r\n lName: string;\r\n primaryContact: string;\r\n email: string;\r\n companyPhone: string;\r\n phoneExt: string;\r\n TINVerfiedFlag: boolean;\r\n dbApplicationId: number = 84;\r\n isValid: boolean = false;\r\n}\r\n\r\nexport class SiteEntityContactParam {\r\n \r\n projectBldgDevTeamContactId: number = 0; //site entity contactId\r\n ProjectBldgDevTeamID: number = 0;\r\n projectId: number;\r\n ProjectBuildingID: number = 0;\r\n siteProjectBuildingID: number = 0; \r\n BuildingID: number = 0;\r\n //entityId: number;\r\n //projectDevTeamContactId: number;\r\n isStageEntry: boolean;\r\n partyId: number;\r\n partyStagingId: number; \r\n partyAddressId: number;\r\n partyAddressStagingId: number;\r\n isAddressStageEntry: boolean;\r\n\r\n commContactId: number;\r\n comContactTelconId: number; \r\n fName: string = '';\r\n lName: string;\r\n primaryContact: string;\r\n email: string;\r\n companyPhone: string;\r\n phoneExt: string;\r\n TINVerfiedFlag: boolean;\r\n\r\n companyName: string;\r\n siteAddress: string = '';\r\n partyRoleName: string = '';\r\n roleId: number = 0;\r\n\r\n dbApplicationId: number = 84;\r\n isValid: boolean = false;\r\n}\r\n\r\nexport class DeleteEntity { \r\n\tprojectId: number;\r\n entityId: number; \r\n companyName: string; \r\n roleId: number = 0;\r\n}\r\n\r\nexport class Account {\r\n firstName: string; \r\n lastName: string; \r\n fullName: string;\r\n email: string;\r\n organization: string;\r\n phone: string;\r\n\r\n} \r\n\r\nexport class MIHArea {\r\n ProjectId: number = 0;\r\n MIHId: number = 0;\r\n ZoningId: number = 0;\r\n BsaId: number = 0;\r\n PrivateRezoningId: number = 0; \r\n PrivateRezoning: string; \r\n ZoningResolutionMap: string;\r\n BSASpecialPermit: string;\r\n Description: string;\r\n IsValid: boolean = false;\r\n}\r\n\r\nexport class Construction {\r\n ProjectId: number = 0;\r\n NewConstructionId: number = 0; \r\n ConversionId: number = 0;\r\n EnlargementId: number = 0; \r\n NewConstruction: boolean; \r\n Conversion: boolean; \r\n Enlargement: boolean;\r\n IsValid: boolean = false;\r\n}\r\n\r\nexport class HousingFund {\r\n ProjectId: number = 0;\r\n HfoId: number = 0;\r\n Hfo: string;\r\n IsValid: boolean = false;\r\n}\r\n\r\nexport class Financing {\r\n ProjectId: number = 0;\r\n FinanceId: number = 0;\r\n Financed: string; \r\n FinanceTypeCity: string; \r\n FinanceTypeState: string;\r\n FinanceTypeFederal: string;\r\n FinanceCityHpd: string;\r\n FinanceCityHdc: string;\r\n FinanceCityOther: string;\r\n IsValid: boolean = false; \r\n}\r\n\r\nexport class TaxExemption {\r\n ProjectId: number = 0;\r\n TaxExemptionId: number = 0;\r\n TaxEExemptionSeqNo: number = 0;\r\n TaxExemptionName: string = '';\r\n TaxSource: string = ''; \r\n}\r\n\r\nexport class AddAppName {\r\n AppName: string = '';\r\n ProjectId: number = 0;\r\n}\r\n\r\n\r\n\r\nexport class UnitCount {\r\n ProjectId: number;\r\n EntityId: number;\r\n //ProjectBuildingId: number;\r\n DevProjectBuildingId: number; \r\n SiteProjectBuildingId: number;\r\n BuildingId: number; \r\n FloorAreaTrackingId \r\n Floorarea: number;\r\n UnitCount: number; \r\n IsValid: boolean = false;\r\n}\r\n\r\nexport class BuildingType {\r\n ProjectId: number = 0;\r\n EntityId: number = 0;\r\n ProjectBuildingId: number;\r\n DevProjectBuildingId: number;\r\n SiteProjectBuildingId: number;\r\n BuildingId: number;\r\n IsDev: boolean; \r\n IsDevBuilding: string; \r\n IsValid: boolean = false;\r\n}\r\n\r\nexport class Funding {\r\n ProjectId: number = 0;\r\n ProjectBuildingId: number;\r\n DevProjectBuildingId: number;\r\n SiteProjectBuildingId: number;\r\n BuildingId: number; \r\n FundingTrackingId: number = 0;\r\n\r\n HasPublicFunding: string;\r\n HasCitySourceCategory: boolean;\r\n HasStateSourceCategory: boolean;\r\n HasFederalSourceCategory: boolean;\r\n HasHPDCitySubsidy: boolean;\r\n HasHDCCitySubsidy: boolean;\r\n HasOtherCitySubsidy: boolean;\r\n OtherCitySubsidySourceName: string=''; \r\n IsValid: boolean = false;\r\n}\r\n\r\nexport class TaxCredit {\r\n ProjectId: number = 0;\r\n //ProjectBuildingId: number;\r\n DevProjectBuildingId: number;\r\n SiteProjectBuildingId: number;\r\n BuildingId: number; \r\n\r\n IsRequestingTaxCredits: string = '';\r\n HasLIHTC4PercTaxCreditType: boolean;\r\n HasLIHTC9PercTaxCreditType: boolean;\r\n HasBrownFieldsTaxCreditType: boolean;\r\n HasHistoricTaxCreditType: boolean;\r\n HasSLIHCTaxCreditType: boolean;\r\n HasNewMarketsTaxCreditType: boolean;\r\n HasOtherTaxCreditType: boolean;\r\n OtherTaxCreditTypeName: string = '';\r\n\r\n SourceCitySubsidy: string='';\r\n //HasHDCCitySubsidy: boolean;\r\n IsValid: boolean = false;\r\n}\r\n\r\nexport class TaxIncentive {\r\n ProjectId: number = 0;\r\n ProjectBuildingId: number;\r\n DevProjectBuildingId: number;\r\n SiteProjectBuildingId: number;\r\n BuildingId: number; \r\n IsRequestingTaxIncentives: string = ''; \r\n TaxIncentives = []; \r\n dropdownList = [];\r\n selectedItems = [];\r\n IsValid: boolean = false; \r\n}\r\n\r\nexport class Incentives {\r\n id: number; \r\n itemName: string = '';\r\n lookupTrackingId: number;\r\n lookupTrackingValue: string;\r\n}\r\n\r\nexport class SiteUnitCount {\r\n ProjectId: number;\r\n EntityId: number;\r\n ProjectBuildingId: number;\r\n DevProjectBuildingId: number;\r\n SiteProjectBuildingId: number;\r\n BuildingId: number;\r\n SiteUnitCountId: number;\r\n MihUnits: number;\r\n MIHFloorArea: number;\r\n SuperUnits: number;\r\n IsValid: boolean = false;\r\n}\r\n\r\nexport class CondoStructure {\r\n ProjectId: number = 0;\r\n EntityId: number;\r\n ProjectBuildingId: number;\r\n DevProjectBuildingId: number;\r\n SiteProjectBuildingId: number;\r\n BuildingId: number;\r\n CondoStructure: string;\r\n Description: string;\r\n IsValid: boolean = false;\r\n}\r\n\r\nexport class ElectricSystems {\r\n ProjectId: number = 0; \r\n EntityId: number = 0; \r\n ProjectBuildingId: number;\r\n DevProjectBuildingId: number;\r\n SiteProjectBuildingId: number;\r\n BuildingId: number;\r\n\r\n HasElectricSystems: string; \r\n HasPTCASHeatPumps: boolean; \r\n HasPoweredBoilers: boolean; \r\n HasElectricStoves: boolean; \r\n IsValid: boolean = false;\r\n}\r\n\r\nexport class MihOptions {\r\n ProjectId: number = 0;\r\n //ProjectBuildingId: number;\r\n DevProjectBuildingId: number;\r\n SiteProjectBuildingId: number;\r\n BuildingId: number;\r\n MihOptionId: number = 0;\r\n MihOption: string; \r\n IsValid: boolean = false;\r\n\r\n}\r\n\r\nexport class MihUnits {\r\n ProjectId: number = 0;\r\n DevProjectBuildingId: number;\r\n SiteProjectBuildingId: number;\r\n //ProjectBuildingId: number;\r\n BuildingId: number;\r\n MihUnitId: number = 0;\r\n IsDevSite: string;\r\n IsValid: boolean = false;\r\n\r\n}\r\n\r\n\r\nexport class LocationMihSiteUnit {\r\n ProjectId: number = 0;\r\n //ProjectBuildingId: number;\r\n DevProjectBuildingId: number;\r\n SiteProjectBuildingId: number;\r\n BuildingId: number;\r\n LocationMihSiteUnitId: number = 0;\r\n MihSiteLocation: string;\r\n Editable: boolean = true; \r\n IsValid: boolean = false;\r\n}\r\n\r\nexport class MIHSiteEntityAssociations {\r\n projectId: number = 0;\r\n siteProjBuildingId: number = 0;\r\n bldgId: number = 0;\r\n ProjDevTeamIds: Array;\r\n}\r\n\r\n\r\n//export class MIHDevSiteAssociations {\r\nexport class DevSiteAssociations {\r\n projectId: number = 0;\r\n devProjBuildingId: number = 0;\r\n devBldgId: number = 0; \r\n siteBldgs: Array;\r\n}\r\n\r\nexport class siteBldg {\r\n siteProjBuildingId: number = 0; \r\n siteBldgId: number = 0; \r\n}\r\n\r\n/*\r\nexport class DevTeamEntitySelect {\r\n projectId: number = 0;\r\n siteProjBuildingId: number = 0; \r\n bldgId: number =0; \r\n projDevTeamIds: Array;\r\n} */\r\n\r\nexport class CheckList {\r\n ProjectId: number = 0;\r\n InfoSectionComplete: boolean = false;\r\n DevTeamMembersComplete: boolean = false; \r\n \r\n HasBuilding: boolean = false; \r\n BuildingAssociationComplete: boolean = false;\r\n BuildingQuestionsComplete: boolean = false; \r\n SiteTeamMemberComplete: boolean = false; \r\n Disclaimer: boolean = false; \r\n PilValue: string = '';\r\n PilAlertMessageId: number = 0;\r\n PilAlertMessage: string = ''; \r\n AllRequireEntryComplete: boolean = false; \r\n}\r\n\r\nexport class PartyAddress { \r\n\r\n PartyAddressID: number = 0; \r\n AddressLine1: string = '';\r\n AddressLine2: string = ''; \r\n City: string = '';\r\n State: string = '';\r\n PostalCode: string = '';\r\n StateLookup: StateLookup; \r\n CorporateEmail: string = '';\r\n CorporatePhoneNumber: string = '';\r\n CorporateFax: string = '';\r\n\r\n }\r\n\r\n export class StateLookup {\r\n GroupName: string = \"State\";\r\n LongName: string = \"NEW YORK\";\r\n ShortName: string = \"NY\";\r\n SeqNo: number = 33;\r\n}\r\n\r\nexport class AddBuildingForm {\r\n ProjectId: number = 0; \r\n Boro: string = '';\r\n Block: number;\r\n Lot: number; \r\n PHN: string = ''; \r\n StreetName: string = ''; \r\n NewStreetName: string = ''; \r\n\r\n }\r\n\r\nexport class MaintenanceNotification {\r\n MaintenanceMessage: string;\r\n DisplayMsgStartTime: string;\r\n MaintenanceStartTime: string;\r\n MaintenanceEndTime: string; \r\n \r\n}\r\n\r\nexport class SummaryInstruction {\r\n appSummaryText: string;\r\n devTeamText: string; \r\n siteTeamText: string;\r\n associationText: string;\r\n}\r\n\r\nexport class AppModeUpdateModel\r\n{\r\n ProjectId: number;\r\n Mode: AppMode;\r\n}\r\n\r\nexport enum AppMode\r\n{\r\n Edit,\r\n Complete\r\n}\r\n\r\nexport class MIHDocumentType {\r\n ProjectID: number;\r\n DropDownSortSeq: number;\r\n DropDownText: string;\r\n DocumentType: number;\r\n BldgID: number;\r\n PartyID: number;\r\n PartyStagingID: number;\r\n}\r\n\r\nexport class MIHSubDocumentType {\r\n ProjectID: number;\r\n DropDownSortSeq: number;\r\n DropDownText: string;\r\n DocumentSubType: number;\r\n DocumentRequired: string;\r\n DocumentType: number;\r\n BldgID: number;\r\n PartyID: number;\r\n PartyStagingID: number;\r\n}\r\n\r\nexport class MIHUploadDocInfo {\r\n ProjectID: number;\r\n DocumentType: number;\r\n DocumentSubType: number;\r\n DocumentSubTypeName: string; \r\n BldgID: number;\r\n PartyID: number;\r\n PartyStagingID: number;\r\n OtherDocType: string; \r\n}\r\n\r\n\r\nexport class MIHDocument {\r\n MIHDocumentID: number;\r\n DocumentID: number;\r\n DocumentTypeID: number;\r\n DocumentType: string;\r\n SubDocumentTypeID: number;\r\n SubDocumentType: string;\r\n DocumentName: string;\r\n UploadedDate: Date;\r\n GroupSequence: number;\r\n IsFirstRecordInGroup: boolean;\r\n}","// The file contents for the current environment will overwrite these during build.\n// The build system defaults to the dev environment which uses `environment.ts`, but if you do\n// `ng build --env=prod` then `environment.prod.ts` will be used instead.\n// The list of which env maps to which file can be found in `.angular-cli.json`.\n\nexport const environment = {\n production: true\n};\n","import { enableProdMode } from '@angular/core';\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\n\nimport { AppModule } from './app/app.module';\nimport { environment } from './environments/environment';\n\nif (environment.production) {\n enableProdMode();\n}\n\nplatformBrowserDynamic().bootstrapModule(AppModule);\n\n"],"sourceRoot":""}