Example #1
0
        private void addTemplate(
            DojoMember member,
            DojoMembershipTemplate template,
            MembershipBuilder builder)
        {
            // Get Prior
            DojoMembership prior = getPrior(member, template);

            // If the prior membership has not yet ended and the prior membership's
            // end date preceeds the template's pre-purchase date, skip this template.
            if (prior != null)
            {
                if (prior.EndDate >= builder.BuildTime)
                {
                    if (prior.EndDate >= builder.BuildTime.Subtract(template.PrePurchaseTime))
                    {
                        return;
                    }
                }
            }

            // Since this membership is either a new, renewal or pre-purchased renewal,
            // add it to the membership list.
            DojoMembership membership = new DojoMembership();

            membership.Member               = member;
            membership.MembershipTemplate   = template;
            membership.PriorMembership      = prior;
            membership.Organization         = template.Organization;
            membership.OrganizationMemberID =
                prior != null ? prior.OrganizationMemberID : string.Empty;
            calcMembership(membership, builder);
            // calcMembership takes care of this!
            // membership.EndDate = calcDate(membership.startDate,
            //     template.MembershipEnd);
            // membership.Fee = template.Fee;

            memberships.Add(membership);

            totalFee += membership.Fee;
        }