public int?Wstaw(IGrupaProduktow grupaProduktow)
        {
            var grupaEntity = new GrupaProduktow
            {
                DefinicjaZamowieniaId = grupaProduktow.DefinicjaZamowieniaId,
                Limit = grupaProduktow.Limit,
                Nazwa = grupaProduktow.Nazwa,
            };

            context.GrupyProduktow.Add(grupaEntity);
            context.SaveChanges();

            foreach (var produkt in grupaProduktow.Produkty)
            {
                var produktEntity = new Produkt
                {
                    GrupaProduktowId    = grupaEntity.Id,
                    Nazwa               = produkt.Nazwa,
                    Cena                = produkt.Cena,
                    NumerWierszaWExcelu = produkt.NumerWierszaWExcelu
                };
                context.Produkty.Add(produktEntity);
            }

            context.SaveChanges();
            return(grupaEntity.Id);
        }
Beispiel #2
0
        private Zamowienie Wczytaj(string sciezka)
        {
            var wynik = new Zamowienie();

            wynik.Nazwa = DajNazweZamowienia(sciezka);
            var wynikOtwarcia   = DajSheetZamowienia(sciezka);
            var sheetZamowienia = wynikOtwarcia.Worksheet;

            int            aktIndexWiersza = 4;
            GrupaProduktow aktGrupa        = null;

            do
            {
                if (WierszPoczatkuGrupy(sheetZamowienia, aktIndexWiersza))
                {
                    aktGrupa = DodajNowaGrupeProduktow(
                        wynik,
                        sheetZamowienia,
                        aktIndexWiersza);
                }
                else
                {
                    DodajNowaPozycje(
                        aktGrupa,
                        sheetZamowienia,
                        aktIndexWiersza);
                }
                aktIndexWiersza++;
            } while (PierwszyWierszZaZamowieniem(sheetZamowienia, aktIndexWiersza));

            wynikOtwarcia.Package.Dispose();
            return(wynik);
        }
Beispiel #3
0
        private GrupaProduktow DodajNowaGrupeProduktow(
            Zamowienie wynik,
            ExcelWorksheet sheetZamowienia,
            int aktIndexWiersza)
        {
            var aktGrupa = new GrupaProduktow();

            aktGrupa.Nazwa = sheetZamowienia.Cells[aktIndexWiersza, KolumnaNazwaPozycji].Value?.ToString();
            wynik.GrupyProduktow.Add(aktGrupa);
            return(aktGrupa);
        }
Beispiel #4
0
        private bool ZapiszGrupeProduktow(
            Kruchy.Zamowienia.Model.PlikZamowienia.GrupaProduktow grupa,
            int definicjaID)
        {
            var grupaDoWstawienia = new GrupaProduktow()
            {
                DefinicjaZamowieniaId = definicjaID,
                Limit = grupa.MinimalneIlosci,
                Nazwa = grupa.Nazwa
            };

            grupaDoWstawienia.DodajProdukty(PrzygotujProdukty(grupa.Pozycje));

            var grupaID = grupaProduktowDao.Wstaw(grupaDoWstawienia);

            return(grupaID.HasValue);
        }
Beispiel #5
0
        private Produkt DodajNowaPozycje(
            GrupaProduktow aktGrupa,
            ExcelWorksheet sheetZamowienia,
            int aktIndexWiersza)
        {
            var pozycja = new Produkt();

            pozycja.Nazwa = sheetZamowienia.Cells[aktIndexWiersza, KolumnaNazwaPozycji].Value?.ToString();
            pozycja.NumerPozycjiWExcelu = aktIndexWiersza;
            var wartoscIlosci = sheetZamowienia.Cells[aktIndexWiersza, KolumnaIlosc].Value?.ToString();

            if (string.IsNullOrEmpty(wartoscIlosci))
            {
                pozycja.Ilosc = 0;
            }
            else
            {
                pozycja.Ilosc = int.Parse(wartoscIlosci);
            }
            pozycja.Cena = sheetZamowienia.Cells[aktIndexWiersza, KolumnaCena].Value?.ToString();

            aktGrupa.Pozycje.Add(pozycja);
            return(pozycja);
        }