public ActionResult DodajPozycjeFakturySprzedazy(int id, FormCollection collection)
        {
            PozycjaFakturySprzedazy PozycjaFakturySprzedazy = new PozycjaFakturySprzedazy()
            {
                IdFaktury = id
            };

            if (collection["BruttoNettoRadio"] != null && collection["BruttoNettoRadio"].ToString() == "Brutto")
            {
                //Decimal Brutto = Decimal.Parse(collection["CenaJednostkowa"]);
                //// B = N + N*S/100 => N = B/(1 + S/100)
                //Int32 StawkaVat = Int32.Parse(collection["StawkaVat"]);
                //Decimal Netto = Brutto / (1 + new Decimal(StawkaVat) / 100);
                //PozycjaFakturyZakupu.CenaJednostkowa = Netto;
                PozycjaFakturySprzedazy.CzyBrutto = true;
            }

            PozycjaFakturySprzedazy.CenaJednostkowa  = Decimal.Parse(collection["CenaJednostkowa"]);
            PozycjaFakturySprzedazy.StawkaVat        = Int32.Parse(collection["StawkaVat"]);
            PozycjaFakturySprzedazy.IdJednostkiMiary = Int32.Parse(collection["IdJednostkiMiary"]);
            PozycjaFakturySprzedazy.Ilosc            = Int32.Parse(collection["Ilosc"]);
            PozycjaFakturySprzedazy.Opis             = collection["Opis"];
            string DialogElementId = collection["DialogElementId"];
            string GridElementId   = collection["GridElementId"];

            // nadanie kolejnego numeru pozycji
            FakturaSprzedazy Faktura = FakturySprzedazyRepository.FakturaSprzedazy(id);

            if (Faktura == null)
            {
                return(Content("Nie powiodło się dodawane pozycji faktury")); // TODO: zwracac content?
            }

            if (Faktura.PozycjaFakturySprzedazies != null && Faktura.PozycjaFakturySprzedazies.Count > 0)
            {
                PozycjaFakturySprzedazy.NumerPozycji = (Faktura.PozycjaFakturySprzedazies.Max(p => p.NumerPozycji)) + 1;
            }
            else
            {
                PozycjaFakturySprzedazy.NumerPozycji = 1;
            }

            if (PozycjaFakturySprzedazy.IsValid)
            {
                // lista pozycji przed dodaniem tej nowej do bazy
                var Model = FakturySprzedazyRepository.FakturaSprzedazy(id);

                // dodanie nowej pozycji do bazy
                FakturySprzedazyRepository.DodajPozycjeFakturySprzedazy(PozycjaFakturySprzedazy);
                FakturySprzedazyRepository.Save();

                // dodanie nowej do juz wyciagnietej listy - takie sztuczki, bo zaciagniecie listy pozycji zaraz po DodajPozycjeFakturySprzedazy
                // nie zawsze zwracalo nowa pozycje - baza nie zdazyla przetworzyc INSERTa i zwracala liste bez nowej pozycji
                Model.PozycjaFakturySprzedazies.Add(PozycjaFakturySprzedazy);

                return(PartialView("_GridPozycjeFakturySprzedazy", new ReadOnlyAbleModel <FakturaSprzedazy>(Model, false, DialogElementId, GridElementId)));
            }

            return(Content("Nie powiodło się dodawane pozycji faktury"));
        }
 public void UsunPozycjeFaktury(PozycjaFakturySprzedazy PozycjaFaktury)
 {
     db.PozycjaFakturySprzedazies.DeleteOnSubmit(PozycjaFaktury);
 }
 public void DodajPozycjeFakturySprzedazy(PozycjaFakturySprzedazy pozycjaFakturySprzedazy)
 {
     db.PozycjaFakturySprzedazies.InsertOnSubmit(pozycjaFakturySprzedazy);
 }