Пример #1
0
        // GET: Doctors
        public async Task <IActionResult> Index(int?id, int?serviceID)
        {
            var viewModel = new DoctorIndexData();

            viewModel.Doctors = await _context.Doctors
                                .Include(i => i.DoctorServices)
                                .ThenInclude(i => i.Service)
                                .ThenInclude(i => i.Appointments)
                                .ThenInclude(i => i.User)
                                .AsNoTracking()
                                .OrderBy(i => i.DoctorName)
                                .ToListAsync();

            if (id != null)
            {
                ViewData["DoctorID"] = id.Value;
                Doctor doctor = viewModel.Doctors.Where(
                    i => i.ID == id.Value).Single();
                viewModel.Services = doctor.DoctorServices.Select(s => s.Service);
            }
            if (serviceID != null)
            {
                ViewData["serviceID"]  = serviceID.Value;
                viewModel.Appointments = viewModel.Services.Where(
                    x => x.ID == serviceID).Single().Appointments;
            }
            return(View(viewModel));
        }
Пример #2
0
        // GET: Doctors
        public ActionResult Index(int?id, int?courseID, string sortOrder, string firstname, string lastname, string pesel)
        {
            /*ViewBag.LastNameSort = String.IsNullOrEmpty(sortOrder) ? "Lastname_DESC" : "";
             * ViewBag.FirstNameSort = sortOrder == "Firstname" ? "Firstname_DESC" : "Firstname";
             * ViewBag.PeselSort = sortOrder == "Pesel" ? "Pesel_DESC" : "Pesel";
             * var doctors = from d in db.Doctors
             *            select d;
             * if (!String.IsNullOrEmpty(firstname))
             * {
             *  doctors = doctors.Where(d => d.Firstname.Contains(firstname));
             * }
             * if (!String.IsNullOrEmpty(lastname))
             * {
             *  doctors = doctors.Where(d => d.Lastname.Contains(lastname));
             * }
             * if (!String.IsNullOrEmpty(pesel))
             * {
             *  doctors = doctors.Where(d => d.Pesel.Contains(pesel));
             * }
             * switch (sortOrder)
             * {
             *  case "Lastname_DESC":
             *      doctors = doctors.OrderByDescending(d => d.Lastname);
             *      break;
             *  case "Firstname":
             *      doctors = doctors.OrderBy(d => d.Firstname);
             *      break;
             *  case "Firstname_DESC":
             *      doctors = doctors.OrderByDescending(d => d.Firstname);
             *      break;
             *  case "Pesel":
             *      doctors = doctors.OrderBy(d => d.Pesel);
             *      break;
             *  case "Pesel_DESC":
             *      doctors = doctors.OrderByDescending(d => d.Pesel);
             *      break;
             *  default:
             *      doctors = doctors.OrderBy(d => d.Lastname);
             *      break;
             * }*/
            var viewModel = new DoctorIndexData();

            viewModel.Doctors = db.Doctors.Include(d => d.Visits);
            if (id != null)
            {
                ViewBag.DoctorID = id.Value;
                viewModel.Visits = viewModel.Doctors.Where(
                    d => d.Id == id.Value).Single().Visits;
            }
            return(View(viewModel));
        }