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))); }