/// <summary>
        /// Convert a nettiers collection to the ws proxy collection.
        /// </summary>
        public static Nettiers.AdventureWorks.Entities.TestProduct Convert(Nettiers.AdventureWorks.Entities.TestProduct outItem, WsProxy.TestProduct item)
        {
            if (item != null && outItem != null)
            {
                outItem.ProductId         = item.ProductId;
                outItem.ProductTypeId     = item.ProductTypeId;
                outItem.DownloadId        = item.DownloadId;
                outItem.ManufacturerId    = item.ManufacturerId;
                outItem.BrandName         = item.BrandName;
                outItem.ProductName       = item.ProductName;
                outItem.ProductCode       = item.ProductCode;
                outItem.UniqueIdentifier  = item.UniqueIdentifier;
                outItem.TypeName          = item.TypeName;
                outItem.ModelName         = item.ModelName;
                outItem.DisplayName       = item.DisplayName;
                outItem.ProductLink       = item.ProductLink;
                outItem.ConnectorCode     = item.ConnectorCode;
                outItem.BaseId            = item.BaseId;
                outItem.OrgProductId      = item.OrgProductId;
                outItem.ImageFileType     = item.ImageFileType;
                outItem.FullImageFileType = item.FullImageFileType;
                outItem.Status            = item.Status;
                outItem.AddedBy           = item.AddedBy;
                outItem.AddedDate         = item.AddedDate;
                outItem.UpdatedBy         = item.UpdatedBy;
                outItem.UpdatedDate       = item.UpdatedDate;

                outItem.AcceptChanges();
            }

            return(outItem);
        }
        /// <summary>
        ///     Update an existing row in the datasource.
        /// </summary>
        /// <param name="transactionManager"><see cref="TransactionManager"/> object</param>
        /// <param name="entity">Nettiers.AdventureWorks.Entities.TestProduct object to update.</param>
        /// <remarks></remarks>
        /// <returns>Returns true if operation is successful.</returns>
        public override bool Update(TransactionManager transactionManager, Nettiers.AdventureWorks.Entities.TestProduct entity)
        {
            WsProxy.AdventureWorksServices proxy = new WsProxy.AdventureWorksServices();
            proxy.Url = Url;

            try
            {
                WsProxy.TestProduct result = proxy.TestProductProvider_Update(Convert(entity));
                Convert(entity, result);
                entity.AcceptChanges();
                return(true);
            }
            catch (SoapException soex)
            {
                System.Diagnostics.Debug.WriteLine(soex);
                throw soex;
            }
            catch (Exception ex)
            {
                System.Diagnostics.Debug.WriteLine(ex);
                throw ex;
            }
        }