public IList <IAdditionalIncome> Resolve(AdditionalPathViewModel source, AdditionalPathModel destination, IList <IAdditionalIncome> destMember, ResolutionContext context) { destMember = new List <IAdditionalIncome>(); //TODO: IsAdded if (source?.AdditionalIncome?.Deposits?.Any() ?? false) { foreach (var deposit in source.AdditionalIncome.Deposits) { destMember.Add(new Deposit() { CurrencyId = deposit.CurrencyId, From = deposit.FromAge, Percentage = deposit.Percentage, Total = deposit.Total, Years = deposit.Years, IsHidden = deposit.IsHidden }); } } if (source?.AdditionalIncome?.Sales?.Any() ?? false) { foreach (var sale in source.AdditionalIncome.Sales) { destMember.Add(new Sale() { CurrencyId = sale.CurrencyId, From = sale.FromAge, Total = sale.Total, IsHidden = sale.IsHidden }); } } return(destMember); }
public IList <IAdditionalCost> Resolve(AdditionalPathViewModel source, AdditionalPathModel destination, IList <IAdditionalCost> destMember, ResolutionContext context) { destMember = new List <IAdditionalCost>(); //TODO: IsAdded if (source?.AdditionalCost?.Credits?.Any() ?? false) { foreach (var credit in source.AdditionalCost.Credits) { destMember.Add(new Credit() { CurrencyId = credit.CurrencyId, From = credit.FromAge, Percentage = credit.Percentage, Total = credit.Total, Years = credit.Years, IsHidden = credit.IsHidden }); } } if (source?.AdditionalCost?.Purchases?.Any() ?? false) { foreach (var credit in source.AdditionalCost.Purchases) { destMember.Add(new Purchase() { CurrencyId = credit.CurrencyId, From = credit.FromAge, Total = credit.Total, IsHidden = credit.IsHidden }); } } return(destMember); }
private AdditionalPathModel ParseAdditionalPath(XElement element) { var additionalPath = new AdditionalPathModel(); if (element != null) { additionalPath.AdditionalIncomes = element .Element("AdditionalIncomes") .Elements("AdditionalIncome") .Select(i => ParseAdditionalIncome(i)) .ToList(); additionalPath.AdditionalCosts = element .Element("AdditionalCosts") .Elements("AdditionalCost") .Select(c => ParseAdditionalCost(c)) .ToList(); } return(additionalPath); }