public async Task <int?> TrySignIn(IOperation operation, CompanySignInEntity entity)
 {
     return(await operation.QuerySingleOrDefaultAsync <int?>(entity, @"
         SELECT TOP 1 au.[Id]
         FROM [authentication].[User] au
         INNER JOIN [authentication].[InternalUser] aiu ON au.[InternalUserId] = aiu.[Id]
         WHERE
             EXISTS (
                 SELECT TOP 1 1
                 FROM [company].[Company] cc
                 WHERE cc.[UserId] = au.[Id]
             ) AND
             aiu.[Email] = @Email AND
             aiu.[Password] = @Password AND
             au.[IsActivated] = 1;
     "));
 }
        public async Task <CompanyAuthenticationProfileEntity?> TrySignIn(IOperation operation, CompanySignInEntity entity)
        {
            var id = await userAuthenticationStore.TrySignIn(operation, entity);

            return(await userAuthenticationStore.GetCompanyProfileById(operation,
                                                                       id ?? throw new Exception(ExceptionMessage.CompanySignInFailedDueToInactiveUserOrUnsuitableData)));
        }