public ActionResult Index(GetComingRecordsCommand command) { var answer = _hospitalRegistrationsService.GetComingRecords(command); return View(answer); }
public GetComingRecordsCommandAnswer GetComingRecords(GetComingRecordsCommand command) { var user = _tokenManager.GetUserByToken(command.Token); var hospitalId = GetHospitalIdByUserId(user.Id); var patientsRepository = _patientRepository.GetModels(); var sectionsAccessIds = _hospitalUserSectionAccessRepository.GetModels().Where(model => !model.IsBlocked).Where(model => model.HospitalUserId == user.Id) .Select(model => model.HospitalSectionProfileId).ToList(); var patients = ((IDbSet<PatientStorageModel>) patientsRepository) .Include(model => model.Reservation.EmptyPlaceByTypeStatistic.EmptyPlaceStatistic) .Include(model => model.Reservation.EmptyPlaceByTypeStatistic.EmptyPlaceStatistic.HospitalSectionProfile) .Where(model => sectionsAccessIds.Contains(model.Reservation.EmptyPlaceByTypeStatistic.EmptyPlaceStatistic.HospitalSectionProfileId)) .Where(model => model.Reservation.EmptyPlaceByTypeStatistic.EmptyPlaceStatistic.HospitalSectionProfile.HospitalId == hospitalId) .Where(model => model.Reservation.EmptyPlaceByTypeStatistic.EmptyPlaceStatistic.HospitalSectionProfileId == model.Reservation.EmptyPlaceByTypeStatistic.EmptyPlaceStatistic.HospitalSectionProfile.Id) .Where(model => model.Reservation.EmptyPlaceByTypeStatistic.EmptyPlaceStatisticId == model.Reservation.EmptyPlaceByTypeStatistic.EmptyPlaceStatistic.Id) .Where(model => model.Reservation.EmptyPlaceByTypeStatisticId == model.Reservation.EmptyPlaceByTypeStatistic.Id) .Where(model => model.Id == model.Reservation.Id) .Where(model => model.Reservation.Status == ReservationStatus.Opened) .Select(model => new AllHospitalRegistrations { FirstName = model.FirstName, LastName = model.LastName, PhoneNumber = model.PhoneNumber, Years = model.Years, Month = model.Months, Weeks = model.Weeks, Diagnosis = model.Reservation.Diagnosis, SectionName = model.Reservation.EmptyPlaceByTypeStatistic.EmptyPlaceStatistic.HospitalSectionProfile.SectionProfile.Name, ClinicName = model.Reservation.Clinic.Name, Date = model.Reservation.EmptyPlaceByTypeStatistic.EmptyPlaceStatistic.Date, DoctorName = model.Reservation.Reservator.Name, RegistrationDate = model.Reservation.ApproveTime, ReservationId = model.Reservation.Id }) .OrderBy(registrations => registrations.Date) .ThenBy(registrations => registrations.SectionName) .ToList(); List<AllHospitalRegistrations> result = patients.OrderBy(x => x.Date).ToList(); return new GetComingRecordsCommandAnswer { Token = command.Token.Value, Table = result, DialogMessage = command.DialogMessage, HasDialogMessage = command.HasDialogMessage != null && command.HasDialogMessage.Value }; }