public Dokument() { // Inicijalizacija praznih stavaka stavke = new StavkaList(); stavke.ListChanged += new ListChangedEventHandler(Stavke_ListChanged); datDokumenta = DateTime.Now; }
// Kreira listu objekata èitanjem podataka iz baze public static StavkaList CreateNew(IDataReader dr) { StavkaList rez = new StavkaList(); while (dr.Read()) { rez.Add(Stavka.CreateNew(dr)); } return(rez); }
// Punjenje objekta iz èitaèa. // Automatski se uèitavaju stavke pa je potrebno predati i DAL objekt stavaka. public void Load(IDataReader dr, IStavkaDalProvider stavkaDalProvider) { Load(dr); if (idDokumenta.HasValue) { stavke = stavkaDalProvider.FetchAll(idDokumenta.Value); } else { stavke = new StavkaList(); } stavke.ListChanged += new ListChangedEventHandler(Stavke_ListChanged); SetState(BusinessObjectState.Unmodified); }
// Dohvat stavaka za odreðeni dokument public StavkaList FetchAll(int idDokumenta) { using (SqlConnection db = new SqlConnection(ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString)) { using (SqlCommand cmd = db.CreateCommand()) { cmd.CommandText = "[dbo].[ap_StavkaList_R]"; cmd.CommandType = CommandType.StoredProcedure; cmd.Parameters.Add(new SqlParameter("@IdDokumenta", idDokumenta)); db.Open(); using (SqlDataReader dr = cmd.ExecuteReader()) { return(StavkaList.CreateNew(dr)); } } } }