public override int GetHashCode() { unchecked { int result = Id.GetHashCode(); result = (result * 397) ^ (Urn != null ? Urn.GetHashCode() : 0); result = (result * 397) ^ UserId.GetHashCode(); result = (result * 397) ^ DateAdded.GetHashCode(); result = (result * 397) ^ DateModified.GetHashCode(); result = (result * 397) ^ (TargetUserId.HasValue ? TargetUserId.Value.GetHashCode() : 0); result = (result * 397) ^ (ForwardedPostId.HasValue ? ForwardedPostId.Value.GetHashCode() : 0); result = (result * 397) ^ OriginUserId.GetHashCode(); result = (result * 397) ^ (OriginUserName != null ? OriginUserName.GetHashCode() : 0); result = (result * 397) ^ SourceUserId.GetHashCode(); result = (result * 397) ^ (SourceUserName != null ? SourceUserName.GetHashCode() : 0); result = (result * 397) ^ (SubjectUrn != null ? SubjectUrn.GetHashCode() : 0); result = (result * 397) ^ (ContentUrn != null ? ContentUrn.GetHashCode() : 0); result = (result * 397) ^ (TrackUrns != null ? TrackUrns.GetHashCode() : 0); result = (result * 397) ^ (Caption != null ? Caption.GetHashCode() : 0); result = (result * 397) ^ CaptionUserId.GetHashCode(); result = (result * 397) ^ (CaptionSourceName != null ? CaptionSourceName.GetHashCode() : 0); result = (result * 397) ^ (ForwardedPostUrn != null ? ForwardedPostUrn.GetHashCode() : 0); result = (result * 397) ^ PostType.GetHashCode(); result = (result * 397) ^ (OnBehalfOfUserId.HasValue ? OnBehalfOfUserId.Value.GetHashCode() : 0); return(result); } }
public void Save(MySqlConnection conn) { SourceDomain = SourceDomain.ToLower(); SourceUserId = SourceUserId.ToLower(); Login = Login.ToLower(); _hashKey = createMD5($"{SourceUserId}@{SourceDomain}"); var cmd = new MySqlCommand( $"INSERT INTO users(hash_key, src_domain, src_user_id, login) VALUES('{_hashKey}',@SourceDomain,@SourceUserId,@Login);COMMIT;", conn); cmd.Parameters.Add("@SourceDomain", MySqlDbType.VarChar); cmd.Parameters.Add("@SourceUserId", MySqlDbType.VarChar); cmd.Parameters.Add("@Login", MySqlDbType.VarChar); cmd.Parameters["@SourceDomain"].Value = SourceDomain; cmd.Parameters["@SourceUserId"].Value = SourceUserId; cmd.Parameters["@Login"].Value = Login; var cmdSelect = new MySqlCommand($"SELECT id FROM users WHERE hash_key='{_hashKey}'", conn); conn.Open(); cmd.ExecuteNonQuery(); var o = cmdSelect.ExecuteScalar(); Id = Convert.ToInt32(o); conn.Close(); }