/// <summary> /// Creates a MySQL command selecting a collection of <see cref="PaymentProxy"/>. /// </summary> /// <param name="whereClause">The WHERE clause which the MySQL command should use.</param> /// <param name="parameterAdder">The callback to add MySQL parameters to the MySQL command.</param> /// <returns>MySQL command selecting a collection of <see cref="PaymentProxy"/>.</returns> private static MySqlCommand BuildHouseholdDataCommandForSelecting(string whereClause = null, Action <HouseholdDataCommandBuilder> parameterAdder = null) { StringBuilder selectStatementBuilder = new StringBuilder("SELECT p.PaymentIdentifier,p.StakeholderIdentifier,p.StakeholderType,p.DataProviderIdentifier,p.PaymentTime,p.PaymentReference,p.PaymentReceipt,p.CreationTime,hm.MailAddress AS HouseholdMemberMailAddress,hm.ActivationCode AS HouseholdMemberActivationCode,hm.ActivationTime AS HouseholdMemberActivationTime,hm.CreationTime AS HouseholdMemberCreationTime,hm.Membership AS HouseholdMemberMembership,hm.MembershipExpireTime AS HouseholdMemberMembershipExpireTime,hm.PrivacyPolicyAcceptedTime AS HouseholdMemberPrivacyPolicyAcceptedTime,dp.Name AS DataProviderName,dp.HandlesPayments AS DataProviderHandlesPayments,dp.DataSourceStatementIdentifier AS DataProviderDataSourceStatementIdentifier FROM Payments AS p LEFT JOIN HouseholdMembers AS hm ON hm.HouseholdMemberIdentifier=p.StakeholderIdentifier INNER JOIN DataProviders AS dp ON dp.DataProviderIdentifier=p.DataProviderIdentifier"); if (string.IsNullOrWhiteSpace(whereClause) == false) { selectStatementBuilder.Append($" {whereClause}"); } HouseholdDataCommandBuilder householdDataCommandBuilder = new HouseholdDataCommandBuilder(selectStatementBuilder.ToString()); if (parameterAdder == null) { return(householdDataCommandBuilder.Build()); } parameterAdder(householdDataCommandBuilder); return(householdDataCommandBuilder.Build()); }
/// <summary> /// Creates a MySQL command selecting a collection of <see cref="HouseholdMemberProxy"/>. /// </summary> /// <param name="whereClause">The WHERE clause which the MySQL command should use.</param> /// <param name="parameterAdder">The callback to add MySQL parameters to the MySQL command.</param> /// <returns>MySQL command selecting a collection of <see cref="HouseholdMemberProxy"/>.</returns> internal static MySqlCommand BuildHouseholdDataCommandForSelecting(string whereClause = null, Action <HouseholdDataCommandBuilder> parameterAdder = null) { StringBuilder selectStatementBuilder = new StringBuilder("SELECT HouseholdMemberIdentifier,MailAddress,Membership,MembershipExpireTime,ActivationCode,ActivationTime,PrivacyPolicyAcceptedTime,CreationTime FROM HouseholdMembers"); if (string.IsNullOrWhiteSpace(whereClause) == false) { selectStatementBuilder.Append($" {whereClause}"); } HouseholdDataCommandBuilder householdDataCommandBuilder = new HouseholdDataCommandBuilder(selectStatementBuilder.ToString()); if (parameterAdder == null) { return(householdDataCommandBuilder.Build()); } parameterAdder(householdDataCommandBuilder); return(householdDataCommandBuilder.Build()); }
/// <summary> /// Creates a MySQL command selecting a collection of <see cref="StorageProxy"/>. /// </summary> /// <param name="whereClause">The WHERE clause which the MySQL command should use.</param> /// <param name="parameterAdder">The callback to add MySQL parameters to the MySQL command.</param> /// <returns>MySQL command selecting a collection of <see cref="StorageProxy"/>.</returns> private static MySqlCommand BuildHouseholdDataCommandForSelecting(string whereClause = null, Action <HouseholdDataCommandBuilder> parameterAdder = null) { // ReSharper disable StringLiteralTypo StringBuilder selectStatementBuilder = new StringBuilder("SELECT s.StorageIdentifier,s.HouseholdIdentifier,s.SortOrder,s.StorageTypeIdentifier,s.Descr,s.Temperature,s.CreationTime,h.Name AS HouseholdName,h.Descr AS HouseholdDescr,h.CreationTime AS HouseholdCreationTime,st.SortOrder AS StorageTypeSortOrder,st.Temperature AS StorageTypeTemperature,st.TemperatureRangeStartValue AS StorageTypeTemperatureRangeStartValue,st.TemperatureRangeEndValue AS StorageTypeTemperatureRangeEndValue,st.Creatable AS StorageTypeCreatable,st.Editable AS StorageTypeEditable,st.Deletable AS StorageTypeDeletable FROM Storages AS s INNER JOIN Households AS h ON h.HouseholdIdentifier=s.HouseholdIdentifier INNER JOIN StorageTypes AS st ON st.StorageTypeIdentifier=s.StorageTypeIdentifier"); // ReSharper restore StringLiteralTypo if (string.IsNullOrWhiteSpace(whereClause) == false) { selectStatementBuilder.Append($" {whereClause}"); } HouseholdDataCommandBuilder householdDataCommandBuilder = new HouseholdDataCommandBuilder(selectStatementBuilder.ToString()); if (parameterAdder == null) { return(householdDataCommandBuilder.Build()); } parameterAdder(householdDataCommandBuilder); return(householdDataCommandBuilder.Build()); }
/// <summary> /// Creates a MySQL command selecting a collection of <see cref="MemberOfHouseholdProxy"/>. /// </summary> /// <param name="whereClause">The WHERE clause which the MySQL command should use.</param> /// <param name="parameterAdder">The callback to add MySQL parameters to the MySQL command.</param> /// <returns>MySQL command selecting a collection of <see cref="MemberOfHouseholdProxy"/>.</returns> private static MySqlCommand BuildHouseholdDataCommandForSelecting(string whereClause = null, Action <HouseholdDataCommandBuilder> parameterAdder = null) { // ReSharper disable StringLiteralTypo StringBuilder selectStatementBuilder = new StringBuilder("SELECT moh.MemberOfHouseholdIdentifier,moh.HouseholdMemberIdentifier,hm.MailAddress AS HouseholdMemberMailAddress,hm.Membership AS HouseholdMemberMembership,hm.MembershipExpireTime AS HouseholdMemberMembershipExpireTime,hm.ActivationCode AS HouseholdMemberActivationCode,hm.ActivationTime AS HouseholdMemberActivationTime,hm.PrivacyPolicyAcceptedTime AS HouseholdMemberPrivacyPolicyAcceptedTime,hm.CreationTime AS HouseholdMemberCreationTime,moh.HouseholdIdentifier,h.Name AS HouseholdName,h.Descr AS HouseholdDescr,h.CreationTime AS HouseholdCreationTime,moh.CreationTime FROM MemberOfHouseholds AS moh INNER JOIN HouseholdMembers hm ON hm.HouseholdMemberIdentifier=moh.HouseholdMemberIdentifier INNER JOIN Households h ON h.HouseholdIdentifier=moh.HouseholdIdentifier"); // ReSharper restore StringLiteralTypo if (string.IsNullOrWhiteSpace(whereClause) == false) { selectStatementBuilder.Append($" {whereClause}"); } HouseholdDataCommandBuilder householdDataCommandBuilder = new HouseholdDataCommandBuilder(selectStatementBuilder.ToString()); if (parameterAdder == null) { return(householdDataCommandBuilder.Build()); } parameterAdder(householdDataCommandBuilder); return(householdDataCommandBuilder.Build()); }