├── .gitignore ├── JDS.OrgManager ├── .editorconfig ├── JDS.OrgManager.Application.Accounting │ └── JDS.OrgManager.Application.Accounting.csproj ├── JDS.OrgManager.Application.IntegrationTests │ └── JDS.OrgManager.Application.IntegrationTests.csproj ├── JDS.OrgManager.Application.UnitTests │ ├── HumanResources │ │ ├── Employees │ │ │ ├── EmployeeDbEntityToDomainEntityMapperTests.cs │ │ │ ├── EmployeeDomainEntityToDbEntityMapperTests.cs │ │ │ ├── EmployeeDomainEntityToViewModelMapperTests.cs │ │ │ └── EmployeeViewModelToDomainEntityMapperTests.cs │ │ └── PaidTimeOffPolicies │ │ │ ├── PaidTimeOffPolicyDbEntityToDomainEntityMapperTests.cs │ │ │ └── PaidTimeOffPolicyDomainEntityToDbEntityMapperTests.cs │ └── JDS.OrgManager.Application.UnitTests.csproj ├── JDS.OrgManager.Application │ ├── Abstractions │ │ ├── DbContexts │ │ │ └── IApplicationWriteDbContext.cs │ │ ├── DbFacades │ │ │ ├── IApplicationReadDbFacade.cs │ │ │ └── IApplicationWriteDbFacade.cs │ │ ├── Identity │ │ │ └── ICurrentUserService.cs │ │ ├── Mapping │ │ │ ├── IDbEntityToDomainEntityMapper.cs │ │ │ ├── IDbEntityToValueObjectMapper.cs │ │ │ ├── IDbEntityToViewModelMapper.cs │ │ │ ├── IDomainEntityToDbEntityMapper.cs │ │ │ ├── IDomainEntityToViewModelMapper.cs │ │ │ ├── IModelMapper.cs │ │ │ ├── IViewModelToDbEntityMapper.cs │ │ │ ├── IViewModelToDomainEntityMapper.cs │ │ │ └── IViewModelToValueObjectMapper.cs │ │ ├── Models │ │ │ ├── AuditableDbEntity.cs │ │ │ ├── IDbEntity.cs │ │ │ ├── IViewModel.cs │ │ │ └── Lengths.cs │ │ ├── Queries │ │ │ └── ICacheableQuery.cs │ │ └── Serialization │ │ │ └── IByteSerializer.cs │ ├── AccessDeniedException.cs │ ├── ApplicationLayer.cs │ ├── ApplicationLayerConstants.cs │ ├── ApplicationLayerException.cs │ ├── AuthorizationException.cs │ ├── Behaviors │ │ ├── RequestCachingBehavior.cs │ │ ├── RequestLogger.cs │ │ ├── RequestPerformanceBehavior.cs │ │ └── RequestValidationBehavior.cs │ ├── Common │ │ ├── Addresses │ │ │ ├── AddressDbEntityToValueObjectMapper.cs │ │ │ ├── AddressViewModelToValueObjectMapper.cs │ │ │ ├── IAddressEntity.cs │ │ │ └── IAddressViewModel.cs │ │ ├── Currencies │ │ │ └── CurrencyEntity.cs │ │ ├── Employees │ │ │ ├── EmployeeEntity.cs │ │ │ ├── EmployeeException.cs │ │ │ └── EmployeeManagerEntity.cs │ │ ├── Mapping │ │ │ ├── MapperBase'T.cs │ │ │ ├── MapperBase.cs │ │ │ ├── Mappers.cs │ │ │ ├── MappingRegister.cs │ │ │ ├── ModelMapper.cs │ │ │ └── map.txt │ │ └── TimeOff │ │ │ ├── PaidTimeOffPolicyEntity.cs │ │ │ └── PaidTimeOffRequestEntity.cs │ ├── Customers │ │ ├── Commands │ │ │ ├── AddOrUpdateCustomer │ │ │ │ ├── AddOrUpdateCustomerCommand.cs │ │ │ │ └── AddOrUpdateCustomerCommandValidator.cs │ │ │ ├── AddOrUpdateTenant │ │ │ │ ├── AddOrUpdateTenantCommand.cs │ │ │ │ └── AddOrUpdateTenantCommandValidator.cs │ │ │ ├── DeleteTenant │ │ │ │ ├── DeleteTenantCommand.cs │ │ │ │ └── DeleteTenantViewModel.cs │ │ │ └── ProvisionTenant │ │ │ │ └── ProvisionTenantCommand.cs │ │ ├── CustomerEntity.cs │ │ ├── CustomerViewModel.cs │ │ └── Queries │ │ │ ├── GetCustomer │ │ │ └── GetCustomerQuery.cs │ │ │ ├── GetCustomerId │ │ │ └── GetCustomerIdQuery.cs │ │ │ ├── GetNewAssignmentKey │ │ │ └── GetNewAssignmentKeyQuery.cs │ │ │ └── GetTenantsForCustomer │ │ │ └── GetTenantsForCustomerQuery.cs │ ├── DependencyInjectionExtensions.cs │ ├── HumanResources │ │ ├── Employees │ │ │ ├── Commands │ │ │ │ └── AddOrUpdateEmployee │ │ │ │ │ ├── AddOrUpdateEmployeeCommand.cs │ │ │ │ │ ├── AddOrUpdateEmployeeCommandValidator.cs │ │ │ │ │ ├── AddOrUpdateEmployeeDomainEntityToViewModelMapper.cs │ │ │ │ │ ├── AddOrUpdateEmployeeViewModel.cs │ │ │ │ │ ├── AddOrUpdateEmployeeViewModelToDomainEntityMapper.cs │ │ │ │ │ ├── EmployeeRegisteredEventHandler.cs │ │ │ │ │ └── EmployeeUpdatedEventHandler.cs │ │ │ ├── EmployeeDbEntityToDomainEntityMapper.cs │ │ │ ├── EmployeeDomainEntityToDbEntityMapper.cs │ │ │ ├── EmployeeDomainEntityToViewModelMapper.cs │ │ │ ├── EmployeeViewModel.cs │ │ │ ├── EmployeeViewModelToDomainEntityMapper.cs │ │ │ └── Queries │ │ │ │ ├── GetEmployee │ │ │ │ └── GetEmployeeQuery.cs │ │ │ │ ├── GetEmployeeList │ │ │ │ ├── GetEmployeeListQuery.cs │ │ │ │ └── GetEmployeeListViewModel.cs │ │ │ │ ├── GetEmployeeOrgChart │ │ │ │ ├── GetEmployeeOrgChartQuery.cs │ │ │ │ └── GetEmployeeOrgChartViewModel.cs │ │ │ │ └── VerifyOrganization │ │ │ │ ├── OrgStats.cs │ │ │ │ ├── VerifyOrganizationQuery.cs │ │ │ │ └── VerifyOrganizationViewModel.cs │ │ └── TimeOff │ │ │ ├── Commands │ │ │ └── SubmitNewPaidTimeOffRequest │ │ │ │ ├── SubmitNewPaidTimeOffRequestCommand.cs │ │ │ │ └── SubmitNewPaidTimeOffRequestViewModel.cs │ │ │ ├── PaidTimeOffRequestDbEntityToViewModelMapper.cs │ │ │ ├── PaidTimeOffRequestDomainEntityToDbEntityMapper.cs │ │ │ ├── PaidTimeOffRequestDomainEntityToViewModelMapper.cs │ │ │ ├── PaidTimeOffRequestSubmittedEventHandler.cs │ │ │ ├── PaidTimeOffRequestViewModel.cs │ │ │ └── Queries │ │ │ ├── GetPaidTimeOffPolicyDetail │ │ │ ├── GetPaidTimeOffPolicyDetailQuery.cs │ │ │ └── GetPaidTimeOffPolicyDetailViewModel.cs │ │ │ ├── GetPaidTimeOffPolicyList │ │ │ ├── GetPaidTimeOffPolicyListQuery.cs │ │ │ └── GetPaidTimeOffPolicyListViewModel.cs │ │ │ ├── GetPaidTimeOffRequestsForEmployee │ │ │ └── GetPaidTimeOffRequestsForEmployeeQuery.cs │ │ │ ├── GetPaidTimeOffRequestsForTenant │ │ │ └── GetPaidTimeOffRequestsForTenantQuery.cs │ │ │ └── ValidateRequestedPaidTimeOffHours │ │ │ ├── ValidateRequestedPaidTimeOffHoursQuery.cs │ │ │ └── ValidateRequestedPaidTimeOffHoursViewModel.cs │ ├── JDS.OrgManager.Application.csproj │ ├── NotFoundException.cs │ ├── System │ │ ├── ApplicatonWriteDbFacadeExtensions.cs │ │ ├── Commands │ │ │ ├── ClearTables │ │ │ │ └── ClearTablesCommand.cs │ │ │ └── SeedInitialData │ │ │ │ ├── InitialDataSeeder.cs │ │ │ │ └── SeedInitialDataCommand.cs │ │ └── DataInitializerService.cs │ ├── Tenants │ │ ├── Queries │ │ │ ├── GetAuthorizedTenantsForUser │ │ │ │ └── GetAuthorizedTenantsForUserQuery.cs │ │ │ ├── GetTenant │ │ │ │ └── GetTenantQuery.cs │ │ │ ├── GetTenantEmployeesForUser │ │ │ │ └── GetTenantEmployeesForUserQuery.cs │ │ │ ├── GetTenantIdFromAssignmentKey │ │ │ │ └── GetTenantIdFromAssignmentKey.cs │ │ │ ├── GetTenantIdFromSlug │ │ │ │ └── GetTenantIdFromSlug.cs │ │ │ └── GetUserHasTenantAccess │ │ │ │ └── GetUserHasTenantAccessQuery.cs │ │ ├── TenantAspNetUserEntity.cs │ │ ├── TenantDefaultEntity.cs │ │ ├── TenantEmployeeIdentityModel.cs │ │ ├── TenantEntity.cs │ │ ├── TenantViewModel.cs │ │ └── TenantViewModelToDbEntityMapper.cs │ └── Users │ │ └── Queries │ │ └── GetUserStatus │ │ ├── GetUserStatusQuery.cs │ │ └── UserStatusViewModel.cs ├── JDS.OrgManager.Common.Testing │ ├── JDS.OrgManager.Common.Testing.csproj │ ├── XUnitLogger.cs │ └── XUnitLoggerProvider.cs ├── JDS.OrgManager.Common.UnitTests │ ├── DateTimeHelperTests.cs │ ├── EnumExtensionsTests.cs │ ├── JDS.OrgManager.Common.UnitTests.csproj │ └── StringExtensionsTests.cs ├── JDS.OrgManager.Common │ ├── Abstractions │ │ └── DateTimes │ │ │ ├── IDateTimeService.cs │ │ │ └── NullDateTimeService.cs │ ├── DateTimes │ │ ├── DateTimeHelper.cs │ │ └── Month.cs │ ├── Diagnostics │ │ └── MethodTimer.cs │ ├── Enums │ │ └── EnumExtensions.cs │ ├── JDS.OrgManager.Common.csproj │ ├── Reflection │ │ └── ReflectionExtensions.cs │ └── Text │ │ ├── AsciiTreeNode.cs │ │ ├── StringExtensions.cs │ │ └── StringHelper.cs ├── JDS.OrgManager.Domain.Accounting │ ├── Employees │ │ └── Employee.cs │ ├── JDS.OrgManager.Domain.Accounting.csproj │ └── Pay │ │ └── Paycheck.cs ├── JDS.OrgManager.Domain.HumanResources.Advanced.UnitTests │ ├── JDS.OrgManager.Domain.HumanResources.Advanced.UnitTests.csproj │ └── OrganizationVerifierTests.cs ├── JDS.OrgManager.Domain.HumanResources.Advanced │ ├── DependencyInjectionExtensions.fs │ ├── IOrganizationVerifier.fs │ ├── JDS.OrgManager.Domain.HumanResources.Advanced.fsproj │ └── OrganizationVerifier.fs ├── JDS.OrgManager.Domain.Mocks │ └── JDS.OrgManager.Domain.Mocks.csproj ├── JDS.OrgManager.Domain.UnitTests │ ├── Common │ │ └── Addresses │ │ │ └── AddressTests.cs │ ├── HumanResources │ │ └── Employees │ │ │ └── EmployeeTests.cs │ ├── JDS.OrgManager.Domain.UnitTests.csproj │ ├── MapsterTests.cs │ └── Models │ │ └── DomainEntityTests.cs ├── JDS.OrgManager.Domain │ ├── Abstractions │ │ ├── Events │ │ │ ├── IDomainEvent.cs │ │ │ ├── IDomainEventDispatcher.cs │ │ │ └── IDomainEventHandler.cs │ │ └── Models │ │ │ ├── IDomainEntity.cs │ │ │ └── IValueObject.cs │ ├── Common │ │ ├── Addresses │ │ │ ├── Address.cs │ │ │ ├── State.cs │ │ │ └── ZipCode.cs │ │ ├── Employees │ │ │ └── EmployeeConstants.cs │ │ ├── Finance │ │ │ ├── Currency.cs │ │ │ ├── CurrencyException.cs │ │ │ └── Money.cs │ │ └── People │ │ │ ├── Gender.cs │ │ │ ├── SocialSecurityNumber.cs │ │ │ └── Title.cs │ ├── DependencyInjectionExtensions.cs │ ├── DomainLayer.cs │ ├── DomainLayerException.cs │ ├── Events │ │ ├── DomainEvent.cs │ │ ├── DomainEventDispatcher.cs │ │ └── NullDomainEventDispatcher.cs │ ├── HumanResources │ │ ├── Employees │ │ │ ├── Employee.cs │ │ │ ├── EmployeeException.cs │ │ │ ├── EmployeeRegisteredEvent.cs │ │ │ └── EmployeeUpdatedEvent.cs │ │ └── TimeOff │ │ │ ├── PaidTimeOffException.cs │ │ │ ├── PaidTimeOffPolicy.cs │ │ │ ├── PaidTimeOffRequest.cs │ │ │ ├── PaidTimeOffRequestApprovalStatus.cs │ │ │ ├── PaidTimeOffRequestService.cs │ │ │ ├── PaidTimeOffRequestStatus.cs │ │ │ ├── PaidTimeOffRequestSubmittedEvent.cs │ │ │ └── PaidTimeOffRequestValidationResult.cs │ ├── JDS.OrgManager.Domain.csproj │ └── Models │ │ ├── DomainEntity'T.cs │ │ └── DomainEntity.cs ├── JDS.OrgManager.Infrastructure.UnitTests │ └── JDS.OrgManager.Infrastructure.UnitTests.csproj ├── JDS.OrgManager.Infrastructure │ ├── Dates │ │ └── MachineDateTimeService.cs │ ├── DependencyInjectionExtensions.cs │ ├── ErrorHandling │ │ ├── CustomErrorHandlerHelper.cs │ │ └── CustomErrorHandlingMiddleware.cs │ ├── Http │ │ └── MyHttpContext.cs │ ├── Identity │ │ ├── AppIdentityDbContext.cs │ │ ├── AppIdentityDbContextFactory.cs │ │ ├── ApplicationUser.cs │ │ ├── CurrentUserService.cs │ │ ├── DefaultOperationalStoreOptions.cs │ │ └── DesignAppTimeIdentityDbContextFactoryBase.cs │ ├── InfrastructureLayerConstants.cs │ ├── InfrastructureLayerException.cs │ ├── JDS.OrgManager.Infrastructure.csproj │ ├── Migrations │ │ ├── 20210210030006_Initial.Designer.cs │ │ ├── 20210210030006_Initial.cs │ │ └── AppIdentityDbContextModelSnapshot.cs │ └── Serialization │ │ └── ByteSerializer.cs ├── JDS.OrgManager.MapperGeneratorConsoleApp │ ├── JDS.OrgManager.MapperGeneratorConsoleApp.fsproj │ ├── Program.fs │ └── Properties │ │ └── launchSettings.json ├── JDS.OrgManager.Persistence │ ├── Common │ │ ├── Currencies │ │ │ └── CurrencyEntityConfiguration.cs │ │ ├── Employees │ │ │ ├── EmployeeEntityConfiguration.cs │ │ │ └── EmployeeManagerEntityConfiguration.cs │ │ └── TimeOff │ │ │ ├── PaidTimeOffPolicyEntityConfiguration.cs │ │ │ └── PaidTimeOffRequestEntityConfiguration.cs │ ├── Configuration │ │ └── ConfigurationBase.cs │ ├── Customers │ │ └── CustomerEntityConfiguration.cs │ ├── DbContexts │ │ ├── ApplicationWriteDbContext.cs │ │ ├── ApplicationWriteDbContextFactory.cs │ │ └── DesignTimeWriteDbContextFactoryBase.cs │ ├── DbFacades │ │ ├── ApplicationReadDbFacade.cs │ │ └── ApplicationWriteDbFacade.cs │ ├── DependencyInjectionExtensions.cs │ ├── JDS.OrgManager.Persistence.csproj │ ├── Migrations │ │ ├── 20210212021515_Initial.Designer.cs │ │ ├── 20210212021515_Initial.cs │ │ ├── 20210217030554_UpdatedModel.Designer.cs │ │ ├── 20210217030554_UpdatedModel.cs │ │ ├── 20210220225227_AddedPtoRequests.Designer.cs │ │ ├── 20210220225227_AddedPtoRequests.cs │ │ ├── 20210312005802_ExternalEmployeeId.Designer.cs │ │ ├── 20210312005802_ExternalEmployeeId.cs │ │ └── ApplicationWriteDbContextModelSnapshot.cs │ ├── PersistenceLayerConstants.cs │ ├── PersistenceLayerException.cs │ └── Tenants │ │ ├── TenantAspNetUserEntityConfiguration.cs │ │ ├── TenantDefaultEntityConfiguration.cs │ │ └── TenantEntityConfiguration.cs ├── JDS.OrgManager.Presentation.WebApi │ ├── .gitignore │ ├── Areas │ │ └── Identity │ │ │ ├── IdentityHostingStartup.cs │ │ │ └── Pages │ │ │ ├── Account │ │ │ ├── Register.cshtml │ │ │ ├── Register.cshtml.cs │ │ │ ├── RegistrationUserType.cs │ │ │ └── _ViewImports.cshtml │ │ │ ├── _ViewImports.cshtml │ │ │ └── _ViewStart.cshtml │ ├── ClientApp │ │ ├── .editorconfig │ │ ├── .eslintrc │ │ ├── .gitignore │ │ ├── .npmrc │ │ ├── .prettierignore │ │ ├── .prettierrc │ │ ├── angular.json │ │ ├── browserslist │ │ ├── e2e │ │ │ ├── protractor.conf.js │ │ │ ├── src │ │ │ │ ├── app │ │ │ │ │ ├── app.e2e-spec.ts │ │ │ │ │ └── app.po.ts │ │ │ │ └── utils │ │ │ │ │ └── utils.ts │ │ │ └── tsconfig.json │ │ ├── karma.conf.js │ │ ├── package-lock.json │ │ ├── package.json │ │ ├── src │ │ │ ├── api-authorization │ │ │ │ ├── api-authorization.constants.ts │ │ │ │ ├── api-authorization.module.spec.ts │ │ │ │ ├── api-authorization.module.ts │ │ │ │ ├── authorize.guard.spec.ts │ │ │ │ ├── authorize.guard.ts │ │ │ │ ├── authorize.interceptor.spec.ts │ │ │ │ ├── authorize.interceptor.ts │ │ │ │ ├── authorize.service.spec.ts │ │ │ │ ├── authorize.service.ts │ │ │ │ ├── login-menu │ │ │ │ │ ├── login-menu.component.css │ │ │ │ │ ├── login-menu.component.html │ │ │ │ │ ├── login-menu.component.spec.ts │ │ │ │ │ └── login-menu.component.ts │ │ │ │ ├── login │ │ │ │ │ ├── login.component.css │ │ │ │ │ ├── login.component.html │ │ │ │ │ ├── login.component.spec.ts │ │ │ │ │ └── login.component.ts │ │ │ │ └── logout │ │ │ │ │ ├── logout.component.css │ │ │ │ │ ├── logout.component.html │ │ │ │ │ ├── logout.component.spec.ts │ │ │ │ │ └── logout.component.ts │ │ │ ├── app │ │ │ │ ├── app-routing.module.ts │ │ │ │ ├── app.module.ts │ │ │ │ ├── app │ │ │ │ │ ├── app.component.html │ │ │ │ │ ├── app.component.scss │ │ │ │ │ ├── app.component.scss-theme.scss │ │ │ │ │ ├── app.component.spec.ts │ │ │ │ │ └── app.component.ts │ │ │ │ ├── core │ │ │ │ │ ├── animations │ │ │ │ │ │ ├── animations.service.spec.ts │ │ │ │ │ │ ├── animations.service.ts │ │ │ │ │ │ └── route.animations.ts │ │ │ │ │ ├── core.module.ts │ │ │ │ │ ├── error-handler │ │ │ │ │ │ └── app-error-handler.service.ts │ │ │ │ │ ├── http-interceptors │ │ │ │ │ │ └── http-error.interceptor.ts │ │ │ │ │ ├── local-storage │ │ │ │ │ │ ├── local-storage.service.spec.ts │ │ │ │ │ │ └── local-storage.service.ts │ │ │ │ │ └── notifications │ │ │ │ │ │ ├── notification.service.spec.ts │ │ │ │ │ │ └── notification.service.ts │ │ │ │ ├── customers │ │ │ │ │ ├── add-or-update-customer │ │ │ │ │ │ ├── add-or-update-customer.component.css │ │ │ │ │ │ ├── add-or-update-customer.component.html │ │ │ │ │ │ ├── add-or-update-customer.component.spec.ts │ │ │ │ │ │ └── add-or-update-customer.component.ts │ │ │ │ │ ├── customer-home │ │ │ │ │ │ ├── customer-home.component.html │ │ │ │ │ │ ├── customer-home.component.scss │ │ │ │ │ │ ├── customer-home.component.spec.ts │ │ │ │ │ │ └── customer-home.component.ts │ │ │ │ │ ├── customer.module.ts │ │ │ │ │ ├── is-customer.guard.ts │ │ │ │ │ └── manage-tenants │ │ │ │ │ │ ├── manage-tenants.component.html │ │ │ │ │ │ ├── manage-tenants.component.scss │ │ │ │ │ │ ├── manage-tenants.component.spec.ts │ │ │ │ │ │ └── manage-tenants.component.ts │ │ │ │ ├── employees │ │ │ │ │ ├── add-or-update-employee │ │ │ │ │ │ ├── add-or-update-employee.component.html │ │ │ │ │ │ ├── add-or-update-employee.component.scss │ │ │ │ │ │ ├── add-or-update-employee.component.spec.ts │ │ │ │ │ │ └── add-or-update-employee.component.ts │ │ │ │ │ ├── employee-home │ │ │ │ │ │ ├── employee-home.component.html │ │ │ │ │ │ ├── employee-home.component.scss │ │ │ │ │ │ ├── employee-home.component.spec.ts │ │ │ │ │ │ └── employee-home.component.ts │ │ │ │ │ ├── employee.module.ts │ │ │ │ │ └── is-employee.guard.ts │ │ │ │ ├── home │ │ │ │ │ ├── employee-registered │ │ │ │ │ │ ├── employee-registered.component.html │ │ │ │ │ │ ├── employee-registered.component.scss │ │ │ │ │ │ ├── employee-registered.component.spec.ts │ │ │ │ │ │ └── employee-registered.component.ts │ │ │ │ │ ├── home.component.html │ │ │ │ │ ├── home.component.scss │ │ │ │ │ ├── home.component.ts │ │ │ │ │ ├── home.module.ts │ │ │ │ │ ├── lets-get-started │ │ │ │ │ │ ├── lets-get-started.component.html │ │ │ │ │ │ ├── lets-get-started.component.scss │ │ │ │ │ │ ├── lets-get-started.component.spec.ts │ │ │ │ │ │ └── lets-get-started.component.ts │ │ │ │ │ ├── test │ │ │ │ │ │ ├── test.component.html │ │ │ │ │ │ ├── test.component.scss │ │ │ │ │ │ ├── test.component.spec.ts │ │ │ │ │ │ └── test.component.ts │ │ │ │ │ └── unauthorized │ │ │ │ │ │ ├── unauthorized.component.html │ │ │ │ │ │ ├── unauthorized.component.scss │ │ │ │ │ │ ├── unauthorized.component.spec.ts │ │ │ │ │ │ └── unauthorized.component.ts │ │ │ │ ├── shared │ │ │ │ │ ├── applicationlayerconstants.ts │ │ │ │ │ ├── big-input │ │ │ │ │ │ ├── big-input-action │ │ │ │ │ │ │ ├── big-input-action.component.html │ │ │ │ │ │ │ ├── big-input-action.component.scss │ │ │ │ │ │ │ ├── big-input-action.component.spec.ts │ │ │ │ │ │ │ └── big-input-action.component.ts │ │ │ │ │ │ └── big-input │ │ │ │ │ │ │ ├── big-input.component.html │ │ │ │ │ │ │ ├── big-input.component.scss │ │ │ │ │ │ │ ├── big-input.component.scss-theme.scss │ │ │ │ │ │ │ ├── big-input.component.spec.ts │ │ │ │ │ │ │ └── big-input.component.ts │ │ │ │ │ ├── consts.ts │ │ │ │ │ ├── functions.js │ │ │ │ │ ├── functions.js.map │ │ │ │ │ ├── functions.ts │ │ │ │ │ ├── lengths.ts │ │ │ │ │ ├── nswag.ts │ │ │ │ │ ├── shared.module.ts │ │ │ │ │ ├── utils.ts │ │ │ │ │ └── validator-functions.ts │ │ │ │ ├── tenants │ │ │ │ │ ├── has-tenant-access.guard.ts │ │ │ │ │ └── tenant.service.ts │ │ │ │ └── time-off │ │ │ │ │ ├── employee-paid-time-off-requests │ │ │ │ │ ├── employee-paid-time-off-requests.component.html │ │ │ │ │ ├── employee-paid-time-off-requests.component.scss │ │ │ │ │ ├── employee-paid-time-off-requests.component.spec.ts │ │ │ │ │ └── employee-paid-time-off-requests.component.ts │ │ │ │ │ ├── submit-time-off-request │ │ │ │ │ ├── submit-time-off-request.component.html │ │ │ │ │ ├── submit-time-off-request.component.scss │ │ │ │ │ ├── submit-time-off-request.component.spec.ts │ │ │ │ │ └── submit-time-off-request.component.ts │ │ │ │ │ └── time-off.module.ts │ │ │ ├── assets │ │ │ │ ├── .gitkeep │ │ │ │ ├── corporate.jpg │ │ │ │ ├── favicon.ico │ │ │ │ ├── logo.png │ │ │ │ ├── office.jpg │ │ │ │ ├── registration-complete.jpg │ │ │ │ └── unauthorized.jpg │ │ │ ├── environments │ │ │ │ ├── environment.prod.ts │ │ │ │ ├── environment.test.ts │ │ │ │ └── environment.ts │ │ │ ├── favicon.ico │ │ │ ├── index.html │ │ │ ├── main.ts │ │ │ ├── polyfills.ts │ │ │ ├── styles-app-loading.scss │ │ │ ├── styles-reset.scss │ │ │ ├── styles-reset.scss-theme.scss │ │ │ ├── styles-variables.scss │ │ │ ├── styles.scss │ │ │ ├── test.ts │ │ │ └── themes │ │ │ │ ├── black-theme.scss │ │ │ │ ├── default-theme.scss │ │ │ │ ├── light-theme.scss │ │ │ │ └── nature-theme.scss │ │ ├── tsconfig.app.json │ │ ├── tsconfig.json │ │ └── tsconfig.spec.json │ ├── Controllers │ │ ├── CqrsControllerBase.cs │ │ ├── CustomerController.cs │ │ ├── EmployeeController.cs │ │ ├── OidcConfigurationController.cs │ │ ├── TenantController.cs │ │ ├── TestController.cs │ │ ├── TimeOffController.cs │ │ └── UserController.cs │ ├── DatabaseUpdater.cs │ ├── JDS.OrgManager.Presentation.WebApi.csproj │ ├── Pages │ │ ├── Error.cshtml │ │ ├── Error.cshtml.cs │ │ ├── Shared │ │ │ ├── _Layout.cshtml │ │ │ ├── _LoginPartial.cshtml │ │ │ └── _ValidationScriptsPartial.cshtml │ │ ├── _ViewImports.cshtml │ │ └── _ViewStart.cshtml │ ├── Program.cs │ ├── Properties │ │ ├── launchSettings.json │ │ ├── serviceDependencies.json │ │ └── serviceDependencies.local.json │ ├── Startup.cs │ ├── appsettings.Development.json │ ├── appsettings.json │ ├── bundleconfig.json │ ├── org-manager.nswag.json │ └── wwwroot │ │ ├── css │ │ └── site.css │ │ ├── favicon.ico │ │ ├── js │ │ └── site.js │ │ └── lib │ │ ├── bootstrap │ │ ├── LICENSE │ │ └── dist │ │ │ ├── css │ │ │ ├── bootstrap-theme.css │ │ │ ├── bootstrap-theme.css.map │ │ │ ├── bootstrap-theme.min.css │ │ │ ├── bootstrap-theme.min.css.map │ │ │ ├── bootstrap.css │ │ │ ├── bootstrap.css.map │ │ │ ├── bootstrap.min.css │ │ │ └── bootstrap.min.css.map │ │ │ └── js │ │ │ ├── bootstrap.js │ │ │ └── bootstrap.min.js │ │ ├── jquery-validation-unobtrusive │ │ ├── LICENSE.txt │ │ ├── jquery.validate.unobtrusive.js │ │ └── jquery.validate.unobtrusive.min.js │ │ ├── jquery-validation │ │ ├── LICENSE.md │ │ └── dist │ │ │ ├── additional-methods.js │ │ │ ├── additional-methods.min.js │ │ │ ├── jquery.validate.js │ │ │ └── jquery.validate.min.js │ │ └── jquery │ │ ├── LICENSE.txt │ │ └── dist │ │ ├── jquery.js │ │ ├── jquery.min.js │ │ └── jquery.min.map ├── JDS.OrgManager.TypescriptGenerator │ ├── JDS.OrgManager.TypescriptGenerator.fsproj │ └── Program.fs ├── JDS.OrgManager.Utils │ ├── DummyData.cs │ ├── DummyDataInserter.cs │ ├── JDS.OrgManager.Utils.csproj │ ├── Streets │ │ ├── Street.cs │ │ ├── StreetClassMap.cs │ │ └── chicago-street-names.csv │ └── UnitTestEmployeeGenerator.cs └── JDS.OrgManager.sln ├── LICENSE ├── README.md ├── _config.yml └── images ├── About.png ├── Add-Edit-Customer-Information.png ├── Add-Edit-Employee-Information.png ├── Customer-Add-Update-Tenants.png ├── Employee-Home-Org-Feedback-Subscreen.png ├── Employee-Home-PTO-Subscreen.png ├── Employee-Registration.png ├── Employer-Registration.png ├── Front-Page.png ├── Help-Support.png ├── Privacy-Policy.png ├── Registration-Complete.png ├── Registration-Main-Page.png ├── Terms-and-Conditions.png ├── Testimonials.png └── Upgrade-Downgrade-Cancel.png /JDS.OrgManager/.editorconfig: -------------------------------------------------------------------------------- 1 | [*.cs] 2 | 3 | # CS1998: Async method lacks 'await' operators and will run synchronously 4 | dotnet_diagnostic.CS1998.severity = none 5 | -------------------------------------------------------------------------------- /JDS.OrgManager/JDS.OrgManager.Application.Accounting/JDS.OrgManager.Application.Accounting.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | net5.0 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /JDS.OrgManager/JDS.OrgManager.Application.IntegrationTests/JDS.OrgManager.Application.IntegrationTests.csproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | net5.0 5 | 6 | false 7 | 8 | 9 | 10 | 11 | 12 | 13 | runtime; build; native; contentfiles; analyzers; buildtransitive 14 | all 15 | 16 | 17 | runtime; build; native; contentfiles; analyzers; buildtransitive 18 | all 19 | 20 | 21 | 22 | 23 | -------------------------------------------------------------------------------- /JDS.OrgManager/JDS.OrgManager.Application.UnitTests/HumanResources/Employees/EmployeeDomainEntityToDbEntityMapperTests.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JacobsDataSolutions/OrgManager/92a5c5094ffb512432feabc848662e2ebcd396de/JDS.OrgManager/JDS.OrgManager.Application.UnitTests/HumanResources/Employees/EmployeeDomainEntityToDbEntityMapperTests.cs -------------------------------------------------------------------------------- /JDS.OrgManager/JDS.OrgManager.Application.UnitTests/HumanResources/Employees/EmployeeViewModelToDomainEntityMapperTests.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JacobsDataSolutions/OrgManager/92a5c5094ffb512432feabc848662e2ebcd396de/JDS.OrgManager/JDS.OrgManager.Application.UnitTests/HumanResources/Employees/EmployeeViewModelToDomainEntityMapperTests.cs -------------------------------------------------------------------------------- /JDS.OrgManager/JDS.OrgManager.Application.UnitTests/HumanResources/PaidTimeOffPolicies/PaidTimeOffPolicyDomainEntityToDbEntityMapperTests.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JacobsDataSolutions/OrgManager/92a5c5094ffb512432feabc848662e2ebcd396de/JDS.OrgManager/JDS.OrgManager.Application.UnitTests/HumanResources/PaidTimeOffPolicies/PaidTimeOffPolicyDomainEntityToDbEntityMapperTests.cs -------------------------------------------------------------------------------- /JDS.OrgManager/JDS.OrgManager.Application.UnitTests/JDS.OrgManager.Application.UnitTests.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | net5.0 5 | 6 | false 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | runtime; build; native; contentfiles; analyzers; buildtransitive 16 | all 17 | 18 | 19 | runtime; build; native; contentfiles; analyzers; buildtransitive 20 | all 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | -------------------------------------------------------------------------------- /JDS.OrgManager/JDS.OrgManager.Application/Abstractions/DbContexts/IApplicationWriteDbContext.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JacobsDataSolutions/OrgManager/92a5c5094ffb512432feabc848662e2ebcd396de/JDS.OrgManager/JDS.OrgManager.Application/Abstractions/DbContexts/IApplicationWriteDbContext.cs -------------------------------------------------------------------------------- /JDS.OrgManager/JDS.OrgManager.Application/Abstractions/DbFacades/IApplicationReadDbFacade.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JacobsDataSolutions/OrgManager/92a5c5094ffb512432feabc848662e2ebcd396de/JDS.OrgManager/JDS.OrgManager.Application/Abstractions/DbFacades/IApplicationReadDbFacade.cs -------------------------------------------------------------------------------- /JDS.OrgManager/JDS.OrgManager.Application/Abstractions/DbFacades/IApplicationWriteDbFacade.cs: -------------------------------------------------------------------------------- 1 | // Copyright ©2021 Jacobs Data Solutions 2 | 3 | // Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the 4 | // License at 5 | 6 | // http://www.apache.org/licenses/LICENSE-2.0 7 | 8 | // Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR 9 | // CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. 10 | using System.Data; 11 | using System.Threading; 12 | using System.Threading.Tasks; 13 | 14 | namespace JDS.OrgManager.Application.Abstractions.DbFacades 15 | { 16 | public interface IApplicationWriteDbFacade : IApplicationReadDbFacade 17 | { 18 | Task ExecuteAsync(string sql, object? param = null, IDbTransaction? transaction = null, CancellationToken cancellationToken = default); 19 | } 20 | } -------------------------------------------------------------------------------- /JDS.OrgManager/JDS.OrgManager.Application/Abstractions/Identity/ICurrentUserService.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JacobsDataSolutions/OrgManager/92a5c5094ffb512432feabc848662e2ebcd396de/JDS.OrgManager/JDS.OrgManager.Application/Abstractions/Identity/ICurrentUserService.cs -------------------------------------------------------------------------------- /JDS.OrgManager/JDS.OrgManager.Application/Abstractions/Mapping/IDbEntityToDomainEntityMapper.cs: -------------------------------------------------------------------------------- 1 | // Copyright ©2021 Jacobs Data Solutions 2 | 3 | // Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the 4 | // License at 5 | 6 | // http://www.apache.org/licenses/LICENSE-2.0 7 | 8 | // Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR 9 | // CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. 10 | using JDS.OrgManager.Application.Abstractions.Models; 11 | using JDS.OrgManager.Domain.Abstractions.Models; 12 | 13 | namespace JDS.OrgManager.Application.Abstractions.Mapping 14 | { 15 | public interface IDbEntityToDomainEntityMapper where TDomainEntity : IDomainEntity where TDbEntity : IDbEntity 16 | { 17 | TDomainEntity Map(TDbEntity source); 18 | } 19 | } -------------------------------------------------------------------------------- /JDS.OrgManager/JDS.OrgManager.Application/Abstractions/Mapping/IDbEntityToValueObjectMapper.cs: -------------------------------------------------------------------------------- 1 | // Copyright ©2021 Jacobs Data Solutions 2 | 3 | // Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the 4 | // License at 5 | 6 | // http://www.apache.org/licenses/LICENSE-2.0 7 | 8 | // Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR 9 | // CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. 10 | using JDS.OrgManager.Application.Abstractions.Models; 11 | using JDS.OrgManager.Domain.Abstractions.Models; 12 | 13 | namespace JDS.OrgManager.Application.Abstractions.Mapping 14 | { 15 | public interface IDbEntityToValueObjectMapper where TValueObject : IValueObject where TDbEntity : IDbEntity 16 | { 17 | TValueObject Map(TDbEntity source); 18 | } 19 | } -------------------------------------------------------------------------------- /JDS.OrgManager/JDS.OrgManager.Application/Abstractions/Mapping/IDbEntityToViewModelMapper.cs: -------------------------------------------------------------------------------- 1 | // Copyright ©2021 Jacobs Data Solutions 2 | 3 | // Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the 4 | // License at 5 | 6 | // http://www.apache.org/licenses/LICENSE-2.0 7 | 8 | // Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR 9 | // CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. 10 | using JDS.OrgManager.Application.Abstractions.Models; 11 | 12 | namespace JDS.OrgManager.Application.Abstractions.Mapping 13 | { 14 | public interface IDbEntityToViewModelMapper where TDbEntity : IDbEntity where TViewModel : IViewModel 15 | { 16 | TViewModel Map(TDbEntity source); 17 | 18 | void Map(TDbEntity source, TViewModel destination); 19 | } 20 | } -------------------------------------------------------------------------------- /JDS.OrgManager/JDS.OrgManager.Application/Abstractions/Mapping/IDomainEntityToDbEntityMapper.cs: -------------------------------------------------------------------------------- 1 | // Copyright ©2021 Jacobs Data Solutions 2 | 3 | // Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the 4 | // License at 5 | 6 | // http://www.apache.org/licenses/LICENSE-2.0 7 | 8 | // Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR 9 | // CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. 10 | using JDS.OrgManager.Application.Abstractions.Models; 11 | using JDS.OrgManager.Domain.Abstractions.Models; 12 | 13 | namespace JDS.OrgManager.Application.Abstractions.Mapping 14 | { 15 | public interface IDomainEntityToDbEntityMapper where TDomainEntity : IDomainEntity where TDbEntity : IDbEntity 16 | { 17 | TDbEntity Map(TDomainEntity source); 18 | 19 | void Map(TDomainEntity source, TDbEntity destination); 20 | } 21 | } -------------------------------------------------------------------------------- /JDS.OrgManager/JDS.OrgManager.Application/Abstractions/Mapping/IDomainEntityToViewModelMapper.cs: -------------------------------------------------------------------------------- 1 | // Copyright ©2021 Jacobs Data Solutions 2 | 3 | // Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the 4 | // License at 5 | 6 | // http://www.apache.org/licenses/LICENSE-2.0 7 | 8 | // Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR 9 | // CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. 10 | using JDS.OrgManager.Application.Abstractions.Models; 11 | using JDS.OrgManager.Domain.Abstractions.Models; 12 | 13 | namespace JDS.OrgManager.Application.Abstractions.Mapping 14 | { 15 | public interface IDomainEntityToViewModelMapper where TDomainEntity : IDomainEntity where TViewModel : IViewModel 16 | { 17 | TViewModel Map(TDomainEntity source); 18 | 19 | void Map(TDomainEntity source, TViewModel destination); 20 | } 21 | } -------------------------------------------------------------------------------- /JDS.OrgManager/JDS.OrgManager.Application/Abstractions/Mapping/IViewModelToDbEntityMapper.cs: -------------------------------------------------------------------------------- 1 | // Copyright ©2021 Jacobs Data Solutions 2 | 3 | // Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the 4 | // License at 5 | 6 | // http://www.apache.org/licenses/LICENSE-2.0 7 | 8 | // Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR 9 | // CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. 10 | using JDS.OrgManager.Application.Abstractions.Models; 11 | 12 | namespace JDS.OrgManager.Application.Abstractions.Mapping 13 | { 14 | public interface IViewModelToDbEntityMapper where TViewModel : IViewModel where TDbEntity : IDbEntity 15 | { 16 | TDbEntity Map(TViewModel source); 17 | 18 | void Map(TViewModel source, TDbEntity destination); 19 | } 20 | } -------------------------------------------------------------------------------- /JDS.OrgManager/JDS.OrgManager.Application/Abstractions/Mapping/IViewModelToDomainEntityMapper.cs: -------------------------------------------------------------------------------- 1 | // Copyright ©2021 Jacobs Data Solutions 2 | 3 | // Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the 4 | // License at 5 | 6 | // http://www.apache.org/licenses/LICENSE-2.0 7 | 8 | // Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR 9 | // CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. 10 | using JDS.OrgManager.Application.Abstractions.Models; 11 | using JDS.OrgManager.Domain.Abstractions.Models; 12 | 13 | namespace JDS.OrgManager.Application.Abstractions.Mapping 14 | { 15 | public interface IViewModelToDomainEntityMapper where TDomainEntity : IDomainEntity where TViewModel : IViewModel 16 | { 17 | TDomainEntity Map(TViewModel source); 18 | } 19 | } -------------------------------------------------------------------------------- /JDS.OrgManager/JDS.OrgManager.Application/Abstractions/Mapping/IViewModelToValueObjectMapper.cs: -------------------------------------------------------------------------------- 1 | // Copyright ©2021 Jacobs Data Solutions 2 | 3 | // Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the 4 | // License at 5 | 6 | // http://www.apache.org/licenses/LICENSE-2.0 7 | 8 | // Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR 9 | // CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. 10 | using JDS.OrgManager.Application.Abstractions.Models; 11 | using JDS.OrgManager.Domain.Abstractions.Models; 12 | 13 | namespace JDS.OrgManager.Application.Abstractions.Mapping 14 | { 15 | public interface IViewModelToValueObjectMapper where TValueObject : IValueObject where TViewModel : IViewModel 16 | { 17 | TValueObject Map(TViewModel source); 18 | } 19 | } -------------------------------------------------------------------------------- /JDS.OrgManager/JDS.OrgManager.Application/Abstractions/Models/AuditableDbEntity.cs: -------------------------------------------------------------------------------- 1 | // Copyright ©2021 Jacobs Data Solutions 2 | 3 | // Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the 4 | // License at 5 | 6 | // http://www.apache.org/licenses/LICENSE-2.0 7 | 8 | // Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR 9 | // CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. 10 | using System; 11 | 12 | namespace JDS.OrgManager.Application.Abstractions.Models 13 | { 14 | public abstract class AuditableDbEntity : IDbEntity 15 | { 16 | public string CreatedBy { get; set; } = default!; 17 | 18 | public DateTime CreatedUtc { get; set; } 19 | 20 | public string? LastModifiedBy { get; set; } 21 | 22 | public DateTime? LastModifiedUtc { get; set; } 23 | } 24 | } -------------------------------------------------------------------------------- /JDS.OrgManager/JDS.OrgManager.Application/Abstractions/Models/IDbEntity.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JacobsDataSolutions/OrgManager/92a5c5094ffb512432feabc848662e2ebcd396de/JDS.OrgManager/JDS.OrgManager.Application/Abstractions/Models/IDbEntity.cs -------------------------------------------------------------------------------- /JDS.OrgManager/JDS.OrgManager.Application/Abstractions/Models/IViewModel.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JacobsDataSolutions/OrgManager/92a5c5094ffb512432feabc848662e2ebcd396de/JDS.OrgManager/JDS.OrgManager.Application/Abstractions/Models/IViewModel.cs -------------------------------------------------------------------------------- /JDS.OrgManager/JDS.OrgManager.Application/Abstractions/Queries/ICacheableQuery.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JacobsDataSolutions/OrgManager/92a5c5094ffb512432feabc848662e2ebcd396de/JDS.OrgManager/JDS.OrgManager.Application/Abstractions/Queries/ICacheableQuery.cs -------------------------------------------------------------------------------- /JDS.OrgManager/JDS.OrgManager.Application/Abstractions/Serialization/IByteSerializer.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JacobsDataSolutions/OrgManager/92a5c5094ffb512432feabc848662e2ebcd396de/JDS.OrgManager/JDS.OrgManager.Application/Abstractions/Serialization/IByteSerializer.cs -------------------------------------------------------------------------------- /JDS.OrgManager/JDS.OrgManager.Application/ApplicationLayer.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JacobsDataSolutions/OrgManager/92a5c5094ffb512432feabc848662e2ebcd396de/JDS.OrgManager/JDS.OrgManager.Application/ApplicationLayer.cs -------------------------------------------------------------------------------- /JDS.OrgManager/JDS.OrgManager.Application/ApplicationLayerConstants.cs: -------------------------------------------------------------------------------- 1 | // Copyright ©2021 Jacobs Data Solutions 2 | 3 | // Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the 4 | // License at 5 | 6 | // http://www.apache.org/licenses/LICENSE-2.0 7 | 8 | // Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR 9 | // CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. 10 | namespace JDS.OrgManager.Application 11 | { 12 | public static class ApplicationLayerConstants 13 | { 14 | public const int ProductionSeedStartValue = 100; 15 | 16 | public const int SystemSeedStartValue = 0; 17 | } 18 | } -------------------------------------------------------------------------------- /JDS.OrgManager/JDS.OrgManager.Application/ApplicationLayerException.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JacobsDataSolutions/OrgManager/92a5c5094ffb512432feabc848662e2ebcd396de/JDS.OrgManager/JDS.OrgManager.Application/ApplicationLayerException.cs -------------------------------------------------------------------------------- /JDS.OrgManager/JDS.OrgManager.Application/Behaviors/RequestCachingBehavior.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JacobsDataSolutions/OrgManager/92a5c5094ffb512432feabc848662e2ebcd396de/JDS.OrgManager/JDS.OrgManager.Application/Behaviors/RequestCachingBehavior.cs -------------------------------------------------------------------------------- /JDS.OrgManager/JDS.OrgManager.Application/Behaviors/RequestLogger.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JacobsDataSolutions/OrgManager/92a5c5094ffb512432feabc848662e2ebcd396de/JDS.OrgManager/JDS.OrgManager.Application/Behaviors/RequestLogger.cs -------------------------------------------------------------------------------- /JDS.OrgManager/JDS.OrgManager.Application/Behaviors/RequestValidationBehavior.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JacobsDataSolutions/OrgManager/92a5c5094ffb512432feabc848662e2ebcd396de/JDS.OrgManager/JDS.OrgManager.Application/Behaviors/RequestValidationBehavior.cs -------------------------------------------------------------------------------- /JDS.OrgManager/JDS.OrgManager.Application/Common/Addresses/AddressDbEntityToValueObjectMapper.cs: -------------------------------------------------------------------------------- 1 | // Copyright ©2021 Jacobs Data Solutions 2 | 3 | // Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the 4 | // License at 5 | 6 | // http://www.apache.org/licenses/LICENSE-2.0 7 | 8 | // Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR 9 | // CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. 10 | using JDS.OrgManager.Application.Common.Addresses; 11 | using JDS.OrgManager.Domain.Common.Addresses; 12 | 13 | namespace JDS.OrgManager.Application.Common.Mapping 14 | { 15 | public partial class AddressDbEntityToValueObjectMapper 16 | { 17 | public override Address Map(IAddressEntity source) => new Address(source.Address1, source.City, new State(source.State), new ZipCode(source.ZipCode), source.Address2); 18 | } 19 | } -------------------------------------------------------------------------------- /JDS.OrgManager/JDS.OrgManager.Application/Common/Addresses/AddressViewModelToValueObjectMapper.cs: -------------------------------------------------------------------------------- 1 | // Copyright ©2021 Jacobs Data Solutions 2 | 3 | // Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the 4 | // License at 5 | 6 | // http://www.apache.org/licenses/LICENSE-2.0 7 | 8 | // Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR 9 | // CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. 10 | using JDS.OrgManager.Application.Common.Addresses; 11 | using JDS.OrgManager.Domain.Common.Addresses; 12 | 13 | namespace JDS.OrgManager.Application.Common.Mapping 14 | { 15 | public partial class AddressViewModelToValueObjectMapper 16 | { 17 | public override Address Map(IAddressViewModel source) => new Address(source.Address1, source.City, new State(source.State), new ZipCode(source.ZipCode), source.Address2); 18 | } 19 | } -------------------------------------------------------------------------------- /JDS.OrgManager/JDS.OrgManager.Application/Common/Addresses/IAddressEntity.cs: -------------------------------------------------------------------------------- 1 | // Copyright ©2021 Jacobs Data Solutions 2 | 3 | // Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the 4 | // License at 5 | 6 | // http://www.apache.org/licenses/LICENSE-2.0 7 | 8 | // Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR 9 | // CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. 10 | using JDS.OrgManager.Application.Abstractions.Models; 11 | 12 | namespace JDS.OrgManager.Application.Common.Addresses 13 | { 14 | public interface IAddressEntity : IDbEntity 15 | { 16 | public string Address1 { get; set; } 17 | 18 | public string? Address2 { get; set; } 19 | 20 | public string City { get; set; } 21 | 22 | public string State { get; set; } 23 | 24 | public string ZipCode { get; set; } 25 | } 26 | } -------------------------------------------------------------------------------- /JDS.OrgManager/JDS.OrgManager.Application/Common/Addresses/IAddressViewModel.cs: -------------------------------------------------------------------------------- 1 | // Copyright ©2021 Jacobs Data Solutions 2 | 3 | // Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the 4 | // License at 5 | 6 | // http://www.apache.org/licenses/LICENSE-2.0 7 | 8 | // Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR 9 | // CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. 10 | using JDS.OrgManager.Application.Abstractions.Models; 11 | 12 | namespace JDS.OrgManager.Application.Common.Addresses 13 | { 14 | public interface IAddressViewModel : IViewModel 15 | { 16 | public string Address1 { get; set; } 17 | 18 | public string? Address2 { get; set; } 19 | 20 | public string City { get; set; } 21 | 22 | public string State { get; set; } 23 | 24 | public string ZipCode { get; set; } 25 | } 26 | } -------------------------------------------------------------------------------- /JDS.OrgManager/JDS.OrgManager.Application/Common/Currencies/CurrencyEntity.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JacobsDataSolutions/OrgManager/92a5c5094ffb512432feabc848662e2ebcd396de/JDS.OrgManager/JDS.OrgManager.Application/Common/Currencies/CurrencyEntity.cs -------------------------------------------------------------------------------- /JDS.OrgManager/JDS.OrgManager.Application/Common/Employees/EmployeeEntity.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JacobsDataSolutions/OrgManager/92a5c5094ffb512432feabc848662e2ebcd396de/JDS.OrgManager/JDS.OrgManager.Application/Common/Employees/EmployeeEntity.cs -------------------------------------------------------------------------------- /JDS.OrgManager/JDS.OrgManager.Application/Common/Employees/EmployeeException.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JacobsDataSolutions/OrgManager/92a5c5094ffb512432feabc848662e2ebcd396de/JDS.OrgManager/JDS.OrgManager.Application/Common/Employees/EmployeeException.cs -------------------------------------------------------------------------------- /JDS.OrgManager/JDS.OrgManager.Application/Common/Employees/EmployeeManagerEntity.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JacobsDataSolutions/OrgManager/92a5c5094ffb512432feabc848662e2ebcd396de/JDS.OrgManager/JDS.OrgManager.Application/Common/Employees/EmployeeManagerEntity.cs -------------------------------------------------------------------------------- /JDS.OrgManager/JDS.OrgManager.Application/Common/Mapping/MapperBase.cs: -------------------------------------------------------------------------------- 1 | // Copyright ©2021 Jacobs Data Solutions 2 | 3 | // Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the 4 | // License at 5 | 6 | // http://www.apache.org/licenses/LICENSE-2.0 7 | 8 | // Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR 9 | // CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. 10 | namespace JDS.OrgManager.Application.Common.Mapping 11 | { 12 | public abstract class MapperBase 13 | { 14 | } 15 | } -------------------------------------------------------------------------------- /JDS.OrgManager/JDS.OrgManager.Application/Common/Mapping/MappingRegister.cs: -------------------------------------------------------------------------------- 1 | // Copyright ©2021 Jacobs Data Solutions 2 | 3 | // Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the 4 | // License at 5 | 6 | // http://www.apache.org/licenses/LICENSE-2.0 7 | 8 | // Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR 9 | // CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. 10 | using Mapster; 11 | 12 | namespace JDS.OrgManager.Application.Common.Mapping 13 | { 14 | public class MappingRegister : IRegister 15 | { 16 | public void Register(TypeAdapterConfig config) 17 | { 18 | } 19 | } 20 | } -------------------------------------------------------------------------------- /JDS.OrgManager/JDS.OrgManager.Application/Common/Mapping/map.txt: -------------------------------------------------------------------------------- 1 | CustomerViewModel->CustomerEntity 2 | Employee->EmployeeEntity 3 | EmployeeEntity->Employee 4 | EmployeeViewModel->Employee 5 | Employee->EmployeeViewModel 6 | Employee->AddOrUpdateEmployeeViewModel 7 | AddOrUpdateEmployeeViewModel->Employee 8 | AddOrUpdateEmployeeViewModel->EmployeeEntity 9 | IAddressEntity->Address 10 | IAddressViewModel->Address 11 | PaidTimeOffPolicy->PaidTimeOffPolicyEntity 12 | PaidTimeOffPolicyEntity->PaidTimeOffPolicy 13 | PaidTimeOffRequestEntity->PaidTimeOffRequest 14 | PaidTimeOffRequestEntity->PaidTimeOffRequestViewModel 15 | PaidTimeOffRequest->PaidTimeOffRequestViewModel 16 | PaidTimeOffRequest->PaidTimeOffRequestEntity 17 | SubmitNewPaidTimeOffRequestViewModel->PaidTimeOffRequest 18 | ValidateRequestedPaidTimeOffHoursViewModel->PaidTimeOffRequest 19 | TenantViewModel->TenantEntity -------------------------------------------------------------------------------- /JDS.OrgManager/JDS.OrgManager.Application/Common/TimeOff/PaidTimeOffPolicyEntity.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JacobsDataSolutions/OrgManager/92a5c5094ffb512432feabc848662e2ebcd396de/JDS.OrgManager/JDS.OrgManager.Application/Common/TimeOff/PaidTimeOffPolicyEntity.cs -------------------------------------------------------------------------------- /JDS.OrgManager/JDS.OrgManager.Application/Customers/Commands/AddOrUpdateTenant/AddOrUpdateTenantCommandValidator.cs: -------------------------------------------------------------------------------- 1 | // Copyright ©2021 Jacobs Data Solutions 2 | 3 | // Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the 4 | // License at 5 | 6 | // http://www.apache.org/licenses/LICENSE-2.0 7 | 8 | // Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR 9 | // CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. 10 | using FluentValidation; 11 | using JDS.OrgManager.Application.Abstractions.Models; 12 | using System; 13 | 14 | namespace JDS.OrgManager.Application.Customers.Commands.AddOrUpdateTenant 15 | { 16 | public class AddOrUpdateTenantCommandValidator : AbstractValidator 17 | { 18 | public AddOrUpdateTenantCommandValidator() 19 | { 20 | RuleFor(e => e.AspNetUsersId).GreaterThan(0); 21 | 22 | RuleFor(e => e.Tenant).NotNull(); 23 | RuleFor(e => e.Tenant.Name).MaximumLength(Lengths.Name).NotEmpty(); 24 | RuleFor(e => e.Tenant.Slug).MinimumLength(4).MaximumLength(Lengths.Slug).NotEmpty(); 25 | RuleFor(e => e.Tenant.AssignmentKey).NotEqual(Guid.Empty); 26 | } 27 | } 28 | } -------------------------------------------------------------------------------- /JDS.OrgManager/JDS.OrgManager.Application/Customers/Commands/DeleteTenant/DeleteTenantViewModel.cs: -------------------------------------------------------------------------------- 1 | // Copyright ©2021 Jacobs Data Solutions 2 | 3 | // Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the 4 | // License at 5 | 6 | // http://www.apache.org/licenses/LICENSE-2.0 7 | 8 | // Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR 9 | // CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. 10 | using JDS.OrgManager.Application.Abstractions.Models; 11 | 12 | namespace JDS.OrgManager.Application.Customers.Commands.DeleteTenant 13 | { 14 | public class DeleteTenantViewModel : IViewModel 15 | { 16 | public string ConfirmationCode { get; set; } = default!; 17 | 18 | public int TenantId { get; set; } 19 | } 20 | } -------------------------------------------------------------------------------- /JDS.OrgManager/JDS.OrgManager.Application/Customers/Queries/GetNewAssignmentKey/GetNewAssignmentKeyQuery.cs: -------------------------------------------------------------------------------- 1 | // Copyright ©2021 Jacobs Data Solutions 2 | 3 | // Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the 4 | // License at 5 | 6 | // http://www.apache.org/licenses/LICENSE-2.0 7 | 8 | // Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR 9 | // CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. 10 | using MediatR; 11 | using System; 12 | using System.Threading; 13 | using System.Threading.Tasks; 14 | 15 | namespace JDS.OrgManager.Application.Customers.Queries.GetNewAssignmentKey 16 | { 17 | public class GetNewAssignmentKeyQuery : IRequest 18 | { 19 | public int AspNetUsersId { get; set; } 20 | 21 | public class GetNewAssignmentKeyQueryHandler : IRequestHandler 22 | { 23 | public Task Handle(GetNewAssignmentKeyQuery request, CancellationToken cancellationToken) => Task.FromResult(Guid.NewGuid()); 24 | } 25 | } 26 | } -------------------------------------------------------------------------------- /JDS.OrgManager/JDS.OrgManager.Application/DependencyInjectionExtensions.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JacobsDataSolutions/OrgManager/92a5c5094ffb512432feabc848662e2ebcd396de/JDS.OrgManager/JDS.OrgManager.Application/DependencyInjectionExtensions.cs -------------------------------------------------------------------------------- /JDS.OrgManager/JDS.OrgManager.Application/HumanResources/Employees/Commands/AddOrUpdateEmployee/AddOrUpdateEmployeeCommand.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JacobsDataSolutions/OrgManager/92a5c5094ffb512432feabc848662e2ebcd396de/JDS.OrgManager/JDS.OrgManager.Application/HumanResources/Employees/Commands/AddOrUpdateEmployee/AddOrUpdateEmployeeCommand.cs -------------------------------------------------------------------------------- /JDS.OrgManager/JDS.OrgManager.Application/HumanResources/Employees/Commands/AddOrUpdateEmployee/AddOrUpdateEmployeeCommandValidator.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JacobsDataSolutions/OrgManager/92a5c5094ffb512432feabc848662e2ebcd396de/JDS.OrgManager/JDS.OrgManager.Application/HumanResources/Employees/Commands/AddOrUpdateEmployee/AddOrUpdateEmployeeCommandValidator.cs -------------------------------------------------------------------------------- /JDS.OrgManager/JDS.OrgManager.Application/HumanResources/Employees/Commands/AddOrUpdateEmployee/AddOrUpdateEmployeeViewModelToDomainEntityMapper.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JacobsDataSolutions/OrgManager/92a5c5094ffb512432feabc848662e2ebcd396de/JDS.OrgManager/JDS.OrgManager.Application/HumanResources/Employees/Commands/AddOrUpdateEmployee/AddOrUpdateEmployeeViewModelToDomainEntityMapper.cs -------------------------------------------------------------------------------- /JDS.OrgManager/JDS.OrgManager.Application/HumanResources/Employees/Commands/AddOrUpdateEmployee/EmployeeRegisteredEventHandler.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JacobsDataSolutions/OrgManager/92a5c5094ffb512432feabc848662e2ebcd396de/JDS.OrgManager/JDS.OrgManager.Application/HumanResources/Employees/Commands/AddOrUpdateEmployee/EmployeeRegisteredEventHandler.cs -------------------------------------------------------------------------------- /JDS.OrgManager/JDS.OrgManager.Application/HumanResources/Employees/Commands/AddOrUpdateEmployee/EmployeeUpdatedEventHandler.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JacobsDataSolutions/OrgManager/92a5c5094ffb512432feabc848662e2ebcd396de/JDS.OrgManager/JDS.OrgManager.Application/HumanResources/Employees/Commands/AddOrUpdateEmployee/EmployeeUpdatedEventHandler.cs -------------------------------------------------------------------------------- /JDS.OrgManager/JDS.OrgManager.Application/HumanResources/Employees/EmployeeDbEntityToDomainEntityMapper.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JacobsDataSolutions/OrgManager/92a5c5094ffb512432feabc848662e2ebcd396de/JDS.OrgManager/JDS.OrgManager.Application/HumanResources/Employees/EmployeeDbEntityToDomainEntityMapper.cs -------------------------------------------------------------------------------- /JDS.OrgManager/JDS.OrgManager.Application/HumanResources/Employees/Queries/GetEmployee/GetEmployeeQuery.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JacobsDataSolutions/OrgManager/92a5c5094ffb512432feabc848662e2ebcd396de/JDS.OrgManager/JDS.OrgManager.Application/HumanResources/Employees/Queries/GetEmployee/GetEmployeeQuery.cs -------------------------------------------------------------------------------- /JDS.OrgManager/JDS.OrgManager.Application/HumanResources/Employees/Queries/GetEmployeeList/GetEmployeeListQuery.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JacobsDataSolutions/OrgManager/92a5c5094ffb512432feabc848662e2ebcd396de/JDS.OrgManager/JDS.OrgManager.Application/HumanResources/Employees/Queries/GetEmployeeList/GetEmployeeListQuery.cs -------------------------------------------------------------------------------- /JDS.OrgManager/JDS.OrgManager.Application/HumanResources/Employees/Queries/GetEmployeeList/GetEmployeeListViewModel.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JacobsDataSolutions/OrgManager/92a5c5094ffb512432feabc848662e2ebcd396de/JDS.OrgManager/JDS.OrgManager.Application/HumanResources/Employees/Queries/GetEmployeeList/GetEmployeeListViewModel.cs -------------------------------------------------------------------------------- /JDS.OrgManager/JDS.OrgManager.Application/HumanResources/Employees/Queries/GetEmployeeOrgChart/GetEmployeeOrgChartQuery.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JacobsDataSolutions/OrgManager/92a5c5094ffb512432feabc848662e2ebcd396de/JDS.OrgManager/JDS.OrgManager.Application/HumanResources/Employees/Queries/GetEmployeeOrgChart/GetEmployeeOrgChartQuery.cs -------------------------------------------------------------------------------- /JDS.OrgManager/JDS.OrgManager.Application/HumanResources/Employees/Queries/GetEmployeeOrgChart/GetEmployeeOrgChartViewModel.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JacobsDataSolutions/OrgManager/92a5c5094ffb512432feabc848662e2ebcd396de/JDS.OrgManager/JDS.OrgManager.Application/HumanResources/Employees/Queries/GetEmployeeOrgChart/GetEmployeeOrgChartViewModel.cs -------------------------------------------------------------------------------- /JDS.OrgManager/JDS.OrgManager.Application/HumanResources/Employees/Queries/VerifyOrganization/OrgStats.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JacobsDataSolutions/OrgManager/92a5c5094ffb512432feabc848662e2ebcd396de/JDS.OrgManager/JDS.OrgManager.Application/HumanResources/Employees/Queries/VerifyOrganization/OrgStats.cs -------------------------------------------------------------------------------- /JDS.OrgManager/JDS.OrgManager.Application/HumanResources/Employees/Queries/VerifyOrganization/VerifyOrganizationQuery.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JacobsDataSolutions/OrgManager/92a5c5094ffb512432feabc848662e2ebcd396de/JDS.OrgManager/JDS.OrgManager.Application/HumanResources/Employees/Queries/VerifyOrganization/VerifyOrganizationQuery.cs -------------------------------------------------------------------------------- /JDS.OrgManager/JDS.OrgManager.Application/HumanResources/Employees/Queries/VerifyOrganization/VerifyOrganizationViewModel.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JacobsDataSolutions/OrgManager/92a5c5094ffb512432feabc848662e2ebcd396de/JDS.OrgManager/JDS.OrgManager.Application/HumanResources/Employees/Queries/VerifyOrganization/VerifyOrganizationViewModel.cs -------------------------------------------------------------------------------- /JDS.OrgManager/JDS.OrgManager.Application/HumanResources/TimeOff/Commands/SubmitNewPaidTimeOffRequest/SubmitNewPaidTimeOffRequestViewModel.cs: -------------------------------------------------------------------------------- 1 | // Copyright ©2021 Jacobs Data Solutions 2 | 3 | // Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the 4 | // License at 5 | 6 | // http://www.apache.org/licenses/LICENSE-2.0 7 | 8 | // Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR 9 | // CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. 10 | using JDS.OrgManager.Application.Abstractions.Models; 11 | using JDS.OrgManager.Domain.HumanResources.TimeOff; 12 | using System; 13 | 14 | namespace JDS.OrgManager.Application.HumanResources.TimeOff.Commands.SubmitNewPaidTimeOffRequest 15 | { 16 | public class SubmitNewPaidTimeOffRequestViewModel : IViewModel 17 | { 18 | public PaidTimeOffRequestViewModel? CreatedPaidTimeOffRequest { get; set; } 19 | 20 | public DateTime EndDate { get; set; } 21 | 22 | public int? ForEmployeeId { get; set; } 23 | 24 | public int HoursRequested { get; set; } 25 | 26 | public PaidTimeOffRequestValidationResult Result { get; set; } 27 | 28 | public DateTime StartDate { get; set; } 29 | 30 | public int TenantId { get; set; } 31 | } 32 | } -------------------------------------------------------------------------------- /JDS.OrgManager/JDS.OrgManager.Application/HumanResources/TimeOff/PaidTimeOffRequestDbEntityToViewModelMapper.cs: -------------------------------------------------------------------------------- 1 | using JDS.OrgManager.Application.Common.TimeOff; 2 | using JDS.OrgManager.Application.HumanResources.TimeOff; 3 | using Mapster; 4 | using System; 5 | using System.Collections.Generic; 6 | using System.Linq; 7 | using System.Text; 8 | using System.Threading.Tasks; 9 | 10 | namespace JDS.OrgManager.Application.Common.Mapping 11 | { 12 | public partial class PaidTimeOffRequestDbEntityToViewModelMapper 13 | { 14 | protected override TypeAdapterSetter Configure(TypeAdapterSetter typeAdapterSetter) 15 | => base.Configure(typeAdapterSetter) 16 | .Map(dest => dest.SubmittedByName, src => src.SubmittedBy != null ? $"{src.SubmittedBy.FirstName} {src.SubmittedBy.LastName}" : ""); 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /JDS.OrgManager/JDS.OrgManager.Application/HumanResources/TimeOff/PaidTimeOffRequestDomainEntityToDbEntityMapper.cs: -------------------------------------------------------------------------------- 1 | // Copyright ©2021 Jacobs Data Solutions 2 | 3 | // Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the 4 | // License at 5 | 6 | // http://www.apache.org/licenses/LICENSE-2.0 7 | 8 | // Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR 9 | // CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. 10 | using JDS.OrgManager.Application.Common.TimeOff; 11 | using JDS.OrgManager.Domain.HumanResources.TimeOff; 12 | using Mapster; 13 | 14 | namespace JDS.OrgManager.Application.Common.Mapping 15 | { 16 | public partial class PaidTimeOffRequestDomainEntityToDbEntityMapper 17 | { 18 | protected override TypeAdapterSetter Configure(TypeAdapterSetter typeAdapterSetter) 19 | => base.Configure(typeAdapterSetter) 20 | .Map(dest => dest.ForEmployeeId, src => src.ForEmployee.Id) 21 | .Map(dest => dest.SubmittedById, src => src.SubmittedBy.Id); 22 | } 23 | } -------------------------------------------------------------------------------- /JDS.OrgManager/JDS.OrgManager.Application/HumanResources/TimeOff/Queries/GetPaidTimeOffPolicyDetail/GetPaidTimeOffPolicyDetailQuery.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JacobsDataSolutions/OrgManager/92a5c5094ffb512432feabc848662e2ebcd396de/JDS.OrgManager/JDS.OrgManager.Application/HumanResources/TimeOff/Queries/GetPaidTimeOffPolicyDetail/GetPaidTimeOffPolicyDetailQuery.cs -------------------------------------------------------------------------------- /JDS.OrgManager/JDS.OrgManager.Application/HumanResources/TimeOff/Queries/GetPaidTimeOffPolicyDetail/GetPaidTimeOffPolicyDetailViewModel.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JacobsDataSolutions/OrgManager/92a5c5094ffb512432feabc848662e2ebcd396de/JDS.OrgManager/JDS.OrgManager.Application/HumanResources/TimeOff/Queries/GetPaidTimeOffPolicyDetail/GetPaidTimeOffPolicyDetailViewModel.cs -------------------------------------------------------------------------------- /JDS.OrgManager/JDS.OrgManager.Application/HumanResources/TimeOff/Queries/GetPaidTimeOffPolicyList/GetPaidTimeOffPolicyListQuery.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JacobsDataSolutions/OrgManager/92a5c5094ffb512432feabc848662e2ebcd396de/JDS.OrgManager/JDS.OrgManager.Application/HumanResources/TimeOff/Queries/GetPaidTimeOffPolicyList/GetPaidTimeOffPolicyListQuery.cs -------------------------------------------------------------------------------- /JDS.OrgManager/JDS.OrgManager.Application/HumanResources/TimeOff/Queries/GetPaidTimeOffPolicyList/GetPaidTimeOffPolicyListViewModel.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JacobsDataSolutions/OrgManager/92a5c5094ffb512432feabc848662e2ebcd396de/JDS.OrgManager/JDS.OrgManager.Application/HumanResources/TimeOff/Queries/GetPaidTimeOffPolicyList/GetPaidTimeOffPolicyListViewModel.cs -------------------------------------------------------------------------------- /JDS.OrgManager/JDS.OrgManager.Application/HumanResources/TimeOff/Queries/ValidateRequestedPaidTimeOffHours/ValidateRequestedPaidTimeOffHoursViewModel.cs: -------------------------------------------------------------------------------- 1 | // Copyright ©2021 Jacobs Data Solutions 2 | 3 | // Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the 4 | // License at 5 | 6 | // http://www.apache.org/licenses/LICENSE-2.0 7 | 8 | // Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR 9 | // CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. 10 | using JDS.OrgManager.Application.Abstractions.Models; 11 | using System; 12 | 13 | namespace JDS.OrgManager.Application.HumanResources.TimeOff.Queries.ValidateRequestedPaidTimeOffHours 14 | { 15 | public class ValidateRequestedPaidTimeOffHoursViewModel : IViewModel 16 | { 17 | public DateTime EndDate { get; set; } 18 | 19 | public int? ForEmployeeId { get; set; } 20 | 21 | public int HoursRequested { get; set; } 22 | 23 | public DateTime StartDate { get; set; } 24 | 25 | public int TenantId { get; set; } 26 | } 27 | } -------------------------------------------------------------------------------- /JDS.OrgManager/JDS.OrgManager.Application/JDS.OrgManager.Application.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | net5.0 5 | enable 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | -------------------------------------------------------------------------------- /JDS.OrgManager/JDS.OrgManager.Application/NotFoundException.cs: -------------------------------------------------------------------------------- 1 | // Copyright ©2021 Jacobs Data Solutions 2 | 3 | // Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the 4 | // License at 5 | 6 | // http://www.apache.org/licenses/LICENSE-2.0 7 | 8 | // Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR 9 | // CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. 10 | using System; 11 | using System.Runtime.Serialization; 12 | 13 | namespace JDS.OrgManager.Application 14 | { 15 | public class NotFoundException : ApplicationLayerException 16 | { 17 | public NotFoundException() 18 | { 19 | } 20 | 21 | public NotFoundException(string message) : base(message) 22 | { 23 | } 24 | 25 | public NotFoundException(string message, Exception innerException) : base(message, innerException) 26 | { 27 | } 28 | 29 | public NotFoundException(SerializationInfo info, StreamingContext context) : base(info, context) 30 | { 31 | } 32 | } 33 | } -------------------------------------------------------------------------------- /JDS.OrgManager/JDS.OrgManager.Application/System/Commands/SeedInitialData/InitialDataSeeder.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JacobsDataSolutions/OrgManager/92a5c5094ffb512432feabc848662e2ebcd396de/JDS.OrgManager/JDS.OrgManager.Application/System/Commands/SeedInitialData/InitialDataSeeder.cs -------------------------------------------------------------------------------- /JDS.OrgManager/JDS.OrgManager.Application/System/Commands/SeedInitialData/SeedInitialDataCommand.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JacobsDataSolutions/OrgManager/92a5c5094ffb512432feabc848662e2ebcd396de/JDS.OrgManager/JDS.OrgManager.Application/System/Commands/SeedInitialData/SeedInitialDataCommand.cs -------------------------------------------------------------------------------- /JDS.OrgManager/JDS.OrgManager.Application/Tenants/TenantAspNetUserEntity.cs: -------------------------------------------------------------------------------- 1 | // Copyright ©2021 Jacobs Data Solutions 2 | 3 | // Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the 4 | // License at 5 | 6 | // http://www.apache.org/licenses/LICENSE-2.0 7 | 8 | // Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR 9 | // CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. 10 | using JDS.OrgManager.Application.Abstractions.Models; 11 | 12 | namespace JDS.OrgManager.Application.Tenants 13 | { 14 | public class TenantAspNetUserEntity : IDbEntity 15 | { 16 | public int AspNetUsersId { get; set; } 17 | 18 | public TenantEntity Tenant { get; set; } = default!; 19 | 20 | public int TenantId { get; set; } 21 | } 22 | } -------------------------------------------------------------------------------- /JDS.OrgManager/JDS.OrgManager.Application/Tenants/TenantDefaultEntity.cs: -------------------------------------------------------------------------------- 1 | // Copyright ©2021 Jacobs Data Solutions 2 | 3 | // Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the 4 | // License at 5 | 6 | // http://www.apache.org/licenses/LICENSE-2.0 7 | 8 | // Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR 9 | // CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. 10 | using JDS.OrgManager.Application.Abstractions.Models; 11 | using JDS.OrgManager.Application.Common.Currencies; 12 | using JDS.OrgManager.Application.Common.TimeOff; 13 | 14 | namespace JDS.OrgManager.Application.Tenants 15 | { 16 | public class TenantDefaultEntity : AuditableDbEntity 17 | { 18 | public CurrencyEntity Currency { get; set; } = default!; 19 | 20 | public string CurrencyCode { get; set; } = default!; 21 | 22 | public int EmployeeLevel { get; set; } 23 | 24 | public PaidTimeOffPolicyEntity PaidTimeOffPolicy { get; set; } = default!; 25 | 26 | public int PaidTimeOffPolicyId { get; set; } 27 | 28 | public TenantEntity Tenant { get; set; } = default!; 29 | 30 | public int TenantId { get; set; } 31 | } 32 | } -------------------------------------------------------------------------------- /JDS.OrgManager/JDS.OrgManager.Application/Tenants/TenantEmployeeIdentityModel.cs: -------------------------------------------------------------------------------- 1 | // Copyright ©2021 Jacobs Data Solutions 2 | 3 | // Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the 4 | // License at 5 | 6 | // http://www.apache.org/licenses/LICENSE-2.0 7 | 8 | // Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR 9 | // CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. 10 | namespace JDS.OrgManager.Application.Tenants 11 | { 12 | public class TenantEmployeeIdentityModel 13 | { 14 | public int? EmployeeId { get; set; } 15 | 16 | public int TenantId { get; set; } 17 | 18 | public override string ToString() => $"{TenantId}-{EmployeeId}"; 19 | } 20 | } -------------------------------------------------------------------------------- /JDS.OrgManager/JDS.OrgManager.Application/Tenants/TenantViewModel.cs: -------------------------------------------------------------------------------- 1 | // Copyright ©2021 Jacobs Data Solutions 2 | 3 | // Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the 4 | // License at 5 | 6 | // http://www.apache.org/licenses/LICENSE-2.0 7 | 8 | // Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR 9 | // CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. 10 | using JDS.OrgManager.Application.Abstractions.Models; 11 | using System; 12 | 13 | namespace JDS.OrgManager.Application.Tenants 14 | { 15 | public class TenantViewModel : IViewModel 16 | { 17 | public Guid AssignmentKey { get; set; } 18 | 19 | public int Id { get; set; } 20 | 21 | public string Name { get; set; } = default!; 22 | 23 | public string Slug { get; set; } = default!; 24 | } 25 | } -------------------------------------------------------------------------------- /JDS.OrgManager/JDS.OrgManager.Application/Users/Queries/GetUserStatus/UserStatusViewModel.cs: -------------------------------------------------------------------------------- 1 | // Copyright ©2021 Jacobs Data Solutions 2 | 3 | // Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the 4 | // License at 5 | 6 | // http://www.apache.org/licenses/LICENSE-2.0 7 | 8 | // Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR 9 | // CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. 10 | using JDS.OrgManager.Application.Abstractions.Models; 11 | using System; 12 | 13 | namespace JDS.OrgManager.Application.Users.Queries.GetUserStatus 14 | { 15 | public class UserStatusViewModel : IViewModel 16 | { 17 | public int[] AuthorizedTenants { get; set; } = Array.Empty(); 18 | 19 | public bool HasProvidedCustomerInformation { get; set; } 20 | 21 | public bool HasProvidedEmployeeInformation { get; set; } 22 | 23 | public bool IsCustomer { get; set; } 24 | } 25 | } -------------------------------------------------------------------------------- /JDS.OrgManager/JDS.OrgManager.Common.Testing/JDS.OrgManager.Common.Testing.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | net5.0 5 | enable 6 | 7 | false 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | runtime; build; native; contentfiles; analyzers; buildtransitive 16 | all 17 | 18 | 19 | runtime; build; native; contentfiles; analyzers; buildtransitive 20 | all 21 | 22 | 23 | 24 | 25 | -------------------------------------------------------------------------------- /JDS.OrgManager/JDS.OrgManager.Common.Testing/XUnitLoggerProvider.cs: -------------------------------------------------------------------------------- 1 | // Copyright ©2021 Jacobs Data Solutions 2 | 3 | // Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the 4 | // License at 5 | 6 | // http://www.apache.org/licenses/LICENSE-2.0 7 | 8 | // Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR 9 | // CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. 10 | using Microsoft.Extensions.Logging; 11 | using Xunit.Abstractions; 12 | 13 | namespace JDS.OrgManager.Common.Testing 14 | { 15 | public class XUnitLoggerProvider : ILoggerProvider 16 | { 17 | private readonly ITestOutputHelper _testOutputHelper; 18 | 19 | public XUnitLoggerProvider(ITestOutputHelper testOutputHelper) 20 | { 21 | _testOutputHelper = testOutputHelper; 22 | } 23 | 24 | public ILogger CreateLogger(string categoryName) 25 | => new XUnitLogger(_testOutputHelper, categoryName); 26 | 27 | public void Dispose() 28 | { } 29 | } 30 | } -------------------------------------------------------------------------------- /JDS.OrgManager/JDS.OrgManager.Common.UnitTests/JDS.OrgManager.Common.UnitTests.csproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | net5.0 5 | enable 6 | 7 | false 8 | 9 | 10 | 11 | 12 | 13 | 14 | runtime; build; native; contentfiles; analyzers; buildtransitive 15 | all 16 | 17 | 18 | runtime; build; native; contentfiles; analyzers; buildtransitive 19 | all 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | -------------------------------------------------------------------------------- /JDS.OrgManager/JDS.OrgManager.Common/Abstractions/DateTimes/IDateTimeService.cs: -------------------------------------------------------------------------------- 1 | // Copyright ©2021 Jacobs Data Solutions 2 | 3 | // Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the 4 | // License at 5 | 6 | // http://www.apache.org/licenses/LICENSE-2.0 7 | 8 | // Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR 9 | // CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. 10 | using System; 11 | 12 | namespace JDS.OrgManager.Common.Abstractions.DateTimes 13 | { 14 | public interface IDateTimeService 15 | { 16 | DateTime UtcNow { get; } 17 | } 18 | } -------------------------------------------------------------------------------- /JDS.OrgManager/JDS.OrgManager.Common/Abstractions/DateTimes/NullDateTimeService.cs: -------------------------------------------------------------------------------- 1 | // Copyright ©2021 Jacobs Data Solutions 2 | 3 | // Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the 4 | // License at 5 | 6 | // http://www.apache.org/licenses/LICENSE-2.0 7 | 8 | // Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR 9 | // CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. 10 | using System; 11 | 12 | namespace JDS.OrgManager.Common.Abstractions.DateTimes 13 | { 14 | public class NullDateTimeService : IDateTimeService 15 | { 16 | public DateTime UtcNow => new DateTime(2000, 1, 1, 0, 0, 0, DateTimeKind.Utc); 17 | } 18 | } -------------------------------------------------------------------------------- /JDS.OrgManager/JDS.OrgManager.Common/DateTimes/Month.cs: -------------------------------------------------------------------------------- 1 | // Copyright ©2021 Jacobs Data Solutions 2 | 3 | // Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the 4 | // License at 5 | 6 | // http://www.apache.org/licenses/LICENSE-2.0 7 | 8 | // Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR 9 | // CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. 10 | namespace JDS.OrgManager.Common.DateTimes 11 | { 12 | public enum Month 13 | { 14 | January = 1, 15 | 16 | February, 17 | 18 | March, 19 | 20 | April, 21 | 22 | May, 23 | 24 | June, 25 | 26 | July, 27 | 28 | August, 29 | 30 | September, 31 | 32 | October, 33 | 34 | November, 35 | 36 | December 37 | } 38 | } -------------------------------------------------------------------------------- /JDS.OrgManager/JDS.OrgManager.Common/Diagnostics/MethodTimer.cs: -------------------------------------------------------------------------------- 1 | // Copyright ©2021 Jacobs Data Solutions 2 | 3 | // Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the 4 | // License at 5 | 6 | // http://www.apache.org/licenses/LICENSE-2.0 7 | 8 | // Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR 9 | // CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. 10 | using System; 11 | using System.Collections.Generic; 12 | using System.Diagnostics; 13 | using System.Linq; 14 | 15 | namespace JDS.OrgManager.Common.Diagnostics 16 | { 17 | public static class MethodTimer 18 | { 19 | public static (decimal min, decimal max, decimal average) TimeIt(Action action, int iterations = 1) 20 | { 21 | if (iterations < 1) 22 | { 23 | throw new InvalidOperationException(); 24 | } 25 | var times = new List(); 26 | var watch = new Stopwatch(); 27 | for (var i = 0; i < iterations; i++) 28 | { 29 | watch.Restart(); 30 | action(); 31 | watch.Stop(); 32 | times.Add(watch.ElapsedMilliseconds); 33 | } 34 | return (times.Min(), times.Max(), times.Average()); 35 | } 36 | } 37 | } -------------------------------------------------------------------------------- /JDS.OrgManager/JDS.OrgManager.Common/JDS.OrgManager.Common.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | net5.0 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /JDS.OrgManager/JDS.OrgManager.Common/Text/StringHelper.cs: -------------------------------------------------------------------------------- 1 | // Copyright ©2021 Jacobs Data Solutions 2 | 3 | // Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the 4 | // License at 5 | 6 | // http://www.apache.org/licenses/LICENSE-2.0 7 | 8 | // Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR 9 | // CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. 10 | namespace JDS.OrgManager.Common.Text 11 | { 12 | public static class StringHelper 13 | { 14 | public static string GetFullName(string firstName, string middleName, string lastName) => 15 | (string.IsNullOrWhiteSpace(middleName) ? $"{lastName}, {firstName}" : $"{lastName}, {middleName} {firstName}").Trim(',', ' '); 16 | } 17 | } -------------------------------------------------------------------------------- /JDS.OrgManager/JDS.OrgManager.Domain.Accounting/JDS.OrgManager.Domain.Accounting.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | net5.0 5 | enable 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /JDS.OrgManager/JDS.OrgManager.Domain.Accounting/Pay/Paycheck.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JacobsDataSolutions/OrgManager/92a5c5094ffb512432feabc848662e2ebcd396de/JDS.OrgManager/JDS.OrgManager.Domain.Accounting/Pay/Paycheck.cs -------------------------------------------------------------------------------- /JDS.OrgManager/JDS.OrgManager.Domain.HumanResources.Advanced.UnitTests/JDS.OrgManager.Domain.HumanResources.Advanced.UnitTests.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | net5.0 5 | 6 | false 7 | 8 | 9 | 10 | 11 | 12 | 13 | runtime; build; native; contentfiles; analyzers; buildtransitive 14 | all 15 | 16 | 17 | runtime; build; native; contentfiles; analyzers; buildtransitive 18 | all 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | -------------------------------------------------------------------------------- /JDS.OrgManager/JDS.OrgManager.Domain.HumanResources.Advanced.UnitTests/OrganizationVerifierTests.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JacobsDataSolutions/OrgManager/92a5c5094ffb512432feabc848662e2ebcd396de/JDS.OrgManager/JDS.OrgManager.Domain.HumanResources.Advanced.UnitTests/OrganizationVerifierTests.cs -------------------------------------------------------------------------------- /JDS.OrgManager/JDS.OrgManager.Domain.HumanResources.Advanced/DependencyInjectionExtensions.fs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JacobsDataSolutions/OrgManager/92a5c5094ffb512432feabc848662e2ebcd396de/JDS.OrgManager/JDS.OrgManager.Domain.HumanResources.Advanced/DependencyInjectionExtensions.fs -------------------------------------------------------------------------------- /JDS.OrgManager/JDS.OrgManager.Domain.HumanResources.Advanced/IOrganizationVerifier.fs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JacobsDataSolutions/OrgManager/92a5c5094ffb512432feabc848662e2ebcd396de/JDS.OrgManager/JDS.OrgManager.Domain.HumanResources.Advanced/IOrganizationVerifier.fs -------------------------------------------------------------------------------- /JDS.OrgManager/JDS.OrgManager.Domain.HumanResources.Advanced/JDS.OrgManager.Domain.HumanResources.Advanced.fsproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | net5.0 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | -------------------------------------------------------------------------------- /JDS.OrgManager/JDS.OrgManager.Domain.HumanResources.Advanced/OrganizationVerifier.fs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JacobsDataSolutions/OrgManager/92a5c5094ffb512432feabc848662e2ebcd396de/JDS.OrgManager/JDS.OrgManager.Domain.HumanResources.Advanced/OrganizationVerifier.fs -------------------------------------------------------------------------------- /JDS.OrgManager/JDS.OrgManager.Domain.Mocks/JDS.OrgManager.Domain.Mocks.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | net5.0 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /JDS.OrgManager/JDS.OrgManager.Domain.UnitTests/HumanResources/Employees/EmployeeTests.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | namespace JDS.OrgManager.Domain.UnitTests.HumanResources.Employees 8 | { 9 | public class EmployeeTests 10 | { 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /JDS.OrgManager/JDS.OrgManager.Domain.UnitTests/JDS.OrgManager.Domain.UnitTests.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | net5.0 5 | enable 6 | 7 | false 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | runtime; build; native; contentfiles; analyzers; buildtransitive 16 | all 17 | 18 | 19 | runtime; build; native; contentfiles; analyzers; buildtransitive 20 | all 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | -------------------------------------------------------------------------------- /JDS.OrgManager/JDS.OrgManager.Domain/Abstractions/Events/IDomainEvent.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JacobsDataSolutions/OrgManager/92a5c5094ffb512432feabc848662e2ebcd396de/JDS.OrgManager/JDS.OrgManager.Domain/Abstractions/Events/IDomainEvent.cs -------------------------------------------------------------------------------- /JDS.OrgManager/JDS.OrgManager.Domain/Abstractions/Events/IDomainEventDispatcher.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JacobsDataSolutions/OrgManager/92a5c5094ffb512432feabc848662e2ebcd396de/JDS.OrgManager/JDS.OrgManager.Domain/Abstractions/Events/IDomainEventDispatcher.cs -------------------------------------------------------------------------------- /JDS.OrgManager/JDS.OrgManager.Domain/Abstractions/Events/IDomainEventHandler.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JacobsDataSolutions/OrgManager/92a5c5094ffb512432feabc848662e2ebcd396de/JDS.OrgManager/JDS.OrgManager.Domain/Abstractions/Events/IDomainEventHandler.cs -------------------------------------------------------------------------------- /JDS.OrgManager/JDS.OrgManager.Domain/Abstractions/Models/IDomainEntity.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JacobsDataSolutions/OrgManager/92a5c5094ffb512432feabc848662e2ebcd396de/JDS.OrgManager/JDS.OrgManager.Domain/Abstractions/Models/IDomainEntity.cs -------------------------------------------------------------------------------- /JDS.OrgManager/JDS.OrgManager.Domain/Abstractions/Models/IValueObject.cs: -------------------------------------------------------------------------------- 1 | // Copyright ©2021 Jacobs Data Solutions 2 | 3 | // Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the 4 | // License at 5 | 6 | // http://www.apache.org/licenses/LICENSE-2.0 7 | 8 | // Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR 9 | // CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. 10 | namespace JDS.OrgManager.Domain.Abstractions.Models 11 | { 12 | public interface IValueObject 13 | { 14 | } 15 | } -------------------------------------------------------------------------------- /JDS.OrgManager/JDS.OrgManager.Domain/Common/Addresses/Address.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JacobsDataSolutions/OrgManager/92a5c5094ffb512432feabc848662e2ebcd396de/JDS.OrgManager/JDS.OrgManager.Domain/Common/Addresses/Address.cs -------------------------------------------------------------------------------- /JDS.OrgManager/JDS.OrgManager.Domain/Common/Addresses/State.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JacobsDataSolutions/OrgManager/92a5c5094ffb512432feabc848662e2ebcd396de/JDS.OrgManager/JDS.OrgManager.Domain/Common/Addresses/State.cs -------------------------------------------------------------------------------- /JDS.OrgManager/JDS.OrgManager.Domain/Common/Addresses/ZipCode.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JacobsDataSolutions/OrgManager/92a5c5094ffb512432feabc848662e2ebcd396de/JDS.OrgManager/JDS.OrgManager.Domain/Common/Addresses/ZipCode.cs -------------------------------------------------------------------------------- /JDS.OrgManager/JDS.OrgManager.Domain/Common/Employees/EmployeeConstants.cs: -------------------------------------------------------------------------------- 1 | // Copyright ©2021 Jacobs Data Solutions 2 | 3 | // Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the 4 | // License at 5 | 6 | // http://www.apache.org/licenses/LICENSE-2.0 7 | 8 | // Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR 9 | // CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. 10 | using System; 11 | 12 | namespace JDS.OrgManager.Domain.Common.Employees 13 | { 14 | public static class EmployeeConstants 15 | { 16 | public static readonly DateTime MinimumValidDateOfBirth = new DateTime(1920, 1, 1); 17 | 18 | public static readonly DateTime MinimumValidDateOfHire = new DateTime(1950, 1, 1); 19 | } 20 | } -------------------------------------------------------------------------------- /JDS.OrgManager/JDS.OrgManager.Domain/Common/Finance/CurrencyException.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JacobsDataSolutions/OrgManager/92a5c5094ffb512432feabc848662e2ebcd396de/JDS.OrgManager/JDS.OrgManager.Domain/Common/Finance/CurrencyException.cs -------------------------------------------------------------------------------- /JDS.OrgManager/JDS.OrgManager.Domain/Common/Finance/Money.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JacobsDataSolutions/OrgManager/92a5c5094ffb512432feabc848662e2ebcd396de/JDS.OrgManager/JDS.OrgManager.Domain/Common/Finance/Money.cs -------------------------------------------------------------------------------- /JDS.OrgManager/JDS.OrgManager.Domain/Common/People/Gender.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JacobsDataSolutions/OrgManager/92a5c5094ffb512432feabc848662e2ebcd396de/JDS.OrgManager/JDS.OrgManager.Domain/Common/People/Gender.cs -------------------------------------------------------------------------------- /JDS.OrgManager/JDS.OrgManager.Domain/Common/People/SocialSecurityNumber.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JacobsDataSolutions/OrgManager/92a5c5094ffb512432feabc848662e2ebcd396de/JDS.OrgManager/JDS.OrgManager.Domain/Common/People/SocialSecurityNumber.cs -------------------------------------------------------------------------------- /JDS.OrgManager/JDS.OrgManager.Domain/Common/People/Title.cs: -------------------------------------------------------------------------------- 1 | // Copyright ©2021 Jacobs Data Solutions 2 | 3 | // Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the 4 | // License at 5 | 6 | // http://www.apache.org/licenses/LICENSE-2.0 7 | 8 | // Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR 9 | // CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. 10 | namespace JDS.OrgManager.Domain.Common.People 11 | { 12 | public enum Title 13 | { 14 | Mr, 15 | 16 | Miss, 17 | 18 | Mrs, 19 | 20 | Ms 21 | } 22 | } -------------------------------------------------------------------------------- /JDS.OrgManager/JDS.OrgManager.Domain/DependencyInjectionExtensions.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JacobsDataSolutions/OrgManager/92a5c5094ffb512432feabc848662e2ebcd396de/JDS.OrgManager/JDS.OrgManager.Domain/DependencyInjectionExtensions.cs -------------------------------------------------------------------------------- /JDS.OrgManager/JDS.OrgManager.Domain/DomainLayer.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JacobsDataSolutions/OrgManager/92a5c5094ffb512432feabc848662e2ebcd396de/JDS.OrgManager/JDS.OrgManager.Domain/DomainLayer.cs -------------------------------------------------------------------------------- /JDS.OrgManager/JDS.OrgManager.Domain/DomainLayerException.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JacobsDataSolutions/OrgManager/92a5c5094ffb512432feabc848662e2ebcd396de/JDS.OrgManager/JDS.OrgManager.Domain/DomainLayerException.cs -------------------------------------------------------------------------------- /JDS.OrgManager/JDS.OrgManager.Domain/Events/DomainEvent.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JacobsDataSolutions/OrgManager/92a5c5094ffb512432feabc848662e2ebcd396de/JDS.OrgManager/JDS.OrgManager.Domain/Events/DomainEvent.cs -------------------------------------------------------------------------------- /JDS.OrgManager/JDS.OrgManager.Domain/Events/DomainEventDispatcher.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JacobsDataSolutions/OrgManager/92a5c5094ffb512432feabc848662e2ebcd396de/JDS.OrgManager/JDS.OrgManager.Domain/Events/DomainEventDispatcher.cs -------------------------------------------------------------------------------- /JDS.OrgManager/JDS.OrgManager.Domain/Events/NullDomainEventDispatcher.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JacobsDataSolutions/OrgManager/92a5c5094ffb512432feabc848662e2ebcd396de/JDS.OrgManager/JDS.OrgManager.Domain/Events/NullDomainEventDispatcher.cs -------------------------------------------------------------------------------- /JDS.OrgManager/JDS.OrgManager.Domain/HumanResources/Employees/Employee.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JacobsDataSolutions/OrgManager/92a5c5094ffb512432feabc848662e2ebcd396de/JDS.OrgManager/JDS.OrgManager.Domain/HumanResources/Employees/Employee.cs -------------------------------------------------------------------------------- /JDS.OrgManager/JDS.OrgManager.Domain/HumanResources/Employees/EmployeeException.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JacobsDataSolutions/OrgManager/92a5c5094ffb512432feabc848662e2ebcd396de/JDS.OrgManager/JDS.OrgManager.Domain/HumanResources/Employees/EmployeeException.cs -------------------------------------------------------------------------------- /JDS.OrgManager/JDS.OrgManager.Domain/HumanResources/Employees/EmployeeRegisteredEvent.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JacobsDataSolutions/OrgManager/92a5c5094ffb512432feabc848662e2ebcd396de/JDS.OrgManager/JDS.OrgManager.Domain/HumanResources/Employees/EmployeeRegisteredEvent.cs -------------------------------------------------------------------------------- /JDS.OrgManager/JDS.OrgManager.Domain/HumanResources/Employees/EmployeeUpdatedEvent.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JacobsDataSolutions/OrgManager/92a5c5094ffb512432feabc848662e2ebcd396de/JDS.OrgManager/JDS.OrgManager.Domain/HumanResources/Employees/EmployeeUpdatedEvent.cs -------------------------------------------------------------------------------- /JDS.OrgManager/JDS.OrgManager.Domain/HumanResources/TimeOff/PaidTimeOffException.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JacobsDataSolutions/OrgManager/92a5c5094ffb512432feabc848662e2ebcd396de/JDS.OrgManager/JDS.OrgManager.Domain/HumanResources/TimeOff/PaidTimeOffException.cs -------------------------------------------------------------------------------- /JDS.OrgManager/JDS.OrgManager.Domain/HumanResources/TimeOff/PaidTimeOffPolicy.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JacobsDataSolutions/OrgManager/92a5c5094ffb512432feabc848662e2ebcd396de/JDS.OrgManager/JDS.OrgManager.Domain/HumanResources/TimeOff/PaidTimeOffPolicy.cs -------------------------------------------------------------------------------- /JDS.OrgManager/JDS.OrgManager.Domain/HumanResources/TimeOff/PaidTimeOffRequestApprovalStatus.cs: -------------------------------------------------------------------------------- 1 | // Copyright ©2021 Jacobs Data Solutions 2 | 3 | // Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the 4 | // License at 5 | 6 | // http://www.apache.org/licenses/LICENSE-2.0 7 | 8 | // Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR 9 | // CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. 10 | namespace JDS.OrgManager.Domain.HumanResources.TimeOff 11 | { 12 | public enum PaidTimeOffRequestApprovalStatus 13 | { 14 | Submitted, 15 | 16 | Approved, 17 | 18 | Canceled, 19 | 20 | Rejected, 21 | 22 | Invalid 23 | } 24 | } -------------------------------------------------------------------------------- /JDS.OrgManager/JDS.OrgManager.Domain/HumanResources/TimeOff/PaidTimeOffRequestStatus.cs: -------------------------------------------------------------------------------- 1 | // Copyright ©2021 Jacobs Data Solutions 2 | 3 | // Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the 4 | // License at 5 | 6 | // http://www.apache.org/licenses/LICENSE-2.0 7 | 8 | // Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR 9 | // CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. 10 | namespace JDS.OrgManager.Domain.HumanResources.TimeOff 11 | { 12 | public enum PaidTimeOffRequestStatus 13 | { 14 | Pending, 15 | 16 | Taken, 17 | 18 | Canceled 19 | } 20 | } -------------------------------------------------------------------------------- /JDS.OrgManager/JDS.OrgManager.Domain/HumanResources/TimeOff/PaidTimeOffRequestSubmittedEvent.cs: -------------------------------------------------------------------------------- 1 | // Copyright ©2021 Jacobs Data Solutions 2 | 3 | // Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the 4 | // License at 5 | 6 | // http://www.apache.org/licenses/LICENSE-2.0 7 | 8 | // Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR 9 | // CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. 10 | using JDS.OrgManager.Domain.Events; 11 | using System; 12 | 13 | namespace JDS.OrgManager.Domain.HumanResources.TimeOff 14 | { 15 | public class PaidTimeOffRequestSubmittedEvent : DomainEvent 16 | { 17 | public PaidTimeOffRequest PaidTimeOffRequest { get; private set; } 18 | 19 | public PaidTimeOffRequestSubmittedEvent(PaidTimeOffRequest paidTimeOffRequest) 20 | : base() => PaidTimeOffRequest = paidTimeOffRequest ?? throw new ArgumentNullException(nameof(paidTimeOffRequest)); 21 | 22 | public override string ToString() => $"{DateTimeOccurredUtc} - {PaidTimeOffRequest.SubmittedBy.FirstName} {PaidTimeOffRequest.SubmittedBy.LastName} - {PaidTimeOffRequest.StartDate:d}-{PaidTimeOffRequest.EndDate:d}"; 23 | } 24 | } -------------------------------------------------------------------------------- /JDS.OrgManager/JDS.OrgManager.Domain/HumanResources/TimeOff/PaidTimeOffRequestValidationResult.cs: -------------------------------------------------------------------------------- 1 | // Copyright ©2021 Jacobs Data Solutions 2 | 3 | // Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the 4 | // License at 5 | 6 | // http://www.apache.org/licenses/LICENSE-2.0 7 | 8 | // Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR 9 | // CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. 10 | namespace JDS.OrgManager.Domain.HumanResources.TimeOff 11 | { 12 | public enum PaidTimeOffRequestValidationResult 13 | { 14 | NotEnoughHours, 15 | 16 | OverlapsWithExisting, 17 | 18 | InThePast, 19 | 20 | TooFarInTheFuture, 21 | 22 | StartDateAfterEndDate, 23 | 24 | OK 25 | } 26 | } -------------------------------------------------------------------------------- /JDS.OrgManager/JDS.OrgManager.Domain/JDS.OrgManager.Domain.csproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | net5.0 5 | enable 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | -------------------------------------------------------------------------------- /JDS.OrgManager/JDS.OrgManager.Domain/Models/DomainEntity'T.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JacobsDataSolutions/OrgManager/92a5c5094ffb512432feabc848662e2ebcd396de/JDS.OrgManager/JDS.OrgManager.Domain/Models/DomainEntity'T.cs -------------------------------------------------------------------------------- /JDS.OrgManager/JDS.OrgManager.Domain/Models/DomainEntity.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JacobsDataSolutions/OrgManager/92a5c5094ffb512432feabc848662e2ebcd396de/JDS.OrgManager/JDS.OrgManager.Domain/Models/DomainEntity.cs -------------------------------------------------------------------------------- /JDS.OrgManager/JDS.OrgManager.Infrastructure.UnitTests/JDS.OrgManager.Infrastructure.UnitTests.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | net5.0 5 | 6 | false 7 | 8 | 9 | 10 | 11 | 12 | 13 | runtime; build; native; contentfiles; analyzers; buildtransitive 14 | all 15 | 16 | 17 | runtime; build; native; contentfiles; analyzers; buildtransitive 18 | all 19 | 20 | 21 | 22 | 23 | -------------------------------------------------------------------------------- /JDS.OrgManager/JDS.OrgManager.Infrastructure/Dates/MachineDateTimeService.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JacobsDataSolutions/OrgManager/92a5c5094ffb512432feabc848662e2ebcd396de/JDS.OrgManager/JDS.OrgManager.Infrastructure/Dates/MachineDateTimeService.cs -------------------------------------------------------------------------------- /JDS.OrgManager/JDS.OrgManager.Infrastructure/DependencyInjectionExtensions.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JacobsDataSolutions/OrgManager/92a5c5094ffb512432feabc848662e2ebcd396de/JDS.OrgManager/JDS.OrgManager.Infrastructure/DependencyInjectionExtensions.cs -------------------------------------------------------------------------------- /JDS.OrgManager/JDS.OrgManager.Infrastructure/Http/MyHttpContext.cs: -------------------------------------------------------------------------------- 1 | // Copyright ©2021 Jacobs Data Solutions 2 | 3 | // Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the 4 | // License at 5 | 6 | // http://www.apache.org/licenses/LICENSE-2.0 7 | 8 | // Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR 9 | // CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. 10 | using Microsoft.AspNetCore.Http; 11 | 12 | namespace JDS.OrgManager.Infrastructure.Http 13 | { 14 | public class MyHttpContext 15 | { 16 | private static IHttpContextAccessor httpContextAccessor; 17 | 18 | public static HttpContext Current => httpContextAccessor?.HttpContext; 19 | 20 | internal static void Configure(IHttpContextAccessor httpContextAccessor) 21 | { 22 | MyHttpContext.httpContextAccessor = httpContextAccessor; 23 | } 24 | } 25 | } -------------------------------------------------------------------------------- /JDS.OrgManager/JDS.OrgManager.Infrastructure/Identity/AppIdentityDbContextFactory.cs: -------------------------------------------------------------------------------- 1 | // Copyright ©2021 Jacobs Data Solutions 2 | 3 | // Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the 4 | // License at 5 | 6 | // http://www.apache.org/licenses/LICENSE-2.0 7 | 8 | // Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR 9 | // CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. 10 | using Microsoft.EntityFrameworkCore; 11 | 12 | namespace JDS.OrgManager.Infrastructure.Identity 13 | { 14 | public class AppIdentityDbContextFactory : DesignAppTimeIdentityDbContextFactoryBase 15 | { 16 | protected override AppIdentityDbContext CreateNewInstance(DbContextOptions options) => new AppIdentityDbContext(options, new DefaultOperationalStoreOptions()); 17 | } 18 | } -------------------------------------------------------------------------------- /JDS.OrgManager/JDS.OrgManager.Infrastructure/Identity/ApplicationUser.cs: -------------------------------------------------------------------------------- 1 | // Copyright ©2021 Jacobs Data Solutions 2 | 3 | // Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the 4 | // License at 5 | 6 | // http://www.apache.org/licenses/LICENSE-2.0 7 | 8 | // Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR 9 | // CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. 10 | using Microsoft.AspNetCore.Identity; 11 | 12 | namespace JDS.OrgManager.Infrastructure.Identity 13 | { 14 | public class ApplicationUser : IdentityUser 15 | { 16 | public bool IsCustomer { get; set; } 17 | } 18 | } -------------------------------------------------------------------------------- /JDS.OrgManager/JDS.OrgManager.Infrastructure/Identity/CurrentUserService.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JacobsDataSolutions/OrgManager/92a5c5094ffb512432feabc848662e2ebcd396de/JDS.OrgManager/JDS.OrgManager.Infrastructure/Identity/CurrentUserService.cs -------------------------------------------------------------------------------- /JDS.OrgManager/JDS.OrgManager.Infrastructure/Identity/DefaultOperationalStoreOptions.cs: -------------------------------------------------------------------------------- 1 | // Copyright ©2021 Jacobs Data Solutions 2 | 3 | // Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the 4 | // License at 5 | 6 | // http://www.apache.org/licenses/LICENSE-2.0 7 | 8 | // Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR 9 | // CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. 10 | using IdentityServer4.EntityFramework.Options; 11 | using Microsoft.Extensions.Options; 12 | 13 | namespace JDS.OrgManager.Infrastructure.Identity 14 | { 15 | public class DefaultOperationalStoreOptions : IOptions 16 | { 17 | public OperationalStoreOptions Value => new OperationalStoreOptions(); 18 | } 19 | } -------------------------------------------------------------------------------- /JDS.OrgManager/JDS.OrgManager.Infrastructure/InfrastructureLayerConstants.cs: -------------------------------------------------------------------------------- 1 | // Copyright ©2021 Jacobs Data Solutions 2 | 3 | // Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the 4 | // License at 5 | 6 | // http://www.apache.org/licenses/LICENSE-2.0 7 | 8 | // Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR 9 | // CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. 10 | namespace JDS.OrgManager.Infrastructure 11 | { 12 | public static class InfrastructureLayerConstants 13 | { 14 | public const string TenantMasterDatabaseConnectionStringName = "TenantMasterDatabase"; 15 | } 16 | } -------------------------------------------------------------------------------- /JDS.OrgManager/JDS.OrgManager.Infrastructure/InfrastructureLayerException.cs: -------------------------------------------------------------------------------- 1 | // Copyright ©2021 Jacobs Data Solutions 2 | 3 | // Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the 4 | // License at 5 | 6 | // http://www.apache.org/licenses/LICENSE-2.0 7 | 8 | // Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR 9 | // CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. 10 | using System; 11 | using System.Runtime.Serialization; 12 | 13 | namespace JDS.OrgManager.Infrastructure 14 | { 15 | public class InfrastructureLayerException : Exception 16 | { 17 | public InfrastructureLayerException() 18 | { 19 | } 20 | 21 | public InfrastructureLayerException(string? message) : base(message) 22 | { 23 | } 24 | 25 | public InfrastructureLayerException(string? message, Exception? innerException) : base(message, innerException) 26 | { 27 | } 28 | 29 | protected InfrastructureLayerException(SerializationInfo info, StreamingContext context) : base(info, context) 30 | { 31 | } 32 | } 33 | } -------------------------------------------------------------------------------- /JDS.OrgManager/JDS.OrgManager.Infrastructure/JDS.OrgManager.Infrastructure.csproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | net5.0 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | all 14 | runtime; build; native; contentfiles; analyzers; buildtransitive 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | -------------------------------------------------------------------------------- /JDS.OrgManager/JDS.OrgManager.Infrastructure/Serialization/ByteSerializer.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JacobsDataSolutions/OrgManager/92a5c5094ffb512432feabc848662e2ebcd396de/JDS.OrgManager/JDS.OrgManager.Infrastructure/Serialization/ByteSerializer.cs -------------------------------------------------------------------------------- /JDS.OrgManager/JDS.OrgManager.MapperGeneratorConsoleApp/JDS.OrgManager.MapperGeneratorConsoleApp.fsproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | Exe 5 | net5.0 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | -------------------------------------------------------------------------------- /JDS.OrgManager/JDS.OrgManager.MapperGeneratorConsoleApp/Properties/launchSettings.json: -------------------------------------------------------------------------------- 1 | { 2 | "profiles": { 3 | "JDS.OrgManager.MapperGeneratorConsoleApp": { 4 | "commandName": "Project", 5 | "commandLineArgs": "\"$(ProjectDir)..\\JDS.OrgManager.Application\\Common\\Mapping\\Mappers.cs\" \"$(ProjectDir)..\\JDS.OrgManager.Application\\Common\\Mapping\\map.txt\"" 6 | } 7 | } 8 | } -------------------------------------------------------------------------------- /JDS.OrgManager/JDS.OrgManager.Persistence/Common/Currencies/CurrencyEntityConfiguration.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JacobsDataSolutions/OrgManager/92a5c5094ffb512432feabc848662e2ebcd396de/JDS.OrgManager/JDS.OrgManager.Persistence/Common/Currencies/CurrencyEntityConfiguration.cs -------------------------------------------------------------------------------- /JDS.OrgManager/JDS.OrgManager.Persistence/Common/Employees/EmployeeEntityConfiguration.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JacobsDataSolutions/OrgManager/92a5c5094ffb512432feabc848662e2ebcd396de/JDS.OrgManager/JDS.OrgManager.Persistence/Common/Employees/EmployeeEntityConfiguration.cs -------------------------------------------------------------------------------- /JDS.OrgManager/JDS.OrgManager.Persistence/Common/Employees/EmployeeManagerEntityConfiguration.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JacobsDataSolutions/OrgManager/92a5c5094ffb512432feabc848662e2ebcd396de/JDS.OrgManager/JDS.OrgManager.Persistence/Common/Employees/EmployeeManagerEntityConfiguration.cs -------------------------------------------------------------------------------- /JDS.OrgManager/JDS.OrgManager.Persistence/Common/TimeOff/PaidTimeOffPolicyEntityConfiguration.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JacobsDataSolutions/OrgManager/92a5c5094ffb512432feabc848662e2ebcd396de/JDS.OrgManager/JDS.OrgManager.Persistence/Common/TimeOff/PaidTimeOffPolicyEntityConfiguration.cs -------------------------------------------------------------------------------- /JDS.OrgManager/JDS.OrgManager.Persistence/Configuration/ConfigurationBase.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JacobsDataSolutions/OrgManager/92a5c5094ffb512432feabc848662e2ebcd396de/JDS.OrgManager/JDS.OrgManager.Persistence/Configuration/ConfigurationBase.cs -------------------------------------------------------------------------------- /JDS.OrgManager/JDS.OrgManager.Persistence/DbContexts/ApplicationWriteDbContext.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JacobsDataSolutions/OrgManager/92a5c5094ffb512432feabc848662e2ebcd396de/JDS.OrgManager/JDS.OrgManager.Persistence/DbContexts/ApplicationWriteDbContext.cs -------------------------------------------------------------------------------- /JDS.OrgManager/JDS.OrgManager.Persistence/DbContexts/ApplicationWriteDbContextFactory.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JacobsDataSolutions/OrgManager/92a5c5094ffb512432feabc848662e2ebcd396de/JDS.OrgManager/JDS.OrgManager.Persistence/DbContexts/ApplicationWriteDbContextFactory.cs -------------------------------------------------------------------------------- /JDS.OrgManager/JDS.OrgManager.Persistence/DbContexts/DesignTimeWriteDbContextFactoryBase.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JacobsDataSolutions/OrgManager/92a5c5094ffb512432feabc848662e2ebcd396de/JDS.OrgManager/JDS.OrgManager.Persistence/DbContexts/DesignTimeWriteDbContextFactoryBase.cs -------------------------------------------------------------------------------- /JDS.OrgManager/JDS.OrgManager.Persistence/DbFacades/ApplicationReadDbFacade.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JacobsDataSolutions/OrgManager/92a5c5094ffb512432feabc848662e2ebcd396de/JDS.OrgManager/JDS.OrgManager.Persistence/DbFacades/ApplicationReadDbFacade.cs -------------------------------------------------------------------------------- /JDS.OrgManager/JDS.OrgManager.Persistence/DependencyInjectionExtensions.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JacobsDataSolutions/OrgManager/92a5c5094ffb512432feabc848662e2ebcd396de/JDS.OrgManager/JDS.OrgManager.Persistence/DependencyInjectionExtensions.cs -------------------------------------------------------------------------------- /JDS.OrgManager/JDS.OrgManager.Persistence/JDS.OrgManager.Persistence.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | net5.0 5 | enable 6 | 7 | 8 | 9 | 10 | 11 | all 12 | runtime; build; native; contentfiles; analyzers; buildtransitive 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | -------------------------------------------------------------------------------- /JDS.OrgManager/JDS.OrgManager.Persistence/Migrations/20210312005802_ExternalEmployeeId.cs: -------------------------------------------------------------------------------- 1 | using Microsoft.EntityFrameworkCore.Migrations; 2 | 3 | namespace JDS.OrgManager.Persistence.Migrations 4 | { 5 | public partial class ExternalEmployeeId : Migration 6 | { 7 | protected override void Up(MigrationBuilder migrationBuilder) 8 | { 9 | migrationBuilder.AddColumn( 10 | name: "ExternalEmployeeId", 11 | table: "Employees", 12 | type: "nvarchar(25)", 13 | maxLength: 25, 14 | nullable: true); 15 | } 16 | 17 | protected override void Down(MigrationBuilder migrationBuilder) 18 | { 19 | migrationBuilder.DropColumn( 20 | name: "ExternalEmployeeId", 21 | table: "Employees"); 22 | } 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /JDS.OrgManager/JDS.OrgManager.Persistence/PersistenceLayerConstants.cs: -------------------------------------------------------------------------------- 1 | // Copyright ©2021 Jacobs Data Solutions 2 | 3 | // Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the 4 | // License at 5 | 6 | // http://www.apache.org/licenses/LICENSE-2.0 7 | 8 | // Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR 9 | // CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. 10 | namespace JDS.OrgManager.Persistence 11 | { 12 | public static class PersistenceLayerConstants 13 | { 14 | public const string ReadDatabaseConnectionStringName = "ApplicationReadDatabase"; 15 | 16 | public const string SqlDateType = "date"; 17 | 18 | public const string SqlDecimalType = "decimal(18,4)"; 19 | 20 | public const string WriteDatabaseConnectionStringName = "ApplicationWriteDatabase"; 21 | } 22 | } -------------------------------------------------------------------------------- /JDS.OrgManager/JDS.OrgManager.Persistence/PersistenceLayerException.cs: -------------------------------------------------------------------------------- 1 | // Copyright ©2021 Jacobs Data Solutions 2 | 3 | // Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the 4 | // License at 5 | 6 | // http://www.apache.org/licenses/LICENSE-2.0 7 | 8 | // Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR 9 | // CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. 10 | using System; 11 | using System.Runtime.Serialization; 12 | 13 | namespace JDS.OrgManager.Persistence 14 | { 15 | public class PersistenceLayerException : Exception 16 | { 17 | public PersistenceLayerException() 18 | { 19 | } 20 | 21 | public PersistenceLayerException(string? message) : base(message) 22 | { 23 | } 24 | 25 | public PersistenceLayerException(string? message, Exception? innerException) : base(message, innerException) 26 | { 27 | } 28 | 29 | protected PersistenceLayerException(SerializationInfo info, StreamingContext context) : base(info, context) 30 | { 31 | } 32 | } 33 | } -------------------------------------------------------------------------------- /JDS.OrgManager/JDS.OrgManager.Persistence/Tenants/TenantAspNetUserEntityConfiguration.cs: -------------------------------------------------------------------------------- 1 | // Copyright ©2021 Jacobs Data Solutions 2 | 3 | // Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the 4 | // License at 5 | 6 | // http://www.apache.org/licenses/LICENSE-2.0 7 | 8 | // Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR 9 | // CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. 10 | using JDS.OrgManager.Application.Tenants; 11 | using Microsoft.EntityFrameworkCore; 12 | using Microsoft.EntityFrameworkCore.Metadata.Builders; 13 | 14 | namespace JDS.OrgManager.Persistence.Tenants 15 | { 16 | public class TenantAspNetUserEntityConfiguration : IEntityTypeConfiguration 17 | { 18 | public void Configure(EntityTypeBuilder builder) 19 | { 20 | builder.HasKey(e => new { e.TenantId, e.AspNetUsersId }); 21 | builder.Property(e => e.TenantId).ValueGeneratedNever(); 22 | builder.Property(e => e.AspNetUsersId); 23 | builder.HasOne(e => e.Tenant).WithMany(e => e.AspNetUsers).OnDelete(DeleteBehavior.Cascade).HasForeignKey(e => e.TenantId); 24 | } 25 | } 26 | } -------------------------------------------------------------------------------- /JDS.OrgManager/JDS.OrgManager.Presentation.WebApi/Areas/Identity/IdentityHostingStartup.cs: -------------------------------------------------------------------------------- 1 | // Copyright ©2021 Jacobs Data Solutions 2 | 3 | // Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the 4 | // License at 5 | 6 | // http://www.apache.org/licenses/LICENSE-2.0 7 | 8 | // Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR 9 | // CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. 10 | using Microsoft.AspNetCore.Hosting; 11 | 12 | [assembly: HostingStartup(typeof(JDS.OrgManager.Presentation.WebApi.Areas.Identity.IdentityHostingStartup))] 13 | 14 | namespace JDS.OrgManager.Presentation.WebApi.Areas.Identity 15 | { 16 | public class IdentityHostingStartup : IHostingStartup 17 | { 18 | public void Configure(IWebHostBuilder builder) 19 | { 20 | builder.ConfigureServices((context, services) => 21 | { 22 | }); 23 | } 24 | } 25 | } -------------------------------------------------------------------------------- /JDS.OrgManager/JDS.OrgManager.Presentation.WebApi/Areas/Identity/Pages/Account/RegistrationUserType.cs: -------------------------------------------------------------------------------- 1 | // Copyright ©2021 Jacobs Data Solutions 2 | 3 | // Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the 4 | // License at 5 | 6 | // http://www.apache.org/licenses/LICENSE-2.0 7 | 8 | // Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR 9 | // CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. 10 | namespace JDS.OrgManager.Presentation.WebApi.Areas.Identity.Pages.Account 11 | { 12 | public enum RegistrationUserType 13 | { 14 | Employee, 15 | 16 | Employer 17 | } 18 | } -------------------------------------------------------------------------------- /JDS.OrgManager/JDS.OrgManager.Presentation.WebApi/Areas/Identity/Pages/Account/_ViewImports.cshtml: -------------------------------------------------------------------------------- 1 | @using JDS.OrgManager.Presentation.WebApi.Areas.Identity.Pages.Account -------------------------------------------------------------------------------- /JDS.OrgManager/JDS.OrgManager.Presentation.WebApi/Areas/Identity/Pages/_ViewImports.cshtml: -------------------------------------------------------------------------------- 1 | @using Microsoft.AspNetCore.Identity 2 | @using JDS.OrgManager.Presentation.WebApi.Areas.Identity 3 | @using JDS.OrgManager.Presentation.WebApi.Areas.Identity.Pages 4 | @addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers 5 | @using JDS.OrgManager.Infrastructure.Identity 6 | -------------------------------------------------------------------------------- /JDS.OrgManager/JDS.OrgManager.Presentation.WebApi/Areas/Identity/Pages/_ViewStart.cshtml: -------------------------------------------------------------------------------- 1 |  2 | @{ 3 | Layout = "/Pages/Shared/_Layout.cshtml"; 4 | } 5 | -------------------------------------------------------------------------------- /JDS.OrgManager/JDS.OrgManager.Presentation.WebApi/ClientApp/.editorconfig: -------------------------------------------------------------------------------- 1 | # Editor configuration, see http://editorconfig.org 2 | root = true 3 | 4 | [*] 5 | charset = utf-8 6 | indent_style = space 7 | indent_size = 4 8 | insert_final_newline = true 9 | trim_trailing_whitespace = true 10 | 11 | [*.ts] 12 | quote_type = double 13 | 14 | [*.md] 15 | max_line_length = off 16 | trim_trailing_whitespace = false 17 | -------------------------------------------------------------------------------- /JDS.OrgManager/JDS.OrgManager.Presentation.WebApi/ClientApp/.gitignore: -------------------------------------------------------------------------------- 1 | # See http://help.github.com/ignore-files/ for more about ignoring files. 2 | 3 | # compiled output 4 | /dist 5 | /tmp 6 | /out-tsc 7 | /coverage 8 | 9 | # dependencies 10 | /node_modules 11 | yarn.lock 12 | 13 | # IDEs and editors 14 | /.idea 15 | .project 16 | .classpath 17 | .c9/ 18 | *.launch 19 | .settings/ 20 | *.sublime-workspace 21 | 22 | # IDE - VSCode 23 | .vscode/* 24 | # !.vscode/settings.json 25 | # !.vscode/tasks.json 26 | # !.vscode/launch.json 27 | # !.vscode/extensions.json 28 | 29 | # compodoc 30 | /documentation 31 | 32 | # misc 33 | /.sass-cache 34 | /connect.lock 35 | /coverage 36 | /libpeerconnection.log 37 | npm-debug.log 38 | testem.log 39 | tslint-to-eslint-config.log 40 | /typings 41 | 42 | # e2e 43 | /e2e/src/*.js 44 | /e2e/src/*.map 45 | /cypress/screenshots 46 | 47 | # System Files 48 | .DS_Store 49 | Thumbs.db 50 | .node-version 51 | 52 | # debug 53 | debug.log 54 | -------------------------------------------------------------------------------- /JDS.OrgManager/JDS.OrgManager.Presentation.WebApi/ClientApp/.npmrc: -------------------------------------------------------------------------------- 1 | registry=https://registry.npmjs.org/ 2 | -------------------------------------------------------------------------------- /JDS.OrgManager/JDS.OrgManager.Presentation.WebApi/ClientApp/.prettierignore: -------------------------------------------------------------------------------- 1 | package.json 2 | package-lock.json 3 | *.html -------------------------------------------------------------------------------- /JDS.OrgManager/JDS.OrgManager.Presentation.WebApi/ClientApp/.prettierrc: -------------------------------------------------------------------------------- 1 | { 2 | "useTabs": false, 3 | "printWidth": 160, 4 | "tabWidth": 4, 5 | "singleQuote": false, 6 | "trailingComma": "none", 7 | "semi": true 8 | } 9 | -------------------------------------------------------------------------------- /JDS.OrgManager/JDS.OrgManager.Presentation.WebApi/ClientApp/browserslist: -------------------------------------------------------------------------------- 1 | # This file is used by the build system to adjust CSS and JS output to support the specified browsers below. 2 | # For additional information regarding the format and rule options, please see: 3 | # https://github.com/browserslist/browserslist#queries 4 | 5 | # You can see what browsers were selected by your queries by running: 6 | # npx browserslist 7 | 8 | > 0.5% 9 | last 2 versions 10 | Firefox ESR 11 | not dead 12 | not IE 9-11 # For IE 9-11 support, remove 'not'. -------------------------------------------------------------------------------- /JDS.OrgManager/JDS.OrgManager.Presentation.WebApi/ClientApp/e2e/protractor.conf.js: -------------------------------------------------------------------------------- 1 | // @ts-check 2 | // Protractor configuration file, see link for more information 3 | // https://github.com/angular/protractor/blob/master/lib/config.ts 4 | 5 | const { SpecReporter } = require('jasmine-spec-reporter'); 6 | 7 | /** 8 | * @type { import("protractor").Config } 9 | */ 10 | exports.config = { 11 | allScriptsTimeout: 11000, 12 | specs: ['./src/**/*.e2e-spec.ts'], 13 | capabilities: { 14 | browserName: 'chrome', 15 | chromeOptions: { 16 | args: [ 17 | '--headless', 18 | '--no-sandbox', 19 | '--disable-gpu', 20 | '--disable-offline-pages' 21 | ] 22 | } 23 | }, 24 | directConnect: true, 25 | baseUrl: 'http://localhost:4200/', 26 | framework: 'jasmine', 27 | jasmineNodeOpts: { 28 | showColors: true, 29 | defaultTimeoutInterval: 30000, 30 | print: function () {} 31 | }, 32 | onPrepare() { 33 | require('ts-node').register({ 34 | project: require('path').join(__dirname, './tsconfig.json') 35 | }); 36 | jasmine 37 | .getEnv() 38 | .addReporter(new SpecReporter({ spec: { displayStacktrace: true } })); 39 | } 40 | }; 41 | -------------------------------------------------------------------------------- /JDS.OrgManager/JDS.OrgManager.Presentation.WebApi/ClientApp/e2e/src/app/app.e2e-spec.ts: -------------------------------------------------------------------------------- 1 | // Copyright (c)2021 Jacobs Data Solutions 2 | 3 | // Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the 4 | // License at 5 | 6 | // http://www.apache.org/licenses/LICENSE-2.0 7 | 8 | // Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR 9 | // CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. 10 | import { AppPage } from "./app.po"; 11 | 12 | import { getCurrentRouteUrl } from "../utils/utils"; 13 | 14 | describe("App", () => { 15 | let page: AppPage; 16 | 17 | beforeEach(() => (page = new AppPage())); 18 | 19 | //it('should redirect to "about" route', () => { 20 | // page.navigateTo(); 21 | // expect(getCurrentRouteUrl()).toEqual('about'); 22 | //}); 23 | 24 | it("should display current year in the footer", () => { 25 | page.navigateTo(); 26 | expect(page.getCurrentYear()).toEqual(new Date().getFullYear().toString()); 27 | }); 28 | 29 | //it('should have "About", "Features", "Examples" menus', () => { 30 | // page.navigateTo(); 31 | // page 32 | // .getAllMenus() 33 | // .then((menus) => 34 | // expect(menus).toEqual(['About', 'Features', 'Examples']) 35 | // ); 36 | //}); 37 | }); 38 | -------------------------------------------------------------------------------- /JDS.OrgManager/JDS.OrgManager.Presentation.WebApi/ClientApp/e2e/src/app/app.po.ts: -------------------------------------------------------------------------------- 1 | // Copyright (c)2021 Jacobs Data Solutions 2 | 3 | // Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the 4 | // License at 5 | 6 | // http://www.apache.org/licenses/LICENSE-2.0 7 | 8 | // Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR 9 | // CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. 10 | import { browser, by, element } from "protractor"; 11 | 12 | export class AppPage { 13 | navigateTo() { 14 | return browser.get("/"); 15 | } 16 | 17 | getCurrentYear() { 18 | return element(by.css(".signature .year")).getText(); 19 | } 20 | 21 | getAllMenus() { 22 | return element.all(by.css("mat-toolbar button.nav-button")).map((elm) => elm.getText()); 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /JDS.OrgManager/JDS.OrgManager.Presentation.WebApi/ClientApp/e2e/src/utils/utils.ts: -------------------------------------------------------------------------------- 1 | // Copyright (c)2021 Jacobs Data Solutions 2 | 3 | // Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the 4 | // License at 5 | 6 | // http://www.apache.org/licenses/LICENSE-2.0 7 | 8 | // Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR 9 | // CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. 10 | import { browser } from "protractor"; 11 | 12 | export const getCurrentRouteUrl = () => browser.getCurrentUrl().then((url) => url.substr(url.lastIndexOf("/") + 1)); 13 | -------------------------------------------------------------------------------- /JDS.OrgManager/JDS.OrgManager.Presentation.WebApi/ClientApp/e2e/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../../tsconfig.json", 3 | "compilerOptions": { 4 | "outDir": "../../../out-tsc/e2e", 5 | "module": "commonjs", 6 | "target": "es5", 7 | "types": ["jasmine", "jasminewd2", "node"] 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /JDS.OrgManager/JDS.OrgManager.Presentation.WebApi/ClientApp/karma.conf.js: -------------------------------------------------------------------------------- 1 | // Karma configuration file, see link for more information 2 | // https://karma-runner.github.io/1.0/config/configuration-file.html 3 | 4 | module.exports = function (config) { 5 | var isWatch = config.buildWebpack.options.watch; 6 | config.set({ 7 | basePath: '', 8 | frameworks: ['jasmine', '@angular-devkit/build-angular'], 9 | plugins: [ 10 | require('karma-jasmine'), 11 | require('karma-chrome-launcher'), 12 | require('karma-jasmine-html-reporter'), 13 | require('karma-spec-reporter'), 14 | require('karma-coverage-istanbul-reporter'), 15 | require('@angular-devkit/build-angular/plugins/karma') 16 | ], 17 | client: { 18 | clearContext: false // leave Jasmine Spec Runner output visible in browser 19 | }, 20 | coverageIstanbulReporter: { 21 | dir: require('path').join( 22 | __dirname, 23 | '../../coverage/org-manager' 24 | ), 25 | reports: ['html', 'lcovonly', 'text-summary'], 26 | fixWebpackSourcePaths: true 27 | }, 28 | reporters: ['spec'], 29 | port: 9876, 30 | colors: true, 31 | logLevel: config.LOG_INFO, 32 | autoWatch: true, 33 | browsers: ['Chrome'], 34 | restartOnFileChange: true, 35 | customLaunchers: { 36 | ChromeTravisCi: { 37 | base: 'Chrome', 38 | flags: ['--no-sandbox'] 39 | } 40 | }, 41 | browserNoActivityTimeout: 50000, 42 | singleRun: !isWatch 43 | }); 44 | }; 45 | -------------------------------------------------------------------------------- /JDS.OrgManager/JDS.OrgManager.Presentation.WebApi/ClientApp/src/api-authorization/api-authorization.module.spec.ts: -------------------------------------------------------------------------------- 1 | // Copyright (c)2021 Jacobs Data Solutions 2 | 3 | // Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the 4 | // License at 5 | 6 | // http://www.apache.org/licenses/LICENSE-2.0 7 | 8 | // Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR 9 | // CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. 10 | import { ApiAuthorizationModule } from "./api-authorization.module"; 11 | 12 | describe("ApiAuthorizationModule", () => { 13 | let apiAuthorizationModule: ApiAuthorizationModule; 14 | 15 | beforeEach(() => { 16 | apiAuthorizationModule = new ApiAuthorizationModule(); 17 | }); 18 | 19 | it("should create an instance", () => { 20 | expect(apiAuthorizationModule).toBeTruthy(); 21 | }); 22 | }); 23 | -------------------------------------------------------------------------------- /JDS.OrgManager/JDS.OrgManager.Presentation.WebApi/ClientApp/src/api-authorization/authorize.guard.spec.ts: -------------------------------------------------------------------------------- 1 | // Copyright (c)2021 Jacobs Data Solutions 2 | 3 | // Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the 4 | // License at 5 | 6 | // http://www.apache.org/licenses/LICENSE-2.0 7 | 8 | // Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR 9 | // CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. 10 | import { TestBed, inject } from "@angular/core/testing"; 11 | 12 | import { AuthorizeGuard } from "./authorize.guard"; 13 | 14 | describe("AuthorizeGuard", () => { 15 | beforeEach(() => { 16 | TestBed.configureTestingModule({ 17 | providers: [AuthorizeGuard] 18 | }); 19 | }); 20 | 21 | it("should ...", inject([AuthorizeGuard], (guard: AuthorizeGuard) => { 22 | expect(guard).toBeTruthy(); 23 | })); 24 | }); 25 | -------------------------------------------------------------------------------- /JDS.OrgManager/JDS.OrgManager.Presentation.WebApi/ClientApp/src/api-authorization/authorize.interceptor.spec.ts: -------------------------------------------------------------------------------- 1 | // Copyright (c)2021 Jacobs Data Solutions 2 | 3 | // Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the 4 | // License at 5 | 6 | // http://www.apache.org/licenses/LICENSE-2.0 7 | 8 | // Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR 9 | // CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. 10 | import { TestBed, inject } from "@angular/core/testing"; 11 | 12 | import { AuthorizeInterceptor } from "./authorize.interceptor"; 13 | 14 | describe("AuthorizeInterceptor", () => { 15 | beforeEach(() => { 16 | TestBed.configureTestingModule({ 17 | providers: [AuthorizeInterceptor] 18 | }); 19 | }); 20 | 21 | it("should be created", inject([AuthorizeInterceptor], (service: AuthorizeInterceptor) => { 22 | expect(service).toBeTruthy(); 23 | })); 24 | }); 25 | -------------------------------------------------------------------------------- /JDS.OrgManager/JDS.OrgManager.Presentation.WebApi/ClientApp/src/api-authorization/authorize.service.spec.ts: -------------------------------------------------------------------------------- 1 | // Copyright (c)2021 Jacobs Data Solutions 2 | 3 | // Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the 4 | // License at 5 | 6 | // http://www.apache.org/licenses/LICENSE-2.0 7 | 8 | // Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR 9 | // CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. 10 | import { TestBed, inject } from "@angular/core/testing"; 11 | 12 | import { AuthorizeService } from "./authorize.service"; 13 | 14 | describe("AuthorizeService", () => { 15 | beforeEach(() => { 16 | TestBed.configureTestingModule({ 17 | providers: [AuthorizeService] 18 | }); 19 | }); 20 | 21 | it("should be created", inject([AuthorizeService], (service: AuthorizeService) => { 22 | expect(service).toBeTruthy(); 23 | })); 24 | }); 25 | -------------------------------------------------------------------------------- /JDS.OrgManager/JDS.OrgManager.Presentation.WebApi/ClientApp/src/api-authorization/login-menu/login-menu.component.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JacobsDataSolutions/OrgManager/92a5c5094ffb512432feabc848662e2ebcd396de/JDS.OrgManager/JDS.OrgManager.Presentation.WebApi/ClientApp/src/api-authorization/login-menu/login-menu.component.css -------------------------------------------------------------------------------- /JDS.OrgManager/JDS.OrgManager.Presentation.WebApi/ClientApp/src/api-authorization/login-menu/login-menu.component.html: -------------------------------------------------------------------------------- 1 | 9 | 17 | -------------------------------------------------------------------------------- /JDS.OrgManager/JDS.OrgManager.Presentation.WebApi/ClientApp/src/api-authorization/login-menu/login-menu.component.spec.ts: -------------------------------------------------------------------------------- 1 | // Copyright (c)2021 Jacobs Data Solutions 2 | 3 | // Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the 4 | // License at 5 | 6 | // http://www.apache.org/licenses/LICENSE-2.0 7 | 8 | // Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR 9 | // CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. 10 | import { async, ComponentFixture, TestBed } from "@angular/core/testing"; 11 | 12 | import { LoginMenuComponent } from "./login-menu.component"; 13 | 14 | describe("LoginMenuComponent", () => { 15 | let component: LoginMenuComponent; 16 | let fixture: ComponentFixture; 17 | 18 | beforeEach(async(() => { 19 | TestBed.configureTestingModule({ 20 | declarations: [LoginMenuComponent] 21 | }).compileComponents(); 22 | })); 23 | 24 | beforeEach(() => { 25 | fixture = TestBed.createComponent(LoginMenuComponent); 26 | component = fixture.componentInstance; 27 | fixture.detectChanges(); 28 | }); 29 | 30 | it("should create", () => { 31 | expect(component).toBeTruthy(); 32 | }); 33 | }); 34 | -------------------------------------------------------------------------------- /JDS.OrgManager/JDS.OrgManager.Presentation.WebApi/ClientApp/src/api-authorization/login-menu/login-menu.component.ts: -------------------------------------------------------------------------------- 1 | // Copyright (c)2021 Jacobs Data Solutions 2 | 3 | // Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the 4 | // License at 5 | 6 | // http://www.apache.org/licenses/LICENSE-2.0 7 | 8 | // Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR 9 | // CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. 10 | import { Component, OnInit } from "@angular/core"; 11 | import { AuthorizeService } from "../authorize.service"; 12 | import { Observable } from "rxjs"; 13 | import { map, tap } from "rxjs/operators"; 14 | 15 | @Component({ 16 | selector: "app-login-menu", 17 | templateUrl: "./login-menu.component.html", 18 | styleUrls: ["./login-menu.component.css"] 19 | }) 20 | export class LoginMenuComponent implements OnInit { 21 | public isAuthenticated: Observable; 22 | public userName: Observable; 23 | 24 | constructor(private authorizeService: AuthorizeService) {} 25 | 26 | ngOnInit() { 27 | this.isAuthenticated = this.authorizeService.isAuthenticated(); 28 | this.userName = this.authorizeService.getUser().pipe(map((u) => u && u.name)); 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /JDS.OrgManager/JDS.OrgManager.Presentation.WebApi/ClientApp/src/api-authorization/login/login.component.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JacobsDataSolutions/OrgManager/92a5c5094ffb512432feabc848662e2ebcd396de/JDS.OrgManager/JDS.OrgManager.Presentation.WebApi/ClientApp/src/api-authorization/login/login.component.css -------------------------------------------------------------------------------- /JDS.OrgManager/JDS.OrgManager.Presentation.WebApi/ClientApp/src/api-authorization/login/login.component.html: -------------------------------------------------------------------------------- 1 |

{{ message | async }}

-------------------------------------------------------------------------------- /JDS.OrgManager/JDS.OrgManager.Presentation.WebApi/ClientApp/src/api-authorization/login/login.component.spec.ts: -------------------------------------------------------------------------------- 1 | // Copyright (c)2021 Jacobs Data Solutions 2 | 3 | // Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the 4 | // License at 5 | 6 | // http://www.apache.org/licenses/LICENSE-2.0 7 | 8 | // Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR 9 | // CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. 10 | import { async, ComponentFixture, TestBed } from "@angular/core/testing"; 11 | 12 | import { LoginComponent } from "./login.component"; 13 | 14 | describe("LoginComponent", () => { 15 | let component: LoginComponent; 16 | let fixture: ComponentFixture; 17 | 18 | beforeEach(async(() => { 19 | TestBed.configureTestingModule({ 20 | declarations: [LoginComponent] 21 | }).compileComponents(); 22 | })); 23 | 24 | beforeEach(() => { 25 | fixture = TestBed.createComponent(LoginComponent); 26 | component = fixture.componentInstance; 27 | fixture.detectChanges(); 28 | }); 29 | 30 | it("should create", () => { 31 | expect(component).toBeTruthy(); 32 | }); 33 | }); 34 | -------------------------------------------------------------------------------- /JDS.OrgManager/JDS.OrgManager.Presentation.WebApi/ClientApp/src/api-authorization/logout/logout.component.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JacobsDataSolutions/OrgManager/92a5c5094ffb512432feabc848662e2ebcd396de/JDS.OrgManager/JDS.OrgManager.Presentation.WebApi/ClientApp/src/api-authorization/logout/logout.component.css -------------------------------------------------------------------------------- /JDS.OrgManager/JDS.OrgManager.Presentation.WebApi/ClientApp/src/api-authorization/logout/logout.component.html: -------------------------------------------------------------------------------- 1 |

{{ message | async }}

-------------------------------------------------------------------------------- /JDS.OrgManager/JDS.OrgManager.Presentation.WebApi/ClientApp/src/api-authorization/logout/logout.component.spec.ts: -------------------------------------------------------------------------------- 1 | // Copyright (c)2021 Jacobs Data Solutions 2 | 3 | // Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the 4 | // License at 5 | 6 | // http://www.apache.org/licenses/LICENSE-2.0 7 | 8 | // Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR 9 | // CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. 10 | import { async, ComponentFixture, TestBed } from "@angular/core/testing"; 11 | 12 | import { LogoutComponent } from "./logout.component"; 13 | 14 | describe("LogoutComponent", () => { 15 | let component: LogoutComponent; 16 | let fixture: ComponentFixture; 17 | 18 | beforeEach(async(() => { 19 | TestBed.configureTestingModule({ 20 | declarations: [LogoutComponent] 21 | }).compileComponents(); 22 | })); 23 | 24 | beforeEach(() => { 25 | fixture = TestBed.createComponent(LogoutComponent); 26 | component = fixture.componentInstance; 27 | fixture.detectChanges(); 28 | }); 29 | 30 | it("should create", () => { 31 | expect(component).toBeTruthy(); 32 | }); 33 | }); 34 | -------------------------------------------------------------------------------- /JDS.OrgManager/JDS.OrgManager.Presentation.WebApi/ClientApp/src/app/core/animations/animations.service.ts: -------------------------------------------------------------------------------- 1 | // Copyright (c)2021 Jacobs Data Solutions 2 | 3 | // Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the 4 | // License at 5 | 6 | // http://www.apache.org/licenses/LICENSE-2.0 7 | 8 | // Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR 9 | // CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. 10 | import { Injectable } from "@angular/core"; 11 | 12 | @Injectable({ 13 | providedIn: "root" 14 | }) 15 | export class AnimationsService { 16 | private static routeAnimationType: RouteAnimationType = "NONE"; 17 | 18 | constructor() { 19 | AnimationsService.routeAnimationType = "NONE"; 20 | } 21 | 22 | static isRouteAnimationsType(type: RouteAnimationType) { 23 | return AnimationsService.routeAnimationType === type; 24 | } 25 | 26 | updateRouteAnimationType(pageAnimations: boolean, elementsAnimations: boolean) { 27 | AnimationsService.routeAnimationType = 28 | pageAnimations && elementsAnimations ? "ALL" : pageAnimations ? "PAGE" : elementsAnimations ? "ELEMENTS" : "NONE"; 29 | } 30 | } 31 | 32 | export type RouteAnimationType = "ALL" | "PAGE" | "ELEMENTS" | "NONE"; 33 | -------------------------------------------------------------------------------- /JDS.OrgManager/JDS.OrgManager.Presentation.WebApi/ClientApp/src/app/customers/add-or-update-customer/add-or-update-customer.component.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JacobsDataSolutions/OrgManager/92a5c5094ffb512432feabc848662e2ebcd396de/JDS.OrgManager/JDS.OrgManager.Presentation.WebApi/ClientApp/src/app/customers/add-or-update-customer/add-or-update-customer.component.css -------------------------------------------------------------------------------- /JDS.OrgManager/JDS.OrgManager.Presentation.WebApi/ClientApp/src/app/customers/customer-home/customer-home.component.html: -------------------------------------------------------------------------------- 1 |

customer-home works!

2 | -------------------------------------------------------------------------------- /JDS.OrgManager/JDS.OrgManager.Presentation.WebApi/ClientApp/src/app/customers/customer-home/customer-home.component.scss: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JacobsDataSolutions/OrgManager/92a5c5094ffb512432feabc848662e2ebcd396de/JDS.OrgManager/JDS.OrgManager.Presentation.WebApi/ClientApp/src/app/customers/customer-home/customer-home.component.scss -------------------------------------------------------------------------------- /JDS.OrgManager/JDS.OrgManager.Presentation.WebApi/ClientApp/src/app/customers/customer-home/customer-home.component.spec.ts: -------------------------------------------------------------------------------- 1 | // Copyright (c)2021 Jacobs Data Solutions 2 | 3 | // Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the 4 | // License at 5 | 6 | // http://www.apache.org/licenses/LICENSE-2.0 7 | 8 | // Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR 9 | // CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. 10 | import { ComponentFixture, TestBed } from "@angular/core/testing"; 11 | 12 | import { CustomerHomeComponent } from "./customer-home.component"; 13 | 14 | describe("CustomerHomeComponent", () => { 15 | let component: CustomerHomeComponent; 16 | let fixture: ComponentFixture; 17 | 18 | beforeEach(async () => { 19 | await TestBed.configureTestingModule({ 20 | declarations: [CustomerHomeComponent] 21 | }).compileComponents(); 22 | }); 23 | 24 | beforeEach(() => { 25 | fixture = TestBed.createComponent(CustomerHomeComponent); 26 | component = fixture.componentInstance; 27 | fixture.detectChanges(); 28 | }); 29 | 30 | it("should create", () => { 31 | expect(component).toBeTruthy(); 32 | }); 33 | }); 34 | -------------------------------------------------------------------------------- /JDS.OrgManager/JDS.OrgManager.Presentation.WebApi/ClientApp/src/app/customers/customer-home/customer-home.component.ts: -------------------------------------------------------------------------------- 1 | // Copyright (c)2021 Jacobs Data Solutions 2 | 3 | // Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the 4 | // License at 5 | 6 | // http://www.apache.org/licenses/LICENSE-2.0 7 | 8 | // Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR 9 | // CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. 10 | import { Component, OnInit, ChangeDetectionStrategy } from "@angular/core"; 11 | import { ROUTE_ANIMATIONS_ELEMENTS } from "../../core/core.module"; 12 | 13 | @Component({ 14 | selector: "om-customer-home", 15 | templateUrl: "./customer-home.component.html", 16 | styleUrls: ["./customer-home.component.scss"], 17 | changeDetection: ChangeDetectionStrategy.Default 18 | }) 19 | export class CustomerHomeComponent implements OnInit { 20 | routeAnimationsElements = ROUTE_ANIMATIONS_ELEMENTS; 21 | 22 | constructor() {} 23 | 24 | ngOnInit(): void {} 25 | } 26 | -------------------------------------------------------------------------------- /JDS.OrgManager/JDS.OrgManager.Presentation.WebApi/ClientApp/src/app/customers/manage-tenants/manage-tenants.component.scss: -------------------------------------------------------------------------------- 1 | h1 { 2 | margin: 0 0 20px 0; 3 | text-transform: uppercase; 4 | } 5 | 6 | mat-card { 7 | margin: 0 0 10px 0; 8 | cursor: pointer; 9 | } 10 | 11 | .mat-fab { 12 | .fa-icon { 13 | position: relative; 14 | top: 4px; 15 | } 16 | } 17 | 18 | .add { 19 | margin: 20px auto 0; 20 | display: block; 21 | } 22 | 23 | .col-md-6 { 24 | margin-bottom: 20px; 25 | } 26 | -------------------------------------------------------------------------------- /JDS.OrgManager/JDS.OrgManager.Presentation.WebApi/ClientApp/src/app/customers/manage-tenants/manage-tenants.component.spec.ts: -------------------------------------------------------------------------------- 1 | // Copyright (c)2021 Jacobs Data Solutions 2 | 3 | // Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the 4 | // License at 5 | 6 | // http://www.apache.org/licenses/LICENSE-2.0 7 | 8 | // Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR 9 | // CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. 10 | import { async, ComponentFixture, TestBed } from "@angular/core/testing"; 11 | 12 | import { ManageTenantsComponent } from "./manage-tenants.component"; 13 | 14 | describe("ManageTenantsComponent", () => { 15 | let component: ManageTenantsComponent; 16 | let fixture: ComponentFixture; 17 | 18 | beforeEach(async(() => { 19 | TestBed.configureTestingModule({ 20 | declarations: [ManageTenantsComponent] 21 | }).compileComponents(); 22 | })); 23 | 24 | beforeEach(() => { 25 | fixture = TestBed.createComponent(ManageTenantsComponent); 26 | component = fixture.componentInstance; 27 | fixture.detectChanges(); 28 | }); 29 | 30 | it("should create", () => { 31 | expect(component).toBeTruthy(); 32 | }); 33 | }); 34 | -------------------------------------------------------------------------------- /JDS.OrgManager/JDS.OrgManager.Presentation.WebApi/ClientApp/src/app/employees/add-or-update-employee/add-or-update-employee.component.scss: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JacobsDataSolutions/OrgManager/92a5c5094ffb512432feabc848662e2ebcd396de/JDS.OrgManager/JDS.OrgManager.Presentation.WebApi/ClientApp/src/app/employees/add-or-update-employee/add-or-update-employee.component.scss -------------------------------------------------------------------------------- /JDS.OrgManager/JDS.OrgManager.Presentation.WebApi/ClientApp/src/app/employees/employee-home/employee-home.component.html: -------------------------------------------------------------------------------- 1 |
2 |
3 |
4 |

{{ tenant.name }} - Employee home

5 |
6 |
7 |
8 |
9 |

Click here to manage employees.

10 |
11 |
12 | 13 | 14 |
15 | -------------------------------------------------------------------------------- /JDS.OrgManager/JDS.OrgManager.Presentation.WebApi/ClientApp/src/app/employees/employee-home/employee-home.component.scss: -------------------------------------------------------------------------------- 1 | a:hover { 2 | cursor: pointer; 3 | } 4 | -------------------------------------------------------------------------------- /JDS.OrgManager/JDS.OrgManager.Presentation.WebApi/ClientApp/src/app/employees/employee-home/employee-home.component.spec.ts: -------------------------------------------------------------------------------- 1 | // Copyright (c)2021 Jacobs Data Solutions 2 | 3 | // Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the 4 | // License at 5 | 6 | // http://www.apache.org/licenses/LICENSE-2.0 7 | 8 | // Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR 9 | // CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. 10 | import { async, ComponentFixture, TestBed } from "@angular/core/testing"; 11 | 12 | import { EmployeeHomeComponent } from "./employee-home.component"; 13 | 14 | describe("EmployeeHomeComponent", () => { 15 | let component: EmployeeHomeComponent; 16 | let fixture: ComponentFixture; 17 | 18 | beforeEach(async(() => { 19 | TestBed.configureTestingModule({ 20 | declarations: [EmployeeHomeComponent] 21 | }).compileComponents(); 22 | })); 23 | 24 | beforeEach(() => { 25 | fixture = TestBed.createComponent(EmployeeHomeComponent); 26 | component = fixture.componentInstance; 27 | fixture.detectChanges(); 28 | }); 29 | 30 | it("should create", () => { 31 | expect(component).toBeTruthy(); 32 | }); 33 | }); 34 | -------------------------------------------------------------------------------- /JDS.OrgManager/JDS.OrgManager.Presentation.WebApi/ClientApp/src/app/home/employee-registered/employee-registered.component.html: -------------------------------------------------------------------------------- 1 |
2 |
3 |
4 |

Thank You For Registering

5 |
6 |
7 |
8 |
9 |
10 | Employee Registered 11 |
12 |
13 |

You have successfully registered.

14 |

You will receive a notification email when your employee information has been verified.

15 |
16 | 19 |
20 |
21 |
22 |
23 | -------------------------------------------------------------------------------- /JDS.OrgManager/JDS.OrgManager.Presentation.WebApi/ClientApp/src/app/home/employee-registered/employee-registered.component.scss: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JacobsDataSolutions/OrgManager/92a5c5094ffb512432feabc848662e2ebcd396de/JDS.OrgManager/JDS.OrgManager.Presentation.WebApi/ClientApp/src/app/home/employee-registered/employee-registered.component.scss -------------------------------------------------------------------------------- /JDS.OrgManager/JDS.OrgManager.Presentation.WebApi/ClientApp/src/app/home/employee-registered/employee-registered.component.spec.ts: -------------------------------------------------------------------------------- 1 | // Copyright (c)2021 Jacobs Data Solutions 2 | 3 | // Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the 4 | // License at 5 | 6 | // http://www.apache.org/licenses/LICENSE-2.0 7 | 8 | // Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR 9 | // CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. 10 | import { async, ComponentFixture, TestBed } from "@angular/core/testing"; 11 | 12 | import { EmployeeRegisteredComponent } from "./employee-registered.component"; 13 | 14 | describe("EmployeeRegisteredComponent", () => { 15 | let component: EmployeeRegisteredComponent; 16 | let fixture: ComponentFixture; 17 | 18 | beforeEach(async(() => { 19 | TestBed.configureTestingModule({ 20 | declarations: [EmployeeRegisteredComponent] 21 | }).compileComponents(); 22 | })); 23 | 24 | beforeEach(() => { 25 | fixture = TestBed.createComponent(EmployeeRegisteredComponent); 26 | component = fixture.componentInstance; 27 | fixture.detectChanges(); 28 | }); 29 | 30 | it("should create", () => { 31 | expect(component).toBeTruthy(); 32 | }); 33 | }); 34 | -------------------------------------------------------------------------------- /JDS.OrgManager/JDS.OrgManager.Presentation.WebApi/ClientApp/src/app/home/employee-registered/employee-registered.component.ts: -------------------------------------------------------------------------------- 1 | // Copyright (c)2021 Jacobs Data Solutions 2 | 3 | // Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the 4 | // License at 5 | 6 | // http://www.apache.org/licenses/LICENSE-2.0 7 | 8 | // Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR 9 | // CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. 10 | import { Component, OnInit, ChangeDetectionStrategy } from "@angular/core"; 11 | import { Router } from "@angular/router"; 12 | import { ROUTE_ANIMATIONS_ELEMENTS } from "../../core/core.module"; 13 | 14 | @Component({ 15 | selector: "om-employee-registered", 16 | templateUrl: "./employee-registered.component.html", 17 | styleUrls: ["./employee-registered.component.scss"], 18 | changeDetection: ChangeDetectionStrategy.OnPush 19 | }) 20 | export class EmployeeRegisteredComponent implements OnInit { 21 | routeAnimationsElements = ROUTE_ANIMATIONS_ELEMENTS; 22 | constructor(private router: Router) {} 23 | 24 | ngOnInit(): void {} 25 | 26 | onHomeClick() { 27 | this.router.navigate(["/"]); 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /JDS.OrgManager/JDS.OrgManager.Presentation.WebApi/ClientApp/src/app/home/home.component.html: -------------------------------------------------------------------------------- 1 |
2 |
3 |
4 |

Org Manager

5 |
6 |
7 |
8 |
9 |

Your Comprehensive Organization Management Tool

10 |
11 |
12 |
13 |
14 |
15 | Org Manager 16 |
17 |
18 |
19 |
20 |
21 |

Org Manager is a comprehensive organization management tool for your company.

22 |

Start managing your organization efficiently and effectively.

23 |

Click here to sign up, or log in if you already have an account.

24 |
25 |
26 |
27 | -------------------------------------------------------------------------------- /JDS.OrgManager/JDS.OrgManager.Presentation.WebApi/ClientApp/src/app/home/home.component.scss: -------------------------------------------------------------------------------- 1 | .main-heading { 2 | text-transform: uppercase; 3 | margin: 0 0 20px 0; 4 | } 5 | 6 | .main-image { 7 | text-align: center; 8 | } 9 | -------------------------------------------------------------------------------- /JDS.OrgManager/JDS.OrgManager.Presentation.WebApi/ClientApp/src/app/home/lets-get-started/lets-get-started.component.html: -------------------------------------------------------------------------------- 1 |
2 |
3 |
4 |

Register

5 |
6 |
7 |
8 |
9 |

Please choose from one of the options below

10 |
11 |
12 | 13 |
14 |
15 |
I am an Employer, and I would like to set up my organization.
16 |
17 |
18 | 21 |
22 |
23 |
24 |
I am an Employee, and I have been given a Registration Assignment Key from my employer.
25 |
26 |
27 | 30 |
31 |
32 |
33 |
34 | -------------------------------------------------------------------------------- /JDS.OrgManager/JDS.OrgManager.Presentation.WebApi/ClientApp/src/app/home/lets-get-started/lets-get-started.component.scss: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JacobsDataSolutions/OrgManager/92a5c5094ffb512432feabc848662e2ebcd396de/JDS.OrgManager/JDS.OrgManager.Presentation.WebApi/ClientApp/src/app/home/lets-get-started/lets-get-started.component.scss -------------------------------------------------------------------------------- /JDS.OrgManager/JDS.OrgManager.Presentation.WebApi/ClientApp/src/app/home/lets-get-started/lets-get-started.component.spec.ts: -------------------------------------------------------------------------------- 1 | // Copyright (c)2021 Jacobs Data Solutions 2 | 3 | // Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the 4 | // License at 5 | 6 | // http://www.apache.org/licenses/LICENSE-2.0 7 | 8 | // Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR 9 | // CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. 10 | import { async, ComponentFixture, TestBed } from "@angular/core/testing"; 11 | 12 | import { LetsGetStartedComponent } from "./lets-get-started.component"; 13 | 14 | describe("LetsGetStartedComponent", () => { 15 | let component: LetsGetStartedComponent; 16 | let fixture: ComponentFixture; 17 | 18 | beforeEach(async(() => { 19 | TestBed.configureTestingModule({ 20 | declarations: [LetsGetStartedComponent] 21 | }).compileComponents(); 22 | })); 23 | 24 | beforeEach(() => { 25 | fixture = TestBed.createComponent(LetsGetStartedComponent); 26 | component = fixture.componentInstance; 27 | fixture.detectChanges(); 28 | }); 29 | 30 | it("should create", () => { 31 | expect(component).toBeTruthy(); 32 | }); 33 | }); 34 | -------------------------------------------------------------------------------- /JDS.OrgManager/JDS.OrgManager.Presentation.WebApi/ClientApp/src/app/home/test/test.component.html: -------------------------------------------------------------------------------- 1 |
2 |
3 |

Test Server-Side Exceptions

4 |
5 |
6 |
7 | 10 |
11 |
12 | 15 |
16 |
17 | 20 |
21 |
22 | 25 |
26 |
27 |
28 | -------------------------------------------------------------------------------- /JDS.OrgManager/JDS.OrgManager.Presentation.WebApi/ClientApp/src/app/home/test/test.component.scss: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JacobsDataSolutions/OrgManager/92a5c5094ffb512432feabc848662e2ebcd396de/JDS.OrgManager/JDS.OrgManager.Presentation.WebApi/ClientApp/src/app/home/test/test.component.scss -------------------------------------------------------------------------------- /JDS.OrgManager/JDS.OrgManager.Presentation.WebApi/ClientApp/src/app/home/test/test.component.spec.ts: -------------------------------------------------------------------------------- 1 | // Copyright (c)2021 Jacobs Data Solutions 2 | 3 | // Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the 4 | // License at 5 | 6 | // http://www.apache.org/licenses/LICENSE-2.0 7 | 8 | // Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR 9 | // CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. 10 | import { async, ComponentFixture, TestBed } from "@angular/core/testing"; 11 | 12 | import { TestComponent } from "./test.component"; 13 | 14 | describe("TestComponent", () => { 15 | let component: TestComponent; 16 | let fixture: ComponentFixture; 17 | 18 | beforeEach(async(() => { 19 | TestBed.configureTestingModule({ 20 | declarations: [TestComponent] 21 | }).compileComponents(); 22 | })); 23 | 24 | beforeEach(() => { 25 | fixture = TestBed.createComponent(TestComponent); 26 | component = fixture.componentInstance; 27 | fixture.detectChanges(); 28 | }); 29 | 30 | it("should create", () => { 31 | expect(component).toBeTruthy(); 32 | }); 33 | }); 34 | -------------------------------------------------------------------------------- /JDS.OrgManager/JDS.OrgManager.Presentation.WebApi/ClientApp/src/app/home/unauthorized/unauthorized.component.html: -------------------------------------------------------------------------------- 1 |
2 |
3 |
4 |

Unauthorized

5 |
6 |
7 |
8 |
9 |
10 | Unauthorized 11 |
12 |
13 |

You have tried to access an unauthorized area of the site.

14 |
15 | 18 |
19 |
20 |
21 |
22 | -------------------------------------------------------------------------------- /JDS.OrgManager/JDS.OrgManager.Presentation.WebApi/ClientApp/src/app/home/unauthorized/unauthorized.component.scss: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JacobsDataSolutions/OrgManager/92a5c5094ffb512432feabc848662e2ebcd396de/JDS.OrgManager/JDS.OrgManager.Presentation.WebApi/ClientApp/src/app/home/unauthorized/unauthorized.component.scss -------------------------------------------------------------------------------- /JDS.OrgManager/JDS.OrgManager.Presentation.WebApi/ClientApp/src/app/home/unauthorized/unauthorized.component.spec.ts: -------------------------------------------------------------------------------- 1 | // Copyright (c)2021 Jacobs Data Solutions 2 | 3 | // Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the 4 | // License at 5 | 6 | // http://www.apache.org/licenses/LICENSE-2.0 7 | 8 | // Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR 9 | // CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. 10 | import { async, ComponentFixture, TestBed } from "@angular/core/testing"; 11 | 12 | import { UnauthorizedComponent } from "./unauthorized.component"; 13 | 14 | describe("UnauthorizedComponent", () => { 15 | let component: UnauthorizedComponent; 16 | let fixture: ComponentFixture; 17 | 18 | beforeEach(async(() => { 19 | TestBed.configureTestingModule({ 20 | declarations: [UnauthorizedComponent] 21 | }).compileComponents(); 22 | })); 23 | 24 | beforeEach(() => { 25 | fixture = TestBed.createComponent(UnauthorizedComponent); 26 | component = fixture.componentInstance; 27 | fixture.detectChanges(); 28 | }); 29 | 30 | it("should create", () => { 31 | expect(component).toBeTruthy(); 32 | }); 33 | }); 34 | -------------------------------------------------------------------------------- /JDS.OrgManager/JDS.OrgManager.Presentation.WebApi/ClientApp/src/app/home/unauthorized/unauthorized.component.ts: -------------------------------------------------------------------------------- 1 | // Copyright (c)2021 Jacobs Data Solutions 2 | 3 | // Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the 4 | // License at 5 | 6 | // http://www.apache.org/licenses/LICENSE-2.0 7 | 8 | // Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR 9 | // CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. 10 | import { Component, OnInit, ChangeDetectionStrategy } from "@angular/core"; 11 | import { Location } from "@angular/common"; 12 | import { ROUTE_ANIMATIONS_ELEMENTS } from "../../core/core.module"; 13 | 14 | @Component({ 15 | selector: "om-unauthorized", 16 | templateUrl: "./unauthorized.component.html", 17 | styleUrls: ["./unauthorized.component.scss"], 18 | changeDetection: ChangeDetectionStrategy.Default 19 | }) 20 | export class UnauthorizedComponent implements OnInit { 21 | routeAnimationsElements = ROUTE_ANIMATIONS_ELEMENTS; 22 | constructor(private location: Location) {} 23 | 24 | ngOnInit(): void {} 25 | 26 | goBack() { 27 | this.location.back(); 28 | this.location.back(); 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /JDS.OrgManager/JDS.OrgManager.Presentation.WebApi/ClientApp/src/app/shared/applicationlayerconstants.ts: -------------------------------------------------------------------------------- 1 | 2 | export class ApplicationLayerConstants { 3 | static readonly productionSeedStartValue: number = 100; 4 | static readonly systemSeedStartValue: number = 0; 5 | } -------------------------------------------------------------------------------- /JDS.OrgManager/JDS.OrgManager.Presentation.WebApi/ClientApp/src/app/shared/big-input/big-input-action/big-input-action.component.html: -------------------------------------------------------------------------------- 1 | 6 | -------------------------------------------------------------------------------- /JDS.OrgManager/JDS.OrgManager.Presentation.WebApi/ClientApp/src/app/shared/big-input/big-input-action/big-input-action.component.scss: -------------------------------------------------------------------------------- 1 | button { 2 | padding: 0; 3 | min-width: 36px; 4 | margin-left: 10px; 5 | 6 | mat-icon { 7 | position: relative; 8 | top: 2px; 9 | font-size: 18px; 10 | } 11 | fa-icon { 12 | position: relative; 13 | font-size: 18px; 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /JDS.OrgManager/JDS.OrgManager.Presentation.WebApi/ClientApp/src/app/shared/big-input/big-input-action/big-input-action.component.ts: -------------------------------------------------------------------------------- 1 | // Copyright (c)2021 Jacobs Data Solutions 2 | 3 | // Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the 4 | // License at 5 | 6 | // http://www.apache.org/licenses/LICENSE-2.0 7 | 8 | // Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR 9 | // CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. 10 | import { Component, Input, Output, EventEmitter, ChangeDetectionStrategy } from "@angular/core"; 11 | 12 | @Component({ 13 | selector: "om-big-input-action", 14 | templateUrl: "./big-input-action.component.html", 15 | styleUrls: ["./big-input-action.component.scss"], 16 | changeDetection: ChangeDetectionStrategy.OnPush 17 | }) 18 | export class BigInputActionComponent { 19 | @Input() 20 | disabled = false; 21 | @Input() 22 | fontSet = ""; 23 | @Input() 24 | fontIcon = ""; 25 | @Input() 26 | faIcon = ""; 27 | @Input() 28 | label = ""; 29 | @Input() 30 | color = ""; 31 | 32 | @Output() 33 | action = new EventEmitter(); 34 | 35 | hasFocus = false; 36 | 37 | onClick() { 38 | this.action.emit(); 39 | } 40 | } 41 | -------------------------------------------------------------------------------- /JDS.OrgManager/JDS.OrgManager.Presentation.WebApi/ClientApp/src/app/shared/big-input/big-input/big-input.component.html: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /JDS.OrgManager/JDS.OrgManager.Presentation.WebApi/ClientApp/src/app/shared/big-input/big-input/big-input.component.scss: -------------------------------------------------------------------------------- 1 | .big-input { 2 | width: 100%; 3 | transition: all 0.5s; 4 | display: flex; 5 | padding: 10px 10px 10px 20px; 6 | 7 | input { 8 | flex-grow: 1; 9 | border: 0; 10 | font-size: 20px; 11 | min-width: 100px; 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /JDS.OrgManager/JDS.OrgManager.Presentation.WebApi/ClientApp/src/app/shared/big-input/big-input/big-input.component.scss-theme.scss: -------------------------------------------------------------------------------- 1 | @import "~@angular/material/theming"; 2 | 3 | @mixin om-big-input-component-theme($theme) { 4 | $primary: map-get($theme, primary); 5 | $accent: map-get($theme, accent); 6 | $foreground: map-get($theme, foreground); 7 | $background: map-get($theme, background); 8 | 9 | om-big-input { 10 | .big-input { 11 | input { 12 | color: mat-color($foreground, text); 13 | background-color: mat-color($background, card); 14 | } 15 | 16 | &.has-focus { 17 | box-shadow: 0 0 15px 2px rgba(mat-color($accent), 0.4), 0 0 15px 2px rgba(mat-color($accent), 0.4), 0 0 15px 2px rgba(mat-color($accent), 0.4); 18 | } 19 | } 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /JDS.OrgManager/JDS.OrgManager.Presentation.WebApi/ClientApp/src/app/shared/big-input/big-input/big-input.component.ts: -------------------------------------------------------------------------------- 1 | // Copyright (c)2021 Jacobs Data Solutions 2 | 3 | // Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the 4 | // License at 5 | 6 | // http://www.apache.org/licenses/LICENSE-2.0 7 | 8 | // Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR 9 | // CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. 10 | import { Component, Input, ChangeDetectionStrategy } from "@angular/core"; 11 | 12 | @Component({ 13 | selector: "om-big-input", 14 | templateUrl: "./big-input.component.html", 15 | styleUrls: ["./big-input.component.scss"], 16 | changeDetection: ChangeDetectionStrategy.OnPush 17 | }) 18 | export class BigInputComponent { 19 | @Input() 20 | placeholder: string; 21 | 22 | @Input() 23 | value = ""; 24 | @Input() 25 | disabled = false; 26 | 27 | hasFocus = false; 28 | } 29 | -------------------------------------------------------------------------------- /JDS.OrgManager/JDS.OrgManager.Presentation.WebApi/ClientApp/src/app/shared/functions.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | Object.defineProperty(exports, "__esModule", { value: true }); 3 | exports.isEmptyInputValue = void 0; 4 | function sleep(milliseconds) { 5 | var start = new Date().getTime(); 6 | for (var i = 0; i < 1e7; i++) { 7 | if (new Date().getTime() - start > milliseconds) { 8 | break; 9 | } 10 | } 11 | } 12 | function isEmptyInputValue(value) { 13 | // we don't check for string here so it also works with arrays 14 | return value === null || value.length === 0; 15 | } 16 | exports.isEmptyInputValue = isEmptyInputValue; 17 | //# sourceMappingURL=functions.js.map -------------------------------------------------------------------------------- /JDS.OrgManager/JDS.OrgManager.Presentation.WebApi/ClientApp/src/app/shared/functions.js.map: -------------------------------------------------------------------------------- 1 | {"version":3,"file":"functions.js","sourceRoot":"","sources":["functions.ts"],"names":[],"mappings":";;;AAAA,SAAS,KAAK,CAAC,YAAY;IACvB,IAAI,KAAK,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC;IACjC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE;QAC1B,IAAI,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,GAAG,KAAK,GAAG,YAAY,EAAE;YAC7C,MAAM;SACT;KACJ;AACL,CAAC;AAED,SAAgB,iBAAiB,CAAC,KAAU;IACxC,8DAA8D;IAC9D,OAAO,KAAK,KAAK,IAAI,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC;AAChD,CAAC;AAHD,8CAGC"} -------------------------------------------------------------------------------- /JDS.OrgManager/JDS.OrgManager.Presentation.WebApi/ClientApp/src/app/shared/functions.ts: -------------------------------------------------------------------------------- 1 | // Copyright (c)2021 Jacobs Data Solutions 2 | 3 | // Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the 4 | // License at 5 | 6 | // http://www.apache.org/licenses/LICENSE-2.0 7 | 8 | // Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR 9 | // CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. 10 | function sleep(milliseconds) { 11 | var start = new Date().getTime(); 12 | for (var i = 0; i < 1e7; i++) { 13 | if (new Date().getTime() - start > milliseconds) { 14 | break; 15 | } 16 | } 17 | } 18 | 19 | export function isEmptyInputValue(value: any): boolean { 20 | // we don't check for string here so it also works with arrays 21 | return value === null || value.length === 0; 22 | } 23 | -------------------------------------------------------------------------------- /JDS.OrgManager/JDS.OrgManager.Presentation.WebApi/ClientApp/src/app/shared/lengths.ts: -------------------------------------------------------------------------------- 1 | 2 | export class Lengths { 3 | static readonly address1: number = 50; 4 | static readonly address2: number = 15; 5 | static readonly city: number = 30; 6 | static readonly className: number = 100; 7 | static readonly code_Med: number = 20; 8 | static readonly code_Small: number = 3; 9 | static readonly createdUpdatedBy: number = 10; 10 | static readonly currencyCode: number = 3; 11 | static readonly description: number = 100; 12 | static readonly externalEmployeeId: number = 25; 13 | static readonly firstName: number = 25; 14 | static readonly forEmployee: number = 80; 15 | static readonly guid: number = 36; 16 | static readonly lastName: number = 35; 17 | static readonly middleName: number = 25; 18 | static readonly min: number = 4; 19 | static readonly _name: number = 50; 20 | static readonly notes: number = 500; 21 | static readonly slug: number = 25; 22 | static readonly socialSecurityNumber: number = 11; 23 | static readonly state: number = 2; 24 | static readonly submittedBy: number = 80; 25 | static readonly timeOffType: number = 50; 26 | static readonly zipCode: number = 10; 27 | } -------------------------------------------------------------------------------- /JDS.OrgManager/JDS.OrgManager.Presentation.WebApi/ClientApp/src/app/shared/shared.module.ts: -------------------------------------------------------------------------------- 1 | // Copyright (c)2021 Jacobs Data Solutions 2 | 3 | // Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the 4 | // License at 5 | 6 | // http://www.apache.org/licenses/LICENSE-2.0 7 | 8 | // Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR 9 | // CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. 10 | import { NgModule } from "@angular/core"; 11 | import { CommonModule } from "@angular/common"; 12 | 13 | import { BigInputComponent } from "./big-input/big-input/big-input.component"; 14 | import { BigInputActionComponent } from "./big-input/big-input-action/big-input-action.component"; 15 | import { CoreModule } from "../core/core.module"; 16 | 17 | @NgModule({ 18 | imports: [CommonModule, CoreModule], 19 | declarations: [BigInputComponent, BigInputActionComponent], 20 | exports: [CommonModule, BigInputComponent, BigInputActionComponent] 21 | }) 22 | export class SharedModule { 23 | constructor() {} 24 | } 25 | -------------------------------------------------------------------------------- /JDS.OrgManager/JDS.OrgManager.Presentation.WebApi/ClientApp/src/app/shared/utils.ts: -------------------------------------------------------------------------------- 1 | // Copyright (c)2021 Jacobs Data Solutions 2 | 3 | // Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the 4 | // License at 5 | 6 | // http://www.apache.org/licenses/LICENSE-2.0 7 | 8 | // Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR 9 | // CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. 10 | export class GuidValidator { 11 | constructor() {} 12 | 13 | public static isValidGuid(guid: string): boolean { 14 | const regex = /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i; 15 | if (guid) { 16 | return regex.test(guid); 17 | } 18 | return false; 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /JDS.OrgManager/JDS.OrgManager.Presentation.WebApi/ClientApp/src/app/time-off/employee-paid-time-off-requests/employee-paid-time-off-requests.component.scss: -------------------------------------------------------------------------------- 1 | ::ng-deep th.mat-header-cell { 2 | width: 140px; 3 | min-width: 140px; 4 | } 5 | -------------------------------------------------------------------------------- /JDS.OrgManager/JDS.OrgManager.Presentation.WebApi/ClientApp/src/app/time-off/submit-time-off-request/submit-time-off-request.component.scss: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JacobsDataSolutions/OrgManager/92a5c5094ffb512432feabc848662e2ebcd396de/JDS.OrgManager/JDS.OrgManager.Presentation.WebApi/ClientApp/src/app/time-off/submit-time-off-request/submit-time-off-request.component.scss -------------------------------------------------------------------------------- /JDS.OrgManager/JDS.OrgManager.Presentation.WebApi/ClientApp/src/assets/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JacobsDataSolutions/OrgManager/92a5c5094ffb512432feabc848662e2ebcd396de/JDS.OrgManager/JDS.OrgManager.Presentation.WebApi/ClientApp/src/assets/.gitkeep -------------------------------------------------------------------------------- /JDS.OrgManager/JDS.OrgManager.Presentation.WebApi/ClientApp/src/assets/corporate.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JacobsDataSolutions/OrgManager/92a5c5094ffb512432feabc848662e2ebcd396de/JDS.OrgManager/JDS.OrgManager.Presentation.WebApi/ClientApp/src/assets/corporate.jpg -------------------------------------------------------------------------------- /JDS.OrgManager/JDS.OrgManager.Presentation.WebApi/ClientApp/src/assets/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JacobsDataSolutions/OrgManager/92a5c5094ffb512432feabc848662e2ebcd396de/JDS.OrgManager/JDS.OrgManager.Presentation.WebApi/ClientApp/src/assets/favicon.ico -------------------------------------------------------------------------------- /JDS.OrgManager/JDS.OrgManager.Presentation.WebApi/ClientApp/src/assets/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JacobsDataSolutions/OrgManager/92a5c5094ffb512432feabc848662e2ebcd396de/JDS.OrgManager/JDS.OrgManager.Presentation.WebApi/ClientApp/src/assets/logo.png -------------------------------------------------------------------------------- /JDS.OrgManager/JDS.OrgManager.Presentation.WebApi/ClientApp/src/assets/office.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JacobsDataSolutions/OrgManager/92a5c5094ffb512432feabc848662e2ebcd396de/JDS.OrgManager/JDS.OrgManager.Presentation.WebApi/ClientApp/src/assets/office.jpg -------------------------------------------------------------------------------- /JDS.OrgManager/JDS.OrgManager.Presentation.WebApi/ClientApp/src/assets/registration-complete.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JacobsDataSolutions/OrgManager/92a5c5094ffb512432feabc848662e2ebcd396de/JDS.OrgManager/JDS.OrgManager.Presentation.WebApi/ClientApp/src/assets/registration-complete.jpg -------------------------------------------------------------------------------- /JDS.OrgManager/JDS.OrgManager.Presentation.WebApi/ClientApp/src/assets/unauthorized.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JacobsDataSolutions/OrgManager/92a5c5094ffb512432feabc848662e2ebcd396de/JDS.OrgManager/JDS.OrgManager.Presentation.WebApi/ClientApp/src/assets/unauthorized.jpg -------------------------------------------------------------------------------- /JDS.OrgManager/JDS.OrgManager.Presentation.WebApi/ClientApp/src/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JacobsDataSolutions/OrgManager/92a5c5094ffb512432feabc848662e2ebcd396de/JDS.OrgManager/JDS.OrgManager.Presentation.WebApi/ClientApp/src/favicon.ico -------------------------------------------------------------------------------- /JDS.OrgManager/JDS.OrgManager.Presentation.WebApi/ClientApp/src/main.ts: -------------------------------------------------------------------------------- 1 | // Copyright (c)2021 Jacobs Data Solutions 2 | 3 | // Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the 4 | // License at 5 | 6 | // http://www.apache.org/licenses/LICENSE-2.0 7 | 8 | // Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR 9 | // CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. 10 | import { enableProdMode } from "@angular/core"; 11 | import { platformBrowserDynamic } from "@angular/platform-browser-dynamic"; 12 | 13 | import { AppModule } from "./app/app.module"; 14 | import { environment } from "./environments/environment"; 15 | 16 | // Spliced in from ASP.NET Core scaffolding. 17 | export function getBaseUrl() { 18 | return document.getElementsByTagName("base")[0].href; 19 | } 20 | 21 | // Spliced in from ASP.NET Core scaffolding. 22 | const providers = [{ provide: "BASE_URL", useFactory: getBaseUrl, deps: [] }]; 23 | 24 | if (environment.production) { 25 | enableProdMode(); 26 | } 27 | 28 | //platformBrowserDynamic() 29 | // .bootstrapModule(AppModule) 30 | // .catch((err) => console.error(err)); 31 | 32 | // Spliced in from ASP.NET Core scaffolding. 33 | platformBrowserDynamic(providers) 34 | .bootstrapModule(AppModule) 35 | .catch((err) => console.log(err)); 36 | -------------------------------------------------------------------------------- /JDS.OrgManager/JDS.OrgManager.Presentation.WebApi/ClientApp/src/styles-app-loading.scss: -------------------------------------------------------------------------------- 1 | .app-loading { 2 | .logo { 3 | width: 64px; 4 | height: 64px; 5 | background: url(./assets/logo.png) center center no-repeat; 6 | background-size: cover; 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /JDS.OrgManager/JDS.OrgManager.Presentation.WebApi/ClientApp/src/styles-reset.scss: -------------------------------------------------------------------------------- 1 | * { 2 | &:active, 3 | :focus { 4 | outline: none !important; 5 | } 6 | } 7 | 8 | code { 9 | white-space: nowrap; 10 | border-radius: 10px; 11 | padding: 0 8px 1px 8px; 12 | } 13 | 14 | .mat-menu-content { 15 | fa-icon { 16 | position: relative; 17 | top: 2px; 18 | left: 4px; 19 | } 20 | } 21 | 22 | p { 23 | a { 24 | border-bottom: 3px solid; 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /JDS.OrgManager/JDS.OrgManager.Presentation.WebApi/ClientApp/src/styles-reset.scss-theme.scss: -------------------------------------------------------------------------------- 1 | @import ".~@angular/material/theming"; 2 | 3 | @mixin om-styles-reset-theme($theme) { 4 | $primary: map-get($theme, primary); 5 | $accent: map-get($theme, accent); 6 | $foreground: map-get($theme, foreground); 7 | 8 | a { 9 | color: mat-color($foreground, text); 10 | 11 | &:hover { 12 | color: mat-color($accent); 13 | } 14 | } 15 | 16 | code { 17 | color: mat-color($accent, lighter-contrast); 18 | background-color: mat-color($accent, lighter); 19 | } 20 | 21 | p { 22 | a { 23 | color: mat-color($accent); 24 | 25 | &:hover { 26 | color: mat-color($accent, darker); 27 | } 28 | } 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /JDS.OrgManager/JDS.OrgManager.Presentation.WebApi/ClientApp/src/styles-variables.scss: -------------------------------------------------------------------------------- 1 | @import "~@angular/material/theming"; 2 | 3 | $toolbar-breakpoint: 600px; 4 | 5 | $fa-font-path: "~@fortawesome/fontawesome-free-webfonts/webfonts"; 6 | 7 | $link-hover-decoration: none; 8 | $label-margin-bottom: 0; 9 | 10 | $grid-breakpoints: ( 11 | xs: 0, 12 | sm: 576px, 13 | md: 768px, 14 | lg: 992px, 15 | xl: 1200px 16 | ); 17 | 18 | $success-colors: mat-palette($mat-green, 400); 19 | $warning-colors: mat-palette($mat-amber, 400); 20 | -------------------------------------------------------------------------------- /JDS.OrgManager/JDS.OrgManager.Presentation.WebApi/ClientApp/src/test.ts: -------------------------------------------------------------------------------- 1 | // Copyright (c)2021 Jacobs Data Solutions 2 | 3 | // Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the 4 | // License at 5 | 6 | // http://www.apache.org/licenses/LICENSE-2.0 7 | 8 | // Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR 9 | // CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. 10 | // This file is required by karma.conf.js and loads recursively all the .spec and framework files 11 | 12 | import "zone.js/dist/zone-testing"; 13 | import { getTestBed } from "@angular/core/testing"; 14 | import { BrowserDynamicTestingModule, platformBrowserDynamicTesting } from "@angular/platform-browser-dynamic/testing"; 15 | 16 | declare const require: any; 17 | 18 | // First, initialize the Angular testing environment. 19 | getTestBed().initTestEnvironment(BrowserDynamicTestingModule, platformBrowserDynamicTesting()); 20 | // Then we find all the tests. 21 | const context = require.context("./", true, /\.spec\.ts$/); 22 | // And load the modules. 23 | context.keys().map(context); 24 | -------------------------------------------------------------------------------- /JDS.OrgManager/JDS.OrgManager.Presentation.WebApi/ClientApp/src/themes/black-theme.scss: -------------------------------------------------------------------------------- 1 | $om-black-primary: mat-palette($mat-grey, 700, 300, 900); 2 | $om-black-accent: mat-palette($mat-blue-grey, 400); 3 | $om-black-warn: mat-palette($mat-red, 500); 4 | 5 | $om-black-theme: mat-dark-theme($om-black-primary, $om-black-accent, $om-black-warn); 6 | -------------------------------------------------------------------------------- /JDS.OrgManager/JDS.OrgManager.Presentation.WebApi/ClientApp/src/themes/default-theme.scss: -------------------------------------------------------------------------------- 1 | $om-primary: mat-palette($mat-indigo, 800, 300, 900); 2 | $om-accent: mat-palette($mat-light-blue); 3 | $om-warn: mat-palette($mat-pink, 600); 4 | 5 | $om-theme: mat-light-theme($om-primary, $om-accent, $om-warn); 6 | -------------------------------------------------------------------------------- /JDS.OrgManager/JDS.OrgManager.Presentation.WebApi/ClientApp/src/themes/light-theme.scss: -------------------------------------------------------------------------------- 1 | $om-light-primary: mat-palette($mat-grey, 200, 500, 300); 2 | $om-light-accent: mat-palette($mat-brown, 200); 3 | $om-light-warn: mat-palette($mat-deep-orange, 200); 4 | 5 | $om-light-theme: mat-light-theme($om-light-primary, $om-light-accent, $om-light-warn); 6 | -------------------------------------------------------------------------------- /JDS.OrgManager/JDS.OrgManager.Presentation.WebApi/ClientApp/src/themes/nature-theme.scss: -------------------------------------------------------------------------------- 1 | $om-nature-primary: mat-palette($mat-brown, 700, 300, 900); 2 | $om-nature-accent: mat-palette($mat-deep-purple, 300); 3 | $om-nature-warn: mat-palette($mat-red, 600); 4 | 5 | $om-nature-theme: mat-light-theme($om-nature-primary, $om-nature-accent, $om-nature-warn); 6 | -------------------------------------------------------------------------------- /JDS.OrgManager/JDS.OrgManager.Presentation.WebApi/ClientApp/tsconfig.app.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./tsconfig.json", 3 | "compilerOptions": { 4 | "outDir": "./out-tsc/app", 5 | "types": ["node"] 6 | }, 7 | "files": ["src/main.ts", "src/polyfills.ts"], 8 | "include": ["src/**/*.d.ts"] 9 | } 10 | -------------------------------------------------------------------------------- /JDS.OrgManager/JDS.OrgManager.Presentation.WebApi/ClientApp/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compileOnSave": false, 3 | "compilerOptions": { 4 | "baseUrl": "./src", 5 | "outDir": "./dist/out-tsc", 6 | "sourceMap": true, 7 | "declaration": false, 8 | "moduleResolution": "node", 9 | "emitDecoratorMetadata": true, 10 | "experimentalDecorators": true, 11 | "importHelpers": true, 12 | "module": "esnext", 13 | "target": "es2015", 14 | "typeRoots": ["node_modules/@types"], 15 | "lib": ["es2018", "dom"] 16 | }, 17 | "exclude": ["**/bin", "**/bower_components", "**/jspm_packages", "**/node_modules", "**/obj", "**/platforms", "**/dist"], 18 | "angularCompilerOptions": { 19 | "fullTemplateTypeCheck": true, 20 | "strictInjectionParameters": true 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /JDS.OrgManager/JDS.OrgManager.Presentation.WebApi/ClientApp/tsconfig.spec.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./tsconfig.json", 3 | "compilerOptions": { 4 | "outDir": "./out-tsc/spec", 5 | "types": ["jasmine", "node"] 6 | }, 7 | "files": ["src/test.ts", "src/polyfills.ts"], 8 | "include": ["src/**/*.spec.ts", "src/**/*.d.ts"] 9 | } 10 | -------------------------------------------------------------------------------- /JDS.OrgManager/JDS.OrgManager.Presentation.WebApi/Pages/Error.cshtml: -------------------------------------------------------------------------------- 1 | @page 2 | @model ErrorModel 3 | @{ 4 | ViewData["Title"] = "Error"; 5 | } 6 | 7 |

Error.

8 |

An error occurred while processing your request.

9 | 10 | @if (Model.ShowRequestId) 11 | { 12 |

13 | Request ID: @Model.RequestId 14 |

15 | } 16 | 17 |

Development Mode

18 |

19 | Swapping to the Development environment displays detailed information about the error that occurred. 20 |

21 |

22 | The Development environment shouldn't be enabled for deployed applications. 23 | It can result in displaying sensitive information from exceptions to end users. 24 | For local debugging, enable the Development environment by setting the ASPNETCORE_ENVIRONMENT environment variable to Development 25 | and restarting the app. 26 |

27 | -------------------------------------------------------------------------------- /JDS.OrgManager/JDS.OrgManager.Presentation.WebApi/Pages/Error.cshtml.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JacobsDataSolutions/OrgManager/92a5c5094ffb512432feabc848662e2ebcd396de/JDS.OrgManager/JDS.OrgManager.Presentation.WebApi/Pages/Error.cshtml.cs -------------------------------------------------------------------------------- /JDS.OrgManager/JDS.OrgManager.Presentation.WebApi/Pages/Shared/_LoginPartial.cshtml: -------------------------------------------------------------------------------- 1 | @using Microsoft.AspNetCore.Identity 2 | @using JDS.OrgManager.Infrastructure.Identity 3 | @inject SignInManager SignInManager 4 | @inject UserManager UserManager 5 | 6 | @{ 7 | string returnUrl = null; 8 | var query = ViewContext.HttpContext.Request.Query; 9 | if (query.ContainsKey("returnUrl")) 10 | { 11 | returnUrl = query["returnUrl"]; 12 | } 13 | } 14 | 15 | 37 | -------------------------------------------------------------------------------- /JDS.OrgManager/JDS.OrgManager.Presentation.WebApi/Pages/Shared/_ValidationScriptsPartial.cshtml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 12 | 18 | 19 | -------------------------------------------------------------------------------- /JDS.OrgManager/JDS.OrgManager.Presentation.WebApi/Pages/_ViewImports.cshtml: -------------------------------------------------------------------------------- 1 | @using JDS.OrgManager.Presentation.WebApi 2 | @namespace JDS.OrgManager.Presentation.WebApi.Pages 3 | @addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers 4 | -------------------------------------------------------------------------------- /JDS.OrgManager/JDS.OrgManager.Presentation.WebApi/Pages/_ViewStart.cshtml: -------------------------------------------------------------------------------- 1 | @{ 2 | Layout = "_Layout"; 3 | } 4 | -------------------------------------------------------------------------------- /JDS.OrgManager/JDS.OrgManager.Presentation.WebApi/Program.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JacobsDataSolutions/OrgManager/92a5c5094ffb512432feabc848662e2ebcd396de/JDS.OrgManager/JDS.OrgManager.Presentation.WebApi/Program.cs -------------------------------------------------------------------------------- /JDS.OrgManager/JDS.OrgManager.Presentation.WebApi/Properties/launchSettings.json: -------------------------------------------------------------------------------- 1 | { 2 | "iisSettings": { 3 | "windowsAuthentication": false, 4 | "anonymousAuthentication": true, 5 | "iisExpress": { 6 | "applicationUrl": "http://localhost:52685", 7 | "sslPort": 44352 8 | } 9 | }, 10 | "profiles": { 11 | "IIS Express": { 12 | "commandName": "IISExpress", 13 | "launchBrowser": true, 14 | "environmentVariables": { 15 | "ASPNETCORE_ENVIRONMENT": "Development" 16 | } 17 | }, 18 | "JDS.OrgManager.Presentation.WebApi": { 19 | "commandName": "Project", 20 | "launchBrowser": true, 21 | "applicationUrl": "https://localhost:5001;http://localhost:5000", 22 | "environmentVariables": { 23 | "ASPNETCORE_ENVIRONMENT": "Development" 24 | } 25 | } 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /JDS.OrgManager/JDS.OrgManager.Presentation.WebApi/Properties/serviceDependencies.json: -------------------------------------------------------------------------------- 1 | { 2 | "dependencies": { 3 | "mssql1": { 4 | "type": "mssql", 5 | "connectionId": "DefaultConnection" 6 | } 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /JDS.OrgManager/JDS.OrgManager.Presentation.WebApi/Properties/serviceDependencies.local.json: -------------------------------------------------------------------------------- 1 | { 2 | "dependencies": { 3 | "mssql1": { 4 | "type": "mssql.local", 5 | "connectionId": "DefaultConnection" 6 | } 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /JDS.OrgManager/JDS.OrgManager.Presentation.WebApi/Startup.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JacobsDataSolutions/OrgManager/92a5c5094ffb512432feabc848662e2ebcd396de/JDS.OrgManager/JDS.OrgManager.Presentation.WebApi/Startup.cs -------------------------------------------------------------------------------- /JDS.OrgManager/JDS.OrgManager.Presentation.WebApi/appsettings.Development.json: -------------------------------------------------------------------------------- 1 | { 2 | "Logging": { 3 | "LogLevel": { 4 | "Default": "Information", 5 | "Microsoft": "Warning", 6 | "Microsoft.Hosting.Lifetime": "Information" 7 | } 8 | }, 9 | "IdentityServer": { 10 | "Key": { 11 | "Type": "Development" 12 | } 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /JDS.OrgManager/JDS.OrgManager.Presentation.WebApi/appsettings.json: -------------------------------------------------------------------------------- 1 | { 2 | "ConnectionStrings": { 3 | "ApplicationWriteDatabase": "Server=(localdb)\\mssqllocaldb;Database=OrgManager;Trusted_Connection=True;MultipleActiveResultSets=true;Application Name=JDS.OrgManager;", 4 | "ApplicationReadDatabase": "Server=(localdb)\\mssqllocaldb;Database=OrgManager;Trusted_Connection=True;MultipleActiveResultSets=true;Application Name=JDS.OrgManager;", 5 | "TenantMasterDatabase": "Server=(localdb)\\mssqllocaldb;Database=OrgManager;Trusted_Connection=True;MultipleActiveResultSets=true;Application Name=JDS.OrgManager;" 6 | }, 7 | "Logging": { 8 | "LogLevel": { 9 | "Default": "Information", 10 | "Microsoft": "Warning", 11 | "Microsoft.Hosting.Lifetime": "Information" 12 | } 13 | }, 14 | "IdentityServer": { 15 | "Clients": { 16 | "JDS.OrgManager.Presentation.WebApi": { 17 | "Profile": "IdentityServerSPA" 18 | } 19 | } 20 | }, 21 | "AllowedHosts": "*" 22 | } 23 | -------------------------------------------------------------------------------- /JDS.OrgManager/JDS.OrgManager.Presentation.WebApi/bundleconfig.json: -------------------------------------------------------------------------------- 1 | // Configure bundling and minification for the project. 2 | // More info at https://go.microsoft.com/fwlink/?LinkId=808241 3 | [ 4 | { 5 | "outputFileName": "wwwroot/css/site.min.css", 6 | // An array of relative input file paths. Globbing patterns supported 7 | "inputFiles": [ 8 | "wwwroot/css/site.css" 9 | ] 10 | }, 11 | { 12 | "outputFileName": "wwwroot/js/site.min.js", 13 | "inputFiles": [ 14 | "wwwroot/js/site.js" 15 | ], 16 | // Optionally specify minification options 17 | "minify": { 18 | "enabled": true, 19 | "renameLocals": true 20 | }, 21 | // Optinally generate .map file 22 | "sourceMap": false 23 | } 24 | ] 25 | -------------------------------------------------------------------------------- /JDS.OrgManager/JDS.OrgManager.Presentation.WebApi/wwwroot/css/site.css: -------------------------------------------------------------------------------- 1 | body { 2 | padding-top: 50px; 3 | padding-bottom: 20px; 4 | } 5 | 6 | /* Set padding to keep content from hitting the edges */ 7 | .body-content { 8 | padding-left: 15px; 9 | padding-right: 15px; 10 | } 11 | 12 | /* Set width on the form input elements since they're 100% wide by default */ 13 | input, 14 | select, 15 | textarea { 16 | max-width: 280px; 17 | } 18 | 19 | /* styles for validation helpers */ 20 | .field-validation-error { 21 | color: #b94a48; 22 | } 23 | 24 | .field-validation-valid { 25 | display: none; 26 | } 27 | 28 | input.input-validation-error { 29 | border: 1px solid #b94a48; 30 | } 31 | 32 | input[type="checkbox"].input-validation-error { 33 | border: 0 none; 34 | } 35 | 36 | .validation-summary-errors { 37 | color: #b94a48; 38 | } 39 | 40 | .validation-summary-valid { 41 | display: none; 42 | } 43 | 44 | -------------------------------------------------------------------------------- /JDS.OrgManager/JDS.OrgManager.Presentation.WebApi/wwwroot/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JacobsDataSolutions/OrgManager/92a5c5094ffb512432feabc848662e2ebcd396de/JDS.OrgManager/JDS.OrgManager.Presentation.WebApi/wwwroot/favicon.ico -------------------------------------------------------------------------------- /JDS.OrgManager/JDS.OrgManager.Presentation.WebApi/wwwroot/js/site.js: -------------------------------------------------------------------------------- 1 | // Write your Javascript code. -------------------------------------------------------------------------------- /JDS.OrgManager/JDS.OrgManager.Presentation.WebApi/wwwroot/lib/bootstrap/LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2011-2015 Twitter, Inc 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in 13 | all copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 21 | THE SOFTWARE. 22 | -------------------------------------------------------------------------------- /JDS.OrgManager/JDS.OrgManager.Presentation.WebApi/wwwroot/lib/jquery-validation-unobtrusive/LICENSE.txt: -------------------------------------------------------------------------------- 1 | Copyright (c) .NET Foundation. All rights reserved. 2 | 3 | Licensed under the Apache License, Version 2.0 (the "License"); you may not use 4 | these files except in compliance with the License. You may obtain a copy of the 5 | License at 6 | 7 | http://www.apache.org/licenses/LICENSE-2.0 8 | 9 | Unless required by applicable law or agreed to in writing, software distributed 10 | under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR 11 | CONDITIONS OF ANY KIND, either express or implied. See the License for the 12 | specific language governing permissions and limitations under the License. 13 | -------------------------------------------------------------------------------- /JDS.OrgManager/JDS.OrgManager.Presentation.WebApi/wwwroot/lib/jquery-validation/LICENSE.md: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | ===================== 3 | 4 | Copyright Jörn Zaefferer 5 | 6 | Permission is hereby granted, free of charge, to any person obtaining a copy 7 | of this software and associated documentation files (the "Software"), to deal 8 | in the Software without restriction, including without limitation the rights 9 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | copies of the Software, and to permit persons to whom the Software is 11 | furnished to do so, subject to the following conditions: 12 | 13 | The above copyright notice and this permission notice shall be included in 14 | all copies or substantial portions of the Software. 15 | 16 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 22 | THE SOFTWARE. 23 | -------------------------------------------------------------------------------- /JDS.OrgManager/JDS.OrgManager.TypescriptGenerator/JDS.OrgManager.TypescriptGenerator.fsproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | Exe 5 | net5.0 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /JDS.OrgManager/JDS.OrgManager.Utils/DummyData.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JacobsDataSolutions/OrgManager/92a5c5094ffb512432feabc848662e2ebcd396de/JDS.OrgManager/JDS.OrgManager.Utils/DummyData.cs -------------------------------------------------------------------------------- /JDS.OrgManager/JDS.OrgManager.Utils/JDS.OrgManager.Utils.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | net5.0 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | PreserveNewest 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | -------------------------------------------------------------------------------- /JDS.OrgManager/JDS.OrgManager.Utils/Streets/Street.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JacobsDataSolutions/OrgManager/92a5c5094ffb512432feabc848662e2ebcd396de/JDS.OrgManager/JDS.OrgManager.Utils/Streets/Street.cs -------------------------------------------------------------------------------- /JDS.OrgManager/JDS.OrgManager.Utils/Streets/StreetClassMap.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JacobsDataSolutions/OrgManager/92a5c5094ffb512432feabc848662e2ebcd396de/JDS.OrgManager/JDS.OrgManager.Utils/Streets/StreetClassMap.cs -------------------------------------------------------------------------------- /JDS.OrgManager/JDS.OrgManager.Utils/UnitTestEmployeeGenerator.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JacobsDataSolutions/OrgManager/92a5c5094ffb512432feabc848662e2ebcd396de/JDS.OrgManager/JDS.OrgManager.Utils/UnitTestEmployeeGenerator.cs -------------------------------------------------------------------------------- /_config.yml: -------------------------------------------------------------------------------- 1 | theme: jekyll-theme-slate -------------------------------------------------------------------------------- /images/About.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JacobsDataSolutions/OrgManager/92a5c5094ffb512432feabc848662e2ebcd396de/images/About.png -------------------------------------------------------------------------------- /images/Add-Edit-Customer-Information.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JacobsDataSolutions/OrgManager/92a5c5094ffb512432feabc848662e2ebcd396de/images/Add-Edit-Customer-Information.png -------------------------------------------------------------------------------- /images/Add-Edit-Employee-Information.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JacobsDataSolutions/OrgManager/92a5c5094ffb512432feabc848662e2ebcd396de/images/Add-Edit-Employee-Information.png -------------------------------------------------------------------------------- /images/Customer-Add-Update-Tenants.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JacobsDataSolutions/OrgManager/92a5c5094ffb512432feabc848662e2ebcd396de/images/Customer-Add-Update-Tenants.png -------------------------------------------------------------------------------- /images/Employee-Home-Org-Feedback-Subscreen.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JacobsDataSolutions/OrgManager/92a5c5094ffb512432feabc848662e2ebcd396de/images/Employee-Home-Org-Feedback-Subscreen.png -------------------------------------------------------------------------------- /images/Employee-Home-PTO-Subscreen.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JacobsDataSolutions/OrgManager/92a5c5094ffb512432feabc848662e2ebcd396de/images/Employee-Home-PTO-Subscreen.png -------------------------------------------------------------------------------- /images/Employee-Registration.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JacobsDataSolutions/OrgManager/92a5c5094ffb512432feabc848662e2ebcd396de/images/Employee-Registration.png -------------------------------------------------------------------------------- /images/Employer-Registration.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JacobsDataSolutions/OrgManager/92a5c5094ffb512432feabc848662e2ebcd396de/images/Employer-Registration.png -------------------------------------------------------------------------------- /images/Front-Page.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JacobsDataSolutions/OrgManager/92a5c5094ffb512432feabc848662e2ebcd396de/images/Front-Page.png -------------------------------------------------------------------------------- /images/Help-Support.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JacobsDataSolutions/OrgManager/92a5c5094ffb512432feabc848662e2ebcd396de/images/Help-Support.png -------------------------------------------------------------------------------- /images/Privacy-Policy.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JacobsDataSolutions/OrgManager/92a5c5094ffb512432feabc848662e2ebcd396de/images/Privacy-Policy.png -------------------------------------------------------------------------------- /images/Registration-Complete.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JacobsDataSolutions/OrgManager/92a5c5094ffb512432feabc848662e2ebcd396de/images/Registration-Complete.png -------------------------------------------------------------------------------- /images/Registration-Main-Page.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JacobsDataSolutions/OrgManager/92a5c5094ffb512432feabc848662e2ebcd396de/images/Registration-Main-Page.png -------------------------------------------------------------------------------- /images/Terms-and-Conditions.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JacobsDataSolutions/OrgManager/92a5c5094ffb512432feabc848662e2ebcd396de/images/Terms-and-Conditions.png -------------------------------------------------------------------------------- /images/Testimonials.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JacobsDataSolutions/OrgManager/92a5c5094ffb512432feabc848662e2ebcd396de/images/Testimonials.png -------------------------------------------------------------------------------- /images/Upgrade-Downgrade-Cancel.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JacobsDataSolutions/OrgManager/92a5c5094ffb512432feabc848662e2ebcd396de/images/Upgrade-Downgrade-Cancel.png --------------------------------------------------------------------------------