| using System; |
| using System.Collections.Generic; |
| using Microsoft.EntityFrameworkCore; |
|
|
| namespace SCMS.Database.Models; |
|
|
| public partial class AppDbContext : DbContext |
| { |
| public AppDbContext(DbContextOptions<AppDbContext> options) |
| : base(options) |
| { |
| } |
|
|
| public virtual DbSet<TblAppointment> TblAppointments { get; set; } |
|
|
| public virtual DbSet<TblDisease> TblDiseases { get; set; } |
|
|
| public virtual DbSet<TblFollowUp> TblFollowUps { get; set; } |
|
|
| public virtual DbSet<TblMedicine> TblMedicines { get; set; } |
|
|
| public virtual DbSet<TblMedicineBatch> TblMedicineBatches { get; set; } |
|
|
| public virtual DbSet<TblMedicineCategory> TblMedicineCategories { get; set; } |
|
|
| public virtual DbSet<TblNotification> TblNotifications { get; set; } |
|
|
| public virtual DbSet<TblPatient> TblPatients { get; set; } |
|
|
| public virtual DbSet<TblPayment> TblPayments { get; set; } |
|
|
| public virtual DbSet<TblPermission> TblPermissions { get; set; } |
|
|
| public virtual DbSet<TblPrescription> TblPrescriptions { get; set; } |
|
|
| public virtual DbSet<TblPrescriptionItem> TblPrescriptionItems { get; set; } |
|
|
| public virtual DbSet<TblPrescriptionItemSchedule> TblPrescriptionItemSchedules { get; set; } |
|
|
| public virtual DbSet<TblPrescriptionTemplate> TblPrescriptionTemplates { get; set; } |
|
|
| public virtual DbSet<TblPrescriptionTemplateItem> TblPrescriptionTemplateItems { get; set; } |
|
|
| public virtual DbSet<TblRolePermission> TblRolePermissions { get; set; } |
|
|
| public virtual DbSet<TblUser> TblUsers { get; set; } |
|
|
| public virtual DbSet<TblUserRole> TblUserRoles { get; set; } |
|
|
| public virtual DbSet<TblUserToken> TblUserTokens { get; set; } |
|
|
| protected override void OnModelCreating(ModelBuilder modelBuilder) |
| { |
| modelBuilder.Entity<TblAppointment>(entity => |
| { |
| entity.HasKey(e => e.Id).HasName("tbl_appointment_pkey"); |
|
|
| entity.ToTable("tbl_appointment"); |
|
|
| entity.HasIndex(e => e.AppointmentCode, "tbl_appointment_appointment_code_key").IsUnique(); |
|
|
| entity.Property(e => e.Id).HasColumnName("id"); |
| entity.Property(e => e.AppointmentCode) |
| .HasMaxLength(50) |
| .HasColumnName("appointment_code"); |
| entity.Property(e => e.CreatedAt) |
| .HasDefaultValueSql("CURRENT_TIMESTAMP") |
| .HasColumnType("timestamp without time zone") |
| .HasColumnName("created_at"); |
| entity.Property(e => e.Datetime) |
| .HasColumnType("timestamp without time zone") |
| .HasColumnName("datetime"); |
| entity.Property(e => e.Notes).HasColumnName("notes"); |
| entity.Property(e => e.PatientId).HasColumnName("patient_id"); |
| entity.Property(e => e.Status) |
| .HasMaxLength(50) |
| .HasComment("pending / confirmed / cancelled / completed") |
| .HasColumnName("status"); |
| entity.Property(e => e.UpdatedAt) |
| .HasColumnType("timestamp without time zone") |
| .HasColumnName("updated_at"); |
|
|
| entity.HasOne(d => d.Patient).WithMany(p => p.TblAppointments) |
| .HasForeignKey(d => d.PatientId) |
| .OnDelete(DeleteBehavior.ClientSetNull) |
| .HasConstraintName("fk_appointment_patient"); |
| }); |
|
|
| modelBuilder.Entity<TblDisease>(entity => |
| { |
| entity.HasKey(e => e.Id).HasName("tbl_disease_pkey"); |
|
|
| entity.ToTable("tbl_disease"); |
|
|
| entity.HasIndex(e => e.Name, "tbl_disease_name_key").IsUnique(); |
|
|
| entity.Property(e => e.Id).HasColumnName("id"); |
| entity.Property(e => e.CreatedAt) |
| .HasDefaultValueSql("CURRENT_TIMESTAMP") |
| .HasColumnType("timestamp without time zone") |
| .HasColumnName("created_at"); |
| entity.Property(e => e.DeleteFlag).HasColumnName("delete_flag"); |
| entity.Property(e => e.Description) |
| .HasMaxLength(255) |
| .HasColumnName("description"); |
| entity.Property(e => e.Name) |
| .HasMaxLength(255) |
| .HasColumnName("name"); |
| entity.Property(e => e.UpdatedAt) |
| .HasColumnType("timestamp without time zone") |
| .HasColumnName("updated_at"); |
| }); |
|
|
| modelBuilder.Entity<TblFollowUp>(entity => |
| { |
| entity.HasKey(e => e.Id).HasName("tbl_follow_up_pkey"); |
|
|
| entity.ToTable("tbl_follow_up"); |
|
|
| entity.Property(e => e.Id).HasColumnName("id"); |
| entity.Property(e => e.AppointmentId).HasColumnName("appointment_id"); |
| entity.Property(e => e.CompletedAt) |
| .HasColumnType("timestamp without time zone") |
| .HasColumnName("completed_at"); |
| entity.Property(e => e.CreatedAt) |
| .HasDefaultValueSql("CURRENT_TIMESTAMP") |
| .HasColumnType("timestamp without time zone") |
| .HasColumnName("created_at"); |
| entity.Property(e => e.DeleteFlag).HasColumnName("delete_flag"); |
| entity.Property(e => e.DueAt) |
| .HasColumnType("timestamp without time zone") |
| .HasColumnName("due_at"); |
| entity.Property(e => e.PatientId).HasColumnName("patient_id"); |
| entity.Property(e => e.PrescriptionId).HasColumnName("prescription_id"); |
| entity.Property(e => e.Recommendation).HasColumnName("recommendation"); |
| entity.Property(e => e.Status) |
| .HasMaxLength(50) |
| .HasComment("pending / completed") |
| .HasColumnName("status"); |
| entity.Property(e => e.UpdatedAt) |
| .HasColumnType("timestamp without time zone") |
| .HasColumnName("updated_at"); |
|
|
| entity.HasOne(d => d.Appointment).WithMany(p => p.TblFollowUps) |
| .HasForeignKey(d => d.AppointmentId) |
| .OnDelete(DeleteBehavior.SetNull) |
| .HasConstraintName("fk_follow_up_appointment"); |
|
|
| entity.HasOne(d => d.Patient).WithMany(p => p.TblFollowUps) |
| .HasForeignKey(d => d.PatientId) |
| .OnDelete(DeleteBehavior.ClientSetNull) |
| .HasConstraintName("fk_follow_up_patient"); |
|
|
| entity.HasOne(d => d.Prescription).WithMany(p => p.TblFollowUps) |
| .HasForeignKey(d => d.PrescriptionId) |
| .OnDelete(DeleteBehavior.SetNull) |
| .HasConstraintName("fk_follow_up_prescription"); |
| }); |
|
|
| modelBuilder.Entity<TblMedicine>(entity => |
| { |
| entity.HasKey(e => e.MedicineId).HasName("tbl_medicine_pkey"); |
|
|
| entity.ToTable("tbl_medicine"); |
|
|
| entity.Property(e => e.MedicineId).HasColumnName("medicine_id"); |
| entity.Property(e => e.CategoryId).HasColumnName("category_id"); |
| entity.Property(e => e.CreatedAt) |
| .HasDefaultValueSql("CURRENT_TIMESTAMP") |
| .HasColumnType("timestamp without time zone") |
| .HasColumnName("created_at"); |
| entity.Property(e => e.DeleteFlag).HasColumnName("delete_flag"); |
| entity.Property(e => e.Description).HasColumnName("description"); |
| entity.Property(e => e.ImageId) |
| .HasMaxLength(255) |
| .HasColumnName("image_id"); |
| entity.Property(e => e.ImageUrl) |
| .HasMaxLength(500) |
| .HasColumnName("image_url"); |
| entity.Property(e => e.Name) |
| .HasMaxLength(255) |
| .HasColumnName("name"); |
| entity.Property(e => e.UnitPrice) |
| .HasPrecision(10, 2) |
| .HasColumnName("unit_price"); |
| entity.Property(e => e.UpdatedAt) |
| .HasColumnType("timestamp without time zone") |
| .HasColumnName("updated_at"); |
|
|
| entity.HasOne(d => d.Category).WithMany(p => p.TblMedicines) |
| .HasForeignKey(d => d.CategoryId) |
| .OnDelete(DeleteBehavior.SetNull) |
| .HasConstraintName("fk_medicine_category"); |
| }); |
|
|
| modelBuilder.Entity<TblMedicineBatch>(entity => |
| { |
| entity.HasKey(e => e.Id).HasName("tbl_medicine_batch_pkey"); |
|
|
| entity.ToTable("tbl_medicine_batch"); |
|
|
| entity.HasIndex(e => new { e.MedId, e.BatchNo }, "uq_med_batch").IsUnique(); |
|
|
| entity.Property(e => e.Id).HasColumnName("id"); |
| entity.Property(e => e.BatchNo) |
| .HasMaxLength(100) |
| .HasColumnName("batch_no"); |
| entity.Property(e => e.CreatedAt) |
| .HasDefaultValueSql("CURRENT_TIMESTAMP") |
| .HasColumnType("timestamp without time zone") |
| .HasColumnName("created_at"); |
| entity.Property(e => e.DeleteFlag).HasColumnName("delete_flag"); |
| entity.Property(e => e.ExpiryDate).HasColumnName("expiry_date"); |
| entity.Property(e => e.MedId).HasColumnName("med_id"); |
| entity.Property(e => e.Quantity) |
| .HasDefaultValue(0) |
| .HasColumnName("quantity"); |
| entity.Property(e => e.ReceivedDate).HasColumnName("received_date"); |
| entity.Property(e => e.Status) |
| .HasMaxLength(50) |
| .HasComment("active / expired / disposed") |
| .HasColumnName("status"); |
| entity.Property(e => e.SupplierName) |
| .HasMaxLength(255) |
| .HasColumnName("supplier_name"); |
| entity.Property(e => e.UpdatedAt) |
| .HasColumnType("timestamp without time zone") |
| .HasColumnName("updated_at"); |
|
|
| entity.HasOne(d => d.Med).WithMany(p => p.TblMedicineBatches) |
| .HasForeignKey(d => d.MedId) |
| .HasConstraintName("fk_batch_medicine"); |
| }); |
|
|
| modelBuilder.Entity<TblMedicineCategory>(entity => |
| { |
| entity.HasKey(e => e.Id).HasName("tbl_medicine_category_pkey"); |
|
|
| entity.ToTable("tbl_medicine_category"); |
|
|
| entity.HasIndex(e => e.Name, "tbl_medicine_category_name_key").IsUnique(); |
|
|
| entity.Property(e => e.Id).HasColumnName("id"); |
| entity.Property(e => e.Name) |
| .HasMaxLength(255) |
| .HasColumnName("name"); |
| }); |
|
|
| modelBuilder.Entity<TblNotification>(entity => |
| { |
| entity.HasKey(e => e.Id).HasName("tbl_notification_pkey"); |
|
|
| entity.ToTable("tbl_notification"); |
|
|
| entity.Property(e => e.Id).HasColumnName("id"); |
| entity.Property(e => e.ActionRoute) |
| .HasMaxLength(255) |
| .HasColumnName("action_route"); |
| entity.Property(e => e.CreatedAt) |
| .HasDefaultValueSql("CURRENT_TIMESTAMP") |
| .HasColumnType("timestamp without time zone") |
| .HasColumnName("created_at"); |
| entity.Property(e => e.DeleteFlag).HasColumnName("delete_flag"); |
| entity.Property(e => e.Description).HasColumnName("description"); |
| entity.Property(e => e.Title) |
| .HasMaxLength(255) |
| .HasColumnName("title"); |
| entity.Property(e => e.UpdatedAt) |
| .HasColumnType("timestamp without time zone") |
| .HasColumnName("updated_at"); |
| entity.Property(e => e.UserId).HasColumnName("user_id"); |
|
|
| entity.HasOne(d => d.User).WithMany(p => p.TblNotifications) |
| .HasForeignKey(d => d.UserId) |
| .OnDelete(DeleteBehavior.Cascade) |
| .HasConstraintName("fk_notification_user"); |
| }); |
|
|
| modelBuilder.Entity<TblPatient>(entity => |
| { |
| entity.HasKey(e => e.PatientId).HasName("tbl_patient_pkey"); |
|
|
| entity.ToTable("tbl_patient"); |
|
|
| entity.Property(e => e.PatientId).HasColumnName("patient_id"); |
| entity.Property(e => e.Address).HasColumnName("address"); |
| entity.Property(e => e.Allergies).HasColumnName("allergies"); |
| entity.Property(e => e.ChronicConditions).HasColumnName("chronic_conditions"); |
| entity.Property(e => e.PastSurgeries).HasColumnName("past_surgeries"); |
| entity.Property(e => e.FamilyHistory).HasColumnName("family_history"); |
| entity.Property(e => e.VaccinationHistory).HasColumnName("vaccination_history"); |
| entity.Property(e => e.BloodType) |
| .HasMaxLength(5) |
| .HasColumnName("blood_type"); |
| entity.Property(e => e.CreatedAt) |
| .HasDefaultValueSql("CURRENT_TIMESTAMP") |
| .HasColumnType("timestamp without time zone") |
| .HasColumnName("created_at"); |
| entity.Property(e => e.DateOfBirth).HasColumnName("date_of_birth"); |
| entity.Property(e => e.DeleteFlag).HasColumnName("delete_flag"); |
| entity.Property(e => e.Email) |
| .HasMaxLength(100) |
| .HasColumnName("email"); |
| entity.Property(e => e.Gender) |
| .HasMaxLength(20) |
| .HasColumnName("gender"); |
| entity.Property(e => e.MobileNo) |
| .HasMaxLength(50) |
| .HasColumnName("mobile_no"); |
| entity.Property(e => e.Name) |
| .HasMaxLength(255) |
| .HasColumnName("name"); |
| entity.Property(e => e.UpdatedAt) |
| .HasColumnType("timestamp without time zone") |
| .HasColumnName("updated_at"); |
| entity.Property(e => e.UserId) |
| .HasComment("User can create family member patient profile") |
| .HasColumnName("user_id"); |
|
|
| entity.HasOne(d => d.User).WithMany(p => p.TblPatients) |
| .HasForeignKey(d => d.UserId) |
| .HasConstraintName("fk_patient_user"); |
| }); |
|
|
| modelBuilder.Entity<TblPayment>(entity => |
| { |
| entity.HasKey(e => e.Id).HasName("tbl_payment_pkey"); |
|
|
| entity.ToTable("tbl_payment"); |
|
|
| entity.Property(e => e.Id).HasColumnName("id"); |
| entity.Property(e => e.Amount) |
| .HasPrecision(10, 2) |
| .HasColumnName("amount"); |
| entity.Property(e => e.AppointmentId).HasColumnName("appointment_id"); |
| entity.Property(e => e.Charges) |
| .HasPrecision(10, 2) |
| .HasColumnName("charges"); |
| entity.Property(e => e.PaidAt) |
| .HasColumnType("timestamp without time zone") |
| .HasColumnName("paid_at"); |
| entity.Property(e => e.PaymentMethod) |
| .HasMaxLength(50) |
| .HasComment("cash / online") |
| .HasColumnName("payment_method"); |
| entity.Property(e => e.PaymentScreenshot) |
| .HasMaxLength(500) |
| .HasColumnName("payment_screenshot"); |
| entity.Property(e => e.TransactionRef) |
| .HasMaxLength(50) |
| .HasColumnName("transaction_ref"); |
| entity.Property(e => e.PaymentStatus) |
| .HasMaxLength(50) |
| .HasComment("pending / paid / partial / failed / refunded") |
| .HasColumnName("payment_status"); |
| entity.Property(e => e.PrescriptionId).HasColumnName("prescription_id"); |
| entity.Property(e => e.Tax) |
| .HasPrecision(10, 2) |
| .HasColumnName("tax"); |
| entity.Property(e => e.UpdatedAt) |
| .HasColumnType("timestamp without time zone") |
| .HasColumnName("updated_at"); |
|
|
| entity.HasOne(d => d.Appointment).WithMany(p => p.TblPayments) |
| .HasForeignKey(d => d.AppointmentId) |
| .OnDelete(DeleteBehavior.ClientSetNull) |
| .HasConstraintName("fk_payment_appointment"); |
|
|
| entity.HasOne(d => d.Prescription).WithMany(p => p.TblPayments) |
| .HasForeignKey(d => d.PrescriptionId) |
| .OnDelete(DeleteBehavior.SetNull) |
| .HasConstraintName("fk_payment_prescription"); |
| }); |
|
|
| modelBuilder.Entity<TblPermission>(entity => |
| { |
| entity.HasKey(e => e.Id).HasName("tbl_permission_pkey"); |
|
|
| entity.ToTable("tbl_permission"); |
|
|
| entity.HasIndex(e => new { e.Menu, e.Action }, "uq_menu_action").IsUnique(); |
|
|
| entity.Property(e => e.Id).HasColumnName("id"); |
| entity.Property(e => e.Action) |
| .HasMaxLength(100) |
| .HasColumnName("action"); |
| entity.Property(e => e.Menu) |
| .HasMaxLength(100) |
| .HasColumnName("menu"); |
| }); |
|
|
| modelBuilder.Entity<TblPrescription>(entity => |
| { |
| entity.HasKey(e => e.Id).HasName("tbl_prescription_pkey"); |
|
|
| entity.ToTable("tbl_prescription"); |
|
|
| entity.Property(e => e.Id).HasColumnName("id"); |
| entity.Property(e => e.AppointmentId).HasColumnName("appointment_id"); |
| entity.Property(e => e.BloodPressureDiastolic).HasColumnName("blood_pressure_diastolic"); |
| entity.Property(e => e.BloodPressureSystolic).HasColumnName("blood_pressure_systolic"); |
| entity.Property(e => e.CreatedAt) |
| .HasDefaultValueSql("CURRENT_TIMESTAMP") |
| .HasColumnType("timestamp without time zone") |
| .HasColumnName("created_at"); |
| entity.Property(e => e.DeleteFlag).HasColumnName("delete_flag"); |
| entity.Property(e => e.DiseaseId).HasColumnName("disease_id"); |
| entity.Property(e => e.Notes).HasColumnName("notes"); |
| entity.Property(e => e.PatientId).HasColumnName("patient_id"); |
| entity.Property(e => e.UpdatedAt) |
| .HasColumnType("timestamp without time zone") |
| .HasColumnName("updated_at"); |
| entity.Property(e => e.WeightKg).HasColumnName("weight_kg"); |
| entity.Property(e => e.TemperatureC).HasColumnName("temperature_c"); |
| entity.Property(e => e.PulseBpm).HasColumnName("pulse_bpm"); |
| entity.Property(e => e.Spo2Percent).HasColumnName("spo2_percent"); |
| entity.Property(e => e.HeightCm).HasColumnName("height_cm"); |
| entity.Property(e => e.Bmi).HasColumnName("bmi"); |
| entity.Property(e => e.LabTestRequests).HasColumnName("lab_test_requests"); |
|
|
| entity.HasOne(d => d.Appointment).WithMany(p => p.TblPrescriptions) |
| .HasForeignKey(d => d.AppointmentId) |
| .OnDelete(DeleteBehavior.ClientSetNull) |
| .HasConstraintName("fk_prescription_appointment"); |
|
|
| entity.HasOne(d => d.Disease).WithMany(p => p.TblPrescriptions) |
| .HasForeignKey(d => d.DiseaseId) |
| .OnDelete(DeleteBehavior.SetNull) |
| .HasConstraintName("fk_prescription_disease"); |
|
|
| entity.HasOne(d => d.Patient).WithMany(p => p.TblPrescriptions) |
| .HasForeignKey(d => d.PatientId) |
| .OnDelete(DeleteBehavior.ClientSetNull) |
| .HasConstraintName("fk_prescription_patient"); |
| }); |
|
|
| modelBuilder.Entity<TblPrescriptionItem>(entity => |
| { |
| entity.HasKey(e => e.Id).HasName("tbl_prescription_item_pkey"); |
|
|
| entity.ToTable("tbl_prescription_item"); |
|
|
| entity.Property(e => e.Id).HasColumnName("id"); |
| entity.Property(e => e.CreatedAt) |
| .HasDefaultValueSql("CURRENT_TIMESTAMP") |
| .HasColumnType("timestamp without time zone") |
| .HasColumnName("created_at"); |
| entity.Property(e => e.Days).HasColumnName("days"); |
| entity.Property(e => e.DeleteFlag).HasColumnName("delete_flag"); |
| entity.Property(e => e.Dosage) |
| .HasMaxLength(100) |
| .HasColumnName("dosage"); |
| entity.Property(e => e.Instruction).HasColumnName("instruction"); |
| entity.Property(e => e.MedicineBatchId).HasColumnName("medicine_batch_id"); |
| entity.Property(e => e.MedicineId).HasColumnName("medicine_id"); |
| entity.Property(e => e.PrescriptionId).HasColumnName("prescription_id"); |
| entity.Property(e => e.Quantity).HasColumnName("quantity"); |
| entity.Property(e => e.UpdatedAt) |
| .HasColumnType("timestamp without time zone") |
| .HasColumnName("updated_at"); |
|
|
| entity.HasOne(d => d.MedicineBatch).WithMany(p => p.TblPrescriptionItems) |
| .HasForeignKey(d => d.MedicineBatchId) |
| .OnDelete(DeleteBehavior.SetNull) |
| .HasConstraintName("fk_item_batch"); |
|
|
| entity.HasOne(d => d.Medicine).WithMany(p => p.TblPrescriptionItems) |
| .HasForeignKey(d => d.MedicineId) |
| .OnDelete(DeleteBehavior.ClientSetNull) |
| .HasConstraintName("fk_item_medicine"); |
|
|
| entity.HasOne(d => d.Prescription).WithMany(p => p.TblPrescriptionItems) |
| .HasForeignKey(d => d.PrescriptionId) |
| .HasConstraintName("fk_item_prescription"); |
| }); |
|
|
| modelBuilder.Entity<TblPrescriptionItemSchedule>(entity => |
| { |
| entity.HasKey(e => e.Id).HasName("tbl_prescription_item_schedule_pkey"); |
|
|
| entity.ToTable("tbl_prescription_item_schedule"); |
|
|
| entity.Property(e => e.Id).HasColumnName("id"); |
| entity.Property(e => e.BodySite) |
| .HasMaxLength(100) |
| .HasComment("left eye / right ear / skin area") |
| .HasColumnName("body_site"); |
| entity.Property(e => e.CreatedAt) |
| .HasDefaultValueSql("CURRENT_TIMESTAMP") |
| .HasColumnType("timestamp without time zone") |
| .HasColumnName("created_at"); |
| entity.Property(e => e.DayOfWeek) |
| .HasMaxLength(20) |
| .HasColumnName("day_of_week"); |
| entity.Property(e => e.DeleteFlag).HasColumnName("delete_flag"); |
| entity.Property(e => e.DoseQuantity) |
| .HasPrecision(10, 2) |
| .HasColumnName("dose_quantity"); |
| entity.Property(e => e.DoseTime) |
| .HasMaxLength(50) |
| .HasComment("morning / afternoon / evening / night / bedtime / custom") |
| .HasColumnName("dose_time"); |
| entity.Property(e => e.DoseUnit) |
| .HasMaxLength(50) |
| .HasComment("tablet / capsule / ml / drop / puff / injection") |
| .HasColumnName("dose_unit"); |
| entity.Property(e => e.EndDate).HasColumnName("end_date"); |
| entity.Property(e => e.IntervalDays) |
| .HasComment("Every X days") |
| .HasColumnName("interval_days"); |
| entity.Property(e => e.IntervalHours) |
| .HasComment("Every X hours") |
| .HasColumnName("interval_hours"); |
| entity.Property(e => e.IsAsNeeded) |
| .HasDefaultValue(false) |
| .HasComment("Take when needed") |
| .HasColumnName("is_as_needed"); |
| entity.Property(e => e.MealTiming) |
| .HasMaxLength(50) |
| .HasComment("before_meal / after_meal / with_meal / anytime") |
| .HasColumnName("meal_timing"); |
| entity.Property(e => e.Note).HasColumnName("note"); |
| entity.Property(e => e.PrescriptionItemId).HasColumnName("prescription_item_id"); |
| entity.Property(e => e.Route) |
| .HasMaxLength(50) |
| .HasComment("oral / topical / injection / eye_drop / ear_drop / inhalation") |
| .HasColumnName("route"); |
| entity.Property(e => e.StartDate).HasColumnName("start_date"); |
| entity.Property(e => e.UpdatedAt) |
| .HasColumnType("timestamp without time zone") |
| .HasColumnName("updated_at"); |
|
|
| entity.HasOne(d => d.PrescriptionItem).WithMany(p => p.TblPrescriptionItemSchedules) |
| .HasForeignKey(d => d.PrescriptionItemId) |
| .HasConstraintName("fk_schedule_item"); |
| }); |
|
|
| modelBuilder.Entity<TblPrescriptionTemplate>(entity => |
| { |
| entity.HasKey(e => e.Id).HasName("tbl_prescription_template_pkey"); |
|
|
| entity.ToTable("tbl_prescription_template"); |
|
|
| entity.Property(e => e.Id).HasColumnName("id"); |
| entity.Property(e => e.CreatedAt) |
| .HasDefaultValueSql("CURRENT_TIMESTAMP") |
| .HasColumnType("timestamp without time zone") |
| .HasColumnName("created_at"); |
| entity.Property(e => e.DeleteFlag).HasColumnName("delete_flag"); |
| entity.Property(e => e.DiseaseId).HasColumnName("disease_id"); |
| entity.Property(e => e.Name) |
| .HasMaxLength(255) |
| .HasColumnName("name"); |
| entity.Property(e => e.UpdatedAt) |
| .HasColumnType("timestamp without time zone") |
| .HasColumnName("updated_at"); |
|
|
| entity.HasOne(d => d.Disease).WithMany(p => p.TblPrescriptionTemplates) |
| .HasForeignKey(d => d.DiseaseId) |
| .OnDelete(DeleteBehavior.ClientSetNull) |
| .HasConstraintName("fk_template_disease"); |
| }); |
|
|
| modelBuilder.Entity<TblPrescriptionTemplateItem>(entity => |
| { |
| entity.HasKey(e => e.Id).HasName("tbl_prescription_template_item_pkey"); |
|
|
| entity.ToTable("tbl_prescription_template_item"); |
|
|
| entity.Property(e => e.Id).HasColumnName("id"); |
| entity.Property(e => e.CreatedAt) |
| .HasDefaultValueSql("CURRENT_TIMESTAMP") |
| .HasColumnType("timestamp without time zone") |
| .HasColumnName("created_at"); |
| entity.Property(e => e.Days).HasColumnName("days"); |
| entity.Property(e => e.DeleteFlag).HasColumnName("delete_flag"); |
| entity.Property(e => e.Dosage) |
| .HasMaxLength(100) |
| .HasColumnName("dosage"); |
| entity.Property(e => e.Instruction).HasColumnName("instruction"); |
| entity.Property(e => e.MedicineId).HasColumnName("medicine_id"); |
| entity.Property(e => e.Quantity).HasColumnName("quantity"); |
| entity.Property(e => e.TemplateId).HasColumnName("template_id"); |
|
|
| entity.HasOne(d => d.Medicine).WithMany(p => p.TblPrescriptionTemplateItems) |
| .HasForeignKey(d => d.MedicineId) |
| .OnDelete(DeleteBehavior.ClientSetNull) |
| .HasConstraintName("fk_template_item_medicine"); |
|
|
| entity.HasOne(d => d.Template).WithMany(p => p.TblPrescriptionTemplateItems) |
| .HasForeignKey(d => d.TemplateId) |
| .HasConstraintName("fk_template_item_template"); |
| }); |
|
|
| modelBuilder.Entity<TblRolePermission>(entity => |
| { |
| entity.HasKey(e => e.Id).HasName("tbl_role_permission_pkey"); |
|
|
| entity.ToTable("tbl_role_permission"); |
|
|
| entity.HasIndex(e => new { e.RoleId, e.PermissionId }, "uq_role_permission").IsUnique(); |
|
|
| entity.Property(e => e.Id).HasColumnName("id"); |
| entity.Property(e => e.PermissionId).HasColumnName("permission_id"); |
| entity.Property(e => e.RoleId).HasColumnName("role_id"); |
|
|
| entity.HasOne(d => d.Permission).WithMany(p => p.TblRolePermissions) |
| .HasForeignKey(d => d.PermissionId) |
| .HasConstraintName("fk_rp_permission"); |
|
|
| entity.HasOne(d => d.Role).WithMany(p => p.TblRolePermissions) |
| .HasForeignKey(d => d.RoleId) |
| .HasConstraintName("fk_rp_role"); |
| }); |
|
|
| modelBuilder.Entity<TblUser>(entity => |
| { |
| entity.HasKey(e => e.UserId).HasName("tbl_user_pkey"); |
|
|
| entity.ToTable("tbl_user"); |
|
|
| entity.HasIndex(e => e.Email, "tbl_user_email_key").IsUnique(); |
|
|
| entity.HasIndex(e => e.MobileNo, "tbl_user_mobile_no_key").IsUnique(); |
|
|
| entity.Property(e => e.UserId).HasColumnName("user_id"); |
| entity.Property(e => e.CreatedAt) |
| .HasDefaultValueSql("CURRENT_TIMESTAMP") |
| .HasColumnType("timestamp without time zone") |
| .HasColumnName("created_at"); |
| entity.Property(e => e.DeleteFlag).HasColumnName("delete_flag"); |
| entity.Property(e => e.Email) |
| .HasMaxLength(100) |
| .HasColumnName("email"); |
| entity.Property(e => e.MobileNo) |
| .HasMaxLength(50) |
| .HasColumnName("mobile_no"); |
| entity.Property(e => e.Name) |
| .HasMaxLength(255) |
| .HasColumnName("name"); |
| entity.Property(e => e.PasswordHash) |
| .HasMaxLength(255) |
| .HasColumnName("password_hash"); |
| entity.Property(e => e.UpdatedAt) |
| .HasColumnType("timestamp without time zone") |
| .HasColumnName("updated_at"); |
| }); |
|
|
| modelBuilder.Entity<TblUserRole>(entity => |
| { |
| entity.HasKey(e => e.Id).HasName("tbl_user_role_pkey"); |
|
|
| entity.ToTable("tbl_user_role"); |
|
|
| entity.HasIndex(e => new { e.UserId, e.Role }, "uq_user_role").IsUnique(); |
|
|
| entity.Property(e => e.Id).HasColumnName("id"); |
| entity.Property(e => e.Role) |
| .HasMaxLength(50) |
| .HasComment("admin / user") |
| .HasColumnName("role"); |
| entity.Property(e => e.UserId).HasColumnName("user_id"); |
|
|
| entity.HasOne(d => d.User).WithMany(p => p.TblUserRoles) |
| .HasForeignKey(d => d.UserId) |
| .HasConstraintName("fk_role_user"); |
| }); |
|
|
| modelBuilder.Entity<TblUserToken>(entity => |
| { |
| entity.HasKey(e => e.Id).HasName("tbl_user_token_pkey"); |
|
|
| entity.ToTable("tbl_user_token"); |
|
|
| entity.Property(e => e.Id).HasColumnName("id"); |
| entity.Property(e => e.CreatedAt) |
| .HasDefaultValueSql("CURRENT_TIMESTAMP") |
| .HasColumnType("timestamp without time zone") |
| .HasColumnName("created_at"); |
| entity.Property(e => e.ExpiresAt) |
| .HasColumnType("timestamp without time zone") |
| .HasColumnName("expires_at"); |
| entity.Property(e => e.Revoked) |
| .HasDefaultValue(false) |
| .HasColumnName("revoked"); |
| entity.Property(e => e.TokenHash) |
| .HasMaxLength(500) |
| .HasColumnName("token_hash"); |
| entity.Property(e => e.UserId).HasColumnName("user_id"); |
|
|
| entity.HasOne(d => d.User).WithMany(p => p.TblUserTokens) |
| .HasForeignKey(d => d.UserId) |
| .HasConstraintName("fk_token_user"); |
| }); |
|
|
| OnModelCreatingPartial(modelBuilder); |
| } |
|
|
| partial void OnModelCreatingPartial(ModelBuilder modelBuilder); |
| } |
|
|