public virtual ProductView UpdateProductView(ProductView entity)
        {
            if (entity.IsTransient())
            {
                return(entity);
            }
            ProductView other = GetProductView(entity.ViewId);

            if (entity.Equals(other))
            {
                return(entity);
            }
            string sql = @"Update ProductView set  [CustomerViewID]=@CustomerViewID
							, [ProductID]=@ProductID
							, [ViewDate]=@ViewDate 
							 where ViewID=@ViewID"                            ;

            SqlParameter[] parameterArray = new SqlParameter[] {
                new SqlParameter("@ViewID", entity.ViewId)
                , new SqlParameter("@CustomerViewID", entity.CustomerViewId)
                , new SqlParameter("@ProductID", entity.ProductId)
                , new SqlParameter("@ViewDate", entity.ViewDate)
            };
            SqlHelper.ExecuteNonQuery(this.ConnectionString, CommandType.Text, sql, parameterArray);
            return(GetProductView(entity.ViewId));
        }
        public virtual ProductView InsertProductView(ProductView entity)
        {
            ProductView other = new ProductView();

            other = entity;
            if (entity.IsTransient())
            {
                string         sql            = @"Insert into ProductView ( [CustomerViewID]
				,[ProductID]
				,[ViewDate] )
				Values
				( @CustomerViewID
				, @ProductID
				, @ViewDate );
				Select scope_identity()"                ;
                SqlParameter[] parameterArray = new SqlParameter[] {
                    new SqlParameter("@ViewID", entity.ViewId)
                    , new SqlParameter("@CustomerViewID", entity.CustomerViewId)
                    , new SqlParameter("@ProductID", entity.ProductId)
                    , new SqlParameter("@ViewDate", entity.ViewDate)
                };
                var identity = SqlHelper.ExecuteScalar(this.ConnectionString, CommandType.Text, sql, parameterArray);
                if (identity == DBNull.Value)
                {
                    throw new DataException("Identity column was null as a result of the insert operation.");
                }
                return(GetProductView(Convert.ToInt32(identity)));
            }
            return(entity);
        }