public ShowHospitalRegistrationPlacesByDateCommandAnswer ShowHospitalRegistrationPlacesByDate(
            ShowHospitalRegistrationPlacesByDateCommand command)
        {
            var user = _tokenManager.GetUserByToken(command.Token);
            var hospitalId = GetHospitalIdByUserId(user.Id);

            var sectionsAccessIds = _hospitalUserSectionAccessRepository.GetModels().Where(model => !model.IsBlocked).Where(model => model.HospitalUserId == user.Id)
                .Select(model => model.HospitalSectionProfileId).ToList();

            var hospitalSectionProfiles = _hospitalSectionProfileRepository.GetModels();

            var date = command.Date.Date;
            var statisticList = this.GetStatisticList(date, date, hospitalId, user.Id);
            var completeCount = this.GetHospitalProfileCount(hospitalId, user.Id);

            var table = ((IDbSet<HospitalSectionProfileStorageModel>) hospitalSectionProfiles)
                .Where(model => model.HospitalId == hospitalId)
                .Where(model => model.EmptyPlaceStatistics.Any(storageModel => storageModel.Date == command.Date))
                .Where(model => sectionsAccessIds.Contains(model.Id))
                .Select(model => new HospitalRegistrationTableItem
                {
                    HospitalProfileId = model.Id,
                    HospitalProfileName = model.Name,
                    StatisticItems = model.EmptyPlaceStatistics
                        .Where(storageModel => storageModel.Date == command.Date)
                        .SelectMany(storageModel => storageModel.EmptyPlaceByTypeStatistics)
                        .Select(storageModel => new HospitalRegistrationCountStatisticItem
                        {
                            Sex = storageModel.Sex,
                            OpenCount = storageModel.Count,
                            RegisteredCount = storageModel.Reservations.Count(reservationModel => reservationModel.Status == ReservationStatus.Opened),
                            FreePlacesCount = storageModel.Count - storageModel.Reservations.Count(reservationModel => reservationModel.Status == ReservationStatus.Opened)
                         })
                        .ToList()
                }).ToList();

            var statistics = statisticList.Count(model => model.Date.Date == date);

            return new ShowHospitalRegistrationPlacesByDateCommandAnswer
            {
                Token = (Guid) command.Token,
                Date = command.Date,
                Table = table,
                IsCompleted = statistics == completeCount,
                HasDialogMessage = command.HasDialogMessage != null && command.HasDialogMessage.Value,
                DialogMessage = command.DialogMessage
            };
        }
 public ActionResult Step2(ShowHospitalRegistrationPlacesByDateCommand command)
 {
     var answer = _hospitalRegistrationsService.ShowHospitalRegistrationPlacesByDate(command);
     return View(answer);
 }