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));
        }
예제 #2
0
        public async Task <List <JednostkaMiaryDto> > Handle(JednostkaMiaryListQuery request, CancellationToken cancellationToken)
        {
            var jednostkiMiary = await _repository.GetList(request.PrzedsiebiorstwoId);

            return(jednostkiMiary.Select(x => new JednostkaMiaryDto
            {
                Id = x.Id,
                Name = x.Nazwa
            }).ToList());
        }