public void BuildFrom(IEnumerable <Shares.ShareMvt> mvts)
        {
            var rebuildSharesCommand = new BuildSharesCommand()
            {
                Movements = mvts
            };

            this.mediator.Send(rebuildSharesCommand);
        }
예제 #2
0
        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);
        }