Skip to content

Instantly share code, notes, and snippets.

@PrimeTimeTran
Created June 30, 2023 00:06
Show Gist options
  • Save PrimeTimeTran/84e0644b94e502a2802ff73a3a7ddd20 to your computer and use it in GitHub Desktop.
Save PrimeTimeTran/84e0644b94e502a2802ff73a3a7ddd20 to your computer and use it in GitHub Desktop.
public Portfolio GetPortfolioById(int id, String period = "live")
{
var portfolioQuery = _context.Portfolios.Where(p => p.Id == id);
Portfolio portfolio;
switch (period)
{
case "live":
portfolio = portfolioQuery.Select(p => new Portfolio { Valuation = p.Valuation, Live = p.Live }).FirstOrDefault();
break;
case "1d":
portfolio = portfolioQuery.Select(p => new Portfolio { Valuation = p.Valuation, OneDay = p.OneDay }).FirstOrDefault();
break;
case "1w":
portfolio = portfolioQuery.Select(p => new Portfolio { Valuation = p.Valuation, OneWeek = p.OneWeek }).FirstOrDefault();
break;
case "1m":
portfolio = portfolioQuery.Select(p => new Portfolio { Valuation = p.Valuation, OneMonth = p.OneMonth }).FirstOrDefault();
break;
case "3m":
portfolio = portfolioQuery.Select(p => new Portfolio { Valuation = p.Valuation, ThreeMonths = p.ThreeMonths }).FirstOrDefault();
break;
case "ytd":
portfolio = portfolioQuery.Select(p => new Portfolio { Valuation = p.Valuation, YTD = p.YTD }).FirstOrDefault();
break;
case "1y":
portfolio = portfolioQuery.Select(p => new Portfolio { Valuation = p.Valuation, OneYear = p.OneYear }).FirstOrDefault();
break;
default:
return null;
}
return portfolio;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment