private void LoadPaymentStatus() { if (this._paymentStatus == null) { this._paymentStatus = SwarmDb.GetDatabaseForReading().GetMembershipPaymentStatus(Identity); } }
public Dictionary <int, BasicMembershipPaymentStatus> GetMembershipPaymentStatuses(int[] membershipIds) { Dictionary <int, BasicMembershipPaymentStatus> retVal = new Dictionary <int, BasicMembershipPaymentStatus>(); if (membershipIds.Length == 0) { return(retVal); } using (DbConnection connection = GetMySqlDbConnection()) { connection.Open(); DbCommand command = GetDbCommand("SELECT " + membershipPaymentStatusFieldSequence + " WHERE MembershipPayments.MembershipId IN (" + JoinIds(membershipIds) + ") ORDER BY StatusDateTime ASC ", connection); using (DbDataReader reader = command.ExecuteReader()) { while (reader.Read()) { BasicMembershipPaymentStatus bms = ReadMembershipPaymentStatusFromDataReader(reader); retVal[bms.MembershipId] = ReadMembershipPaymentStatusFromDataReader(reader); } foreach (int i in membershipIds) { if (!retVal.ContainsKey(i)) { retVal[i] = new BasicMembershipPaymentStatus(i, MembershipPaymentStatus.Unknown, new DateTime(1900, 1, 1)); } } return(retVal); } } }