public List <DoctorsListViewModel> GetDoctorsLists() { var doctorsList = userManager.GetUsersInRoleAsync("eDoctor").GetAwaiter().GetResult(); List <DoctorsListViewModel> doctorsListViewModel = new List <DoctorsListViewModel>(); foreach (var doctor in doctorsList) { var doctorModel = new DoctorsListViewModel() { Id = doctor.Id, FullName = doctor.FullName, MedicalCenter = doctor.Workplace.Name, WorkplaceAddress = string.IsNullOrEmpty(doctor.Workplace.Name) ? "Не е зададен адрес" : "ул. " + doctor.Workplace.Address.Street + " № " + doctor.Workplace.Address.StreetNumber + ", гр. " + doctor.Workplace.Address.City + ", " + doctor.Workplace.Address.Country.Name, ContactEmail = doctor.Email, ContactPhone = string.IsNullOrEmpty(doctor.PhoneNumber) ? "Не е посочен телефон" : doctor.PhoneNumber, Specialty = doctor.SpecialtyCode, }; doctorsListViewModel.Add(doctorModel); } return(doctorsListViewModel); }
public ActionResult Index(DoctorsListViewModel DoctorsFromView) { var doctors = repository.GetDoctorsList(DoctorsFromView); if (doctors.Count != 0) { return(View("DisplayDoctors", doctors)); } else { return(Content("Doctors not found")); } }
public ActionResult DoctorsList(AppointmentViewModel model) { if (Session["userId"] == null) { return(Redirect("~")); } DoctorsData doctorsData = new DoctorsData(); ScheduleBasedAppointmentManagement scheduleBasedAppointment = new ScheduleBasedAppointmentManagement(); var scheduleBasedAvailability = new List <DoctorAvailability>(); scheduleBasedAvailability = scheduleBasedAppointment.GetAvailability(model.SelectedDate); var doctorList = new List <DoctorsListViewModel>(); var doctorsAvailabilityList = doctorsData.GetDoctorsList(); doctorsAvailabilityList = ( from o in doctorsAvailabilityList orderby o.DoctorId, o.Fee descending group o by o.DoctorId into g select g.First() ).ToList(); var doctorSpecilizationList = doctorsData.GetDoctorSpecilizationList(); foreach (var item in doctorsAvailabilityList) { var doctorData = new DoctorsListViewModel(); doctorData.FirstName = item.Doctor.FirstName; doctorData.LastName = item.Doctor.LastName; doctorData.Email = item.Doctor.Email; doctorData.DoctorId = item.DoctorId; foreach (var scheduleAvailability in scheduleBasedAvailability) { if (scheduleAvailability.Users.Id == item.DoctorId) { doctorData.Availability = true; break; } } foreach (var doctorSpecilization in doctorSpecilizationList) { if (item.DoctorId == doctorSpecilization.UserId) { doctorData.Specialization.Add(doctorSpecilization.Specialization.Name.ToString()); } } doctorData.SelectedDate = model.SelectedDate; doctorList.Add(doctorData); } return(View(doctorList)); }
public List <Doctor> GetDoctorsList(DoctorsListViewModel DoctorsFromView) { List <Doctor> doctors = dbContext.Doctors.Where(d => d.Location == DoctorsFromView.Location && d.Specialization == DoctorsFromView.Specialization).ToList(); return(doctors); }