public ActionResult EditStavka(StavkaFaktureTable stavkaEdit)
        {
            var result = _db.StavkaFaktureTables.SingleOrDefault(f => f.redniBr == stavkaEdit.redniBr);

            if (!ModelState.IsValid)
            {
                return(View(stavkaEdit));
            }

            if (result != null)
            {
                result.kolicina = stavkaEdit.kolicina;
                result.cena     = stavkaEdit.cena;
                result.ukupno   = stavkaEdit.kolicina * stavkaEdit.cena;

                _db.SaveChanges();
            }

            return(RedirectToAction("Index"));
        }
        public ActionResult CreateStavka(int ID, StavkaFaktureTable newStavkaFakture)
        {
            if (!ModelState.IsValid)
            {
                return(View());
            }

            var    ukupno     = newStavkaFakture.cena * newStavkaFakture.kolicina;
            int    redniBr    = 0;
            int    redniBrmax = 0;
            string sqlMax     = "";

            //broj redova u tabeli Stavke
            string sqlCount = @"SELECT COUNT(*) FROM StavkaFaktureTable";
            int    count    = _db.Database.SqlQuery <int>(sqlCount).Single();

            if (count != 0)
            {
                sqlMax     = @"SELECT MAX(redniBr) FROM StavkaFaktureTable";
                redniBrmax = _db.Database.SqlQuery <int>(sqlMax).Single();
                redniBr    = redniBrmax + 1; //redni broj postavljano za 1 veci od max rednog broja u tabeli
            }

            _db.StavkaFaktureTables.Add(new StavkaFaktureTable
            {
                redniBr   = redniBr,
                fakturaID = ID,
                kolicina  = newStavkaFakture.kolicina,
                cena      = newStavkaFakture.cena,
                ukupno    = ukupno
            });

            _db.SaveChanges();

            //kada se doda nova stavka treba vrednost ukupno_stavki u tabeli Faktura da promenimo i da dodamo tu stavku u listuStavki
            int countSF = 0;

            string esqlQuery = "";
            int    counter   = 0;

            using (EntityConnection conn = new EntityConnection("name=FaktureDBEntities"))
            {
                conn.Open();

                esqlQuery = @"SELECT VALUE sf FROM FaktureDBEntities.StavkaFaktureTables as sf where sf.fakturaID = @id";

                using (EntityCommand cmd = new EntityCommand(esqlQuery, conn))
                {
                    //kreiramo parametar za parametarski upit
                    EntityParameter param1 = new EntityParameter();
                    param1.ParameterName = "id";
                    param1.Value         = ID;

                    cmd.Parameters.Add(param1);

                    using (DbDataReader rdr = cmd.ExecuteReader(CommandBehavior.SequentialAccess))

                    {
                        while (rdr.Read())
                        {
                            //broj redova u tabeli Stavki za dati fakturaID
                            counter++;
                        }
                    }
                }
            }

            countSF = counter;

            var faktura = _db.FakturaTables.Find(ID);

            var result = _db.FakturaTables.SingleOrDefault(f => f.fakturaID == faktura.fakturaID);

            if (!ModelState.IsValid)
            {
                return(View(faktura));
            }

            if (result != null)
            {
                result.ukupno_stavki = countSF;
                _db.SaveChanges();
            }

            faktura.StavkaFaktureTables.Add(newStavkaFakture);

            return(RedirectToAction("Index"));
        }
        public ActionResult CreateStavka(int ID, StavkaFaktureTable newStavkaFakture)
        {
            if (!ModelState.IsValid)
            {
                return(View());
            }

            var    ukupno     = newStavkaFakture.cena * newStavkaFakture.kolicina;
            int    redniBr    = 0;
            int    redniBrmax = 0;
            string sqlMax     = "";


            string sqlCount = @"SELECT COUNT(*) FROM StavkaFaktureTable";
            int    count    = _db.Database.SqlQuery <int>(sqlCount).Single();

            if (count != 0)
            {
                sqlMax     = @"SELECT MAX(redniBr) FROM StavkaFaktureTable";
                redniBrmax = _db.Database.SqlQuery <int>(sqlMax).Single();
                redniBr    = redniBrmax + 1;
            }

            _db.StavkaFaktureTables.Add(new StavkaFaktureTable
            {
                redniBr   = redniBr,
                fakturaID = ID,
                kolicina  = newStavkaFakture.kolicina,
                cena      = newStavkaFakture.cena,
                ukupno    = ukupno
            });

            _db.SaveChanges();

            int countSF = 0;
            //string sqlCountStavkeFakture = "SELECT COUNT(*) FROM StavkaFaktureTables where fakturaID = {0}";

            //string esqlQuery = @"SELECT COUNT(*) FROM StavkaFaktureTables where fakturaID = @id";

            //using (EntityCommand cmd = new EntityCommand(esqlQuery))
            //{
            //    // Create one parameter and add them to
            //    // the EntityCommand's Parameters collection
            //    EntityParameter param1 = new EntityParameter();
            //    param1.ParameterName = "id";
            //    param1.Value = ID;

            //    cmd.Parameters.Add(param1);

            //    using (EntityDataReader rdr = cmd.ExecuteReader(CommandBehavior.SequentialAccess, FaktureDBEntities))
            //    {
            //        while (rdr.Read())
            //        {
            //            countSF = rdr.GetInt32(0);

            //        }
            //    }
            //}
            string esqlQuery = "";
            int    counter   = 0;

            using (EntityConnection conn = new EntityConnection("name=FaktureDBEntities"))
            {
                conn.Open();

                esqlQuery = @"SELECT VALUE sf FROM FaktureDBEntities.StavkaFaktureTables as sf where sf.fakturaID = @id";

                using (EntityCommand cmd = new EntityCommand(esqlQuery, conn))
                {
                    // Create one parameter and add them to
                    // the EntityCommand's Parameters collection
                    EntityParameter param1 = new EntityParameter();
                    param1.ParameterName = "id";
                    param1.Value         = ID;

                    cmd.Parameters.Add(param1);

                    using (DbDataReader rdr = cmd.ExecuteReader(CommandBehavior.SequentialAccess))

                    {
                        while (rdr.Read())
                        {
                            //get rows
                            counter++;
                        }
                        //IExtendedDataRecord rdfdata = rdr as IExtendedDataRecord;
                        //countSF = rdfdata.DataRecordInfo.FieldMetadata.Count;
                    }
                }
            }

            countSF = counter;

            var faktura = _db.FakturaTables.Find(ID);

            //faktura.StavkaFaktureTables.Add(newStavkaFakture);

            var result = _db.FakturaTables.SingleOrDefault(f => f.fakturaID == faktura.fakturaID);

            if (!ModelState.IsValid)
            {
                return(View(faktura));
            }

            if (result != null)
            {
                result.ukupno_stavki = countSF;
                _db.SaveChanges();
            }

            faktura.StavkaFaktureTables.Add(newStavkaFakture);

            return(RedirectToAction("Index"));
        }