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); }