public void CalculateQuantitiesWithReturnsForAssets() { foreach (var item in DeserializeInputs.Where(x => x.AssetId != null)) { if (DeserializeOutputs.Any(x => x.Address == item.Address)) { var output = DeserializeOutputs.Single(x => x.Address == item.Address); item.Quantity -= output.Quantity; var newOutputs = new List <DeserializeOutputsNinja>(DeserializeOutputs); newOutputs.Remove(output); DeserializeOutputs = newOutputs.ToArray(); } } }
public void CalculateInputsWithReturnedChange() { foreach (var item in DeserializeInputs) { if (DeserializeOutputs.Any(x => x.Address == item.Address)) { var outputs = DeserializeOutputs.Where(x => x.Address == item.Address && x.AssetId == item.AssetId); foreach (var output in outputs) { item.Value -= output.Value; item.Quantity -= output.Quantity; var newOutputs = new List <DeserializeOutputsNinja>(DeserializeOutputs); newOutputs.Remove(output); DeserializeOutputs = newOutputs.ToArray(); } } } }