Example #1
0
        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"));
            }
        }
Example #3
0
        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));
        }
Example #4
0
        public List <Doctor> GetDoctorsList(DoctorsListViewModel DoctorsFromView)
        {
            List <Doctor> doctors = dbContext.Doctors.Where(d => d.Location == DoctorsFromView.Location && d.Specialization == DoctorsFromView.Specialization).ToList();

            return(doctors);
        }