public void BuildFrom(IEnumerable <Shares.ShareMvt> mvts) { var rebuildSharesCommand = new BuildSharesCommand() { Movements = mvts }; this.mediator.Send(rebuildSharesCommand); }
public async Task <Unit> Handle(BuildSharesCommand cmd, CancellationToken cancellationToken) { this.sharesRepository.Clear(); foreach (var mvt in cmd.Movements) { if (mvt.MovementType == ShareMovementType.Acquisition) { this.Vest(1, mvt.ExerciseCost, mvt.ShareValue, mvt.MovementYear, mvt.TransactionId) .ToList(); } else { this.Sell(1, mvt.ShareValue, mvt.MovementYear, mvt.TransactionId); } } return(await Unit.Task); }