/// <summary>
        /// Convert a collection from  to a nettiers collection to a the ws proxy collection.
        /// </summary>
        public static WsProxy.BillOfMaterials[] Convert(Nettiers.AdventureWorks.Entities.TList <BillOfMaterials> items)
        {
            WsProxy.BillOfMaterials[] outItems = new WsProxy.BillOfMaterials[items.Count];
            int count = 0;

            foreach (Nettiers.AdventureWorks.Entities.BillOfMaterials item in items)
            {
                outItems[count++] = Convert(item);
            }
            return(outItems);
        }
        /// <summary>
        /// Convert a nettiers entity to the ws proxy entity.
        /// </summary>
        public static WsProxy.BillOfMaterials Convert(Nettiers.AdventureWorks.Entities.BillOfMaterials item)
        {
            WsProxy.BillOfMaterials outItem = new WsProxy.BillOfMaterials();
            outItem.BillOfMaterialsId = item.BillOfMaterialsId;
            outItem.ProductAssemblyId = item.ProductAssemblyId;
            outItem.ComponentId       = item.ComponentId;
            outItem.StartDate         = item.StartDate;
            outItem.EndDate           = item.EndDate;
            outItem.UnitMeasureCode   = item.UnitMeasureCode;
            outItem.BomLevel          = item.BomLevel;
            outItem.PerAssemblyQty    = item.PerAssemblyQty;
            outItem.ModifiedDate      = item.ModifiedDate;


            return(outItem);
        }
        /// <summary>
        ///     Gets rows from the datasource based on the PK_BillOfMaterials_BillOfMaterialsID index.
        /// </summary>
        /// <param name="start">Row number at which to start reading.</param>
        /// <param name="pageLength">Number of rows to return.</param>
        /// <param name="_billOfMaterialsId">Primary key for BillOfMaterials records.</param>
        /// <param name="transactionManager"><see cref="TransactionManager"/> object</param>
        /// <param name="count">out parameter to get total records for query</param>
        /// <remarks></remarks>
        /// <returns>Returns an instance of the <see cref="Nettiers.AdventureWorks.Entities.BillOfMaterials"/> class.</returns>
        public override Nettiers.AdventureWorks.Entities.BillOfMaterials GetByBillOfMaterialsId(TransactionManager transactionManager, System.Int32 _billOfMaterialsId, int start, int pageLength, out int count)
        {
            try
            {
                WsProxy.AdventureWorksServices proxy = new WsProxy.AdventureWorksServices();
                proxy.Url = Url;
                WsProxy.BillOfMaterials items = proxy.BillOfMaterialsProvider_GetByBillOfMaterialsId(_billOfMaterialsId, start, pageLength, out count);

                return(Convert(items));
            }
            catch (SoapException soex)
            {
                System.Diagnostics.Debug.WriteLine(soex);
                throw soex;
            }
            catch (Exception ex)
            {
                System.Diagnostics.Debug.WriteLine(ex);
                throw ex;
            }
        }
        /// <summary>
        ///     Inserts a Nettiers.AdventureWorks.Entities.BillOfMaterials object into the datasource using a transaction.
        /// </summary>
        /// <param name="transactionManager"><see cref="TransactionManager"/> object</param>
        /// <param name="entity">Nettiers.AdventureWorks.Entities.BillOfMaterials object to insert.</param>
        /// <remarks></remarks>
        /// <returns>Returns true if operation is successful.</returns>
        public override bool Insert(TransactionManager transactionManager, Nettiers.AdventureWorks.Entities.BillOfMaterials entity)
        {
            WsProxy.AdventureWorksServices proxy = new WsProxy.AdventureWorksServices();
            proxy.Url = Url;

            try
            {
                WsProxy.BillOfMaterials result = proxy.BillOfMaterialsProvider_Insert(Convert(entity));
                Convert(entity, result);
                return(true);
            }
            catch (SoapException soex)
            {
                System.Diagnostics.Debug.WriteLine(soex);
                throw soex;
            }
            catch (Exception ex)
            {
                System.Diagnostics.Debug.WriteLine(ex);
                throw ex;
            }
        }
        /// <summary>
        /// Convert a nettiers collection to the ws proxy collection.
        /// </summary>
        public static Nettiers.AdventureWorks.Entities.BillOfMaterials Convert(Nettiers.AdventureWorks.Entities.BillOfMaterials outItem, WsProxy.BillOfMaterials item)
        {
            if (item != null && outItem != null)
            {
                outItem.BillOfMaterialsId = item.BillOfMaterialsId;
                outItem.ProductAssemblyId = item.ProductAssemblyId;
                outItem.ComponentId       = item.ComponentId;
                outItem.StartDate         = item.StartDate;
                outItem.EndDate           = item.EndDate;
                outItem.UnitMeasureCode   = item.UnitMeasureCode;
                outItem.BomLevel          = item.BomLevel;
                outItem.PerAssemblyQty    = item.PerAssemblyQty;
                outItem.ModifiedDate      = item.ModifiedDate;

                outItem.AcceptChanges();
            }

            return(outItem);
        }
 /// <summary>
 /// Convert a nettiers collection to the ws proxy collection.
 /// </summary>
 public static Nettiers.AdventureWorks.Entities.BillOfMaterials Convert(WsProxy.BillOfMaterials item)
 {
     Nettiers.AdventureWorks.Entities.BillOfMaterials outItem = item == null ? null : new Nettiers.AdventureWorks.Entities.BillOfMaterials();
     Convert(outItem, item);
     return(outItem);
 }