/// <summary>
 /// Initializes client properties.
 /// </summary>
 private void Initialize()
 {
     StorageAccounts       = new StorageAccounts(this);
     Usage                 = new UsageOperations(this);
     BaseUri               = new System.Uri("https://management.azure.com");
     SerializationSettings = new JsonSerializerSettings
     {
         Formatting            = Newtonsoft.Json.Formatting.Indented,
         DateFormatHandling    = Newtonsoft.Json.DateFormatHandling.IsoDateFormat,
         DateTimeZoneHandling  = Newtonsoft.Json.DateTimeZoneHandling.Utc,
         NullValueHandling     = Newtonsoft.Json.NullValueHandling.Ignore,
         ReferenceLoopHandling = Newtonsoft.Json.ReferenceLoopHandling.Serialize,
         ContractResolver      = new ReadOnlyJsonContractResolver(),
         Converters            = new  List <JsonConverter>
         {
             new Iso8601TimeSpanConverter()
         }
     };
     SerializationSettings.Converters.Add(new TransformationJsonConverter());
     DeserializationSettings = new JsonSerializerSettings
     {
         DateFormatHandling    = Newtonsoft.Json.DateFormatHandling.IsoDateFormat,
         DateTimeZoneHandling  = Newtonsoft.Json.DateTimeZoneHandling.Utc,
         NullValueHandling     = Newtonsoft.Json.NullValueHandling.Ignore,
         ReferenceLoopHandling = Newtonsoft.Json.ReferenceLoopHandling.Serialize,
         ContractResolver      = new ReadOnlyJsonContractResolver(),
         Converters            = new List <JsonConverter>
         {
             new Iso8601TimeSpanConverter()
         }
     };
     CustomInitialize();
     DeserializationSettings.Converters.Add(new TransformationJsonConverter());
 }
Esempio n. 2
0
        async Task <bool> ExecuteLoadStorageAccountsAsync(bool force = false)
        {
            if (IsBusy)
            {
                return(false);
            }
            try
            {
                IsBusy = true;
                NoStorageAccountsFound = false;
                var realm = App.GetRealm();
                if (force)
                {
                    var subs = realm.All <Subscription>().AsRealmCollection();
                    foreach (var sub in subs.Where(sub => sub.IsSubOn == false))
                    {
                        realm.Write(() =>
                        {
                            var sas = realm.All <StorageAccountExt>().Where(sa => sa.SubscriptionName == sub.Name);
                            realm.RemoveRange(sas);
                        });
                    }
                    foreach (var sub in subs.Where(sub => sub.IsSubOn))
                    {
                        await AzureManagementHelper.GetStorageAccountsForSubscription(
                            sub.Id, signOnClient.GetTokenForTenant(sub.TenantId), sub.Name, sub.TenantId);
                    }
                }


                var storageAccounts = realm.All <StorageAccountExt>();
                storageAccounts.SubscribeForNotifications((sender, changes, error) =>
                {
                    Console.WriteLine("Change to StorageAccount");
                });

                StorageAccounts.ReplaceRange(storageAccounts.OrderBy(sa => sa.Name));
                StorageAccountsGrouped.ReplaceRange(StorageAccounts.FilterBySubscription());

                if (StorageAccounts.Count == 0)
                {
                    NoStorageAccountsFoundMessage = "No Storage Accounts Found";
                    NoStorageAccountsFound        = true;
                }
                else
                {
                    NoStorageAccountsFound = false;
                }
            }
            catch (Exception ex)
            {
                Logger.Report(ex, "Method", "ExecuteLoadStorageAccountsAsync");
                MessagingService.Current.SendMessage(MessageKeys.Error, ex);
            }
            finally
            {
                IsBusy = false;
            }
            return(true);
        }
        public NewTableViewModel(INavigation navigation, IUserDialogs userDialogs, TablesViewModel tablesVM) : base(navigation, userDialogs)
        {
            this.tablesVM = tablesVM;
            var realm           = App.GetRealm();
            var storageAccounts = realm.All <StorageAccountExt>().Where(sa => sa.IsStorageAccountOn);

            StorageAccounts.ReplaceRange(storageAccounts);
        }
Esempio n. 4
0
        /// <summary>
        /// Table Storage
        /// </summary>
        /// <param name="tableName">Table Name</param>
        public TableStorage(string tableName, StorageAccounts account = StorageAccounts.Default)
            : base(account)
        {
            if (string.IsNullOrWhiteSpace(tableName))
            {
                throw new ArgumentException("tableName");
            }

            this.tableName = tableName;
        }
Esempio n. 5
0
        /// <summary>
        /// Azure Blob Container
        /// </summary>
        /// <param name="account">Account</param>
        /// <param name="container">Container</param>
        public AzureBlobContainer(string container, StorageAccounts account = StorageAccounts.Default)
            : base(account)
        {
            if (string.IsNullOrWhiteSpace(container))
            {
                throw new ArgumentException("container");
            }

            this.client        = base.account.CreateCloudBlobClient();
            client.RetryPolicy = new LinearRetry(TimeSpan.FromSeconds(1), 5);
            this.containerRef  = this.client.GetContainerReference(container.ToLowerInvariant());
        }
Esempio n. 6
0
        /// <summary>
        /// Get Key
        /// </summary>
        /// <param name="account">Account</param>
        /// <returns>Configuration Key</returns>
        public static string Key(StorageAccounts account = StorageAccounts.Default)
        {
            switch (account)
            {
            case StorageAccounts.Administrative1:
                return(SicData3);

            case StorageAccounts.Offsite1:
                return(SicData2);

            default:
                return(DataConnectionStringKey);
            }
        }
Esempio n. 7
0
 /// <summary>
 /// Initializes client properties.
 /// </summary>
 private void Initialize()
 {
     DataSources           = new DataSources(this);
     Indexers              = new Indexers(this);
     Indexes               = new Indexes(this);
     StorageAccounts       = new StorageAccounts(this);
     Usage                 = new UsageOperations(this);
     BaseUri               = new System.Uri("https://management.azure.com");
     SerializationSettings = new JsonSerializerSettings
     {
         Formatting            = Newtonsoft.Json.Formatting.Indented,
         DateFormatHandling    = Newtonsoft.Json.DateFormatHandling.IsoDateFormat,
         DateTimeZoneHandling  = Newtonsoft.Json.DateTimeZoneHandling.Utc,
         NullValueHandling     = Newtonsoft.Json.NullValueHandling.Ignore,
         ReferenceLoopHandling = Newtonsoft.Json.ReferenceLoopHandling.Serialize,
         ContractResolver      = new ReadOnlyJsonContractResolver(),
         Converters            = new  List <JsonConverter>
         {
             new Iso8601TimeSpanConverter()
         }
     };
     SerializationSettings.Converters.Add(new TransformationJsonConverter());
     DeserializationSettings = new JsonSerializerSettings
     {
         DateFormatHandling    = Newtonsoft.Json.DateFormatHandling.IsoDateFormat,
         DateTimeZoneHandling  = Newtonsoft.Json.DateTimeZoneHandling.Utc,
         NullValueHandling     = Newtonsoft.Json.NullValueHandling.Ignore,
         ReferenceLoopHandling = Newtonsoft.Json.ReferenceLoopHandling.Serialize,
         ContractResolver      = new ReadOnlyJsonContractResolver(),
         Converters            = new List <JsonConverter>
         {
             new Iso8601TimeSpanConverter()
         }
     };
     SerializationSettings.Converters.Add(new PolymorphicSerializeJsonConverter <DataChangeDetectionPolicy>("@odata.type"));
     DeserializationSettings.Converters.Add(new  PolymorphicDeserializeJsonConverter <DataChangeDetectionPolicy>("@odata.type"));
     SerializationSettings.Converters.Add(new PolymorphicSerializeJsonConverter <DataDeletionDetectionPolicy>("@odata.type"));
     DeserializationSettings.Converters.Add(new  PolymorphicDeserializeJsonConverter <DataDeletionDetectionPolicy>("@odata.type"));
     SerializationSettings.Converters.Add(new PolymorphicSerializeJsonConverter <ScoringFunction>("type"));
     DeserializationSettings.Converters.Add(new  PolymorphicDeserializeJsonConverter <ScoringFunction>("type"));
     CustomInitialize();
     DeserializationSettings.Converters.Add(new TransformationJsonConverter());
 }
        public override void ExecuteCmdlet()
        {
            if (ShouldProcess(AccountName, NewMediaServiceWhatIfMessage))
            {
                try
                {
                    var mediaService = MediaServicesManagementClient.MediaService.Get(ResourceGroupName, AccountName);
                    if (mediaService != null)
                    {
                        throw new ArgumentException(string.Format(Properties.Resource.InvalidMediaServiceAccount,
                                                                  AccountName,
                                                                  SubscrptionName,
                                                                  ResourceGroupName));
                    }
                }
                catch (ApiErrorException exception)
                {
                    if (exception.Response != null && exception.Response.StatusCode.Equals(HttpStatusCode.NotFound))
                    {
                        var restMediaService = new RestMediaService(
                            Location,
                            Tags.ToDictionaryTags(),
                            null,
                            null,
                            MediaServiceType);

                        switch (ParameterSetName)
                        {
                        case PrimaryStorageAccountParamSet:
                            restMediaService.StorageAccounts = new List <StorageAccount>
                            {
                                new StorageAccount
                                {
                                    Id        = StorageAccountId,
                                    IsPrimary = true
                                }
                            };
                            break;

                        case StorageAccountsParamSet:
                            if (StorageAccounts.Count(x => x.IsPrimary.HasValue && x.IsPrimary.Value) != 1)
                            {
                                throw new ArgumentException(Properties.Resource.OnlyOnePrimaryStorageAccountAllowed);
                            }

                            restMediaService.StorageAccounts = StorageAccounts.Select(x => x.ToStorageAccount()).ToList();
                            break;

                        default:
                            throw new ArgumentException("Bad ParameterSet Name");
                        }

                        var mediaServiceCreated = MediaServicesManagementClient.MediaService.Create(ResourceGroupName, AccountName, restMediaService);
                        WriteObject(mediaServiceCreated.ToPSMediaService(), true);
                    }
                    else
                    {
                        throw;
                    }
                }
            }
        }
Esempio n. 9
0
 /// <summary>
 /// Binary Container
 /// </summary>
 /// <param name="container">Container</param>
 /// <param name="account">Account</param>
 public BinaryContainer(string container, StorageAccounts account = StorageAccounts.Default)
     : base(container, account)
 {
 }
Esempio n. 10
0
 /// <summary>
 /// Json Container
 /// </summary>
 /// <param name="account">Account</param>
 /// <param name="container">Container</param>
 public JsonContainer(string container = "json", StorageAccounts account = StorageAccounts.Default)
     : base(container, account)
 {
 }
Esempio n. 11
0
        /// <summary>
        /// Get Cloud Storage Account
        /// </summary>
        /// <param name="account">Account</param>
        /// <returns>Cloud Storage Account</returns>
        public static CloudStorageAccount Get(StorageAccounts account = StorageAccounts.Default)
        {
            var key = Key(account);

            return(CloudStorageAccount.Parse(ConfigurationManager.AppSettings[key]));
        }
Esempio n. 12
0
 /// <summary>
 /// Constructor
 /// </summary>
 /// <param name="account">Storage Account</param>
 public AzureStorage(StorageAccounts account = StorageAccounts.Default)
 {
     this.account = Get(account);
 }