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 ActionResult Dodaj(FormCollection collection)
        {
            var Model = new JednostkaMiary();

            try
            {
                UpdateModel(Model);

                if (Model.IsValid)
                {
                    JednostkiMiaryRepository.Dodaj(Model);
                    JednostkiMiaryRepository.Save();

                    TempData["Message"] = String.Format("Dodano jednostkę miary \"{0}\"", Model.KodJednostkiMiary);

                    return(RedirectToAction("Kartoteka"));
                }
                else
                {
                    foreach (var rule in Model.GetRuleViolations())
                    {
                        ModelState.AddModelError(rule.PropertyName, rule.ErrorMessage);
                    }

                    return(View(Model));
                }
            }
            catch (Exception ex)
            {
                ViewBag.ErrorMessage = "Wystąpił błąd podczas dodawania jednostki miary";
                Logger.ErrorFormat("Wystąpił błąd podczas dodawania jednostki miary\n{0}", ex);

                return(View(Model));
            }
        }
        public async Task <Guid> Save(JednostkaMiary jednostkaMiary)
        {
            var sqlInsert = "INSERT INTO dbo.JednostkaMiary (Id, Name, PrzedsiebiorstwoId) VALUES (@Id, @Nazwa, @PrzedsiebiorstwoId)";

            using (var conn = _dbConnectionSource.GetConnection())
            {
                await conn.ExecuteAsync(sqlInsert, jednostkaMiary);

                return(jednostkaMiary.Id);
            }
        }
 public void Dodaj(JednostkaMiary inwestycja)
 {
     db.JednostkaMiaries.InsertOnSubmit(inwestycja);
 }
 public void Usun(JednostkaMiary inwestycja)
 {
     db.JednostkaMiaries.DeleteOnSubmit(inwestycja);
 }
        public ActionResult Dodaj()
        {
            var Model = new JednostkaMiary();

            return(View(Model));
        }
 public Task <Guid> Save(JednostkaMiary kategoria)
 {
     _jednostkiMiary.Add(kategoria);
     return(Task.FromResult(kategoria.Id));
 }