public async Task <IHttpActionResult> Authenticate(CredentialsDTO credentials) { Fr8AccountDO account; TerminalDO terminalDO; using (var uow = ObjectFactory.GetInstance <IUnitOfWork>()) { terminalDO = _terminal.GetByNameAndVersion(credentials.Terminal.Name, credentials.Terminal.Version); account = _security.GetCurrentAccount(uow); } var response = await _authorization.AuthenticateInternal( account, terminalDO, credentials.Domain, credentials.Username, credentials.Password, credentials.IsDemoAccount ); return(Ok(new TokenResponseDTO { TerminalId = response.AuthorizationToken?.TerminalID, TerminalName = terminalDO.Name, AuthTokenId = response.AuthorizationToken?.Id.ToString(), Error = response.Error })); }