initial commit

This commit is contained in:
2026-07-21 13:52:43 +07:00
commit f0e6f38940
881 changed files with 66309 additions and 0 deletions
@@ -0,0 +1,264 @@
using Indotalent.ConfigBackEnd.Extensions;
using Indotalent.Data.Entities;
using Microsoft.EntityFrameworkCore;
namespace Indotalent.Infrastructure.Database.Demo;
public static class ProductSeeder
{
public static async Task GenerateDataAsync(AppDbContext context)
{
if (await context.Product.AnyAsync()) return;
var productGroups = await context.ProductGroup.ToListAsync();
var measureId = await context.UnitMeasure
.Where(x => x.Name == "unit")
.Select(x => x.Id)
.FirstOrDefaultAsync();
if (string.IsNullOrEmpty(measureId)) return;
var groupMapping = productGroups
.Where(pg => !string.IsNullOrEmpty(pg.Name) && !string.IsNullOrEmpty(pg.Id))
.ToDictionary(pg => pg.Name!, pg => pg.Id!);
var entityName = nameof(Product);
var products = new List<Product>();
products.Add(new Product { Name = "Amoxicillin 500mg", UnitPrice = 15m, ProductGroupId = groupMapping["Prescription Medications"] });
products.Add(new Product { Name = "Metformin 500mg", UnitPrice = 12m, ProductGroupId = groupMapping["Prescription Medications"] });
products.Add(new Product { Name = "Lisinopril 10mg", UnitPrice = 18m, ProductGroupId = groupMapping["Prescription Medications"] });
products.Add(new Product { Name = "Atorvastatin 20mg", UnitPrice = 25m, ProductGroupId = groupMapping["Prescription Medications"] });
products.Add(new Product { Name = "Levothyroxine 50mcg", UnitPrice = 20m, ProductGroupId = groupMapping["Prescription Medications"] });
products.Add(new Product { Name = "Azithromycin 250mg", UnitPrice = 30m, ProductGroupId = groupMapping["Prescription Medications"] });
products.Add(new Product { Name = "Omeprazole 20mg", UnitPrice = 22m, ProductGroupId = groupMapping["Prescription Medications"] });
products.Add(new Product { Name = "Amlodipine 5mg", UnitPrice = 16m, ProductGroupId = groupMapping["Prescription Medications"] });
products.Add(new Product { Name = "Sertraline 50mg", UnitPrice = 28m, ProductGroupId = groupMapping["Prescription Medications"] });
products.Add(new Product { Name = "Losartan 50mg", UnitPrice = 19m, ProductGroupId = groupMapping["Prescription Medications"] });
products.Add(new Product { Name = "Paracetamol 500mg", UnitPrice = 5m, ProductGroupId = groupMapping["Over-the-Counter (OTC) Drugs"] });
products.Add(new Product { Name = "Ibuprofen 400mg", UnitPrice = 8m, ProductGroupId = groupMapping["Over-the-Counter (OTC) Drugs"] });
products.Add(new Product { Name = "Cetirizine 10mg", UnitPrice = 10m, ProductGroupId = groupMapping["Over-the-Counter (OTC) Drugs"] });
products.Add(new Product { Name = "Loratadine 10mg", UnitPrice = 11m, ProductGroupId = groupMapping["Over-the-Counter (OTC) Drugs"] });
products.Add(new Product { Name = "Aspirin 81mg", UnitPrice = 7m, ProductGroupId = groupMapping["Over-the-Counter (OTC) Drugs"] });
products.Add(new Product { Name = "Loperamide 2mg", UnitPrice = 9m, ProductGroupId = groupMapping["Over-the-Counter (OTC) Drugs"] });
products.Add(new Product { Name = "Diphenhydramine 25mg", UnitPrice = 8m, ProductGroupId = groupMapping["Over-the-Counter (OTC) Drugs"] });
products.Add(new Product { Name = "Guaifenesin Syrup 200ml", UnitPrice = 15m, ProductGroupId = groupMapping["Over-the-Counter (OTC) Drugs"] });
products.Add(new Product { Name = "Antacid Tablets", UnitPrice = 6m, ProductGroupId = groupMapping["Over-the-Counter (OTC) Drugs"] });
products.Add(new Product { Name = "Hydrocortisone Cream 1%", UnitPrice = 12m, ProductGroupId = groupMapping["Over-the-Counter (OTC) Drugs"] });
products.Add(new Product { Name = "Influenza Vaccine", UnitPrice = 35m, ProductGroupId = groupMapping["Vaccines & Immunizations"] });
products.Add(new Product { Name = "Hepatitis B Vaccine", UnitPrice = 45m, ProductGroupId = groupMapping["Vaccines & Immunizations"] });
products.Add(new Product { Name = "Tetanus Toxoid", UnitPrice = 25m, ProductGroupId = groupMapping["Vaccines & Immunizations"] });
products.Add(new Product { Name = "HPV Vaccine", UnitPrice = 150m, ProductGroupId = groupMapping["Vaccines & Immunizations"] });
products.Add(new Product { Name = "MMR Vaccine", UnitPrice = 65m, ProductGroupId = groupMapping["Vaccines & Immunizations"] });
products.Add(new Product { Name = "Pneumococcal Vaccine", UnitPrice = 85m, ProductGroupId = groupMapping["Vaccines & Immunizations"] });
products.Add(new Product { Name = "Varicella Vaccine", UnitPrice = 75m, ProductGroupId = groupMapping["Vaccines & Immunizations"] });
products.Add(new Product { Name = "COVID-19 Booster", UnitPrice = 40m, ProductGroupId = groupMapping["Vaccines & Immunizations"] });
products.Add(new Product { Name = "Rabies Vaccine", UnitPrice = 120m, ProductGroupId = groupMapping["Vaccines & Immunizations"] });
products.Add(new Product { Name = "Typhoid Vaccine", UnitPrice = 55m, ProductGroupId = groupMapping["Vaccines & Immunizations"] });
products.Add(new Product { Name = "Sterile Syringes 5ml", UnitPrice = 2m, ProductGroupId = groupMapping["Medical & Surgical Supplies"] });
products.Add(new Product { Name = "Surgical Scalpel Blades", UnitPrice = 5m, ProductGroupId = groupMapping["Medical & Surgical Supplies"] });
products.Add(new Product { Name = "Suture Needles Size 3-0", UnitPrice = 12m, ProductGroupId = groupMapping["Medical & Surgical Supplies"] });
products.Add(new Product { Name = "Medical Tourniquet", UnitPrice = 8m, ProductGroupId = groupMapping["Medical & Surgical Supplies"] });
products.Add(new Product { Name = "Catheters 14FG", UnitPrice = 15m, ProductGroupId = groupMapping["Medical & Surgical Supplies"] });
products.Add(new Product { Name = "Surgical Scissors", UnitPrice = 25m, ProductGroupId = groupMapping["Medical & Surgical Supplies"] });
products.Add(new Product { Name = "Tissue Forceps", UnitPrice = 20m, ProductGroupId = groupMapping["Medical & Surgical Supplies"] });
products.Add(new Product { Name = "Endotracheal Tubes", UnitPrice = 30m, ProductGroupId = groupMapping["Medical & Surgical Supplies"] });
products.Add(new Product { Name = "Oxygen Masks Adult", UnitPrice = 10m, ProductGroupId = groupMapping["Medical & Surgical Supplies"] });
products.Add(new Product { Name = "Surgical Tape", UnitPrice = 4m, ProductGroupId = groupMapping["Medical & Surgical Supplies"] });
products.Add(new Product { Name = "Digital Sphygmomanometer", UnitPrice = 85m, ProductGroupId = groupMapping["Diagnostic Instruments"] });
products.Add(new Product { Name = "Medical Stethoscope", UnitPrice = 120m, ProductGroupId = groupMapping["Diagnostic Instruments"] });
products.Add(new Product { Name = "Infrared Thermometer", UnitPrice = 45m, ProductGroupId = groupMapping["Diagnostic Instruments"] });
products.Add(new Product { Name = "Pulse Oximeter", UnitPrice = 35m, ProductGroupId = groupMapping["Diagnostic Instruments"] });
products.Add(new Product { Name = "Diagnostic Otoscope", UnitPrice = 150m, ProductGroupId = groupMapping["Diagnostic Instruments"] });
products.Add(new Product { Name = "Ophthalmoscope", UnitPrice = 200m, ProductGroupId = groupMapping["Diagnostic Instruments"] });
products.Add(new Product { Name = "Tuning Fork Set", UnitPrice = 40m, ProductGroupId = groupMapping["Diagnostic Instruments"] });
products.Add(new Product { Name = "Neurological Reflex Hammer", UnitPrice = 15m, ProductGroupId = groupMapping["Diagnostic Instruments"] });
products.Add(new Product { Name = "ECG Electrodes 50pcs", UnitPrice = 25m, ProductGroupId = groupMapping["Diagnostic Instruments"] });
products.Add(new Product { Name = "Glucometer Kit", UnitPrice = 60m, ProductGroupId = groupMapping["Diagnostic Instruments"] });
products.Add(new Product { Name = "Blood Grouping Reagents", UnitPrice = 45m, ProductGroupId = groupMapping["Laboratory Reagents"] });
products.Add(new Product { Name = "Glucose Test Strips 50s", UnitPrice = 25m, ProductGroupId = groupMapping["Laboratory Reagents"] });
products.Add(new Product { Name = "Urine Test Strips 10-Param", UnitPrice = 20m, ProductGroupId = groupMapping["Laboratory Reagents"] });
products.Add(new Product { Name = "Cholesterol Reagent Kit", UnitPrice = 55m, ProductGroupId = groupMapping["Laboratory Reagents"] });
products.Add(new Product { Name = "Hematology Stain", UnitPrice = 35m, ProductGroupId = groupMapping["Laboratory Reagents"] });
products.Add(new Product { Name = "Pregnancy Test Cassettes", UnitPrice = 15m, ProductGroupId = groupMapping["Laboratory Reagents"] });
products.Add(new Product { Name = "CRP Latex Agglutination Kit", UnitPrice = 40m, ProductGroupId = groupMapping["Laboratory Reagents"] });
products.Add(new Product { Name = "HbA1c Reagent", UnitPrice = 65m, ProductGroupId = groupMapping["Laboratory Reagents"] });
products.Add(new Product { Name = "HIV Rapid Test Kits", UnitPrice = 50m, ProductGroupId = groupMapping["Laboratory Reagents"] });
products.Add(new Product { Name = "Malaria Antigen Rapid Test", UnitPrice = 30m, ProductGroupId = groupMapping["Laboratory Reagents"] });
products.Add(new Product { Name = "N95 Respirator Masks", UnitPrice = 25m, ProductGroupId = groupMapping["Personal Protective Equipment (PPE)"] });
products.Add(new Product { Name = "Surgical Masks 3-Ply Box", UnitPrice = 10m, ProductGroupId = groupMapping["Personal Protective Equipment (PPE)"] });
products.Add(new Product { Name = "Nitrile Examination Gloves", UnitPrice = 15m, ProductGroupId = groupMapping["Personal Protective Equipment (PPE)"] });
products.Add(new Product { Name = "Latex Surgical Gloves", UnitPrice = 18m, ProductGroupId = groupMapping["Personal Protective Equipment (PPE)"] });
products.Add(new Product { Name = "Medical Face Shields", UnitPrice = 8m, ProductGroupId = groupMapping["Personal Protective Equipment (PPE)"] });
products.Add(new Product { Name = "Disposable Isolation Gowns", UnitPrice = 20m, ProductGroupId = groupMapping["Personal Protective Equipment (PPE)"] });
products.Add(new Product { Name = "Surgical Bouffant Caps", UnitPrice = 5m, ProductGroupId = groupMapping["Personal Protective Equipment (PPE)"] });
products.Add(new Product { Name = "Shoe Covers Box", UnitPrice = 12m, ProductGroupId = groupMapping["Personal Protective Equipment (PPE)"] });
products.Add(new Product { Name = "Protective Safety Goggles", UnitPrice = 15m, ProductGroupId = groupMapping["Personal Protective Equipment (PPE)"] });
products.Add(new Product { Name = "Biohazard Protective Suits", UnitPrice = 45m, ProductGroupId = groupMapping["Personal Protective Equipment (PPE)"] });
products.Add(new Product { Name = "Sterile Gauze Pads 4x4", UnitPrice = 6m, ProductGroupId = groupMapping["Wound Care & Dressings"] });
products.Add(new Product { Name = "Cotton Wool Roll 500g", UnitPrice = 8m, ProductGroupId = groupMapping["Wound Care & Dressings"] });
products.Add(new Product { Name = "Crepe Bandage 4 inch", UnitPrice = 5m, ProductGroupId = groupMapping["Wound Care & Dressings"] });
products.Add(new Product { Name = "Fabric Adhesive Bandages", UnitPrice = 4m, ProductGroupId = groupMapping["Wound Care & Dressings"] });
products.Add(new Product { Name = "Povidone-Iodine Solution", UnitPrice = 12m, ProductGroupId = groupMapping["Wound Care & Dressings"] });
products.Add(new Product { Name = "Hydrogen Peroxide 3%", UnitPrice = 7m, ProductGroupId = groupMapping["Wound Care & Dressings"] });
products.Add(new Product { Name = "Silver Sulfadiazine Cream", UnitPrice = 18m, ProductGroupId = groupMapping["Wound Care & Dressings"] });
products.Add(new Product { Name = "Transparent Film Dressing", UnitPrice = 25m, ProductGroupId = groupMapping["Wound Care & Dressings"] });
products.Add(new Product { Name = "Hydrocolloid Dressing", UnitPrice = 30m, ProductGroupId = groupMapping["Wound Care & Dressings"] });
products.Add(new Product { Name = "Medical Plaster Cast Roll", UnitPrice = 15m, ProductGroupId = groupMapping["Wound Care & Dressings"] });
products.Add(new Product { Name = "Disposable Dental Mirror", UnitPrice = 15m, ProductGroupId = groupMapping["Dental Supplies"] });
products.Add(new Product { Name = "Dental Explorer Probes", UnitPrice = 22m, ProductGroupId = groupMapping["Dental Supplies"] });
products.Add(new Product { Name = "Alginate Impression Material", UnitPrice = 35m, ProductGroupId = groupMapping["Dental Supplies"] });
products.Add(new Product { Name = "Composite Resin Syringe", UnitPrice = 45m, ProductGroupId = groupMapping["Dental Supplies"] });
products.Add(new Product { Name = "Sterile Dental Needles", UnitPrice = 18m, ProductGroupId = groupMapping["Dental Supplies"] });
products.Add(new Product { Name = "Local Anesthetic Carpules", UnitPrice = 55m, ProductGroupId = groupMapping["Dental Supplies"] });
products.Add(new Product { Name = "Saliva Ejectors 100pcs", UnitPrice = 12m, ProductGroupId = groupMapping["Dental Supplies"] });
products.Add(new Product { Name = "Waterproof Dental Bibs", UnitPrice = 20m, ProductGroupId = groupMapping["Dental Supplies"] });
products.Add(new Product { Name = "Fluoride Varnish 50pk", UnitPrice = 75m, ProductGroupId = groupMapping["Dental Supplies"] });
products.Add(new Product { Name = "Orthodontic Metal Brackets", UnitPrice = 120m, ProductGroupId = groupMapping["Dental Supplies"] });
products.Add(new Product { Name = "Normal Saline 0.9% 500ml", UnitPrice = 3m, ProductGroupId = groupMapping["IV Fluids & Solutions"] });
products.Add(new Product { Name = "Lactated Ringer's Solution", UnitPrice = 4m, ProductGroupId = groupMapping["IV Fluids & Solutions"] });
products.Add(new Product { Name = "Dextrose 5% Water 500ml", UnitPrice = 3.5m, ProductGroupId = groupMapping["IV Fluids & Solutions"] });
products.Add(new Product { Name = "Dextrose 5% in Normal Saline", UnitPrice = 4.5m, ProductGroupId = groupMapping["IV Fluids & Solutions"] });
products.Add(new Product { Name = "Hartmann's Solution 500ml", UnitPrice = 5m, ProductGroupId = groupMapping["IV Fluids & Solutions"] });
products.Add(new Product { Name = "Sterile Water for Injection", UnitPrice = 2m, ProductGroupId = groupMapping["IV Fluids & Solutions"] });
products.Add(new Product { Name = "Mannitol 20% Infusion", UnitPrice = 12m, ProductGroupId = groupMapping["IV Fluids & Solutions"] });
products.Add(new Product { Name = "Potassium Chloride Injection", UnitPrice = 8m, ProductGroupId = groupMapping["IV Fluids & Solutions"] });
products.Add(new Product { Name = "Calcium Gluconate 10%", UnitPrice = 10m, ProductGroupId = groupMapping["IV Fluids & Solutions"] });
products.Add(new Product { Name = "Amino Acid Solution 500ml", UnitPrice = 25m, ProductGroupId = groupMapping["IV Fluids & Solutions"] });
products.Add(new Product { Name = "Initial GP Consultation", UnitPrice = 50m, Physical = false, ProductGroupId = groupMapping["General Consultations"] });
products.Add(new Product { Name = "Follow-up Visit", UnitPrice = 35m, Physical = false, ProductGroupId = groupMapping["General Consultations"] });
products.Add(new Product { Name = "Telemedicine Consultation", UnitPrice = 40m, Physical = false, ProductGroupId = groupMapping["General Consultations"] });
products.Add(new Product { Name = "Walk-in Clinic Visit", UnitPrice = 45m, Physical = false, ProductGroupId = groupMapping["General Consultations"] });
products.Add(new Product { Name = "Medical Certificate Issuance", UnitPrice = 20m, Physical = false, ProductGroupId = groupMapping["General Consultations"] });
products.Add(new Product { Name = "Prescription Refill Visit", UnitPrice = 25m, Physical = false, ProductGroupId = groupMapping["General Consultations"] });
products.Add(new Product { Name = "Preventive Health Advice", UnitPrice = 55m, Physical = false, ProductGroupId = groupMapping["General Consultations"] });
products.Add(new Product { Name = "Chronic Disease Management", UnitPrice = 65m, Physical = false, ProductGroupId = groupMapping["General Consultations"] });
products.Add(new Product { Name = "Nutritional Advice Session", UnitPrice = 60m, Physical = false, ProductGroupId = groupMapping["General Consultations"] });
products.Add(new Product { Name = "Travel Medicine Consultation", UnitPrice = 45m, Physical = false, ProductGroupId = groupMapping["General Consultations"] });
products.Add(new Product { Name = "Cardiology Consultation", UnitPrice = 150m, Physical = false, ProductGroupId = groupMapping["Specialist Consultations"] });
products.Add(new Product { Name = "Dermatology Assessment", UnitPrice = 120m, Physical = false, ProductGroupId = groupMapping["Specialist Consultations"] });
products.Add(new Product { Name = "Orthopedic Evaluation", UnitPrice = 140m, Physical = false, ProductGroupId = groupMapping["Specialist Consultations"] });
products.Add(new Product { Name = "Neurologist Visit", UnitPrice = 180m, Physical = false, ProductGroupId = groupMapping["Specialist Consultations"] });
products.Add(new Product { Name = "Pediatrician Consultation", UnitPrice = 100m, Physical = false, ProductGroupId = groupMapping["Specialist Consultations"] });
products.Add(new Product { Name = "OBGYN Consultation", UnitPrice = 130m, Physical = false, ProductGroupId = groupMapping["Specialist Consultations"] });
products.Add(new Product { Name = "Gastroenterology Assessment", UnitPrice = 160m, Physical = false, ProductGroupId = groupMapping["Specialist Consultations"] });
products.Add(new Product { Name = "ENT Specialist Visit", UnitPrice = 110m, Physical = false, ProductGroupId = groupMapping["Specialist Consultations"] });
products.Add(new Product { Name = "Psychiatric Evaluation", UnitPrice = 175m, Physical = false, ProductGroupId = groupMapping["Specialist Consultations"] });
products.Add(new Product { Name = "Ophthalmologist Consultation", UnitPrice = 125m, Physical = false, ProductGroupId = groupMapping["Specialist Consultations"] });
products.Add(new Product { Name = "Complete Blood Count (CBC)", UnitPrice = 25m, Physical = false, ProductGroupId = groupMapping["Laboratory Tests & Profiles"] });
products.Add(new Product { Name = "Comprehensive Metabolic Panel", UnitPrice = 45m, Physical = false, ProductGroupId = groupMapping["Laboratory Tests & Profiles"] });
products.Add(new Product { Name = "Lipid Profile Test", UnitPrice = 30m, Physical = false, ProductGroupId = groupMapping["Laboratory Tests & Profiles"] });
products.Add(new Product { Name = "Thyroid Function Test", UnitPrice = 55m, Physical = false, ProductGroupId = groupMapping["Laboratory Tests & Profiles"] });
products.Add(new Product { Name = "Liver Function Test", UnitPrice = 40m, Physical = false, ProductGroupId = groupMapping["Laboratory Tests & Profiles"] });
products.Add(new Product { Name = "Fasting Blood Sugar", UnitPrice = 15m, Physical = false, ProductGroupId = groupMapping["Laboratory Tests & Profiles"] });
products.Add(new Product { Name = "Routine Urinalysis", UnitPrice = 20m, Physical = false, ProductGroupId = groupMapping["Laboratory Tests & Profiles"] });
products.Add(new Product { Name = "Vitamin D Level Test", UnitPrice = 65m, Physical = false, ProductGroupId = groupMapping["Laboratory Tests & Profiles"] });
products.Add(new Product { Name = "Prostate Specific Antigen", UnitPrice = 50m, Physical = false, ProductGroupId = groupMapping["Laboratory Tests & Profiles"] });
products.Add(new Product { Name = "Pap Smear Analysis", UnitPrice = 85m, Physical = false, ProductGroupId = groupMapping["Laboratory Tests & Profiles"] });
products.Add(new Product { Name = "Chest X-Ray 2 Views", UnitPrice = 65m, Physical = false, ProductGroupId = groupMapping["Radiology & Imaging"] });
products.Add(new Product { Name = "Abdominal Ultrasound", UnitPrice = 120m, Physical = false, ProductGroupId = groupMapping["Radiology & Imaging"] });
products.Add(new Product { Name = "Pelvic Ultrasound", UnitPrice = 110m, Physical = false, ProductGroupId = groupMapping["Radiology & Imaging"] });
products.Add(new Product { Name = "MRI Brain w/o Contrast", UnitPrice = 550m, Physical = false, ProductGroupId = groupMapping["Radiology & Imaging"] });
products.Add(new Product { Name = "CT Scan Abdomen", UnitPrice = 450m, Physical = false, ProductGroupId = groupMapping["Radiology & Imaging"] });
products.Add(new Product { Name = "DEXA Bone Density Scan", UnitPrice = 150m, Physical = false, ProductGroupId = groupMapping["Radiology & Imaging"] });
products.Add(new Product { Name = "Screening Mammogram", UnitPrice = 175m, Physical = false, ProductGroupId = groupMapping["Radiology & Imaging"] });
products.Add(new Product { Name = "2D Echocardiogram", UnitPrice = 250m, Physical = false, ProductGroupId = groupMapping["Radiology & Imaging"] });
products.Add(new Product { Name = "Venous Doppler Ultrasound", UnitPrice = 195m, Physical = false, ProductGroupId = groupMapping["Radiology & Imaging"] });
products.Add(new Product { Name = "Dental Panoramic X-Ray", UnitPrice = 85m, Physical = false, ProductGroupId = groupMapping["Radiology & Imaging"] });
products.Add(new Product { Name = "Laceration Repair Complex", UnitPrice = 150m, Physical = false, ProductGroupId = groupMapping["Minor Surgical Procedures"] });
products.Add(new Product { Name = "Mole Excision & Biopsy", UnitPrice = 180m, Physical = false, ProductGroupId = groupMapping["Minor Surgical Procedures"] });
products.Add(new Product { Name = "Ingrown Toenail Removal", UnitPrice = 120m, Physical = false, ProductGroupId = groupMapping["Minor Surgical Procedures"] });
products.Add(new Product { Name = "Abscess Incision & Drainage", UnitPrice = 140m, Physical = false, ProductGroupId = groupMapping["Minor Surgical Procedures"] });
products.Add(new Product { Name = "Sebaceous Cyst Removal", UnitPrice = 200m, Physical = false, ProductGroupId = groupMapping["Minor Surgical Procedures"] });
products.Add(new Product { Name = "Wart Cryotherapy Session", UnitPrice = 85m, Physical = false, ProductGroupId = groupMapping["Minor Surgical Procedures"] });
products.Add(new Product { Name = "Joint Aspiration Injection", UnitPrice = 165m, Physical = false, ProductGroupId = groupMapping["Minor Surgical Procedures"] });
products.Add(new Product { Name = "Foreign Body Removal", UnitPrice = 130m, Physical = false, ProductGroupId = groupMapping["Minor Surgical Procedures"] });
products.Add(new Product { Name = "Diagnostic Skin Biopsy", UnitPrice = 110m, Physical = false, ProductGroupId = groupMapping["Minor Surgical Procedures"] });
products.Add(new Product { Name = "Suture Removal Visit", UnitPrice = 45m, Physical = false, ProductGroupId = groupMapping["Minor Surgical Procedures"] });
products.Add(new Product { Name = "Routine Dental Cleaning", UnitPrice = 85m, Physical = false, ProductGroupId = groupMapping["Dental Procedures"] });
products.Add(new Product { Name = "Simple Tooth Extraction", UnitPrice = 120m, Physical = false, ProductGroupId = groupMapping["Dental Procedures"] });
products.Add(new Product { Name = "Composite Dental Filling", UnitPrice = 150m, Physical = false, ProductGroupId = groupMapping["Dental Procedures"] });
products.Add(new Product { Name = "Root Canal Treatment", UnitPrice = 650m, Physical = false, ProductGroupId = groupMapping["Dental Procedures"] });
products.Add(new Product { Name = "Porcelain Crown Prep", UnitPrice = 850m, Physical = false, ProductGroupId = groupMapping["Dental Procedures"] });
products.Add(new Product { Name = "Professional Teeth Whitening", UnitPrice = 250m, Physical = false, ProductGroupId = groupMapping["Dental Procedures"] });
products.Add(new Product { Name = "Fluoride Varnish Treatment", UnitPrice = 50m, Physical = false, ProductGroupId = groupMapping["Dental Procedures"] });
products.Add(new Product { Name = "Partial Denture Fitting", UnitPrice = 450m, Physical = false, ProductGroupId = groupMapping["Dental Procedures"] });
products.Add(new Product { Name = "Orthodontic Adjustment", UnitPrice = 95m, Physical = false, ProductGroupId = groupMapping["Dental Procedures"] });
products.Add(new Product { Name = "Periodontal Deep Scaling", UnitPrice = 220m, Physical = false, ProductGroupId = groupMapping["Dental Procedures"] });
products.Add(new Product { Name = "Initial PT Assessment", UnitPrice = 120m, Physical = false, ProductGroupId = groupMapping["Physical Therapy & Rehab"] });
products.Add(new Product { Name = "Post-Op Rehab Session", UnitPrice = 95m, Physical = false, ProductGroupId = groupMapping["Physical Therapy & Rehab"] });
products.Add(new Product { Name = "Sports Injury Therapy", UnitPrice = 110m, Physical = false, ProductGroupId = groupMapping["Physical Therapy & Rehab"] });
products.Add(new Product { Name = "Postural Correction Program", UnitPrice = 85m, Physical = false, ProductGroupId = groupMapping["Physical Therapy & Rehab"] });
products.Add(new Product { Name = "Ultrasound Therapy Session", UnitPrice = 65m, Physical = false, ProductGroupId = groupMapping["Physical Therapy & Rehab"] });
products.Add(new Product { Name = "TENS Therapy Treatment", UnitPrice = 55m, Physical = false, ProductGroupId = groupMapping["Physical Therapy & Rehab"] });
products.Add(new Product { Name = "Neurological Gait Training", UnitPrice = 130m, Physical = false, ProductGroupId = groupMapping["Physical Therapy & Rehab"] });
products.Add(new Product { Name = "Manual Therapy & Massage", UnitPrice = 90m, Physical = false, ProductGroupId = groupMapping["Physical Therapy & Rehab"] });
products.Add(new Product { Name = "Pediatric Physiotherapy", UnitPrice = 115m, Physical = false, ProductGroupId = groupMapping["Physical Therapy & Rehab"] });
products.Add(new Product { Name = "Stroke Rehab Session", UnitPrice = 140m, Physical = false, ProductGroupId = groupMapping["Physical Therapy & Rehab"] });
products.Add(new Product { Name = "ER Triage & Assessment", UnitPrice = 250m, Physical = false, ProductGroupId = groupMapping["Emergency Care Services"] });
products.Add(new Product { Name = "Emergency Resuscitation", UnitPrice = 1500m, Physical = false, ProductGroupId = groupMapping["Emergency Care Services"] });
products.Add(new Product { Name = "Major Trauma Care", UnitPrice = 2500m, Physical = false, ProductGroupId = groupMapping["Emergency Care Services"] });
products.Add(new Product { Name = "Acute Burn Management", UnitPrice = 350m, Physical = false, ProductGroupId = groupMapping["Emergency Care Services"] });
products.Add(new Product { Name = "Fracture Reduction & Splint", UnitPrice = 450m, Physical = false, ProductGroupId = groupMapping["Emergency Care Services"] });
products.Add(new Product { Name = "Acute Asthma Nebulization", UnitPrice = 120m, Physical = false, ProductGroupId = groupMapping["Emergency Care Services"] });
products.Add(new Product { Name = "Gastric Lavage Washout", UnitPrice = 280m, Physical = false, ProductGroupId = groupMapping["Emergency Care Services"] });
products.Add(new Product { Name = "Anaphylaxis IV Treatment", UnitPrice = 300m, Physical = false, ProductGroupId = groupMapping["Emergency Care Services"] });
products.Add(new Product { Name = "Emergency Blood Transfusion", UnitPrice = 650m, Physical = false, ProductGroupId = groupMapping["Emergency Care Services"] });
products.Add(new Product { Name = "Cardiac Arrest Protocol", UnitPrice = 2000m, Physical = false, ProductGroupId = groupMapping["Emergency Care Services"] });
products.Add(new Product { Name = "Antenatal Checkup Visit", UnitPrice = 85m, Physical = false, ProductGroupId = groupMapping["Maternal & Child Health"] });
products.Add(new Product { Name = "Postnatal Care Consultation", UnitPrice = 95m, Physical = false, ProductGroupId = groupMapping["Maternal & Child Health"] });
products.Add(new Product { Name = "Well-Baby Examination", UnitPrice = 75m, Physical = false, ProductGroupId = groupMapping["Maternal & Child Health"] });
products.Add(new Product { Name = "Childhood Immunization Visit", UnitPrice = 45m, Physical = false, ProductGroupId = groupMapping["Maternal & Child Health"] });
products.Add(new Product { Name = "Lactation Consulting", UnitPrice = 110m, Physical = false, ProductGroupId = groupMapping["Maternal & Child Health"] });
products.Add(new Product { Name = "Pediatric Growth Monitoring", UnitPrice = 60m, Physical = false, ProductGroupId = groupMapping["Maternal & Child Health"] });
products.Add(new Product { Name = "Neonatal Jaundice Screen", UnitPrice = 55m, Physical = false, ProductGroupId = groupMapping["Maternal & Child Health"] });
products.Add(new Product { Name = "Gestational Diabetes Screen", UnitPrice = 65m, Physical = false, ProductGroupId = groupMapping["Maternal & Child Health"] });
products.Add(new Product { Name = "Fetal Heart Monitoring CTG", UnitPrice = 120m, Physical = false, ProductGroupId = groupMapping["Maternal & Child Health"] });
products.Add(new Product { Name = "Family Planning Consult", UnitPrice = 50m, Physical = false, ProductGroupId = groupMapping["Maternal & Child Health"] });
products.Add(new Product { Name = "Basic Health Screening", UnitPrice = 150m, Physical = false, ProductGroupId = groupMapping["Medical Checkup Packages"] });
products.Add(new Product { Name = "Comprehensive Exec Checkup", UnitPrice = 450m, Physical = false, ProductGroupId = groupMapping["Medical Checkup Packages"] });
products.Add(new Product { Name = "Pre-Employment Medical Exam", UnitPrice = 120m, Physical = false, ProductGroupId = groupMapping["Medical Checkup Packages"] });
products.Add(new Product { Name = "Cardiac Wellness Package", UnitPrice = 350m, Physical = false, ProductGroupId = groupMapping["Medical Checkup Packages"] });
products.Add(new Product { Name = "Diabetic Care Package", UnitPrice = 220m, Physical = false, ProductGroupId = groupMapping["Medical Checkup Packages"] });
products.Add(new Product { Name = "Women's Health Checkup", UnitPrice = 280m, Physical = false, ProductGroupId = groupMapping["Medical Checkup Packages"] });
products.Add(new Product { Name = "Men's Health Screening", UnitPrice = 250m, Physical = false, ProductGroupId = groupMapping["Medical Checkup Packages"] });
products.Add(new Product { Name = "Senior Citizen Health Pack", UnitPrice = 300m, Physical = false, ProductGroupId = groupMapping["Medical Checkup Packages"] });
products.Add(new Product { Name = "Student Health Clearance", UnitPrice = 85m, Physical = false, ProductGroupId = groupMapping["Medical Checkup Packages"] });
products.Add(new Product { Name = "Premarital Screening Test", UnitPrice = 180m, Physical = false, ProductGroupId = groupMapping["Medical Checkup Packages"] });
foreach (var product in products)
{
var autoNo = await context.GenerateAutoNumberAsync(
entityName: entityName,
prefixTemplate: $"{entityName.ToShortNameConsonant(3)}/{{Year}}/"
);
product.AutoNumber = autoNo;
product.UnitMeasureId = measureId;
product.Physical ??= true;
await context.Product.AddAsync(product);
}
await context.SaveChangesAsync();
}
}