public async Task <ActionResult <Portfolio> > PostPortfolio(PortfolioCreateDto portfolio) { string userId = User.Claims.FirstOrDefault(c => c.Type == ClaimTypes.NameIdentifier).Value; var newPortfolio = _mapper.Map <Portfolio>(portfolio); var data = await _portfolioService.CreatePortfolio(newPortfolio, userId); return(CreatedAtAction("GetPortfolio", new { id = data.Id }, data)); }
public async Task <ActionResult <Portfolio> > CreatePortfolio(PortfolioCreateDto portfolio) { if (ModelState.IsValid) { var newPortfolio = _mapper.Map <Portfolio>(portfolio); var userid = User.Claims.FirstOrDefault(c => c.Type == ClaimTypes.NameIdentifier).Value; Guid userId; if (string.IsNullOrEmpty(userid) || !Guid.TryParse(userid, out userId)) { return(Unauthorized()); } var createdPortfolio = await _portfolioService.CreatePortfolio(newPortfolio, userId); return(CreatedAtAction(nameof(GetPortfolioById), new { id = createdPortfolio.Id }, createdPortfolio)); } return(BadRequest(ModelState)); }
public async Task <ActionResult <CommonResponse <PortfolioDto> > > PostPortfolio(PortfolioCreateDto port) { // Make CommonResponse object to use CommonResponse <PortfolioDto> resp = new CommonResponse <PortfolioDto>(); // Map to model class var model = _mapper.Map <Portfolio>(port); // Add to db _context.Portfolios.Add(model); await _context.SaveChangesAsync(); var l = await _context.Portfolios.Include(l => l.User).FirstOrDefaultAsync(l => l.Id == model.Id); resp.Data = _mapper.Map <PortfolioDto>(l); return(Ok(resp)); }