import { RegistrationVehicleListComponent } from './registration-vehicle/registration-vehicle-list/registration-vehicle-list.component';
import { VehicleAddComponent } from './vehicle/vehicle-add/vehicle-add.component';
import { VehicleListComponent } from './vehicle/vehicle-list/vehicle-list.component';
import { FinalAccerditationAddComponent } from './final-accreditation-of-trainees/final-accerditation-add/final-accerditation-add.component';
import { FinalAccerditationListComponent } from './final-accreditation-of-trainees/final-accerditation-list/final-accerditation-list.component';
import { PrintCardTraineeListComponent } from './print-card-trainee/print-card-trainee-list/print-card-trainee-list.component';
import { TrainnerDataAddComponent } from './trainner-data/trainner-data-add/trainner-data-add.component';
import { ReviewTraineeDataListComponent } from './reivew-trainee-data/review-trainee-data-list/review-trainee-data-list.component';
import { AbsorpationListComponent } from './absorpation-plan/absorpation-list/absorpation-list.component';
import { SupervisorAddComponent } from './supervisor/supervisor-add/supervisor-add.component';
import { MapComponent } from './map/map.component';
import { NgModule, Component } from '@angular/core';
import { RouterModule, Routes } from '@angular/router';

import { AddAdverComponent } from './advertisiment/add-advertisiment/add-adver/add-adver.component';
import { AdvertisimentComponent } from './advertisiment/advertisiment.component';
import { RoleReport2Component } from './roles/role-report2/role-report2.component';
import { UserPermissionComponent } from './users/user-permission/user-permission.component';
import { AddMenuComponent } from './main-menu/add-menu/add-menu.component';
import { MainListComponent } from './main-menu/main-list/main-list.component';
import { AddLectureComponent } from './lectures/add-lecture/add-lecture.component';
import { LecturesListComponent } from './lectures/lectures-list/lectures-list.component';
import { AddInternalServicesComponent } from './internal-services/add-internal-services/add-internal-services.component';
import { InternalServicesComponent } from './internal-services/internal-services.component';
import { FooterListComponent } from './footer/footer-list/footer-list.component';
import { AddNewsComponent } from './news/add-news/add-news.component';
import { NewsListComponent } from './news/news-list/news-list.component';
import { AddTabComponent } from './tabs/add-tab/add-tab.component';
import { TabListComponent } from './tabs/tab-list/tab-list.component';
import { AddAchievementComponent } from './achievements/add-achievement/add-achievement.component';
import { AchievementComponent } from './achievements/achievement-list/achievement.component';
import { AddExternalComponent } from './external-services/add-external/add-external.component';
import { AddEventComponent } from './events/add-event/add-event.component';
import { AddHospitalComponent } from './hospitals/add-hospital/add-hospital.component';
import { HospitalListComponent } from './hospitals/hospital-list/hospital-list.component';
import { AddSectionComponent } from './sections/add-section/add-section.component';
import { AddDepartmentComponent } from './department/add-department/add-department.component';
import { AddRolesComponent } from './roles/add-roles/add-roles.component';
import { AddJoinUsComponent } from './add-join-us/add-join-us.component';
import { DepartmentListComponent } from './department/department-list/department-list.component';
import { UsersComponent } from './users/users.component';
import { ServiceItemComponent } from './service-item/service-item.component';
import { AuthGuardService as AuthGuard } from '../shared/auth-guard.service';
import { RolesListComponent } from './roles/roles-list/roles-list.component';
import { SectionListComponent } from './sections/section-list/section-list.component';
import { ReportsPageComponent } from './reports-page/reports-page.component';
import { FormUserComponent } from './users/form-user/form-user.component';
import { ExternalListComponent } from './external-services/external-list/external-list.component';
import { AddFooterComponent } from './footer/add-footer/add-footer.component';
import { UserReportComponent } from './users/user-report/user-report.component';
import { RoleReportComponent } from './roles/role-report/role-report.component';
import { ReportListComponent } from './report-list/report-list.component';
import { EventsComponent } from './events/events.component';
import { BarEventsListComponent } from './bar-events/bar-events-list/bar-events-list.component';
import { AddBarEventComponent } from './bar-events/add-bar-event/add-bar-event.component';
import { ContactUsListComponent } from './contact-us/contact-us-list/contact-us-list.component';
import { AddContactUsComponent } from './contact-us/add-contact-us/add-contact-us.component';
import { VisitingTimesListComponent } from './visiting-times/visiting-times-list/visiting-times-list.component';
import { AddVisitingTimeComponent } from './visiting-times/add-visiting-time/add-visiting-time.component';
import { EventCalendarsListComponent } from './event-calendars/event-calendars-list/event-calendars-list.component';
import { AddEventCalendarComponent } from './event-calendars/add-event-calendar/add-event-calendar.component';
import { ExternalAchievementsListComponent } from './external-achievements/external-achievements-list/external-achievements-list.component';
import { AddExternalAchievementComponent } from './external-achievements/add-external-achievement/add-external-achievement.component';
import { StatisticsListComponent } from './statistics/statistics-list/statistics-list.component';
import { AddStatisticComponent } from './statistics/add-statistic/add-statistic.component';
import { AdvertisingServicesListComponent } from './advertising-services/advertising-services-list/advertising-services-list.component';
import { AddAdvertisingServiceComponent } from './advertising-services/add-advertising-service/add-advertising-service.component';
import { SupervisorListComponent } from './supervisor/supervisor-list/supervisor-list.component';
import { AbsorpationAddComponent } from './absorpation-plan/absorpation-add/absorpation-add.component';
import { TrainnerDataListComponent } from './trainner-data/trainner-data-list/trainner-data-list.component';
import { ReviewTraineeAddComponent } from './reivew-trainee-data/review-trainee-add/review-trainee-add.component';
import { SectionReviewTraineeListComponent } from './section-review-for-trainee/section-review-trainee-list/section-review-trainee-list.component';
import { SectionReviewTraineeAddComponent } from './section-review-for-trainee/section-review-trainee-add/section-review-trainee-add.component';
import { RegistrationTraineeMovementListComponent } from './Registration-trainee-movement/registration-trainee-movement-list/registration-trainee-movement-list.component';
import { RegistrationTraineeMovementAddComponent } from './Registration-trainee-movement/registration-trainee-movement-add/registration-trainee-movement-add.component';
import { PrintCardTraineeAddComponent } from './print-card-trainee/print-card-trainee-add/print-card-trainee-add.component';
import { ModelVehicleListComponent } from './model-vehicle/model-vehicle-list/model-vehicle-list.component';
import { ModelVehicleAddComponent } from './model-vehicle/model-vehicle-add/model-vehicle-add.component';
import { RegistrationVehicleAddComponent } from './registration-vehicle/registration-vehicle-add/registration-vehicle-add.component';

const dashboardRouting: Routes = [
    {path: 'service/:userID/:serviceID', component: ServiceItemComponent, canActivate: [AuthGuard], children: [
    {path: 'users/:userPageId', component: UsersComponent, canActivate: [AuthGuard]},
    {path: 'roles/:rolesPageId', component: RolesListComponent, canActivate: [AuthGuard]},
    {path: 'departments/:departsPageId', component: DepartmentListComponent, canActivate: [AuthGuard]},
    {path: 'sections/:sectionPageId', component: SectionListComponent, canActivate: [AuthGuard]},
    {path: 'reports', component: ReportsPageComponent, canActivate: [AuthGuard]},
    {path: 'addu/:type_add', component: FormUserComponent, canActivate: [AuthGuard]},
    {path: 'addJoinUs', component: AddJoinUsComponent, canActivate:[AuthGuard]},
    {path: 'joinUs/:typeJoinMode/:editJoinId', component: AddJoinUsComponent, canActivate:[AuthGuard]},
    {path: 'join/:typemode/:userEditId', component: FormUserComponent, canActivate: [AuthGuard]},
    {path: 'user/:typemode/:userEditId', component: FormUserComponent, canActivate: [AuthGuard]},
    {path: 'addRole', component: AddRolesComponent, canActivate: [AuthGuard]},
    {path: 'editRole/:typeRoleMode/:roleEditId', component: AddRolesComponent, canActivate: [AuthGuard]},
    {path: 'addAdminstration', component: AddDepartmentComponent, canActivate: [AuthGuard]},
    {path: 'editAdminstration/:typeAdminMode/:editAdminId', component: AddDepartmentComponent, canActivate: [AuthGuard]},
    {path: 'addSection', component: AddSectionComponent, canActivate: [AuthGuard]},
    {path: 'editSection/:typeSectionMode/:editSectionId', component: AddSectionComponent, canActivate: [AuthGuard]},
    {path: 'hospitalsList/:typePageId', component: HospitalListComponent, canActivate: [AuthGuard]},
    {path: 'mangementList/:typePageId', component: HospitalListComponent, canActivate: [AuthGuard]},
    {path: 'add/:typeAdd' , component: AddHospitalComponent, canActivate: [AuthGuard]},
    {path: 'Hospital/:typeHospitalMode/:editTypePageId', component: AddHospitalComponent, canActivate: [AuthGuard]},
    {path: 'Management/:typeHospitalMode/:editTypePageId', component: AddHospitalComponent, canActivate: [AuthGuard]},
    {path: 'eventsList/:eventPageId', component: EventsComponent, canActivate: [AuthGuard]},
    {path: 'addEvent', component: AddEventComponent, canActivate: [AuthGuard]},
    {path: 'Event/:typeEventMode/:editEventId', component: AddEventComponent, canActivate:[AuthGuard]},
    {path: 'externalsList/:externalPageId', component: ExternalListComponent, canActivate: [AuthGuard]},
    {path: 'addExternal', component: AddExternalComponent, canActivate: [AuthGuard]},
    {path: 'externalService/:typeExternalMode/:editExternalId', component: AddExternalComponent, canActivate: [AuthGuard]},
    {path: 'achievementsList/:achievementPageId', component: AchievementComponent, canActivate: [AuthGuard]},
    {path: 'addAchievement', component: AddAchievementComponent, canActivate: [AuthGuard]},
    {path: 'achievement/:typeAchieventMode/:editAchievementId', component: AddAchievementComponent, canActivate: [AuthGuard]},
    {path: 'joinUs/:userPageId', component: UsersComponent, canActivate: [AuthGuard]},
    {path: 'tabs/:tabPageId', component: TabListComponent, canActivate: [AuthGuard]},
    {path: 'addTab', component: AddTabComponent, canActivate: [AuthGuard]},
    {path: 'tab/:typeTabMode/:editTabId', component: AddTabComponent, canActivate: [AuthGuard]},
    {path: 'newsList/:newsPageId', component: NewsListComponent, canActivate: [AuthGuard]},
    {path: 'addNews', component: AddNewsComponent, canActivate: [AuthGuard]},
    {path: 'new/:typeNewMode/:editNewId', component: AddNewsComponent, canActivate: [AuthGuard]},
    {path: 'footerList/:footerPageId', component: FooterListComponent, canActivate: [AuthGuard]},
    {path: 'addFooter', component: AddFooterComponent, canActivate: [AuthGuard]},
    {path: 'footer/:typeFooterMode/:editFooterId', component: AddFooterComponent, canActivate: [AuthGuard]},
    {path: 'internalServicesList/:internalPageId', component: InternalServicesComponent, canActivate: [AuthGuard]},
    {path: 'addInternalServices', component: AddInternalServicesComponent, canActivate: [AuthGuard]},
    {path: 'InternalServices/:typeInternalMode/:editInternalId', component: AddInternalServicesComponent, canActivate: [AuthGuard]},
    {path: 'lecturesList/:lecturePageId', component: LecturesListComponent, canActivate:[AuthGuard]},
    {path: 'addLecture', component: AddLectureComponent, canActivate: [AuthGuard]},
    {path: 'Lecture/:typeLectureMode/:editLectureId', component: AddLectureComponent, canActivate: [AuthGuard]},
    {path: 'mainMenuList/:menuPageId', component: MainListComponent, canActivate:[AuthGuard]},
    {path: 'addMenu', component: AddMenuComponent, canActivate: [AuthGuard]},
    {path: 'menu/:typeMenuMode/:editMenuId', component: AddMenuComponent, canActivate: [AuthGuard]},
    {path: 'userPermission/:userPermissionId', component: UserPermissionComponent, canActivate: [AuthGuard]},
    {path: 'userreport/:reportUserId', component: UserReportComponent, canActivate: [AuthGuard]},
    {path: 'roleReport/:roleReportId', component: RoleReportComponent, canActivate: [AuthGuard]},
    {path: 'userInRoleReport/:userRoleReportId', component: RoleReport2Component, canActivate: [AuthGuard]},
    {path: 'reportList/:reportName', component: ReportListComponent , canActivate: [AuthGuard]},
    {path: 'advertisimentList/:adverId', component: AdvertisimentComponent , canActivate: [AuthGuard]},
    {path: 'advertisiment/:typeAdver', component: AddAdverComponent , canActivate: [AuthGuard]},
    {path: 'barEventsList/:barEventId', component: BarEventsListComponent , canActivate: [AuthGuard]},
    {path: 'barEvent/:typeEventBar', component: AddBarEventComponent , canActivate: [AuthGuard]},
    {path: 'contactUsList/:contactUsId', component: ContactUsListComponent , canActivate: [AuthGuard]},
    {path: 'contactUs/:typeContactUs/:contactId', component: AddContactUsComponent , canActivate: [AuthGuard]},
    {path: 'visitingTimesList/:visitingTimesId', component: VisitingTimesListComponent , canActivate: [AuthGuard]},
    {path: 'visitingTime/:typeVisitingTime/:visitingTimeId', component: AddVisitingTimeComponent , canActivate: [AuthGuard]},
    {path: 'eventCalendarsList/:eventCalendarsId', component: EventCalendarsListComponent , canActivate: [AuthGuard]},
    {path: 'addEventCalendar', component: AddEventCalendarComponent, canActivate: [AuthGuard] },
    {path: 'eventCalendar/:typeEventCalendar/:eventCalendarId', component: AddEventCalendarComponent , canActivate: [AuthGuard]},
    {path: 'externalAchievementsList/:externalAchievementsListIds', component: ExternalAchievementsListComponent , canActivate: [AuthGuard]},
    {path: 'addExternalAchievement', component: AddExternalAchievementComponent, canActivate: [AuthGuard] },
    {path: 'externalAchievement/:typeExternalAchievement/:externalAchievementId', component: AddExternalAchievementComponent , canActivate: [AuthGuard]},
    {path: 'statisticsList/:statisticsListIds', component: StatisticsListComponent , canActivate: [AuthGuard]},
    {path: 'addStatistic', component: AddStatisticComponent, canActivate: [AuthGuard] },
    {path: 'statistic/:typeStatistic/:statisticId', component: AddStatisticComponent , canActivate: [AuthGuard]},
    {path: 'advertisingList/:advertisingListIds', component: AdvertisingServicesListComponent , canActivate: [AuthGuard]},
    {path: 'addAdvertising', component: AddAdvertisingServiceComponent, canActivate: [AuthGuard] },
    {path: 'advertising/:typeAdvertising/:advertisingId', component: AddAdvertisingServiceComponent , canActivate: [AuthGuard]},
    {path: 'map/:mapId', component: MapComponent, canActivate: [AuthGuard]},
    {path: 'supervisorList/:superVisorId', component: SupervisorListComponent},
    {path: 'superVisor/Add', component: SupervisorAddComponent},
    {path: 'superVisor/edit/:superEditId', component: SupervisorAddComponent},
    {path: 'absorpationList/:absorpationListId', component: AbsorpationListComponent},
    {path: 'absorpation/Add', component: AbsorpationAddComponent},
    {path: 'absorpation/edit/:absorpationEditId', component: AbsorpationAddComponent},
    {path: 'trainnerList/:trainnerListId', component: TrainnerDataListComponent},
    {path: 'trainer/add', component: TrainnerDataAddComponent},
    {path: 'trainer/edit/:trainnerEditId', component: TrainnerDataAddComponent},
    {path: 'reviewTrainerData/:reviewTrainerId', component: ReviewTraineeDataListComponent},
    {path: 'reviewTraineeData/add', component: ReviewTraineeAddComponent},
    {path: 'reviewTraineeData/edit/:reviewTraineeId', component: ReviewTraineeAddComponent},
    {path: 'reviewSectionForTrainee/:reviewSectionId', component: SectionReviewTraineeListComponent},
    {path: 'reviewSectionForTrainee/edit/:reviewSectionAddId', component: SectionReviewTraineeAddComponent},
    {path: 'registrationTraineeList/:registrationListId', component: RegistrationTraineeMovementListComponent},
    {path: 'registrationTraineeList/edit/:registrationTraineereviewSectionAddId', component: RegistrationTraineeMovementAddComponent},
    {path: 'printCardTraineeList/:printTraineeId', component: PrintCardTraineeListComponent},
    {path: 'printCardTrainee/edit/:printCardAddId', component: PrintCardTraineeAddComponent},
    {path: 'finalAccerditationList/:finalAccerditationId', component: FinalAccerditationListComponent},
    {path: 'finalAccerditationList/edit/:finalAccerditationEdit', component: FinalAccerditationAddComponent},
    {path: 'vehicleList/:vehicleListId', component: VehicleListComponent},
    {path: 'vehicle/add', component: VehicleAddComponent},
    {path: 'vehicle/edit/:vehicleEditId', component: VehicleAddComponent},
    {path: 'vehicleModelList/:modelVehicleListId' , component: ModelVehicleListComponent},
    {path: 'vehicleModel/add' , component: ModelVehicleAddComponent},
    {path: 'vehicleModel/edit/:modelVehicleEditId', component:ModelVehicleAddComponent },
    {path: 'registrationVehicleList/:registrationVehicleListId', component: RegistrationVehicleListComponent},
    {path: 'registrationVehicle/add', component: RegistrationVehicleAddComponent},
    {path: 'registrationVehicle/edit/:registrationVehicleEditId', component:RegistrationVehicleAddComponent },
  ]},
];

@NgModule({
    imports: [
        RouterModule.forChild(dashboardRouting),
    ],
    //exports: [internalPageRoutes]
    exports: [
        RouterModule
      ]
})

export class DashBoardRouting {

}
