Beispiel #1
0
        public async Task <Unit> Handle(CreateBusinessUnitCommand request, CancellationToken cancellationToken)
        {
            var user   = _userAccessor.GetUser();
            var userId = Guid.Parse(user.FindFirst(ClaimTypes.NameIdentifier).Value);

            var businessUnit = new BusinessUnit
            {
                Description        = request.Description,
                BusinessUnitLeadId = request.BusinessUnitLeadId,
                Address            = request.Address
            };

            businessUnit.CreateEnd(Guid.NewGuid(), request.Name, userId);

            if (request.Active)
            {
                businessUnit.Activate();
            }
            else
            {
                businessUnit.Deactivate();
            }

            await _context.BusinessUnits.AddAsync(businessUnit, cancellationToken);

            await _context.SaveChangesAsync(cancellationToken);

            return(Unit.Value);
        }