public void FillLineItemList() { List <string[]> lineItemData = DataLayer.GetTableData("STL_LineItem"); foreach (String[] row in lineItemData) { Guid uid = Guid.NewGuid(); GenericFactory <ILineItem> .Register(uid, () => new LineItem(Convert.ToInt16(row[0]), Convert.ToInt16(row[1]), Convert.ToDouble(row[2]), Convert.ToDouble(row[3]), Convert.ToDouble(row[4]), Convert.ToInt16(row[5]))); ILineItem lineItem = GenericFactory <ILineItem> .Create(uid); LineItemList.Add(lineItem); } }
/// <summary> /// Fetch LineItemList. /// </summary> /// <param name="criteria">The criteria.</param> /// <returns></returns> public LineItemList Fetch(LineItemCriteria criteria) { LineItemList item = (LineItemList)Activator.CreateInstance(typeof(LineItemList), true); bool cancel = false; OnFetching(criteria, ref cancel); if (cancel) { return(item); } // Fetch Child objects. using (var connection = new SqlConnection(ADOHelper.ConnectionString)) { connection.Open(); using (var command = new SqlCommand("[dbo].[CSLA_LineItem_Select]", connection)) { command.CommandType = CommandType.StoredProcedure; command.Parameters.AddRange(ADOHelper.SqlParameters(criteria.StateBag)); using (var reader = new SafeDataReader(command.ExecuteReader())) { if (reader.Read()) { do { item.Add(new LineItemFactory().Map(reader)); } while(reader.Read()); } } } } MarkOld(item); OnFetched(); return(item); }
/// <summary> /// Fetch LineItemList. /// </summary> /// <param name="criteria">The criteria.</param> /// <returns></returns> public LineItemList Fetch(LineItemCriteria criteria) { LineItemList item = (LineItemList)Activator.CreateInstance(typeof(LineItemList), true); bool cancel = false; OnFetching(criteria, ref cancel); if (cancel) { return(item); } // Fetch Child objects. string commandText = String.Format("SELECT [OrderId], [LineNum], [ItemId], [Quantity], [UnitPrice] FROM [dbo].[LineItem] {0}", ADOHelper.BuildWhereStatement(criteria.StateBag)); using (var connection = new SqlConnection(ADOHelper.ConnectionString)) { connection.Open(); using (var command = new SqlCommand(commandText, connection)) { command.Parameters.AddRange(ADOHelper.SqlParameters(criteria.StateBag)); using (var reader = new SafeDataReader(command.ExecuteReader())) { if (reader.Read()) { do { item.Add(new LineItemFactory().Map(reader)); } while(reader.Read()); } } } } MarkOld(item); OnFetched(); return(item); }