// Note: Used for testing portfolio file info save routine //[HttpPost("file")] public async Task <IActionResult> SavePortfolioFileInfo(PortfolioFileForCreationDto folioFileDto) { //////////////////////////////////////// // add file info portfolio file table // //////////////////////////////////////// PortfolioFile portfolioFileForCreation = new PortfolioFile(); portfolioFileForCreation.FileName = folioFileDto.FileName; portfolioFileForCreation.PortfolioId = folioFileDto.PortfolioId; var portfolio = await _repo.GetPortfolioById(folioFileDto.PortfolioId); var folioFile = _mapper.Map <PortfolioFile>(portfolioFileForCreation); folioFile.Portfolio = portfolio; _repo.Add <PortfolioFile>(folioFile); if (await _repo.SaveAll()) { return(Ok()); } // return CreatedAtRoute("GetPortfolioById", new {id=folioFileDto.PortfolioId}, portfolio); // return Ok("Upload Successful."); throw new Exception("Portfolio creation failed on save."); /////////////////////////////////////////////// // end of add file info portfolio file table // /////////////////////////////////////////////// }
private void loadPortfolio() { f = PortfolioFile.Inst; f.OnItemAdded += new PortfolioFile.ItemHander(f_OnItemAdded); f.OnItemRemoved += new PortfolioFile.ItemHander(f_OnItemRemoved); this.listView.ItemsSource = f.PortfolioList; this.txtItemTotal.Text = "共有股票条数:" + f.PortfolioList.Count; }
public async Task <IActionResult> UploadFile(int id) { try { // for debug/test only // throw new Exception("UploadFile(id) -> " + id); // file upload routine // var file = Request.Form.Files[0]; string folderName = "assets/images"; string webRootPath = _hostingEnvironment.WebRootPath; string newPath = Path.Combine(webRootPath, folderName); string fileName = ""; string uniqueGuidFilename = ""; string fileExtension = ""; string fullPath = ""; if (!Directory.Exists(newPath)) { Directory.CreateDirectory(newPath); } if (file.Length > 0) { // retrieve the original filename fileName = ContentDispositionHeaderValue.Parse(file.ContentDisposition).FileName.Trim('"'); // generate unique filename uniqueGuidFilename = Convert.ToString(Guid.NewGuid()); // get the original file extension fileExtension = Path.GetExtension(fileName); //fullPath = Path.Combine(newPath, fileName); // set the newly generated guid filename fileName = uniqueGuidFilename + fileExtension; fullPath = Path.Combine(newPath, fileName); using (var stream = new FileStream(fullPath, FileMode.Create)) { await file.CopyToAsync(stream); } } // end of file upload routine // // add file info portfolio file table // PortfolioFile portfolioFileForCreation = new PortfolioFile(); portfolioFileForCreation.FileName = fileName; if (id < 1) { portfolioFileForCreation.PortfolioId = portfolioIdForUpload; } else { portfolioFileForCreation.PortfolioId = id; } var portfolio = await _repo.GetPortfolioById(id); var folioFile = _mapper.Map <PortfolioFile>(portfolioFileForCreation); folioFile.Portfolio = portfolio; _repo.Add <PortfolioFile>(folioFile); if (await _repo.SaveAll()) { return(CreatedAtRoute("GetPortfolioById", new { id = id }, portfolio)); } // return Ok("Upload Successful."); throw new Exception("Portfolio creation failed on save."); // end of add file info portfolio file table // } catch (System.Exception ex) { return(BadRequest("Upload Failed: " + ex.Message)); // throw new Exception("Upload Failed: " + ex.Message); } }