Added View Appointment,prime ng.

This commit is contained in:
Sk Shaifat Murshed 2025-02-04 11:06:42 +05:30
parent 2fefbe934c
commit ba2f370300
13 changed files with 637 additions and 78 deletions

View File

@ -30,6 +30,31 @@
"allowedCommonJsDependencies": ["chart.js", "js-sha256"], "allowedCommonJsDependencies": ["chart.js", "js-sha256"],
"assets": ["src/favicon.ico", "src/assets"], "assets": ["src/favicon.ico", "src/assets"],
"styles": [ "styles": [
{
"input": "node_modules/primeng/resources/themes/saga-blue/theme.css",
"inject": true,
"bundleName": "saga-blue"
},
{
"input": "node_modules/primeflex/themes/primeone-dark.css",
"inject": true,
"bundleName": "primeone-dark"
},
{
"input": "node_modules/primeng/resources/primeng.min.css",
"inject": true,
"bundleName": "primeng.min"
},
{
"input": "node_modules/primeicons/primeicons.css",
"inject": true,
"bundleName": "primeicons"
},
{
"input": "node_modules/primeflex/primeflex.min.css",
"inject": true,
"bundleName": "primeflex.min"
},
{ {
"input": "node_modules/@volo/ngx-lepton-x.lite/assets/css/bootstrap-dim.css", "input": "node_modules/@volo/ngx-lepton-x.lite/assets/css/bootstrap-dim.css",
"inject": false, "inject": false,

View File

@ -31,6 +31,9 @@
"@fullcalendar/daygrid": "^6.1.15", "@fullcalendar/daygrid": "^6.1.15",
"@fullcalendar/interaction": "^6.1.15", "@fullcalendar/interaction": "^6.1.15",
"bootstrap-icons": "~1.8.0", "bootstrap-icons": "~1.8.0",
"primeflex": "^3.3.1",
"primeicons": "^6.0.1",
"primeng": "^17.18.0",
"rxjs": "~7.8.0", "rxjs": "~7.8.0",
"tslib": "^2.0.0", "tslib": "^2.0.0",
"zone.js": "~0.14.0" "zone.js": "~0.14.0"
@ -13070,6 +13073,34 @@
"url": "https://github.com/chalk/ansi-styles?sponsor=1" "url": "https://github.com/chalk/ansi-styles?sponsor=1"
} }
}, },
"node_modules/primeflex": {
"version": "3.3.1",
"resolved": "https://registry.npmjs.org/primeflex/-/primeflex-3.3.1.tgz",
"integrity": "sha512-zaOq3YvcOYytbAmKv3zYc+0VNS9Wg5d37dfxZnveKBFPr7vEIwfV5ydrpiouTft8MVW6qNjfkaQphHSnvgQbpQ==",
"license": "MIT"
},
"node_modules/primeicons": {
"version": "6.0.1",
"resolved": "https://registry.npmjs.org/primeicons/-/primeicons-6.0.1.tgz",
"integrity": "sha512-KDeO94CbWI4pKsPnYpA1FPjo79EsY9I+M8ywoPBSf9XMXoe/0crjbUK7jcQEDHuc0ZMRIZsxH3TYLv4TUtHmAA==",
"license": "MIT"
},
"node_modules/primeng": {
"version": "17.18.0",
"resolved": "https://registry.npmjs.org/primeng/-/primeng-17.18.0.tgz",
"integrity": "sha512-EcvU/0Ex9QoBR6g6db9fDTCTAmzokW70TV5Oroy2gdvXRr3eqlflnOBoArQsmxTaw1oxSsu68YVj3RvcKYWhTg==",
"license": "MIT",
"dependencies": {
"tslib": "^2.3.0"
},
"peerDependencies": {
"@angular/common": "^17.0.0 || ^18.0.0",
"@angular/core": "^17.0.0 || ^18.0.0",
"@angular/forms": "^17.0.0 || ^18.0.0",
"rxjs": "^6.0.0 || ^7.8.1",
"zone.js": "~0.14.0"
}
},
"node_modules/proc-log": { "node_modules/proc-log": {
"version": "4.2.0", "version": "4.2.0",
"resolved": "https://registry.npmjs.org/proc-log/-/proc-log-4.2.0.tgz", "resolved": "https://registry.npmjs.org/proc-log/-/proc-log-4.2.0.tgz",

View File

@ -35,6 +35,9 @@
"@fullcalendar/daygrid": "^6.1.15", "@fullcalendar/daygrid": "^6.1.15",
"@fullcalendar/interaction": "^6.1.15", "@fullcalendar/interaction": "^6.1.15",
"bootstrap-icons": "~1.8.0", "bootstrap-icons": "~1.8.0",
"primeflex": "^3.3.1",
"primeicons": "^6.0.1",
"primeng": "^17.18.0",
"rxjs": "~7.8.0", "rxjs": "~7.8.0",
"tslib": "^2.0.0", "tslib": "^2.0.0",
"zone.js": "~0.14.0" "zone.js": "~0.14.0"

View File

@ -1 +1,202 @@
<p>view-appointment works!</p> <div>
<p-table #dt2 dataKey="id" [value]="appointments" [paginator]="true" [rows]="10" [rowsPerPageOptions]="[10, 20, 50]">
<ng-template pTemplate="caption">
<div class="flex align-items-center justify-content-between mb-3 gap-3">
<!-- Left: Title -->
<h2 class="m-0">Appointment List</h2>
<!-- Center: Search Bar with Icon Inside -->
<div class="flex-grow-1 flex justify-content-center">
<span class="p-input-icon-left w-50">
<i class="pi pi-search"></i>
<input pInputText type="text" [(ngModel)]="globalFilter" placeholder="Search Appointments"
(input)="dt2.filterGlobal(globalFilter, 'contains')" class="w-full" />
</span>
</div>
<!-- Right: Add Button -->
<div>
<button *ngIf="createPermission" pButton class="p-button-rounded p-button-success"
(click)="openNewAppointmentDialog()" pTooltip="Add Appointment" tooltipPosition="left">
<i class="pi pi-plus-circle"></i>
</button>
</div>
</div>
</ng-template>
<ng-template pTemplate="header">
<tr>
<th pSortableColumn="name">Name <p-sortIcon field="name" /></th>
<th pSortableColumn="doctor">Doctor <p-sortIcon field="doctor" /></th>
<th pSortableColumn="date">Date <p-sortIcon field="date" /></th>
<th pSortableColumn="Time">Time<p-sortIcon field="Time"/></th>
<th pSortableColumn="Mobile">Mobile No<p-sortIcon field="Mobile"/></th>
<th pSortableColumn="Status">Appointment Status<p-sortIcon field="Status"/></th>
<th pSortableColumn="visittype">Visit Type<p-sortIcon field="visittype"/></th>
<th>Actions</th>
</tr>
</ng-template>
<ng-template pTemplate="body" let-appointment>
<tr>
<td>{{ appointment.name }}</td>
<td>{{ appointment.doctor }}</td>
<td>{{ appointment.date | date }}</td>
<td>{{ appointment.time }}</td>
<td>{{ appointment.mobile }}</td>
<td>{{ appointment.status }}</td>
<td>{{ appointment.visitType }}</td>
<td>
<button class="btn btn-warning btn-sm ml-1" (click)="editAppointment(appointment)">
<i class="pi pi-pencil"></i>
</button>
</td>
</tr>
</ng-template>
</p-table>
</div>
<p-dialog header="{{ isEditing ? 'Edit Appointment' : 'New Appointment' }}" [(visible)]="appointmentDialog"
[modal]="true" [closable]="true" [style]="{ width: '80%' }">
<form #appointmentForm="ngForm" (ngSubmit)="saveAppointment()">
<div class="p-fluid grid">
<!-- Name -->
<div class="field col-12 md:col-6">
<label for="fname">First Name</label>
<span class="p-input-icon-left">
<i class="pi pi-user"></i>
<input pInputText id="fname" name="fname" [(ngModel)]="appointment.firstname" required />
</span>
<small *ngIf="appointmentForm.form.controls.fname?.invalid && appointmentForm.form.controls.fname?.touched" class="p-error">
First Name is required.
</small>
</div>
<div class="field col-12 md:col-6">
<label for="lname">Last Name</label>
<span class="p-input-icon-left">
<i class="pi pi-user"></i>
<input pInputText id="lname" name="lname" [(ngModel)]="appointment.lastname" required />
</span>
<small *ngIf="appointmentForm.form.controls.lname?.invalid && appointmentForm.form.controls.lname?.touched" class="p-error">
Last Name is required.
</small>
</div>
<div class="field col-12 md:col-6">
<label>Gender</label>
<div class="flex align-items-center">
<p-radioButton name="gender" value="Male" [(ngModel)]="appointment.gender" inputId="male"></p-radioButton>
<label for="male" class="ml-2 mr-3">Male</label>
<p-radioButton name="gender" value="Female" [(ngModel)]="appointment.gender" inputId="female"></p-radioButton>
<label for="female" class="ml-2">Female</label>
</div>
</div>
<!-- Mobile -->
<div class="field col-12 md:col-6">
<label for="mobile">Mobile No</label>
<span class="p-input-icon-left">
<i class="pi pi-phone"></i>
<input pInputText id="mobile" name="mobile" [(ngModel)]="appointment.mobile" required />
</span>
</div>
<!-- Email -->
<div class="field col-12 md:col-6">
<label for="email">Email ID</label>
<span class="p-input-icon-left">
<i class="pi pi-envelope"></i>
<input pInputText id="email" name="email" [(ngModel)]="appointment.email" required email />
</span>
<small *ngIf="appointmentForm.form.controls.email?.invalid && appointmentForm.form.controls.email?.touched" class="p-error">
Valid email is required.
</small>
</div>
<div class="field col-12 md:col-6">
<label for="dob">Date of Birth</label>
<p-calendar id="dob" name="dob" [(ngModel)]="appointment.dob" [showIcon]="true" required></p-calendar>
</div>
<!-- Doctor -->
<div class="field col-12 md:col-6">
<label for="doctor">Consulting Doctor</label>
<p-dropdown id="doctor" name="doctor" [(ngModel)]="appointment.doctor" [options]="doctorOptions" placeholder="Select Doctor" optionLabel="label"
optionValue="value" required></p-dropdown>
</div>
<!-- Date -->
<div class="field col-12 md:col-6">
<label for="date">Date of Appointment</label>
<p-calendar id="date" name="date" [(ngModel)]="appointment.date" [showIcon]="true" required></p-calendar>
</div>
<!-- Time (HH:mm format) -->
<div class="field col-12 md:col-6">
<label for="time">Time Of Appointment</label>
<span class="p-input-icon-left">
<i class="pi pi-clock"></i>
<input pInputText id="time" name="time" type="time" [(ngModel)]="appointment.time" required />
</span>
</div>
<!-- Injury -->
<div class="field col-12 md:col-6">
<label for="injury">Injury/Contion</label>
<span class="p-input-icon-left">
<i class="pi pi-exclamation-triangle"></i>
<input pInputText id="injury" name="injury" [(ngModel)]="appointment.injury" />
</span>
</div>
<!-- Insurance Provider -->
<div class="field col-12 md:col-6">
<label for="insurance">Insurance Provider</label>
<span class="p-input-icon-left">
<i class="pi pi-credit-card"></i>
<input pInputText id="insurance" name="insuranceProvider" [(ngModel)]="appointment.insuranceProvider" />
</span>
</div>
<!-- Notes -->
<div class="field col-12">
<label for="notes">Notes</label>
<span class="p-input-icon-left w-full">
<textarea id="notes" name="notes" [(ngModel)]="appointment.notes"
class="w-full bg-white text-black border p-2 rounded" rows="3"></textarea> </span>
</div>
<!-- Appointment Status -->
<div class="field col-12 md:col-6">
<label for="status">Appointment Status</label>
<p-dropdown id="status" name="status" [(ngModel)]="appointment.status" [options]="appointmentStatuses" placeholder="Select Status" required></p-dropdown>
</div>
<!-- Visit Type -->
<div class="field col-12 md:col-6">
<label for="visitType">Visit Type</label>
<p-dropdown id="visitType" name="visitType" [(ngModel)]="appointment.visitType" [options]="visitTypes" placeholder="Select Visit Type" required></p-dropdown>
</div>
<!-- Payment Status -->
<div class="field col-12 md:col-6">
<label for="paymentStatus">Payment Status</label>
<p-dropdown id="paymentStatus" name="paymentStatus" [(ngModel)]="appointment.paymentStatus" [options]="paymentStatuses" placeholder="Select Payment Status" required></p-dropdown>
</div>
<!-- Action Buttons -->
<div class="field col-12 flex justify-content-end">
<button pButton type="submit" label="Save" class="p-button-success" [disabled]="appointmentForm.invalid"></button>
<button pButton type="button" label="Cancel" class="p-button-secondary ml-2" (click)="closeDialog()"></button>
</div>
</div>
</form>
</p-dialog>

View File

@ -1,10 +1,153 @@
import { Component } from '@angular/core'; import { Component } from '@angular/core';
import { DoctorService } from '@proxy/doctors';
@Component({ @Component({
selector: 'app-view-appointment', selector: 'app-view-appointment',
templateUrl: './view-appointment.component.html', templateUrl: './view-appointment.component.html',
styleUrl: './view-appointment.component.scss' styleUrl: './view-appointment.component.scss',
}) })
export class ViewAppointmentComponent { export class ViewAppointmentComponent {
totalRecords: number = 0;
AppointmentDialogTitle: string = '';
AppointmentDialog: boolean = false;
patients: [];
isEditing = false;
appointmentDialog = false;
appointment = {
firstname: '',
lastname: '',
email: '',
gender: '',
date: '',
dob:'',
time: '',
mobile: '',
injury: '',
insuranceProvider: '',
notes: '',
doctor: '',
status: '',
visitType: '',
paymentStatus: '',
};
appointments = [
{
id: 1,
name: 'John Doe',
doctor: 'Dr. Smith',
gender: 1,
date: new Date(),
time: '10:00 AM',
mobile: '1234567890',
email: 'john@example.com',
status: 1,
visitType: 'Consultation',
},
{
id: 2,
name: 'Jane Smith',
doctor: 'Dr. Johnson',
gender: 0,
date: new Date(),
time: '2:00 PM',
mobile: '0987654321',
email: 'jane@example.com',
status: 2,
visitType: 'Follow-up',
},
{
id: 3,
name: 'Mike Johnson',
doctor: 'Dr. Brown',
gender: 1,
date: new Date(),
time: '4:30 PM',
mobile: '1112223333',
email: 'mike@example.com',
status: 1,
visitType: 'Surgery',
},
];
status = { 1: 'Scheduled', 2: 'Completed', 3: 'Canceled' };
genders = [
{ label: 'Male', value: 'Male' },
{ label: 'Female', value: 'Female' },
];
doctors = [];
doctorOptions = [];
appointmentStatuses = [
{ label: 'Scheduled', value: 'Scheduled' },
{ label: 'Completed', value: 'Completed' },
];
visitTypes = [
{ label: 'Consultation', value: 'Consultation' },
{ label: 'Follow-up', value: 'Follow-up' },
];
paymentStatuses = [
{ label: 'Pending', value: 'Pending' },
{ label: 'Paid', value: 'Paid' },
];
createPermission = true;
editPermission = true;
deletePermission = true;
constructor(private DoctorService: DoctorService) {}
ngOnInit(): void {
this.getdoctorlist();
}
openNewAppointmentDialog() {
this.isEditing = false;
this.appointmentDialog = true;
this.appointment = {
firstname: '',
lastname: '',
email: '',
gender: '',
date: '',
dob:'',
time: '',
mobile: '',
injury: '',
insuranceProvider: '',
notes: '',
doctor: '',
status: '',
visitType: '',
paymentStatus: '',
};
}
exportAppointments() {
console.log('Exporting appointment data');
}
editAppointment(appointment: any) {
console.log('Editing appointment', appointment);
}
deleteAppointment(id: number) {
console.log('Deleting appointment with ID', id);
}
saveAppointment() {
console.log(this.appointment);
this.appointmentDialog = false;
}
closeDialog() {
this.appointmentDialog = false;
}
getdoctorlist() {
this.DoctorService.get().subscribe(result => {
debugger;
this.doctors = result;
// Create a formatted array for dropdown
this.doctorOptions = this.doctors.map(doctor => ({
label: `${doctor.firstName} ${doctor.lastName}`, // Combine first and last name
value: doctor.id, // Use the ID as the value
}));
});
}
} }

View File

@ -3,15 +3,33 @@ import { CommonModule } from '@angular/common';
import { ViewAppointmentRoutingModule } from './view-appointment-routing.module'; import { ViewAppointmentRoutingModule } from './view-appointment-routing.module';
import { ViewAppointmentComponent } from './view-appointment.component'; import { ViewAppointmentComponent } from './view-appointment.component';
import { TableModule } from 'primeng/table';
import { DialogModule } from 'primeng/dialog';
import { FormsModule } from '@angular/forms';
import { ButtonModule } from 'primeng/button';
import { CalendarModule } from 'primeng/calendar';
import { DropdownModule } from 'primeng/dropdown';
import { InputTextModule } from 'primeng/inputtext';
import { RadioButtonModule } from 'primeng/radiobutton';
import { DoctorService } from '@proxy/doctors';
@NgModule({ @NgModule({
declarations: [ declarations: [ViewAppointmentComponent],
ViewAppointmentComponent
],
imports: [ imports: [
CommonModule, CommonModule,
ViewAppointmentRoutingModule ViewAppointmentRoutingModule,
] TableModule,
DialogModule,
FormsModule,
TableModule,
ButtonModule,
DialogModule,
InputTextModule,
CalendarModule,
DropdownModule,
RadioButtonModule,
],
providers:[DoctorService]
}) })
export class ViewAppointmentModule {} export class ViewAppointmentModule {}

View File

@ -1,6 +1,6 @@
import { RestService, Rest } from '@abp/ng.core'; import { RestService, Rest } from '@abp/ng.core';
import { Injectable } from '@angular/core'; import { Injectable } from '@angular/core';
import type { DoctorDto } from '../dtos/models'; import type { CreateDoctorDto, DoctorDto } from '../dtos/models';
@Injectable({ @Injectable({
providedIn: 'root', providedIn: 'root',
@ -9,6 +9,15 @@ export class DoctorService {
apiName = 'Default'; apiName = 'Default';
create = (input: CreateDoctorDto, config?: Partial<Rest.Config>) =>
this.restService.request<any, DoctorDto>({
method: 'POST',
url: '/api/app/doctor',
body: input,
},
{ apiName: this.apiName,...config });
get = (config?: Partial<Rest.Config>) => get = (config?: Partial<Rest.Config>) =>
this.restService.request<any, DoctorDto[]>({ this.restService.request<any, DoctorDto[]>({
method: 'GET', method: 'GET',

View File

@ -1,5 +1,4 @@
import type { FullAuditedEntity } from '../volo/abp/domain/entities/auditing/models'; import type { FullAuditedEntity } from '../volo/abp/domain/entities/auditing/models';
import type { GenderEnum } from '../enums/gender-enum.enum';
export interface CreateDepartmentDto { export interface CreateDepartmentDto {
departmentNo?: string; departmentNo?: string;
@ -9,6 +8,20 @@ export interface CreateDepartmentDto {
description?: string; description?: string;
} }
export interface CreateDoctorDto {
firstName?: string;
lastName?: string;
gender?: string;
mobile?: string;
password?: string;
designation?: string;
departmentId?: string;
address?: string;
email?: string;
dob?: string;
education?: string;
}
export interface DepartmentDto extends FullAuditedEntity<string> { export interface DepartmentDto extends FullAuditedEntity<string> {
departmentNo?: string; departmentNo?: string;
departmentName?: string; departmentName?: string;
@ -21,7 +34,7 @@ export interface DepartmentDto extends FullAuditedEntity<string> {
export interface DoctorDto extends FullAuditedEntity<string> { export interface DoctorDto extends FullAuditedEntity<string> {
firstName?: string; firstName?: string;
lastName?: string; lastName?: string;
gender?: GenderEnum; gender?: string;
mobile?: string; mobile?: string;
designation?: string; designation?: string;
departmentId?: string; departmentId?: string;

View File

@ -1,9 +0,0 @@
import { mapEnumToOptions } from '@abp/ng.core';
export enum GenderEnum {
Male = 0,
Female = 1,
Others = 2,
}
export const genderEnumOptions = mapEnumToOptions(GenderEnum);

View File

@ -1 +0,0 @@
export * from './gender-enum.enum';

View File

@ -1047,6 +1047,43 @@
}, },
"allowAnonymous": null, "allowAnonymous": null,
"implementFrom": "HospitalManagementSystem.Doctors.IDoctorAppService" "implementFrom": "HospitalManagementSystem.Doctors.IDoctorAppService"
},
"CreateAsyncByInput": {
"uniqueName": "CreateAsyncByInput",
"name": "CreateAsync",
"httpMethod": "POST",
"url": "api/app/doctor",
"supportedVersions": [],
"parametersOnMethod": [
{
"name": "input",
"typeAsString": "HospitalManagementSystem.Dtos.CreateDoctorDto, HospitalManagementSystem.Application",
"type": "HospitalManagementSystem.Dtos.CreateDoctorDto",
"typeSimple": "HospitalManagementSystem.Dtos.CreateDoctorDto",
"isOptional": false,
"defaultValue": null
}
],
"parameters": [
{
"nameOnMethod": "input",
"name": "input",
"jsonName": null,
"type": "HospitalManagementSystem.Dtos.CreateDoctorDto",
"typeSimple": "HospitalManagementSystem.Dtos.CreateDoctorDto",
"isOptional": false,
"defaultValue": null,
"constraintTypes": null,
"bindingSourceId": "Body",
"descriptorName": ""
}
],
"returnValue": {
"type": "HospitalManagementSystem.Dtos.DoctorDto",
"typeSimple": "HospitalManagementSystem.Dtos.DoctorDto"
},
"allowAnonymous": null,
"implementFrom": "HospitalManagementSystem.Doctors.DoctorAppService"
} }
} }
} }
@ -3764,6 +3801,147 @@
} }
] ]
}, },
"HospitalManagementSystem.Dtos.CreateDoctorDto": {
"baseType": null,
"isEnum": false,
"enumNames": null,
"enumValues": null,
"genericArguments": null,
"properties": [
{
"name": "FirstName",
"jsonName": null,
"type": "System.String",
"typeSimple": "string",
"isRequired": false,
"minLength": null,
"maxLength": null,
"minimum": null,
"maximum": null,
"regex": null
},
{
"name": "LastName",
"jsonName": null,
"type": "System.String",
"typeSimple": "string",
"isRequired": false,
"minLength": null,
"maxLength": null,
"minimum": null,
"maximum": null,
"regex": null
},
{
"name": "Gender",
"jsonName": null,
"type": "System.String",
"typeSimple": "string",
"isRequired": false,
"minLength": null,
"maxLength": null,
"minimum": null,
"maximum": null,
"regex": null
},
{
"name": "Mobile",
"jsonName": null,
"type": "System.String",
"typeSimple": "string",
"isRequired": false,
"minLength": null,
"maxLength": null,
"minimum": null,
"maximum": null,
"regex": null
},
{
"name": "Password",
"jsonName": null,
"type": "System.String",
"typeSimple": "string",
"isRequired": false,
"minLength": null,
"maxLength": null,
"minimum": null,
"maximum": null,
"regex": null
},
{
"name": "Designation",
"jsonName": null,
"type": "System.String",
"typeSimple": "string",
"isRequired": false,
"minLength": null,
"maxLength": null,
"minimum": null,
"maximum": null,
"regex": null
},
{
"name": "DepartmentId",
"jsonName": null,
"type": "System.Guid?",
"typeSimple": "string?",
"isRequired": false,
"minLength": null,
"maxLength": null,
"minimum": null,
"maximum": null,
"regex": null
},
{
"name": "Address",
"jsonName": null,
"type": "System.String",
"typeSimple": "string",
"isRequired": false,
"minLength": null,
"maxLength": null,
"minimum": null,
"maximum": null,
"regex": null
},
{
"name": "Email",
"jsonName": null,
"type": "System.String",
"typeSimple": "string",
"isRequired": false,
"minLength": null,
"maxLength": null,
"minimum": null,
"maximum": null,
"regex": null
},
{
"name": "DOB",
"jsonName": null,
"type": "System.String",
"typeSimple": "string",
"isRequired": false,
"minLength": null,
"maxLength": null,
"minimum": null,
"maximum": null,
"regex": null
},
{
"name": "Education",
"jsonName": null,
"type": "System.String",
"typeSimple": "string",
"isRequired": false,
"minLength": null,
"maxLength": null,
"minimum": null,
"maximum": null,
"regex": null
}
]
},
"HospitalManagementSystem.Dtos.DepartmentDto": { "HospitalManagementSystem.Dtos.DepartmentDto": {
"baseType": "Volo.Abp.Domain.Entities.Auditing.FullAuditedEntity<System.Guid>", "baseType": "Volo.Abp.Domain.Entities.Auditing.FullAuditedEntity<System.Guid>",
"isEnum": false, "isEnum": false,
@ -3879,8 +4057,8 @@
{ {
"name": "Gender", "name": "Gender",
"jsonName": null, "jsonName": null,
"type": "HospitalManagementSystem.Enums.GenderEnum?", "type": "System.String",
"typeSimple": "HospitalManagementSystem.Enums.GenderEnum?", "typeSimple": "string",
"isRequired": false, "isRequired": false,
"minLength": null, "minLength": null,
"maxLength": null, "maxLength": null,
@ -3974,57 +4152,6 @@
} }
] ]
}, },
"HospitalManagementSystem.Enums.GenderEnum": {
"baseType": "System.Enum",
"isEnum": true,
"enumNames": [
"Male",
"Female",
"Others"
],
"enumValues": [
0,
1,
2
],
"genericArguments": null,
"properties": null
},
"System.Nullable<T0>": {
"baseType": "System.ValueType",
"isEnum": false,
"enumNames": null,
"enumValues": null,
"genericArguments": [
"T"
],
"properties": [
{
"name": "HasValue",
"jsonName": null,
"type": "System.Boolean",
"typeSimple": "boolean",
"isRequired": false,
"minLength": null,
"maxLength": null,
"minimum": null,
"maximum": null,
"regex": null
},
{
"name": "Value",
"jsonName": null,
"type": "T",
"typeSimple": "T",
"isRequired": false,
"minLength": null,
"maxLength": null,
"minimum": null,
"maximum": null,
"regex": null
}
]
},
"Volo.Abp.Account.ChangePasswordInput": { "Volo.Abp.Account.ChangePasswordInput": {
"baseType": null, "baseType": null,
"isEnum": false, "isEnum": false,

View File

@ -2,6 +2,5 @@ import * as Appointments from './appointments';
import * as Departments from './departments'; import * as Departments from './departments';
import * as Doctors from './doctors'; import * as Doctors from './doctors';
import * as Dtos from './dtos'; import * as Dtos from './dtos';
import * as Enums from './enums';
import * as Volo from './volo'; import * as Volo from './volo';
export { Appointments, Departments, Doctors, Dtos, Enums, Volo }; export { Appointments, Departments, Doctors, Dtos, Volo };

View File

@ -1,3 +1,3 @@
export interface Entity { export interface Entity<TKey> {
} }