예제 #1
0
        private bool InsertStavke(StringBuilder message, SqlCommand sqlUpit, int id, DateTime datumNastajanja)
        {
            bool xyz = false;

            if (BusinessLogic.Inventura.pInventuraStavke.Rows.Count > 0)
            {
                sqlUpit.Parameters.Clear();

                sqlUpit.Parameters.Add(new SqlParameter("@ID_Inventura", ""));
                sqlUpit.Parameters.Add(new SqlParameter("@ID_Proizvod", ""));
                sqlUpit.Parameters.Add(new SqlParameter("@KolicinaZaliha", ""));
                sqlUpit.Parameters.Add(new SqlParameter("@StvarnaKolicina", ""));

                InventuraStavke stavka;

                foreach (DataRow dr in BusinessLogic.Inventura.pInventuraStavke.Rows)
                {
                    stavka = new InventuraStavke
                    {
                        IDInventure     = id,
                        IDProizvod      = Convert.ToInt32(dr["ID_Proizvod"]),
                        KolicinaZaliha  = Convert.ToDecimal(dr["KolicinaZaliha"]),
                        StvarnaKolicina = Convert.ToDecimal(dr["StvarnaKolicina"])
                    };


                    //int id;
                    //SqlCommand sqlUpit = new SqlCommand();
                    //sqlUpit.Connection = client.sqlConnection;
                    //sqlUpit.CommandType = CommandType.Text;

                    sqlUpit.CommandText = "INSERT INTO MT_InventuraStavka (ID_Inventura, ID_Proizvod, KolicinaZaliha, StvarnaKolicina) VALUES (@ID_Inventura, @ID_Proizvod, @KolicinaZaliha,  @StvarnaKolicina) Select @@Identity";


                    sqlUpit.Parameters["@ID_Inventura"].Value    = id;
                    sqlUpit.Parameters["@ID_Proizvod"].Value     = stavka.IDProizvod;
                    sqlUpit.Parameters["@KolicinaZaliha"].Value  = stavka.KolicinaZaliha;
                    sqlUpit.Parameters["@StvarnaKolicina"].Value = stavka.StvarnaKolicina;

                    try
                    {
                        sqlUpit.ExecuteNonQuery();
                        xyz = true;
                    }
                    catch (SqlException greska)
                    {
                        message.Append(greska.Message);
                        return(xyz);
                    }
                    catch (Exception greska)
                    {
                        message.Append(greska.Message);
                        return(xyz);
                    }
                }
            }

            return(xyz);
        }
예제 #2
0
 public Inventura()
     : base()
 {
     client = new SqlClient();
     stavke = new InventuraStavke();
 }
예제 #3
0
        private bool SaveData()
        {
            if (uceSkladiste.Text == "")
            {
                uceSkladiste.Focus();
                return(false);
            }

            lblValidationMessages.ResetText();

            StringBuilder message = ValidateDataInput();

            if (message.Length == 0)
            {
                using (BusinessLogic.Inventura objekt = new BusinessLogic.Inventura())
                {
                    objekt.idSkladiste       = (Int32)uceSkladiste.Value;
                    Inventura.datumInventure = udtDatumInventure.DateTime;
                    objekt.idGodina          = (Int16)udtDatumInventure.DateTime.Year;

                    ////set current time na odabrani datum ako je vrijeme 0
                    //if (objekt.pDatumNastajanja.TimeOfDay.TotalSeconds == 0)
                    //{
                    //    DateTime date = objekt.pDatumNastajanja.Date.AddHours(DateTime.Now.Hour).AddMinutes(DateTime.Now.Minute).AddSeconds(DateTime.Now.Second);
                    //    objekt.pDatumNastajanja = date;
                    //}

                    if (FormEditMode == Enums.FormEditMode.Insert || FormEditMode == Enums.FormEditMode.Copy)
                    {
                        if (objekt.Insert(message, objekt))
                        {
                            FormEditMode = Enums.FormEditMode.Update;
                            return(true);
                        }
                    }
                    else if (this.FormEditMode == Enums.FormEditMode.Update)
                    {
                        int brojStavki = 0;
                        brojStavki = ugdInventuraStavke.Rows.Count;

                        //nova tablica koja prima izmjenjene stavke s grida
                        InventuraStavke stav = new InventuraStavke();
                        DataTable       dt   = new DataTable();
                        dt.Columns.Add("IDInventure", typeof(int));
                        dt.Columns.Add("IDProizvod", typeof(int));
                        dt.Columns.Add("Cijena", typeof(decimal));
                        dt.Columns.Add("KolicinaZaliha", typeof(decimal));
                        dt.Columns.Add("StvarnaKolicina", typeof(decimal));

                        //dodavanje redova
                        for (int i = 0; i < brojStavki; i++)
                        {
                            DataRow dr = dt.NewRow();
                            dt.Rows.Add(dr);
                        }

                        //db - 02.02.2017 - ubačena IMENA umjesto indexa kolona
                        //prebacivanje vrijednosti
                        for (int i = 0; i < ugdInventuraStavke.Rows.Count; i++)
                        {
                            dt.Rows[i]["IDInventure"]    = Convert.ToInt32(ugdInventuraStavke.Rows[i].Cells["ID_Inventura"].Value);
                            dt.Rows[i]["IDProizvod"]     = Convert.ToInt32(ugdInventuraStavke.Rows[i].Cells["ID_Proizvod"].Value);
                            dt.Rows[i]["KolicinaZaliha"] = Convert.ToDecimal(ugdInventuraStavke.Rows[i].Cells["KolicinaZaliha"].Value);

                            if (ugdInventuraStavke.Rows[i].Cells["StvarnaKolicina"].Value == DBNull.Value)
                            {
                                dt.Rows[i]["StvarnaKolicina"] = DBNull.Value;
                            }
                            else
                            {
                                dt.Rows[i]["StvarnaKolicina"] = Convert.ToDecimal(ugdInventuraStavke.Rows[i].Cells["StvarnaKolicina"].Value);
                            }
                        }

                        objekt.UpdateStavke(Convert.ToInt32(dt.Rows[0][0]), dt);
                        return(true);
                    }
                }
            }

            //setiranje natrag na false
            Materijalno.UI.Dokumenti.InventuraFormPregled._update = false;
            Materijalno.UI.Dokumenti.InventuraFormPregled._insert = false;

            lblValidationMessages.Text = message.ToString();
            return(false);
        }