Commit Department module, Doctor module and Appointment module
This commit is contained in:
parent
425e5339bb
commit
2fefbe934c
55
angular/package-lock.json
generated
55
angular/package-lock.json
generated
@ -26,6 +26,10 @@
|
||||
"@angular/platform-browser": "~18.1.0",
|
||||
"@angular/platform-browser-dynamic": "~18.1.0",
|
||||
"@angular/router": "~18.1.0",
|
||||
"@fullcalendar/angular": "^6.1.16",
|
||||
"@fullcalendar/core": "^6.1.15",
|
||||
"@fullcalendar/daygrid": "^6.1.15",
|
||||
"@fullcalendar/interaction": "^6.1.15",
|
||||
"bootstrap-icons": "~1.8.0",
|
||||
"rxjs": "~7.8.0",
|
||||
"tslib": "^2.0.0",
|
||||
@ -3500,6 +3504,47 @@
|
||||
"node": ">=6"
|
||||
}
|
||||
},
|
||||
"node_modules/@fullcalendar/angular": {
|
||||
"version": "6.1.16",
|
||||
"resolved": "https://registry.npmjs.org/@fullcalendar/angular/-/angular-6.1.16.tgz",
|
||||
"integrity": "sha512-Qqs0MZPlIDretmWgtOr0H+uiLO6DKeqxqH1Y2oeWufwEbQTaAxhH7mivdTmxL596JkiuJ/1dhCm+v4tVbFb40w==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"tslib": "^2.3.0"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"@angular/common": "12 - 19",
|
||||
"@angular/core": "12 - 19",
|
||||
"@fullcalendar/core": "~6.1.15"
|
||||
}
|
||||
},
|
||||
"node_modules/@fullcalendar/core": {
|
||||
"version": "6.1.15",
|
||||
"resolved": "https://registry.npmjs.org/@fullcalendar/core/-/core-6.1.15.tgz",
|
||||
"integrity": "sha512-BuX7o6ALpLb84cMw1FCB9/cSgF4JbVO894cjJZ6kP74jzbUZNjtwffwRdA+Id8rrLjT30d/7TrkW90k4zbXB5Q==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"preact": "~10.12.1"
|
||||
}
|
||||
},
|
||||
"node_modules/@fullcalendar/daygrid": {
|
||||
"version": "6.1.15",
|
||||
"resolved": "https://registry.npmjs.org/@fullcalendar/daygrid/-/daygrid-6.1.15.tgz",
|
||||
"integrity": "sha512-j8tL0HhfiVsdtOCLfzK2J0RtSkiad3BYYemwQKq512cx6btz6ZZ2RNc/hVnIxluuWFyvx5sXZwoeTJsFSFTEFA==",
|
||||
"license": "MIT",
|
||||
"peerDependencies": {
|
||||
"@fullcalendar/core": "~6.1.15"
|
||||
}
|
||||
},
|
||||
"node_modules/@fullcalendar/interaction": {
|
||||
"version": "6.1.15",
|
||||
"resolved": "https://registry.npmjs.org/@fullcalendar/interaction/-/interaction-6.1.15.tgz",
|
||||
"integrity": "sha512-DOTSkofizM7QItjgu7W68TvKKvN9PSEEvDJceyMbQDvlXHa7pm/WAVtAc6xSDZ9xmB1QramYoWGLHkCYbTW1rQ==",
|
||||
"license": "MIT",
|
||||
"peerDependencies": {
|
||||
"@fullcalendar/core": "~6.1.15"
|
||||
}
|
||||
},
|
||||
"node_modules/@humanwhocodes/config-array": {
|
||||
"version": "0.13.0",
|
||||
"resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.13.0.tgz",
|
||||
@ -12977,6 +13022,16 @@
|
||||
"dev": true,
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/preact": {
|
||||
"version": "10.12.1",
|
||||
"resolved": "https://registry.npmjs.org/preact/-/preact-10.12.1.tgz",
|
||||
"integrity": "sha512-l8386ixSsBdbreOAkqtrwqHwdvR35ID8c3rKPa8lCWuO86dBi32QWHV4vfsZK1utLLFMvw+Z5Ad4XLkZzchscg==",
|
||||
"license": "MIT",
|
||||
"funding": {
|
||||
"type": "opencollective",
|
||||
"url": "https://opencollective.com/preact"
|
||||
}
|
||||
},
|
||||
"node_modules/prelude-ls": {
|
||||
"version": "1.2.1",
|
||||
"resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz",
|
||||
|
@ -30,6 +30,10 @@
|
||||
"@angular/platform-browser": "~18.1.0",
|
||||
"@angular/platform-browser-dynamic": "~18.1.0",
|
||||
"@angular/router": "~18.1.0",
|
||||
"@fullcalendar/angular": "^6.1.16",
|
||||
"@fullcalendar/core": "^6.1.15",
|
||||
"@fullcalendar/daygrid": "^6.1.15",
|
||||
"@fullcalendar/interaction": "^6.1.15",
|
||||
"bootstrap-icons": "~1.8.0",
|
||||
"rxjs": "~7.8.0",
|
||||
"tslib": "^2.0.0",
|
||||
|
@ -1 +1 @@
|
||||
<p>appointment-calendar works!</p>
|
||||
<full-calendar [options]="calendarOptions"></full-calendar>
|
||||
|
@ -0,0 +1,8 @@
|
||||
.fc.fc-theme-standard .fc-view-harness .fc-event.fc-daygrid-block-event {
|
||||
color: #ffffff;
|
||||
background: #2563eb;
|
||||
border-color: #2563eb;
|
||||
}
|
||||
.fc-daygrid-day-number {
|
||||
text-decoration: none !important;
|
||||
}
|
@ -1,4 +1,9 @@
|
||||
import { Component } from '@angular/core';
|
||||
import { RouterOutlet } from '@angular/router';
|
||||
import { FullCalendarModule } from '@fullcalendar/angular';
|
||||
import { CalendarOptions } from '@fullcalendar/core'; // useful for typechecking
|
||||
import dayGridPlugin from '@fullcalendar/daygrid';
|
||||
import interactionPlugin from '@fullcalendar/interaction';
|
||||
|
||||
@Component({
|
||||
selector: 'app-appointment-calendar',
|
||||
@ -6,5 +11,17 @@ import { Component } from '@angular/core';
|
||||
styleUrl: './appointment-calendar.component.scss'
|
||||
})
|
||||
export class AppointmentCalendarComponent {
|
||||
calendarOptions: CalendarOptions = {
|
||||
initialView: 'dayGridMonth',
|
||||
plugins: [dayGridPlugin, interactionPlugin],
|
||||
dateClick: (arg) => this.handleDateClick(arg),
|
||||
events: [
|
||||
{ title: 'event 1', date: '2025-01-01' },
|
||||
{ title: 'event 2', date: '2025-01-02' }
|
||||
]
|
||||
};
|
||||
|
||||
handleDateClick(arg) {
|
||||
alert('date click! ' + arg.dateStr)
|
||||
}
|
||||
}
|
||||
|
@ -1,6 +1,9 @@
|
||||
import { NgModule } from '@angular/core';
|
||||
import { CommonModule } from '@angular/common';
|
||||
|
||||
import { RouterOutlet } from '@angular/router';
|
||||
import { FullCalendarModule } from '@fullcalendar/angular';
|
||||
import { CalendarOptions } from '@fullcalendar/core'; // useful for typechecking
|
||||
import dayGridPlugin from '@fullcalendar/daygrid';
|
||||
import { AppointmentCalendarRoutingModule } from './appointment-calendar-routing.module';
|
||||
import { AppointmentCalendarComponent } from './appointment-calendar.component';
|
||||
|
||||
@ -11,7 +14,9 @@ import { AppointmentCalendarComponent } from './appointment-calendar.component';
|
||||
],
|
||||
imports: [
|
||||
CommonModule,
|
||||
AppointmentCalendarRoutingModule
|
||||
AppointmentCalendarRoutingModule,
|
||||
RouterOutlet,
|
||||
FullCalendarModule
|
||||
]
|
||||
})
|
||||
export class AppointmentCalendarModule { }
|
||||
|
17
angular/src/app/proxy/README.md
Normal file
17
angular/src/app/proxy/README.md
Normal file
@ -0,0 +1,17 @@
|
||||
# Proxy Generation Output
|
||||
|
||||
This directory includes the output of the latest proxy generation.
|
||||
The files and folders in it will be overwritten when proxy generation is run again.
|
||||
Therefore, please do not place your own content in this folder.
|
||||
|
||||
In addition, `generate-proxy.json` works like a lock file.
|
||||
It includes information used by the proxy generator, so please do not delete or modify it.
|
||||
|
||||
Finally, the name of the files and folders should not be changed for two reasons:
|
||||
- Proxy generator will keep creating them at those paths and you will have multiple copies of the same content.
|
||||
- ABP Suite generates files which include imports from this folder.
|
||||
|
||||
> **Important Notice:** If you are building a module and are planning to publish to npm,
|
||||
> some of the generated proxies are likely to be exported from public-api.ts file. In such a case,
|
||||
> please make sure you export files directly and not from barrel exports. In other words,
|
||||
> do not include index.ts exports in your public-api.ts exports.
|
20
angular/src/app/proxy/appointments/appointment.service.ts
Normal file
20
angular/src/app/proxy/appointments/appointment.service.ts
Normal file
@ -0,0 +1,20 @@
|
||||
import { RestService, Rest } from '@abp/ng.core';
|
||||
import { Injectable } from '@angular/core';
|
||||
|
||||
@Injectable({
|
||||
providedIn: 'root',
|
||||
})
|
||||
export class AppointmentService {
|
||||
apiName = 'Default';
|
||||
|
||||
|
||||
get = (config?: Partial<Rest.Config>) =>
|
||||
this.restService.request<any, string>({
|
||||
method: 'GET',
|
||||
responseType: 'text',
|
||||
url: '/api/app/appointment',
|
||||
},
|
||||
{ apiName: this.apiName,...config });
|
||||
|
||||
constructor(private restService: RestService) {}
|
||||
}
|
1
angular/src/app/proxy/appointments/index.ts
Normal file
1
angular/src/app/proxy/appointments/index.ts
Normal file
@ -0,0 +1 @@
|
||||
export * from './appointment.service';
|
29
angular/src/app/proxy/departments/department.service.ts
Normal file
29
angular/src/app/proxy/departments/department.service.ts
Normal file
@ -0,0 +1,29 @@
|
||||
import { RestService, Rest } from '@abp/ng.core';
|
||||
import { Injectable } from '@angular/core';
|
||||
import type { CreateDepartmentDto, DepartmentDto } from '../dtos/models';
|
||||
|
||||
@Injectable({
|
||||
providedIn: 'root',
|
||||
})
|
||||
export class DepartmentService {
|
||||
apiName = 'Default';
|
||||
|
||||
|
||||
create = (input: CreateDepartmentDto, config?: Partial<Rest.Config>) =>
|
||||
this.restService.request<any, DepartmentDto>({
|
||||
method: 'POST',
|
||||
url: '/api/app/department',
|
||||
body: input,
|
||||
},
|
||||
{ apiName: this.apiName,...config });
|
||||
|
||||
|
||||
get = (config?: Partial<Rest.Config>) =>
|
||||
this.restService.request<any, DepartmentDto[]>({
|
||||
method: 'GET',
|
||||
url: '/api/app/department',
|
||||
},
|
||||
{ apiName: this.apiName,...config });
|
||||
|
||||
constructor(private restService: RestService) {}
|
||||
}
|
1
angular/src/app/proxy/departments/index.ts
Normal file
1
angular/src/app/proxy/departments/index.ts
Normal file
@ -0,0 +1 @@
|
||||
export * from './department.service';
|
20
angular/src/app/proxy/doctors/doctor.service.ts
Normal file
20
angular/src/app/proxy/doctors/doctor.service.ts
Normal file
@ -0,0 +1,20 @@
|
||||
import { RestService, Rest } from '@abp/ng.core';
|
||||
import { Injectable } from '@angular/core';
|
||||
import type { DoctorDto } from '../dtos/models';
|
||||
|
||||
@Injectable({
|
||||
providedIn: 'root',
|
||||
})
|
||||
export class DoctorService {
|
||||
apiName = 'Default';
|
||||
|
||||
|
||||
get = (config?: Partial<Rest.Config>) =>
|
||||
this.restService.request<any, DoctorDto[]>({
|
||||
method: 'GET',
|
||||
url: '/api/app/doctor',
|
||||
},
|
||||
{ apiName: this.apiName,...config });
|
||||
|
||||
constructor(private restService: RestService) {}
|
||||
}
|
1
angular/src/app/proxy/doctors/index.ts
Normal file
1
angular/src/app/proxy/doctors/index.ts
Normal file
@ -0,0 +1 @@
|
||||
export * from './doctor.service';
|
1
angular/src/app/proxy/dtos/index.ts
Normal file
1
angular/src/app/proxy/dtos/index.ts
Normal file
@ -0,0 +1 @@
|
||||
export * from './models';
|
32
angular/src/app/proxy/dtos/models.ts
Normal file
32
angular/src/app/proxy/dtos/models.ts
Normal file
@ -0,0 +1,32 @@
|
||||
import type { FullAuditedEntity } from '../volo/abp/domain/entities/auditing/models';
|
||||
import type { GenderEnum } from '../enums/gender-enum.enum';
|
||||
|
||||
export interface CreateDepartmentDto {
|
||||
departmentNo?: string;
|
||||
departmentName?: string;
|
||||
departmentDate?: string;
|
||||
departmentHead?: string;
|
||||
description?: string;
|
||||
}
|
||||
|
||||
export interface DepartmentDto extends FullAuditedEntity<string> {
|
||||
departmentNo?: string;
|
||||
departmentName?: string;
|
||||
departmentDate?: string;
|
||||
departmentHead?: string;
|
||||
status?: string;
|
||||
description?: string;
|
||||
}
|
||||
|
||||
export interface DoctorDto extends FullAuditedEntity<string> {
|
||||
firstName?: string;
|
||||
lastName?: string;
|
||||
gender?: GenderEnum;
|
||||
mobile?: string;
|
||||
designation?: string;
|
||||
departmentId?: string;
|
||||
address?: string;
|
||||
email?: string;
|
||||
dob?: string;
|
||||
education?: string;
|
||||
}
|
9
angular/src/app/proxy/enums/gender-enum.enum.ts
Normal file
9
angular/src/app/proxy/enums/gender-enum.enum.ts
Normal file
@ -0,0 +1,9 @@
|
||||
import { mapEnumToOptions } from '@abp/ng.core';
|
||||
|
||||
export enum GenderEnum {
|
||||
Male = 0,
|
||||
Female = 1,
|
||||
Others = 2,
|
||||
}
|
||||
|
||||
export const genderEnumOptions = mapEnumToOptions(GenderEnum);
|
1
angular/src/app/proxy/enums/index.ts
Normal file
1
angular/src/app/proxy/enums/index.ts
Normal file
@ -0,0 +1 @@
|
||||
export * from './gender-enum.enum';
|
9719
angular/src/app/proxy/generate-proxy.json
Normal file
9719
angular/src/app/proxy/generate-proxy.json
Normal file
File diff suppressed because it is too large
Load Diff
7
angular/src/app/proxy/index.ts
Normal file
7
angular/src/app/proxy/index.ts
Normal file
@ -0,0 +1,7 @@
|
||||
import * as Appointments from './appointments';
|
||||
import * as Departments from './departments';
|
||||
import * as Doctors from './doctors';
|
||||
import * as Dtos from './dtos';
|
||||
import * as Enums from './enums';
|
||||
import * as Volo from './volo';
|
||||
export { Appointments, Departments, Doctors, Dtos, Enums, Volo };
|
@ -0,0 +1 @@
|
||||
export * from './models';
|
@ -0,0 +1,17 @@
|
||||
import type { Entity } from '../models';
|
||||
|
||||
export interface AuditedEntity<TKey> extends CreationAuditedEntity<TKey> {
|
||||
lastModificationTime?: string;
|
||||
lastModifierId?: string;
|
||||
}
|
||||
|
||||
export interface CreationAuditedEntity<TKey> extends Entity<TKey> {
|
||||
creationTime?: string;
|
||||
creatorId?: string;
|
||||
}
|
||||
|
||||
export interface FullAuditedEntity<TKey> extends AuditedEntity<TKey> {
|
||||
isDeleted: boolean;
|
||||
deleterId?: string;
|
||||
deletionTime?: string;
|
||||
}
|
3
angular/src/app/proxy/volo/abp/domain/entities/index.ts
Normal file
3
angular/src/app/proxy/volo/abp/domain/entities/index.ts
Normal file
@ -0,0 +1,3 @@
|
||||
import * as Auditing from './auditing';
|
||||
export * from './models';
|
||||
export { Auditing };
|
3
angular/src/app/proxy/volo/abp/domain/entities/models.ts
Normal file
3
angular/src/app/proxy/volo/abp/domain/entities/models.ts
Normal file
@ -0,0 +1,3 @@
|
||||
|
||||
export interface Entity {
|
||||
}
|
2
angular/src/app/proxy/volo/abp/domain/index.ts
Normal file
2
angular/src/app/proxy/volo/abp/domain/index.ts
Normal file
@ -0,0 +1,2 @@
|
||||
import * as Entities from './entities';
|
||||
export { Entities };
|
2
angular/src/app/proxy/volo/abp/index.ts
Normal file
2
angular/src/app/proxy/volo/abp/index.ts
Normal file
@ -0,0 +1,2 @@
|
||||
import * as Domain from './domain';
|
||||
export { Domain };
|
2
angular/src/app/proxy/volo/index.ts
Normal file
2
angular/src/app/proxy/volo/index.ts
Normal file
@ -0,0 +1,2 @@
|
||||
import * as Abp from './abp';
|
||||
export { Abp };
|
@ -0,0 +1,28 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using Volo.Abp.DependencyInjection;
|
||||
using Volo.Abp.MultiTenancy;
|
||||
using Volo.Abp.Users;
|
||||
|
||||
namespace HospitalManagementSystem.Appointments
|
||||
{
|
||||
public class AppointmentAppService : HospitalManagementSystemAppService, IAppointmentAppService, ITransientDependency
|
||||
{
|
||||
private readonly ICurrentUser _currentUser;
|
||||
private readonly ICurrentTenant _currentTenant;
|
||||
public AppointmentAppService(ICurrentUser currentUser, ICurrentTenant currentTenant)
|
||||
{
|
||||
_currentUser = currentUser;
|
||||
_currentTenant = currentTenant;
|
||||
}
|
||||
public async Task<string> GetAsync()
|
||||
{
|
||||
var x = _currentUser.Id;
|
||||
var y = _currentTenant.Id;
|
||||
return _currentUser.Name + " checking done.";
|
||||
}
|
||||
}
|
||||
}
|
@ -0,0 +1,14 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using Volo.Abp.Application.Services;
|
||||
|
||||
namespace HospitalManagementSystem.Appointments
|
||||
{
|
||||
public interface IAppointmentAppService : IApplicationService
|
||||
{
|
||||
Task<string> GetAsync();
|
||||
}
|
||||
}
|
@ -0,0 +1,31 @@
|
||||
using HospitalManagementSystem.Dtos;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Threading.Tasks;
|
||||
using Volo.Abp.Domain.Repositories;
|
||||
|
||||
namespace HospitalManagementSystem.Departments
|
||||
{
|
||||
public class DepartmentAppService : HospitalManagementSystemAppService, IDepartmentAppService
|
||||
{
|
||||
private readonly IRepository<Department, Guid> _departmentRepository;
|
||||
public DepartmentAppService(IRepository<Department, Guid> departmentRepository)
|
||||
{
|
||||
_departmentRepository = departmentRepository;
|
||||
}
|
||||
public async Task<List<DepartmentDto>> GetAsync()
|
||||
{
|
||||
var departmentDtos = new List<DepartmentDto>();
|
||||
var data = await _departmentRepository.GetListAsync();
|
||||
departmentDtos = ObjectMapper.Map<List<Department>, List<DepartmentDto>>(data);
|
||||
return departmentDtos;
|
||||
}
|
||||
|
||||
public async Task<DepartmentDto> CreateAsync(CreateDepartmentDto input)
|
||||
{
|
||||
var department = new Department(Guid.NewGuid(), input.DepartmentNo, input.DepartmentName, input.DepartmentDate, input.DepartmentHead, "Active", input.Description);
|
||||
await _departmentRepository.InsertAsync(department);
|
||||
return ObjectMapper.Map<Department, DepartmentDto>(department);
|
||||
}
|
||||
}
|
||||
}
|
@ -0,0 +1,16 @@
|
||||
using HospitalManagementSystem.Dtos;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using Volo.Abp.Application.Services;
|
||||
|
||||
namespace HospitalManagementSystem.Departments
|
||||
{
|
||||
public interface IDepartmentAppService : IApplicationService
|
||||
{
|
||||
Task<List<DepartmentDto>> GetAsync();
|
||||
Task<DepartmentDto> CreateAsync(CreateDepartmentDto input);
|
||||
}
|
||||
}
|
@ -0,0 +1,31 @@
|
||||
using HospitalManagementSystem.Departments;
|
||||
using HospitalManagementSystem.Dtos;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Threading.Tasks;
|
||||
using Volo.Abp.Domain.Repositories;
|
||||
|
||||
namespace HospitalManagementSystem.Doctors
|
||||
{
|
||||
public class DoctorAppService : HospitalManagementSystemAppService, IDoctorAppService
|
||||
{
|
||||
private readonly IRepository<Doctor, Guid> _doctorRepository;
|
||||
public DoctorAppService(IRepository<Doctor, Guid> doctorRepository)
|
||||
{
|
||||
_doctorRepository = doctorRepository;
|
||||
}
|
||||
public async Task<List<DoctorDto>> GetAsync()
|
||||
{
|
||||
var doctorDtos = new List<DoctorDto>();
|
||||
var data = await _doctorRepository.GetListAsync();
|
||||
doctorDtos = ObjectMapper.Map<List<Doctor>, List<DoctorDto>>(data);
|
||||
return doctorDtos;
|
||||
}
|
||||
public async Task<DoctorDto> CreateAsync(CreateDoctorDto input)
|
||||
{
|
||||
var doctor = new Doctor(Guid.NewGuid(), input.FirstName, input.LastName, input.Gender, input.Mobile, input.Password, input.Designation, input.DepartmentId, input.Address, input.Email, input.DOB, input.Education);
|
||||
await _doctorRepository.InsertAsync(doctor);
|
||||
return ObjectMapper.Map<Doctor, DoctorDto>(doctor);
|
||||
}
|
||||
}
|
||||
}
|
@ -0,0 +1,12 @@
|
||||
using HospitalManagementSystem.Dtos;
|
||||
using System.Collections.Generic;
|
||||
using System.Threading.Tasks;
|
||||
using Volo.Abp.Application.Services;
|
||||
|
||||
namespace HospitalManagementSystem.Doctors
|
||||
{
|
||||
public interface IDoctorAppService : IApplicationService
|
||||
{
|
||||
Task<List<DoctorDto>> GetAsync();
|
||||
}
|
||||
}
|
@ -0,0 +1,17 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace HospitalManagementSystem.Dtos
|
||||
{
|
||||
public class CreateDepartmentDto
|
||||
{
|
||||
public string? DepartmentNo { get; set; }
|
||||
public string? DepartmentName { get; set; }
|
||||
public DateTime? DepartmentDate { get; set; }
|
||||
public string? DepartmentHead { get; set; }
|
||||
public string? Description { get; set; }
|
||||
}
|
||||
}
|
@ -0,0 +1,24 @@
|
||||
using HospitalManagementSystem.Enums;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace HospitalManagementSystem.Dtos
|
||||
{
|
||||
public class CreateDoctorDto
|
||||
{
|
||||
public string? FirstName { get; set; }
|
||||
public string? LastName { get; set; }
|
||||
public string? Gender { get; set; }
|
||||
public string? Mobile { get; set; }
|
||||
public string? Password { get; set; }
|
||||
public string? Designation { get; set; }
|
||||
public Guid? DepartmentId { get; set; }
|
||||
public string? Address { get; set; }
|
||||
public string? Email { get; set; }
|
||||
public string? DOB { get; set; }
|
||||
public string? Education { get; set; }
|
||||
}
|
||||
}
|
@ -0,0 +1,15 @@
|
||||
using System;
|
||||
using Volo.Abp.Domain.Entities.Auditing;
|
||||
|
||||
namespace HospitalManagementSystem.Dtos
|
||||
{
|
||||
public class DepartmentDto : FullAuditedEntity<Guid>
|
||||
{
|
||||
public string? DepartmentNo { get; set; }
|
||||
public string? DepartmentName { get; set; }
|
||||
public DateTime? DepartmentDate { get; set; }
|
||||
public string? DepartmentHead { get; set; }
|
||||
public string? Status { get; set; }
|
||||
public string? Description { get; set; }
|
||||
}
|
||||
}
|
@ -0,0 +1,24 @@
|
||||
using HospitalManagementSystem.Enums;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using Volo.Abp.Domain.Entities.Auditing;
|
||||
|
||||
namespace HospitalManagementSystem.Dtos
|
||||
{
|
||||
public class DoctorDto : FullAuditedEntity<Guid>
|
||||
{
|
||||
public string? FirstName { get; set; }
|
||||
public string? LastName { get; set; }
|
||||
public string? Gender { get; set; }
|
||||
public string? Mobile { get; set; }
|
||||
public string? Designation { get; set; }
|
||||
public Guid? DepartmentId { get; set; }
|
||||
public string? Address { get; set; }
|
||||
public string? Email { get; set; }
|
||||
public string? DOB { get; set; }
|
||||
public string? Education { get; set; }
|
||||
}
|
||||
}
|
@ -1,4 +1,7 @@
|
||||
using AutoMapper;
|
||||
using HospitalManagementSystem.Departments;
|
||||
using HospitalManagementSystem.Doctors;
|
||||
using HospitalManagementSystem.Dtos;
|
||||
|
||||
namespace HospitalManagementSystem;
|
||||
|
||||
@ -9,5 +12,7 @@ public class HospitalManagementSystemApplicationAutoMapperProfile : Profile
|
||||
/* You can configure your AutoMapper mapping configuration here.
|
||||
* Alternatively, you can split your mapping configurations
|
||||
* into multiple profile classes for a better organization. */
|
||||
CreateMap<Department, DepartmentDto>();
|
||||
CreateMap<Doctor, DoctorDto>();
|
||||
}
|
||||
}
|
||||
|
@ -0,0 +1,15 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace HospitalManagementSystem.Enums
|
||||
{
|
||||
public enum GenderEnum
|
||||
{
|
||||
Male = 0,
|
||||
Female = 1,
|
||||
Others = 2
|
||||
}
|
||||
}
|
@ -0,0 +1,26 @@
|
||||
using HospitalManagementSystem.Doctors;
|
||||
using HospitalManagementSystem.Enums;
|
||||
using System;
|
||||
using System.ComponentModel.DataAnnotations.Schema;
|
||||
using Volo.Abp.Domain.Entities.Auditing;
|
||||
|
||||
namespace HospitalManagementSystem.Appointments
|
||||
{
|
||||
public class Appointment : FullAuditedEntity<Guid>
|
||||
{
|
||||
public string? FirstName { get; set; }
|
||||
public string? LastName { get; set; }
|
||||
public GenderEnum? Gender { get; set; }
|
||||
public string? Mobile { get; set; }
|
||||
public string? Address { get; set; }
|
||||
public string? Email { get; set; }
|
||||
public string? DOB { get; set; }
|
||||
public Guid? DoctorId { get; set; }
|
||||
[ForeignKey("DoctorId")]
|
||||
public virtual Doctor? Doctor { get; set; }
|
||||
public DateTime? DateOfAppointment { get; set; }
|
||||
public string? TimeOfAppointment { get; set; }
|
||||
public string? InjuryORContion { get; set; }
|
||||
public string? Note { get; set; }
|
||||
}
|
||||
}
|
@ -0,0 +1,30 @@
|
||||
using System;
|
||||
using Volo.Abp.Domain.Entities.Auditing;
|
||||
|
||||
namespace HospitalManagementSystem.Departments
|
||||
{
|
||||
public class Department : FullAuditedEntity<Guid>
|
||||
{
|
||||
public string? DepartmentNo { get; set; }
|
||||
public string? DepartmentName { get; set; }
|
||||
public DateTime? DepartmentDate { get; set; }
|
||||
public string? DepartmentHead { get; set; }
|
||||
public string? Status { get; set; }
|
||||
public string? Description { get; set; }
|
||||
|
||||
public Department()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
public Department(Guid id, string? departmentNo, string? departmentName, DateTime? departmentDate, string? departmentHead, string? status, string? description) : base(id)
|
||||
{
|
||||
DepartmentNo = departmentNo;
|
||||
DepartmentName = departmentName;
|
||||
DepartmentDate = departmentDate;
|
||||
DepartmentHead = departmentHead;
|
||||
Status = status;
|
||||
Description = description;
|
||||
}
|
||||
}
|
||||
}
|
@ -0,0 +1,49 @@
|
||||
using HospitalManagementSystem.Appointments;
|
||||
using HospitalManagementSystem.Departments;
|
||||
using HospitalManagementSystem.Enums;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel.DataAnnotations.Schema;
|
||||
using Volo.Abp.Domain.Entities.Auditing;
|
||||
|
||||
namespace HospitalManagementSystem.Doctors
|
||||
{
|
||||
public class Doctor : FullAuditedEntity<Guid>
|
||||
{
|
||||
public string? FirstName { get; set; }
|
||||
public string? LastName { get; set; }
|
||||
public string? Gender { get; set; }
|
||||
public string? Mobile { get; set; }
|
||||
public string? Password { get; set; }
|
||||
public string? Designation { get; set; }
|
||||
public Guid? DepartmentId { get; set; }
|
||||
[ForeignKey("DepartmentId")]
|
||||
public virtual Department? Department { get; set; }
|
||||
public string? Address { get; set; }
|
||||
public string? Email { get; set; }
|
||||
public string? DOB { get; set; }
|
||||
public string? Education { get; set; }
|
||||
public virtual ICollection<Appointment> Appointments { get; set; } = new List<Appointment>();
|
||||
public Doctor()
|
||||
{
|
||||
//Appointments = new List<Appointment>();
|
||||
}
|
||||
public Doctor(Guid id, string? firstName, string? lastName,
|
||||
string? gender, string? mobile, string? password,
|
||||
string? designation, Guid? departmentId, string? address,
|
||||
string? email, string? dOB, string? education) : base(id)
|
||||
{
|
||||
FirstName = firstName;
|
||||
LastName = lastName;
|
||||
Gender = gender;
|
||||
Mobile = mobile;
|
||||
Password = password;
|
||||
Designation = designation;
|
||||
DepartmentId = departmentId;
|
||||
Address = address;
|
||||
Email = email;
|
||||
DOB = dOB;
|
||||
Education = education;
|
||||
}
|
||||
}
|
||||
}
|
@ -1,4 +1,7 @@
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
using HospitalManagementSystem.Appointments;
|
||||
using HospitalManagementSystem.Departments;
|
||||
using HospitalManagementSystem.Doctors;
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
using Volo.Abp.AuditLogging.EntityFrameworkCore;
|
||||
using Volo.Abp.BackgroundJobs.EntityFrameworkCore;
|
||||
using Volo.Abp.Data;
|
||||
@ -50,6 +53,10 @@ public class HospitalManagementSystemDbContext :
|
||||
// Tenant Management
|
||||
public DbSet<Tenant> Tenants { get; set; }
|
||||
public DbSet<TenantConnectionString> TenantConnectionStrings { get; set; }
|
||||
//Custom entity
|
||||
public DbSet<Department> Departments { get; set; }
|
||||
public DbSet<Doctor> Doctors { get; set; }
|
||||
public DbSet<Appointment> Appointments { get; set; }
|
||||
|
||||
#endregion
|
||||
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,131 @@
|
||||
using System;
|
||||
using Microsoft.EntityFrameworkCore.Migrations;
|
||||
|
||||
#nullable disable
|
||||
|
||||
namespace HospitalManagementSystem.Migrations
|
||||
{
|
||||
/// <inheritdoc />
|
||||
public partial class addedDepartment_Doctor_Appointment_Table : Migration
|
||||
{
|
||||
/// <inheritdoc />
|
||||
protected override void Up(MigrationBuilder migrationBuilder)
|
||||
{
|
||||
migrationBuilder.CreateTable(
|
||||
name: "Departments",
|
||||
columns: table => new
|
||||
{
|
||||
Id = table.Column<Guid>(type: "uniqueidentifier", nullable: false),
|
||||
DepartmentNo = table.Column<string>(type: "nvarchar(max)", nullable: true),
|
||||
DepartmentName = table.Column<string>(type: "nvarchar(max)", nullable: true),
|
||||
DepartmentDate = table.Column<DateTime>(type: "datetime2", nullable: true),
|
||||
DepartmentHead = table.Column<string>(type: "nvarchar(max)", nullable: true),
|
||||
Status = table.Column<string>(type: "nvarchar(max)", nullable: true),
|
||||
Description = table.Column<string>(type: "nvarchar(max)", nullable: true),
|
||||
CreationTime = table.Column<DateTime>(type: "datetime2", nullable: false),
|
||||
CreatorId = table.Column<Guid>(type: "uniqueidentifier", nullable: true),
|
||||
LastModificationTime = table.Column<DateTime>(type: "datetime2", nullable: true),
|
||||
LastModifierId = table.Column<Guid>(type: "uniqueidentifier", nullable: true),
|
||||
IsDeleted = table.Column<bool>(type: "bit", nullable: false, defaultValue: false),
|
||||
DeleterId = table.Column<Guid>(type: "uniqueidentifier", nullable: true),
|
||||
DeletionTime = table.Column<DateTime>(type: "datetime2", nullable: true)
|
||||
},
|
||||
constraints: table =>
|
||||
{
|
||||
table.PrimaryKey("PK_Departments", x => x.Id);
|
||||
});
|
||||
|
||||
migrationBuilder.CreateTable(
|
||||
name: "Doctors",
|
||||
columns: table => new
|
||||
{
|
||||
Id = table.Column<Guid>(type: "uniqueidentifier", nullable: false),
|
||||
FirstName = table.Column<string>(type: "nvarchar(max)", nullable: true),
|
||||
LastName = table.Column<string>(type: "nvarchar(max)", nullable: true),
|
||||
Gender = table.Column<string>(type: "nvarchar(max)", nullable: true),
|
||||
Mobile = table.Column<string>(type: "nvarchar(max)", nullable: true),
|
||||
Password = table.Column<string>(type: "nvarchar(max)", nullable: true),
|
||||
Designation = table.Column<string>(type: "nvarchar(max)", nullable: true),
|
||||
DepartmentId = table.Column<Guid>(type: "uniqueidentifier", nullable: true),
|
||||
Address = table.Column<string>(type: "nvarchar(max)", nullable: true),
|
||||
Email = table.Column<string>(type: "nvarchar(max)", nullable: true),
|
||||
DOB = table.Column<string>(type: "nvarchar(max)", nullable: true),
|
||||
Education = table.Column<string>(type: "nvarchar(max)", nullable: true),
|
||||
CreationTime = table.Column<DateTime>(type: "datetime2", nullable: false),
|
||||
CreatorId = table.Column<Guid>(type: "uniqueidentifier", nullable: true),
|
||||
LastModificationTime = table.Column<DateTime>(type: "datetime2", nullable: true),
|
||||
LastModifierId = table.Column<Guid>(type: "uniqueidentifier", nullable: true),
|
||||
IsDeleted = table.Column<bool>(type: "bit", nullable: false, defaultValue: false),
|
||||
DeleterId = table.Column<Guid>(type: "uniqueidentifier", nullable: true),
|
||||
DeletionTime = table.Column<DateTime>(type: "datetime2", nullable: true)
|
||||
},
|
||||
constraints: table =>
|
||||
{
|
||||
table.PrimaryKey("PK_Doctors", x => x.Id);
|
||||
table.ForeignKey(
|
||||
name: "FK_Doctors_Departments_DepartmentId",
|
||||
column: x => x.DepartmentId,
|
||||
principalTable: "Departments",
|
||||
principalColumn: "Id");
|
||||
});
|
||||
|
||||
migrationBuilder.CreateTable(
|
||||
name: "Appointments",
|
||||
columns: table => new
|
||||
{
|
||||
Id = table.Column<Guid>(type: "uniqueidentifier", nullable: false),
|
||||
FirstName = table.Column<string>(type: "nvarchar(max)", nullable: true),
|
||||
LastName = table.Column<string>(type: "nvarchar(max)", nullable: true),
|
||||
Gender = table.Column<string>(type: "nvarchar(max)", nullable: true),
|
||||
Mobile = table.Column<string>(type: "nvarchar(max)", nullable: true),
|
||||
Address = table.Column<string>(type: "nvarchar(max)", nullable: true),
|
||||
Email = table.Column<string>(type: "nvarchar(max)", nullable: true),
|
||||
DOB = table.Column<string>(type: "nvarchar(max)", nullable: true),
|
||||
DoctorId = table.Column<Guid>(type: "uniqueidentifier", nullable: true),
|
||||
DateOfAppointment = table.Column<DateTime>(type: "datetime2", nullable: true),
|
||||
TimeOfAppointment = table.Column<string>(type: "nvarchar(max)", nullable: true),
|
||||
InjuryORContion = table.Column<string>(type: "nvarchar(max)", nullable: true),
|
||||
Note = table.Column<string>(type: "nvarchar(max)", nullable: true),
|
||||
CreationTime = table.Column<DateTime>(type: "datetime2", nullable: false),
|
||||
CreatorId = table.Column<Guid>(type: "uniqueidentifier", nullable: true),
|
||||
LastModificationTime = table.Column<DateTime>(type: "datetime2", nullable: true),
|
||||
LastModifierId = table.Column<Guid>(type: "uniqueidentifier", nullable: true),
|
||||
IsDeleted = table.Column<bool>(type: "bit", nullable: false, defaultValue: false),
|
||||
DeleterId = table.Column<Guid>(type: "uniqueidentifier", nullable: true),
|
||||
DeletionTime = table.Column<DateTime>(type: "datetime2", nullable: true)
|
||||
},
|
||||
constraints: table =>
|
||||
{
|
||||
table.PrimaryKey("PK_Appointments", x => x.Id);
|
||||
table.ForeignKey(
|
||||
name: "FK_Appointments_Doctors_DoctorId",
|
||||
column: x => x.DoctorId,
|
||||
principalTable: "Doctors",
|
||||
principalColumn: "Id");
|
||||
});
|
||||
|
||||
migrationBuilder.CreateIndex(
|
||||
name: "IX_Appointments_DoctorId",
|
||||
table: "Appointments",
|
||||
column: "DoctorId");
|
||||
|
||||
migrationBuilder.CreateIndex(
|
||||
name: "IX_Doctors_DepartmentId",
|
||||
table: "Doctors",
|
||||
column: "DepartmentId");
|
||||
}
|
||||
|
||||
/// <inheritdoc />
|
||||
protected override void Down(MigrationBuilder migrationBuilder)
|
||||
{
|
||||
migrationBuilder.DropTable(
|
||||
name: "Appointments");
|
||||
|
||||
migrationBuilder.DropTable(
|
||||
name: "Doctors");
|
||||
|
||||
migrationBuilder.DropTable(
|
||||
name: "Departments");
|
||||
}
|
||||
}
|
||||
}
|
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,36 @@
|
||||
using Microsoft.EntityFrameworkCore.Migrations;
|
||||
|
||||
#nullable disable
|
||||
|
||||
namespace HospitalManagementSystem.Migrations
|
||||
{
|
||||
/// <inheritdoc />
|
||||
public partial class changeGenderEnumToString : Migration
|
||||
{
|
||||
/// <inheritdoc />
|
||||
protected override void Up(MigrationBuilder migrationBuilder)
|
||||
{
|
||||
migrationBuilder.AlterColumn<int>(
|
||||
name: "Gender",
|
||||
table: "Appointments",
|
||||
type: "int",
|
||||
nullable: true,
|
||||
oldClrType: typeof(string),
|
||||
oldType: "nvarchar(max)",
|
||||
oldNullable: true);
|
||||
}
|
||||
|
||||
/// <inheritdoc />
|
||||
protected override void Down(MigrationBuilder migrationBuilder)
|
||||
{
|
||||
migrationBuilder.AlterColumn<string>(
|
||||
name: "Gender",
|
||||
table: "Appointments",
|
||||
type: "nvarchar(max)",
|
||||
nullable: true,
|
||||
oldClrType: typeof(int),
|
||||
oldType: "int",
|
||||
oldNullable: true);
|
||||
}
|
||||
}
|
||||
}
|
@ -24,6 +24,217 @@ namespace HospitalManagementSystem.Migrations
|
||||
|
||||
SqlServerModelBuilderExtensions.UseIdentityColumns(modelBuilder);
|
||||
|
||||
modelBuilder.Entity("HospitalManagementSystem.Appointments.Appointment", b =>
|
||||
{
|
||||
b.Property<Guid>("Id")
|
||||
.HasColumnType("uniqueidentifier");
|
||||
|
||||
b.Property<string>("Address")
|
||||
.HasColumnType("nvarchar(max)");
|
||||
|
||||
b.Property<DateTime>("CreationTime")
|
||||
.HasColumnType("datetime2")
|
||||
.HasColumnName("CreationTime");
|
||||
|
||||
b.Property<Guid?>("CreatorId")
|
||||
.HasColumnType("uniqueidentifier")
|
||||
.HasColumnName("CreatorId");
|
||||
|
||||
b.Property<string>("DOB")
|
||||
.HasColumnType("nvarchar(max)");
|
||||
|
||||
b.Property<DateTime?>("DateOfAppointment")
|
||||
.HasColumnType("datetime2");
|
||||
|
||||
b.Property<Guid?>("DeleterId")
|
||||
.HasColumnType("uniqueidentifier")
|
||||
.HasColumnName("DeleterId");
|
||||
|
||||
b.Property<DateTime?>("DeletionTime")
|
||||
.HasColumnType("datetime2")
|
||||
.HasColumnName("DeletionTime");
|
||||
|
||||
b.Property<Guid?>("DoctorId")
|
||||
.HasColumnType("uniqueidentifier");
|
||||
|
||||
b.Property<string>("Email")
|
||||
.HasColumnType("nvarchar(max)");
|
||||
|
||||
b.Property<string>("FirstName")
|
||||
.HasColumnType("nvarchar(max)");
|
||||
|
||||
b.Property<int?>("Gender")
|
||||
.HasColumnType("int");
|
||||
|
||||
b.Property<string>("InjuryORContion")
|
||||
.HasColumnType("nvarchar(max)");
|
||||
|
||||
b.Property<bool>("IsDeleted")
|
||||
.ValueGeneratedOnAdd()
|
||||
.HasColumnType("bit")
|
||||
.HasDefaultValue(false)
|
||||
.HasColumnName("IsDeleted");
|
||||
|
||||
b.Property<DateTime?>("LastModificationTime")
|
||||
.HasColumnType("datetime2")
|
||||
.HasColumnName("LastModificationTime");
|
||||
|
||||
b.Property<Guid?>("LastModifierId")
|
||||
.HasColumnType("uniqueidentifier")
|
||||
.HasColumnName("LastModifierId");
|
||||
|
||||
b.Property<string>("LastName")
|
||||
.HasColumnType("nvarchar(max)");
|
||||
|
||||
b.Property<string>("Mobile")
|
||||
.HasColumnType("nvarchar(max)");
|
||||
|
||||
b.Property<string>("Note")
|
||||
.HasColumnType("nvarchar(max)");
|
||||
|
||||
b.Property<string>("TimeOfAppointment")
|
||||
.HasColumnType("nvarchar(max)");
|
||||
|
||||
b.HasKey("Id");
|
||||
|
||||
b.HasIndex("DoctorId");
|
||||
|
||||
b.ToTable("Appointments");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("HospitalManagementSystem.Departments.Department", b =>
|
||||
{
|
||||
b.Property<Guid>("Id")
|
||||
.HasColumnType("uniqueidentifier");
|
||||
|
||||
b.Property<DateTime>("CreationTime")
|
||||
.HasColumnType("datetime2")
|
||||
.HasColumnName("CreationTime");
|
||||
|
||||
b.Property<Guid?>("CreatorId")
|
||||
.HasColumnType("uniqueidentifier")
|
||||
.HasColumnName("CreatorId");
|
||||
|
||||
b.Property<Guid?>("DeleterId")
|
||||
.HasColumnType("uniqueidentifier")
|
||||
.HasColumnName("DeleterId");
|
||||
|
||||
b.Property<DateTime?>("DeletionTime")
|
||||
.HasColumnType("datetime2")
|
||||
.HasColumnName("DeletionTime");
|
||||
|
||||
b.Property<DateTime?>("DepartmentDate")
|
||||
.HasColumnType("datetime2");
|
||||
|
||||
b.Property<string>("DepartmentHead")
|
||||
.HasColumnType("nvarchar(max)");
|
||||
|
||||
b.Property<string>("DepartmentName")
|
||||
.HasColumnType("nvarchar(max)");
|
||||
|
||||
b.Property<string>("DepartmentNo")
|
||||
.HasColumnType("nvarchar(max)");
|
||||
|
||||
b.Property<string>("Description")
|
||||
.HasColumnType("nvarchar(max)");
|
||||
|
||||
b.Property<bool>("IsDeleted")
|
||||
.ValueGeneratedOnAdd()
|
||||
.HasColumnType("bit")
|
||||
.HasDefaultValue(false)
|
||||
.HasColumnName("IsDeleted");
|
||||
|
||||
b.Property<DateTime?>("LastModificationTime")
|
||||
.HasColumnType("datetime2")
|
||||
.HasColumnName("LastModificationTime");
|
||||
|
||||
b.Property<Guid?>("LastModifierId")
|
||||
.HasColumnType("uniqueidentifier")
|
||||
.HasColumnName("LastModifierId");
|
||||
|
||||
b.Property<string>("Status")
|
||||
.HasColumnType("nvarchar(max)");
|
||||
|
||||
b.HasKey("Id");
|
||||
|
||||
b.ToTable("Departments");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("HospitalManagementSystem.Doctors.Doctor", b =>
|
||||
{
|
||||
b.Property<Guid>("Id")
|
||||
.HasColumnType("uniqueidentifier");
|
||||
|
||||
b.Property<string>("Address")
|
||||
.HasColumnType("nvarchar(max)");
|
||||
|
||||
b.Property<DateTime>("CreationTime")
|
||||
.HasColumnType("datetime2")
|
||||
.HasColumnName("CreationTime");
|
||||
|
||||
b.Property<Guid?>("CreatorId")
|
||||
.HasColumnType("uniqueidentifier")
|
||||
.HasColumnName("CreatorId");
|
||||
|
||||
b.Property<string>("DOB")
|
||||
.HasColumnType("nvarchar(max)");
|
||||
|
||||
b.Property<Guid?>("DeleterId")
|
||||
.HasColumnType("uniqueidentifier")
|
||||
.HasColumnName("DeleterId");
|
||||
|
||||
b.Property<DateTime?>("DeletionTime")
|
||||
.HasColumnType("datetime2")
|
||||
.HasColumnName("DeletionTime");
|
||||
|
||||
b.Property<Guid?>("DepartmentId")
|
||||
.HasColumnType("uniqueidentifier");
|
||||
|
||||
b.Property<string>("Designation")
|
||||
.HasColumnType("nvarchar(max)");
|
||||
|
||||
b.Property<string>("Education")
|
||||
.HasColumnType("nvarchar(max)");
|
||||
|
||||
b.Property<string>("Email")
|
||||
.HasColumnType("nvarchar(max)");
|
||||
|
||||
b.Property<string>("FirstName")
|
||||
.HasColumnType("nvarchar(max)");
|
||||
|
||||
b.Property<string>("Gender")
|
||||
.HasColumnType("nvarchar(max)");
|
||||
|
||||
b.Property<bool>("IsDeleted")
|
||||
.ValueGeneratedOnAdd()
|
||||
.HasColumnType("bit")
|
||||
.HasDefaultValue(false)
|
||||
.HasColumnName("IsDeleted");
|
||||
|
||||
b.Property<DateTime?>("LastModificationTime")
|
||||
.HasColumnType("datetime2")
|
||||
.HasColumnName("LastModificationTime");
|
||||
|
||||
b.Property<Guid?>("LastModifierId")
|
||||
.HasColumnType("uniqueidentifier")
|
||||
.HasColumnName("LastModifierId");
|
||||
|
||||
b.Property<string>("LastName")
|
||||
.HasColumnType("nvarchar(max)");
|
||||
|
||||
b.Property<string>("Mobile")
|
||||
.HasColumnType("nvarchar(max)");
|
||||
|
||||
b.Property<string>("Password")
|
||||
.HasColumnType("nvarchar(max)");
|
||||
|
||||
b.HasKey("Id");
|
||||
|
||||
b.HasIndex("DepartmentId");
|
||||
|
||||
b.ToTable("Doctors");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("Volo.Abp.AuditLogging.AuditLog", b =>
|
||||
{
|
||||
b.Property<Guid>("Id")
|
||||
@ -1764,6 +1975,24 @@ namespace HospitalManagementSystem.Migrations
|
||||
b.ToTable("AbpTenantConnectionStrings", (string)null);
|
||||
});
|
||||
|
||||
modelBuilder.Entity("HospitalManagementSystem.Appointments.Appointment", b =>
|
||||
{
|
||||
b.HasOne("HospitalManagementSystem.Doctors.Doctor", "Doctor")
|
||||
.WithMany("Appointments")
|
||||
.HasForeignKey("DoctorId");
|
||||
|
||||
b.Navigation("Doctor");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("HospitalManagementSystem.Doctors.Doctor", b =>
|
||||
{
|
||||
b.HasOne("HospitalManagementSystem.Departments.Department", "Department")
|
||||
.WithMany()
|
||||
.HasForeignKey("DepartmentId");
|
||||
|
||||
b.Navigation("Department");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("Volo.Abp.AuditLogging.AuditLogAction", b =>
|
||||
{
|
||||
b.HasOne("Volo.Abp.AuditLogging.AuditLog", null)
|
||||
@ -1906,6 +2135,11 @@ namespace HospitalManagementSystem.Migrations
|
||||
.IsRequired();
|
||||
});
|
||||
|
||||
modelBuilder.Entity("HospitalManagementSystem.Doctors.Doctor", b =>
|
||||
{
|
||||
b.Navigation("Appointments");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("Volo.Abp.AuditLogging.AuditLog", b =>
|
||||
{
|
||||
b.Navigation("Actions");
|
||||
|
Loading…
x
Reference in New Issue
Block a user