示例#1
0
        internal IEnumerable <AzureSqlDatabaseActivityModel> ListDatabaseActivity(string resourceGroupName, string serverName, string elasticPoolName, string databaseName, Guid?operationId)
        {
            if (!string.IsNullOrEmpty(elasticPoolName))
            {
                var response = ElasticPoolCommunicator.ListDatabaseActivity(resourceGroupName, serverName, elasticPoolName, Util.GenerateTracingId());
                IEnumerable <AzureSqlDatabaseActivityModel> list = response.Select((r) =>
                {
                    return(new AzureSqlDatabaseActivityModel()
                    {
                        DatabaseName = r.Properties.DatabaseName,
                        EndTime = r.Properties.EndTime,
                        ErrorCode = r.Properties.ErrorCode,
                        ErrorMessage = r.Properties.ErrorMessage,
                        ErrorSeverity = r.Properties.ErrorSeverity,
                        Operation = r.Properties.Operation,
                        OperationId = r.Properties.OperationId,
                        PercentComplete = r.Properties.PercentComplete,
                        ServerName = r.Properties.ServerName,
                        StartTime = r.Properties.StartTime,
                        State = r.Properties.State,
                        Properties = new AzureSqlDatabaseActivityModel.DatabaseState()
                        {
                            Current = new Dictionary <string, string>()
                            {
                                { "CurrentElasticPoolName", r.Properties.CurrentElasticPoolName },
                                { "CurrentServiceObjectiveName", r.Properties.CurrentServiceObjectiveName },
                            },
                            Requested = new Dictionary <string, string>()
                            {
                                { "RequestedElasticPoolName", r.Properties.RequestedElasticPoolName },
                                { "RequestedServiceObjectiveName", r.Properties.RequestedServiceObjectiveName },
                            }
                        }
                    });
                });

                // Check if we have a database name constraint
                if (!string.IsNullOrEmpty(databaseName))
                {
                    list = list.Where(pl => string.Equals(pl.DatabaseName, databaseName, StringComparison.OrdinalIgnoreCase));
                }

                return(list.ToList());
            }
            else
            {
                throw new NotSupportedException(string.Format(CultureInfo.InvariantCulture, Microsoft.Azure.Commands.Sql.Properties.Resources.StandaloneDatabaseActivityNotSupported));
            }
        }
示例#2
0
        internal IEnumerable <AzureSqlDatabaseActivityModel> ListDatabaseActivity(string resourceGroupName, string serverName, string elasticPoolName, string databaseName, Guid?operationId)
        {
            List <AzureSqlDatabaseActivityModel> list = new List <AzureSqlDatabaseActivityModel>();

            if (!string.IsNullOrEmpty(elasticPoolName))
            {
                var response = ElasticPoolCommunicator.ListDatabaseActivity(resourceGroupName, serverName, elasticPoolName, Util.GenerateTracingId());
                list = response.Select((r) =>
                {
                    return(new AzureSqlDatabaseActivityModel()
                    {
                        DatabaseName = r.Properties.DatabaseName,
                        EndTime = r.Properties.EndTime,
                        ErrorCode = r.Properties.ErrorCode,
                        ErrorMessage = r.Properties.ErrorMessage,
                        ErrorSeverity = r.Properties.ErrorSeverity,
                        Operation = r.Properties.Operation,
                        OperationId = r.Properties.OperationId,
                        PercentComplete = r.Properties.PercentComplete,
                        ServerName = r.Properties.ServerName,
                        StartTime = r.Properties.StartTime,
                        State = r.Properties.State,
                        Properties = new AzureSqlDatabaseActivityModel.DatabaseState()
                        {
                            Current = new Dictionary <string, string>()
                            {
                                { "CurrentElasticPoolName", r.Properties.CurrentElasticPoolName },
                                { "CurrentServiceObjectiveName", r.Properties.CurrentServiceObjectiveName },
                            },
                            Requested = new Dictionary <string, string>()
                            {
                                { "RequestedElasticPoolName", r.Properties.RequestedElasticPoolName },
                                { "RequestedServiceObjectiveName", r.Properties.RequestedServiceObjectiveName },
                            }
                        }
                    });
                }).ToList();
            }
            else
            {
            }

            return(list);
        }
        internal IEnumerable <AzureSqlDatabaseActivityModel> ListDatabaseActivity(string resourceGroupName, string serverName, string elasticPoolName, string databaseName, Guid?operationId)
        {
            if (!string.IsNullOrEmpty(elasticPoolName))
            {
                var response = ElasticPoolCommunicator.ListDatabaseActivity(resourceGroupName, serverName, elasticPoolName);
                IEnumerable <AzureSqlDatabaseActivityModel> list = response.Select((r) =>
                {
                    return(new AzureSqlDatabaseActivityModel()
                    {
                        DatabaseName = r.DatabaseName,
                        EndTime = r.EndTime,
                        ErrorCode = r.ErrorCode,
                        ErrorMessage = r.ErrorMessage,
                        ErrorSeverity = r.ErrorSeverity,
                        Operation = r.Operation,
                        OperationId = r.OperationId,
                        PercentComplete = r.PercentComplete,
                        ServerName = r.ServerName,
                        StartTime = r.StartTime,
                        State = r.State,
                        Properties = new AzureSqlDatabaseActivityModel.DatabaseState()
                        {
                            Current = new Dictionary <string, string>()
                            {
                                { "CurrentElasticPoolName", r.CurrentElasticPoolName },
                                { "CurrentServiceObjectiveName", r.CurrentServiceObjective },
                            },
                            Requested = new Dictionary <string, string>()
                            {
                                { "RequestedElasticPoolName", r.RequestedElasticPoolName },
                                { "RequestedServiceObjectiveName", r.RequestedServiceObjective },
                            }
                        }
                    });
                });

                // Check if we have a database name constraint
                if (!string.IsNullOrEmpty(databaseName))
                {
                    list = list.Where(pl => string.Equals(pl.DatabaseName, databaseName, StringComparison.OrdinalIgnoreCase));
                }

                return(list.ToList());
            }
            else
            {
                var response = Communicator.ListOperations(resourceGroupName, serverName, databaseName);
                IEnumerable <AzureSqlDatabaseActivityModel> list = response.Select((r) =>
                {
                    return(new AzureSqlDatabaseActivityModel()
                    {
                        DatabaseName = r.DatabaseName,
                        ErrorCode = r.ErrorCode,
                        ErrorMessage = r.ErrorDescription,
                        ErrorSeverity = r.ErrorSeverity,
                        Operation = r.Operation,
                        OperationId = Guid.Parse(r.Name),
                        PercentComplete = r.PercentComplete,
                        ServerName = r.ServerName,
                        StartTime = r.StartTime,
                        State = r.State,
                        Properties = new AzureSqlDatabaseActivityModel.DatabaseState()
                        {
                            Current = new Dictionary <string, string>(),
                            Requested = new Dictionary <string, string>()
                        },
                        EstimatedCompletionTime = r.EstimatedCompletionTime,
                        Description = r.Description,
                        IsCancellable = r.IsCancellable
                    });
                });

                // Check if we have a operation id constraint
                if (operationId.HasValue)
                {
                    list = list.Where(pl => Guid.Equals(pl.OperationId, operationId));
                }

                return(list.ToList());
            }
        }