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
            };
        }