public async Task <IActionResult> UploadContract([FromRoute] int id, IFormFile file) { var contract = _dbContext.Contracts.SingleOrDefault(x => x.Id == id); if (contract == null) { throw new ApiException("Contract Id does not exist."); } byte[] data = null; var fileName = DateTime.Now.ToString("yy-MM-dd HH:mm:ss") + "_" + file.FileName; using (var reader = new BinaryReader(file.OpenReadStream())) { data = reader.ReadBytes((int)file.Length); } var contenType = file.ContentType; var uploadFileName = ""; CloudBlobContainer blobContainer = null; var container = ""; container = "contracts"; blobContainer = await _azureBlobHelper.GetBlobContainer(container); uploadFileName = await _azureBlobSavingService.SavingFileToAzureBlobAsync(data, fileName, contenType, blobContainer); var url = $"{_configuration["AzureBlob:ServerImage"]}/{container}/{uploadFileName}"; contract.FileUrl = url; if (contract.Status == ContractStatus.Draft) { contract.Status = ContractStatus.Waiting; } else if (contract.Status == ContractStatus.Waiting) { contract.Status = ContractStatus.Active; contract.ActivedDate = DateTime.UtcNow.AddHours(7); } _dbContext.SaveChanges(); return(Ok(url)); }