public ApiRegistrationModel RecieveDetails()
        {
            var query = new TableQuery <ApiRegistrationTableEntity>().
                        Where(TableQuery.GenerateFilterCondition("PartitionKey", QueryComparisons.Equal,
                                                                 ApiRegistrationTableEntity.GetPartitionKey(ApiRegistrationProviderType.Jasper)));

            var response = _azureTableStorageClient.ExecuteQuery(query);

            if (response == null)
            {
                return(new ApiRegistrationModel());
            }

            var apiRegistrationTableEntities = response as IList <ApiRegistrationTableEntity> ?? response.ToList();
            var apiRegistrationTableEntity   = apiRegistrationTableEntities.FirstOrDefault();

            if (apiRegistrationTableEntity == null)
            {
                return(new ApiRegistrationModel());
            }

            return(new ApiRegistrationModel()
            {
                Username = apiRegistrationTableEntity.Username,
                BaseUrl = apiRegistrationTableEntity.BaseUrl,
                LicenceKey = apiRegistrationTableEntity.LicenceKey,
                Password = apiRegistrationTableEntity.Password
            });
        }
        public bool DeleteApiDetails()
        {
            var entity = new DynamicTableEntity(ApiRegistrationTableEntity.GetPartitionKey(ApiRegistrationProviderType.Jasper),
                                                ApiRegistrationTableEntity.GetRowKey(ApiRegistrationProviderType.Jasper));

            entity.ETag = "*";
            _azureTableStorageClient.Execute(TableOperation.Delete(entity));
            return(true);
        }
        public bool AmendRegistration(ApiRegistrationModel apiRegistrationModel)
        {
            try
            {
                var incomingEntity = new ApiRegistrationTableEntity()
                {
                    Password   = apiRegistrationModel.Password,
                    BaseUrl    = apiRegistrationModel.BaseUrl,
                    Username   = apiRegistrationModel.Username,
                    LicenceKey = apiRegistrationModel.LicenceKey
                };

                _azureTableStorageClient.Execute(TableOperation.InsertOrMerge(incomingEntity));
            }
            catch (StorageException)
            {
                return(false);
            }
            return(true);
        }
        public bool IsApiRegisteredInAzure()
        {
            var retrieveOperation = TableOperation.Retrieve <ApiRegistrationTableEntity>(ApiRegistrationTableEntity.GetPartitionKey(ApiRegistrationProviderType.Jasper),
                                                                                         ApiRegistrationTableEntity.GetRowKey(ApiRegistrationProviderType.Jasper));
            var retrievedResult = _azureTableStorageClient.Execute(retrieveOperation);

            return(retrievedResult.Result != null);
        }