public async Task <Guid> Handle(ProduktCreateCommand request, CancellationToken cancellationToken)
        {
            var kategorie = await _kategoriaRepository.GetList(request.PrzedsiebiorstwoId);

            var kategoria = kategorie.FirstOrDefault(x => x.Nazwa == request.Kategoria);

            if (kategoria == null)
            {
                kategoria = new Kategoria(request.Kategoria, request.PrzedsiebiorstwoId);
                await _kategoriaRepository.Save(kategoria);
            }

            var jednostkiMiary = await _jednostkaMiaryRepository.GetList(request.PrzedsiebiorstwoId);

            var jednostkaMiary = jednostkiMiary.FirstOrDefault(x => x.Nazwa == request.JednostkaMiary);

            if (jednostkaMiary == null)
            {
                jednostkaMiary = new JednostkaMiary(request.JednostkaMiary, request.PrzedsiebiorstwoId);
                await _jednostkaMiaryRepository.Save(jednostkaMiary);
            }

            var produkt = new Produkt
            {
                Id             = Guid.NewGuid(),
                Skrot          = request.ShortName,
                Nazwa          = request.Name,
                Kategoria      = kategoria,
                JednostkaMiary = jednostkaMiary,
                MagazynId      = request.MagazynId
            };

            return(await _produktRepository.Save(produkt));
        }
 public Task <Guid> Handle(KategoriaCreateCommand request, CancellationToken cancellationToken)
 {
     return(_repository.Save(new Kategoria(request.Name, request.PrzedsiebiorstwoId)));
 }