public int GetTypeCostPence(MembershipTypeEnum type, DateTime currentDate) { decimal cost = 50; if (_memberRegistration == null) { return(50); } switch (type) { case MembershipTypeEnum.Individual: cost = _memberRegistration.IndividualMemberCost; break; case MembershipTypeEnum.Couple: cost = _memberRegistration.CoupleMemberCost; break; case MembershipTypeEnum.Concession: cost = _memberRegistration.ConcessionMemberCost; break; } ; int costInPence = (int)(cost * 100); costInPence = DiscountedMonths.Contains(currentDate.Month) ? costInPence / 2 : costInPence; return(costInPence); }
public void AcceptOpenWaterWaiver(IMember member) { member.SetValue(MemberProperty.OpenWaterIndemnityAcceptance, true); //Set SwimAuthNumber MembershipTypeEnum membershipType = member.GetValue <MembershipTypeEnum>(MemberProperty.membershipType); int swimAuthNumber = GetSwimAuthNumber(membershipType); member.SetValue(MemberProperty.SwimAuthNumber, swimAuthNumber); }
public int PaymentStateCost(PaymentStates state, MembershipTypeEnum type) { switch (state) { case PaymentStates.SS05991: case PaymentStates.SS05992: { return(SwimsSubsCostInPence(type)); } } throw new Exception("Unknown cost"); }
private int GetSwimAuthNumber(MembershipTypeEnum membershipType) { var membersDetails = GetAllMemberDetails(); //Calculate the next available swim auth number IEnumerable <MemberDetailsDto> openWaterSwimmers = membersDetails.Where(m => m.SwimAuthNumber.HasValue); int swimAuthNumber = 0; if (membershipType != MembershipTypeEnum.Guest) { var swimMembers = openWaterSwimmers.Where(m => m.SwimAuthNumber < 1000).OrderBy(m => m.SwimAuthNumber); swimAuthNumber = swimMembers.Any() ? swimMembers.Last().SwimAuthNumber.Value + 1 : 1; } else { var guestSwimmers = openWaterSwimmers.Where(m => m.SwimAuthNumber > 1000 && m.SwimAuthNumber < 2000).OrderBy(m => m.SwimAuthNumber); swimAuthNumber = guestSwimmers.Any() ? guestSwimmers.Last().SwimAuthNumber.Value + 1 : 1001; } return(swimAuthNumber); }
public int SwimsSubsCostInPence(MembershipTypeEnum type) { int swimSubsCost = (int)(_memberRegistration.SwimSubsCost * 100); return(type == MembershipTypeEnum.Concession ? swimSubsCost / 2 : swimSubsCost); }
public MembershipPayment(MembershipTypeEnum membershipType) { MembershipType = membershipType; }