@inject IHttpContextAccessor HttpContextAccessor @inject IDataContextFactory dbFactory @model User

Welcome @Model.Name @Model.LastName

name: @Model.Name
lastname: @Model.LastName
email: @Model.Email
@if (Model.IsPatient()) // is patient and has doc, must show doc data { var db = dbFactory.Create(); var doctor = (from u in db.Users join d in db.Doctors on u.Username equals d.Username where d.Username.Equals(Model.Pat.Doctor) select new { u.Username, u.Name, u.LastName, d.Location }).ToArray().First();

Dottore: @doctor.Name @doctor.LastName

Dove mi puoi trovare? @doctor.Location

Invia un messaggio al tuo dottore } else { var db = dbFactory.Create(); dynamic[] data; Type type = null; string title = null; var docData = db.Doctors.Where(d => d.Username.Equals(Model.Username)).ToArray().FirstOrDefault(); if (docData != null) // is DOC { // see all the patient of the doc title = "Lista dei pazienti"; var patients = (from u in db.Users join p in db.Patients on u.Username equals p.Username where p.Doctor.Equals(docData.Username) select new { u.Username, u.Name, u.LastName, p.Notes, Profile = "Profile" }).ToArray(); data = patients; type = patients.FirstOrDefault()?.GetType(); } else // is a patient and need to choose a doctor { // choose which doc you want title = "Scegli un Doc"; var docs = (from u in db.Users join d in db.Doctors on u.Username equals d.Username select new { u.Username, u.Name, u.LastName, d.Location, Choose = "Scegli" }).ToArray(); data = docs; type = docs.FirstOrDefault().GetType(); } if (type != null) { var fields = new List(); foreach (var field in type.GetProperties()) { fields.Add(field.Name); }

@title

} }