/// <summary> /// Serializes this object into a MySql command string that can be used to insert its data into the table specified /// </summary> /// <param name="tableName">The table to construct an insert command for</param> /// <returns>A MySql command string used to insert this objects data into the table specified by <paramref name="tableName"/></returns> public override string Serialize(string tableName) { StringBuilder retBuilder = new StringBuilder(); retBuilder.Append("insert into "); retBuilder.Append(tableName); retBuilder.Append("(AccessLevel, DerivedSecurityToken, SecurityQuestion, PersonalData, Settings, Company, AuthTestString, LoginStatusTokens, Email, RequestHistory) Values ("); retBuilder.Append(AccessLevel); retBuilder.Append(","); retBuilder.Append(MysqlDataConvertingUtil.ConvertToHexString(DerivedSecurityToken)); retBuilder.Append(","); retBuilder.Append("\"" + SecurityQuestion + "\""); retBuilder.Append(","); retBuilder.Append(MysqlDataConvertingUtil.ConvertToHexString(PersonalData)); retBuilder.Append(","); retBuilder.Append("\"" + Settings + "\""); retBuilder.Append(","); retBuilder.Append(Company); retBuilder.Append(","); retBuilder.Append(MysqlDataConvertingUtil.ConvertToHexString(AuthTestString)); retBuilder.Append(","); retBuilder.Append("\"" + LoginStatusTokens + "\""); retBuilder.Append(","); retBuilder.Append("\"" + Email + "\""); retBuilder.Append(","); retBuilder.Append(MysqlDataConvertingUtil.ConvertToHexString(RequestHistory)); retBuilder.Append(");"); return(retBuilder.ToString()); }
/// <summary> /// Calculates the message digest of the request along with the extra data passe din /// </summary> /// <param name="extraData">Extra data to store with the request (such as the list of parts requested for a parts request)</param> public void CalculateMD5(string extraData = "") { MD5 md5 = System.Security.Cryptography.MD5.Create(); using (md5) { byte[] data = Encoding.UTF8.GetBytes(Type + Company + extraData); MD5 = MysqlDataConvertingUtil.ConvertToHexString(md5.ComputeHash(data)); } }