Beispiel #1
0
        public ActionResult Create([Bind(Include = "IdStavka,OpisProdaneStavke,KolicinaProdaneStavke,CijenaStavkeBezPoreza,RacunId")] Stavka stavka)
        {
            if (ModelState.IsValid)
            {
                StavkaRepository sr = new StavkaRepository();
                stavka.UkupnaCijenaStavkaBezPoreza = sr.IzracunCijene(stavka.KolicinaProdaneStavke, stavka.CijenaStavkeBezPoreza);
                db.Stavke.Add(stavka);
                db.SaveChanges();
                ModelState.Clear();
                return(View());
            }

            return(View(stavka));
        }
        public ActionResult Create([Bind(Include = "DatumDospijeca,UkupnaCijenaBezPoreza,UkupnaCijenaSPorezom,NazivPrimateljaRacuna")] Racun racun)
        {
            if (ModelState.IsValid)
            {
                Stavka          s  = new Stavka();
                RacunRepository rr = new RacunRepository();
                racun.DateNow    = rr.GetTodayDate();
                racun.ModifiedBy = rr.GetUser();
                db.Racuni.Add(racun);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            return(View(racun));
        }
Beispiel #3
0
        public RedirectResult CreateInvoice(Firm firm)
        {
            //Dodanie firmy do bazy firm
            context.Firms.Add(firm);
            context.SaveChanges();

            //Tworzymy fakture
            Invoice invoice = new Invoice();

            //Dopisanie firmy do faktury
            invoice.Firm   = context.Firms.Where(n => n.NIP == firm.NIP && n.Address == firm.Address && n.Mail == firm.Mail && n.OwnerName == firm.OwnerName).FirstOrDefault();
            invoice.FirmID = invoice.Firm.ID;

            //Dopisanie bieżącej daty do faktury
            invoice.DateOfCreation = DateTime.Now;

            //Dodanie faktury do bazy
            context.Invoices.Add(invoice);
            context.SaveChanges();

            //Pobranie faktury z bazy żeby mieć jej ID
            var invoiceFromBase = context.Invoices.ToList().LastOrDefault();


            //Tworzenie nowych produktów
            //Tych które stworzyliśmy klikając +
            //"NameNew PriceNew
            List <string> newProductsNames  = new List <string>();
            List <string> newProductsPrices = new List <string>();
            int           h = 1;

            while (Request.Form["NameNew" + h] != null)
            {
                newProductsNames.Add(Request.Form["NameNew" + h]);
                newProductsPrices.Add(Request.Form["PriceNew" + h]);
                Product product = new Product
                {
                    Name  = Request.Form["NameNew" + h],
                    Price = int.Parse(Request.Form["PriceNew" + h])
                };
                context.Products.Add(product);
                context.SaveChanges();
                h++;
            }
            //NameNew1

            var qwe = 0;

            //Pobranie listy produktów z bazy
            var products = context.Products.ToList();

            //Tworzenie SoldProduct na podstawie danych z formularza
            //i danych z bazy produktów
            //AmountNew
            List <SoldProduct> soldProducts = new List <SoldProduct>();
            int i = 0;
            int t = 1;

            foreach (var item in products)
            {
                if (Request.Form["product" + i] != null)
                {
                    if (int.Parse(Request.Form["product" + i]) != 0)
                    {
                        SoldProduct soldProduct = new SoldProduct
                        {
                            Count     = int.Parse(Request.Form["product" + i]),
                            Product   = products[i],
                            ProductID = products[i].ID,
                            Invoice   = invoiceFromBase,
                            InvoiceID = invoiceFromBase.ID
                        };
                        context.SoldProducts.Add(soldProduct);
                        context.SaveChanges();
                        soldProducts.Add(soldProduct);
                    }
                }
                else if (Request.Form["AmountNew" + t] != null)
                {
                    if (int.Parse(Request.Form["AmountNew" + t]) != 0)
                    {
                        SoldProduct soldProduct = new SoldProduct
                        {
                            Count     = int.Parse(Request.Form["AmountNew" + t]),
                            Product   = products[i],
                            ProductID = products[i].ID,
                            Invoice   = invoiceFromBase,
                            InvoiceID = invoiceFromBase.ID
                        };
                        context.SoldProducts.Add(soldProduct);
                        context.SaveChanges();
                        soldProducts.Add(soldProduct);
                    }
                    t++;
                }


                i++;
            }


            //Tworzenie kwoty brutto do faktury
            double invoiceBruttoPrice = 0;

            //Zsumowanie wszystkich wartości produktów które dodaliśmy
            //w formularzu
            foreach (var item in soldProducts)
            {
                invoiceBruttoPrice += item.Count * item.Product.Price;
            }

            invoiceFromBase.BruttoPrice = invoiceBruttoPrice;

            //Jako że nasza faktura w zmiennej invoice
            //była pobrana z bazy danych i była śledzona(tracking)
            //to zapisujemy zmiany(zmienila się invoice.bruttoprice)
            context.SaveChanges();

            //Wszystkie dane z formularza są już w bazie danych
            //Przenosimy się do widoku faktury za pomocą Redirect
            return(Redirect("/Home/Invoice/" + invoiceFromBase.ID));
        }