public int Resolve(Note source, NoteItemDto destination, int destMember, ResolutionContext context) { if (source?.Product == null) { throw new ArgumentNullException(nameof(source), $"Cannot resolve value '{nameof(destination.Calories)}' for '{nameof(NoteItemDto)}', because note entity is empty or doesn't contain information about product"); } var caloriesCount = _caloriesCalculator.Calculate(source); return(caloriesCount); }
public int Resolve(Page source, PageItemDto destination, int destMember, ResolutionContext context) { if (source == null) { throw new ArgumentNullException(nameof(source)); } if (source.Notes.Select(n => n.Product).Any(p => p == null)) { throw new ArgumentNullException($"Cannot resolve value '{nameof(destination.CountCalories)}' for '{nameof(PageItemDto)}', because there's no information about product for one or few source page notes"); } var caloriesCount = _caloriesCalculator.Calculate(source.Notes); return(caloriesCount); }