private static Portfolio ApplyChanges(Portfolio ptf, PortfolioChanges changes)
 {
     ptf.Location = changes.Location;
     ptf.Name     = changes.Name;
     ptf.Balance  = changes.Balance;
     return(ptf);
 }
        public Portfolio CreatePortfolio(PortfolioChanges newValues)
        {
            var newPtf = ApplyChanges(CreatePortfolio(portfolios.Keys.Max() + 1), newValues);

            portfolios[newPtf.Id] = newPtf;
            return(newPtf);
        }
 public void UpdatePortfolio(int id, PortfolioChanges changes)
 {
     portfolios[id] = ApplyChanges(portfolios[id], changes);
 }