Example #1
0
        public void Delete(int codigo)
        {
            EntityAccess   entityAccess   = _entityAccess;
            ProductService productService = new ProductService(entityAccess);

            productService.DeleteProductOdbc(codigo);
        }
        public AzureFilesBlobContainer()
        {
            _log   = ClassLogger.Create(GetType());
            _dblog = DebugOnlyLogger.Create(_log);

            var config = Catalog.Factory.Resolve <IConfig>(SpecialFactoryContexts.Routed);

            _containerName = config[BlobContainerLocalConfig.ContainerName];
            EntityAccess access = (EntityAccess)Enum.Parse(typeof(EntityAccess),
                                                           config.Get(BlobContainerLocalConfig.OptionalAccess,
                                                                      EntityAccess.Private.ToString()));

            _contentType = config.Get(BlobContainerLocalConfig.OptionalContentType, "application/raw");

            _account = Client.FromConfig();
            _client  = _account.CreateCloudBlobClient();

            _client.RetryPolicy = RetryPolicies.Retry(3, TimeSpan.FromSeconds(5));

            var blobContainerPermissions = new BlobContainerPermissions
            {
                PublicAccess = AzureEntityAccessTranslator.Translate(access)
            };

            _blobContainerPermissions = blobContainerPermissions;
            _container = _client.GetContainerReference(_containerName.ToLowerInvariant());

            if (_container.CreateIfNotExist())
            {
                _container.SetPermissions(_blobContainerPermissions);
            }
        }
Example #3
0
        public void Post([FromBody] Product product)
        {
            EntityAccess   entityAccess   = _entityAccess;
            ProductService productService = new ProductService(entityAccess);

            productService.AddProductOdbc(product);
        }
Example #4
0
        public ActionResult <Product> Get(int codigo)
        {
            EntityAccess   entityAccess   = _entityAccess;
            ProductService productService = new ProductService(entityAccess);
            Product        product        = productService.FindByIdOdbc(codigo);

            return(product);
        }
Example #5
0
        public ActionResult <List <Product> > Get()
        {
            EntityAccess   entityAccess   = _entityAccess;
            ProductService productService = new ProductService(entityAccess);
            List <Product> products       = productService.FindOdbc();

            return(products);
        }
Example #6
0
 protected void InitializeConfiguration(IConfig config)
 {
     _host          = new Uri(config[BlobContainerLocalConfig.ContainerHost]);
     _containerName = config[BlobContainerLocalConfig.ContainerName];
     _container     = new Uri(_host, _containerName);
     _access        = (EntityAccess)Enum.Parse(typeof(EntityAccess),
                                               config.Get(BlobContainerLocalConfig.OptionalAccess,
                                                          EntityAccess.Private.ToString()));
 }
Example #7
0
        public void Put(int codigo, [FromBody] Product product)
        {
            EntityAccess entityAccess = _entityAccess;

            product.Codigo = codigo;
            ProductService productService = new ProductService(entityAccess);

            productService.UpdateProductOdbc(product);
        }
Example #8
0
        /// <summary>
        /// Create based on an <see cref="EntityAccess"/>.
        /// </summary>
        public EntityRight(EntityAccess entityAccess)
        {
            if (entityAccess == null)
            {
                throw new ArgumentNullException(nameof(entityAccess));
            }

            this.CanCreate    = entityAccess.CanCreate;
            this.CanCreateOwn = entityAccess.CanCreateOwn;
            this.CanRead      = entityAccess.CanRead;
            this.CanReadOwn   = entityAccess.CanReadOwn;
            this.CanWrite     = entityAccess.CanWrite;
            this.CanWriteOwn  = entityAccess.CanWriteOwn;
            this.CanDelete    = entityAccess.CanDelete;
            this.CanDeleteOwn = entityAccess.CanDeleteOwn;
        }
Example #9
0
        public AzureBlobBlobContainer()
        {
            _log   = ClassLogger.Create(GetType());
            _dblog = DebugOnlyLogger.Create(_log);

            var config = Catalog.Factory.Resolve <IConfig>(SpecialFactoryContexts.Routed);

            _containerName = config.Get(BlobContainerLocalConfig.ContainerName, string.Empty);
            EntityAccess access = (EntityAccess)Enum.Parse(typeof(EntityAccess),
                                                           config.Get(BlobContainerLocalConfig.OptionalAccess,
                                                                      EntityAccess.Private.ToString()));

            _contentType = config.Get(BlobContainerLocalConfig.OptionalContentType, "application/json");

            _account = Client.FromConfig();

            if (String.IsNullOrEmpty(_containerName))
            {
                var type = typeof(T);
                if (!type.IsClass)
                {
                    throw new ArgumentNullException("You must specify a container for containers that use value types.");
                }
                _containerName = type.Name.ToLowerInvariant();
                if ((_containerName.EndsWith("blob") || _containerName.EndsWith("view")) && _containerName.Length > 4)
                {
                    _containerName = _containerName.Substring(0, _containerName.Length - 4);
                }
            }

            _client             = _account.CreateCloudBlobClient();
            _client.RetryPolicy = RetryPolicies.Retry(3, TimeSpan.FromSeconds(5));

            var blobContainerPermissions = new BlobContainerPermissions
            {
                PublicAccess = AzureEntityAccessTranslator.Translate(access)
            };

            _blobContainerPermissions = blobContainerPermissions;
            _container = _client.GetContainerReference(_containerName.ToLowerInvariant());

            if (_container.CreateIfNotExist())
            {
                _container.SetPermissions(_blobContainerPermissions);
            }
        }
Example #10
0
        /// <summary>
        /// Modify the instance by combining the rights of a given <see cref="EntityAccess"/>.
        /// </summary>
        internal EntityRight Combine(EntityAccess entityAccess)
        {
            if (entityAccess == null)
            {
                throw new ArgumentNullException(nameof(entityAccess));
            }

            this.CanCreate    = this.CanCreate || entityAccess.CanCreate;
            this.CanCreateOwn = this.CanCreateOwn || entityAccess.CanCreateOwn;
            this.CanRead      = this.CanRead || entityAccess.CanRead;
            this.CanReadOwn   = this.CanReadOwn || entityAccess.CanReadOwn;
            this.CanWrite     = this.CanWrite || entityAccess.CanWrite;
            this.CanWriteOwn  = this.CanWriteOwn || entityAccess.CanWriteOwn;
            this.CanDelete    = this.CanDelete || entityAccess.CanDelete;
            this.CanDeleteOwn = this.CanDeleteOwn || entityAccess.CanDeleteOwn;

            return(this);
        }
Example #11
0
        internal void CombineEntityAccess(EntityAccess entityAccess)
        {
            if (entityAccess == null)
            {
                throw new ArgumentNullException(nameof(entityAccess));
            }


            if (!entityRights.TryGetValue(entityAccess.EntityTypeName, out EntityRight entityRight))
            {
                entityRight = new AccessChecking.EntityRight(entityAccess);

                entityRights[entityAccess.EntityTypeName] = entityRight;
            }
            else
            {
                entityRight.Combine(entityAccess);
            }
        }
Example #12
0
        public static BlobContainerPublicAccessType Translate(EntityAccess access)
        {
            switch (access)
            {
            case EntityAccess.Private:
                return(BlobContainerPublicAccessType.Off);


            case EntityAccess.Public:
                return(BlobContainerPublicAccessType.Blob);


            case EntityAccess.ContainerPublic:
                return(BlobContainerPublicAccessType.Container);

            default:
                return(BlobContainerPublicAccessType.Off);
            }
        }
        protected void InitializeConfiguration(IConfig config)
        {
            var hostKey = config[BlobContainerLocalConfig.ContainerHost];

            _containerName = config[BlobContainerLocalConfig.ContainerName];


            _host = hostKey;

            //_container =_containerName;//it should combine hostkey before

            _container = Path.Combine(hostKey, _containerName);

            //if (!Directory.Exists(_container))
            //{
            //    Directory.CreateDirectory(_container);
            //}

            _access =
                (EntityAccess)
                Enum.Parse(
                    typeof(EntityAccess),
                    config.Get(BlobContainerLocalConfig.OptionalAccess, EntityAccess.Private.ToString()));
        }
 public ProductService(EntityAccess entityAccess)
 {
     this._entityAccess = entityAccess;
 }
Example #15
0
 public ProductOdbcController()
 {
     _entityAccess = new EntityAccess();
 }