public async Task <Tenant> NewTableauSiteAsync(string site, string name)
        {
            TableauTenant tenant = new TableauTenant();

            var tableauSite = await CreateSiteAsync(site, name);

            if (!LogOnError)
            {
                var tableauProject = await CreateProjectAsync();

                tenant.ProjectId = tableauProject.Id.ToString();
                tenant.SiteId    = tableauSite.Id;
            }

            else
            {
            }


            return(new Tenant
            {
                Tableau = tenant,
                Message = ErrorMessage
            });
        }
        public async Task <TableauTenant> GetTableauSiteAsync(string site)
        {
            ExecutionIssue.Clear();

            TableauTenant tenant = new TableauTenant();

            var tableauSite = await GetSiteAsync(site);

            var tableauProject = await GetProjectAsync();

            tenant.ProjectId = tableauProject.Id.ToString();
            tenant.SiteId    = tableauSite.Id;

            return(tenant);
        }
        public async Task <Response> ExecuteAsync(TenantQueryCommand command, Response previousResult)
        {
            Response tenant = new Response();

            try
            {
                var tb = new TableauTenant();
                var sf = new SnowflakeTenant();

                var tasks = new Task[] {
                    Task.Run(async() => tb = await _tableauService.GetTableauSiteAsync(command.Name)),
                    Task.Run(async() => sf = await _snowflakeService.GetReaderAsync(command.Name))
                };

                await Task.WhenAll(tasks);

                tenant.TenantDetails.Tableau   = tb;
                tenant.TenantDetails.Snowflake = sf;

                //tenant.Tableau = await _tableauService.GetTableauSiteAsync(command.Name);
                //tenant.Snowflake = await _snowflakeService.GetReaderAsync(command.Name);
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
                ErrorManager em = new ErrorManager();

                em = _tableauService.Error;

                tenant.ErrorMessages = new List <ErrorDetails>
                {
                    em.Error
                };
            }

            return(tenant);
        }