/// <summary>
        /// Загрузить подписи из базы данных по идентификаторам
        /// </summary>
        public async Task <IList <SignatureDto> > GetSignatures(IList <string> ids)
        {
            using var unitOfWork = _container.Resolve <IUnitOfWork>();
            var signatureEntities = await unitOfWork.Session.Query <SignatureEntity>().
                                    Where(signature => ids.Contains(signature.PersonId)).
                                    ToListAsync();

            return(ConverterDataFile.SignaturesToDto(signatureEntities));
        }
        /// <summary>
        /// Загрузить имена из базы данных
        /// </summary>
        public async Task <IList <SignatureDto> > GetSignaturesNames()
        {
            using var unitOfWork = _container.Resolve <IUnitOfWork>();
            var signatureEntities = await unitOfWork.Session.Query <SignatureEntity>().
                                    OrderBy(signature => signature.PersonInformation.Surname).
                                    ThenBy(signature => signature.PersonInformation.Name).
                                    ToListAsync();

            return(ConverterDataFile.SignaturesToDto(signatureEntities));
        }
        /// <summary>
        /// Получить данные Microstation из базы данных
        /// </summary>
        public async Task <MicrostationDataFileDto> GetMicrostationDataFile(string idDataFile)
        {
            using var unitOfWork = _container.Resolve <IUnitOfWork>();

            var signatureMicrostationEntity = await unitOfWork.Session.LoadAsync <MicrostationDataFileEntity>(idDataFile);

            var signatureMicrostationDto = ConverterDataFile.SignatureMicrostationToDto(signatureMicrostationEntity);

            return(signatureMicrostationDto);
        }
        /// <summary>
        /// Записать данные Microstation в базу данных
        /// </summary>
        public async Task <Unit> UploadMicrostationDataFile(MicrostationDataFileDto microstationDataFileDto, string idDataFile)
        {
            var signatureMicrostationEntity = ConverterDataFile.MicrostationDataFileFromDto(microstationDataFileDto, idDataFile);

            using var unitOfWork = _container.Resolve <IUnitOfWork>();
            await unitOfWork.Session.SaveOrUpdateAsync(signatureMicrostationEntity);

            await unitOfWork.CommitAsync();

            return(Unit.Value);
        }
        /// <summary>
        /// Записать подписи в базу данных
        /// </summary>
        public async Task <Unit> UploadSignatures(IList <SignatureDto> signaturesDto)
        {
            var signaturesEntity = ConverterDataFile.SignaturesFromDto(signaturesDto);

            using var unitOfWork = _container.Resolve <IUnitOfWork>();
            foreach (var signatureEntity in signaturesEntity)
            {
                await unitOfWork.Session.SaveOrUpdateAsync(signatureEntity);
            }
            await unitOfWork.CommitAsync();

            return(Unit.Value);
        }