public IHttpActionResult CreateNewAsset([FromBody] AssetModel request)
        {
            if (!ModelState.IsValid)
                return BadRequest("Invalid data.");

            using (var entities = new Dirico_DatabaseEntities())
            {
                try
                {
                    //STEP 1 : Insert into File structure
                    var file = entities.FolderStructures.Add(new FolderStructure()
                    {
                        Name = request.name,
                        ParentID = request.parent_id,
                        IsDirectory = false
                    });
                    entities.SaveChanges();
                    //STEP 2: Upload asset to Azure Blob
                    //UploadToBlob(reqMdl.)

                    //STEP 3: Insert into Asset table
                    entities.Assets.Add(new Asset()
                    {
                        FullName = request.name,
                        AssetTypeId = request.assetTypeId,
                        FileObjectId = file.ID,
                        Size = request.size,
                        Title = request.title,
                        Content = request.content,
                        BlobName = request.blobName
                    });
                    entities.SaveChanges();
                }
                catch (DbEntityValidationException ex)
                {
                    foreach (DbEntityValidationResult item in ex.EntityValidationErrors)
                    {
                        DbEntityEntry entry = item.Entry;
                        string entityTypeName = entry.Entity.GetType().Name;
                        foreach (DbValidationError subItem in item.ValidationErrors)
                        {
                            string message = string.Format("Error '{0}' occurred in {1} at {2}",
                                     subItem.ErrorMessage, entityTypeName, subItem.PropertyName);
                            return BadRequest(message);
                        }
                    }
                }
            }
            return Ok();
        }
        public IHttpActionResult CreateNewVariant([FromBody] VariantModel request)
        {
            if (!ModelState.IsValid)
                return BadRequest("Invalid data.");

            IList<FolderStructureModel> folderstructure = new List<FolderStructureModel>();
            using (var entities = new Dirico_DatabaseEntities())
            {
                try
                {
                    //STEP 1 : Insert into File structure
                    var file = entities.FolderStructures.Add(new FolderStructure()
                    {
                        Name = request.name,
                        ParentID = request.parent_id,
                        IsDirectory = true
                    });
                    entities.SaveChanges();

                    ////STEP 2: Insert into Variant table the specific info
                    entities.Variants.Add(new Variant()
                    {
                        FileObjectId = file.ID,
                        //Properties=request.properties
                    });
                    entities.SaveChanges();
                }
                catch (DbEntityValidationException ex)
                {
                    foreach (DbEntityValidationResult item in ex.EntityValidationErrors)
                    {
                        DbEntityEntry entry = item.Entry;
                        string entityTypeName = entry.Entity.GetType().Name;
                        foreach (DbValidationError subItem in item.ValidationErrors)
                        {
                            string message = string.Format("Error '{0}' occurred in {1} at {2}",
                                     subItem.ErrorMessage, entityTypeName, subItem.PropertyName);
                            return BadRequest(message);
                        }
                    }
                }
            }
            return Ok(folderstructure);
        }