public async Task <ActionResult <OVEAssetModel> > Create(
            [Bind("Project,Name,Description,Service,AssetMeta")] OVEAssetModel oveAssetModel,
            [FromForm] IFormFile upload)
        {
            // check if we have a file
            if (upload == null || upload.Length <= 0)
            {
                _logger.LogError("failed to upload a file");
                ModelState.AddModelError("Filename", "Failed to upload file");
            }
            else if (!_serviceRepository.ValidateServiceChoice(oveAssetModel.Service, upload))
            {
                ModelState.AddModelError("Service", "Service does not support File Type");
            }

            if (ModelState.IsValid)
            {
                // then try and save it
                try {
                    await _fileOperations.Save(oveAssetModel, upload);

                    _logger.LogInformation("received and uploaded a file :) " + oveAssetModel.StorageLocation);
                }
                catch (Exception e) {
                    _logger.LogError(e, "failed to upload a file and write it to " + oveAssetModel.StorageLocation);
                    ModelState.AddModelError("StorageLocation", "Failed to upload file");
                }
            }

            if (ModelState.IsValid)
            {
                _context.Add(oveAssetModel);
                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }

            return(this.FormatOrView(oveAssetModel));
        }