public virtual CustomerSession UpdateCustomerSession(CustomerSession entity)
        {
            if (entity.IsTransient())
            {
                return(entity);
            }
            CustomerSession other = GetCustomerSession(entity.CustomerSessionId);

            if (entity.Equals(other))
            {
                return(entity);
            }
            string sql = @"Update CustomerSession set  [CustomerID]=@CustomerID
							, [SessionName]=@SessionName
							, [SessionValue]=@SessionValue
							, [ipaddr]=@ipaddr
							, [LastActivity]=@LastActivity
							, [LoggedOut]=@LoggedOut
							, [CustomerSessionGUID]=@CustomerSessionGUID
							, [CreatedOn]=@CreatedOn
							, [ExpiresOn]=@ExpiresOn 
							 where CustomerSessionID=@CustomerSessionID"                            ;

            SqlParameter[] parameterArray = new SqlParameter[] {
                new SqlParameter("@CustomerSessionID", entity.CustomerSessionId)
                , new SqlParameter("@CustomerID", entity.CustomerId)
                , new SqlParameter("@SessionName", entity.SessionName)
                , new SqlParameter("@SessionValue", entity.SessionValue ?? (object)DBNull.Value)
                , new SqlParameter("@ipaddr", entity.Ipaddr ?? (object)DBNull.Value)
                , new SqlParameter("@LastActivity", entity.LastActivity)
                , new SqlParameter("@LoggedOut", entity.LoggedOut ?? (object)DBNull.Value)
                , new SqlParameter("@CustomerSessionGUID", entity.CustomerSessionGuid)
                , new SqlParameter("@CreatedOn", entity.CreatedOn)
                , new SqlParameter("@ExpiresOn", entity.ExpiresOn)
            };
            SqlHelper.ExecuteNonQuery(this.ConnectionString, CommandType.Text, sql, parameterArray);
            return(GetCustomerSession(entity.CustomerSessionId));
        }