private ReferralProgramInfoResponse ConvertReferredUsersToReferralProgramInfo(List <User> referredUsers) { var response = new ReferralProgramInfoResponse(); foreach (var group in referredUsers.GroupBy(c => c.ReferralStatus)) { if (group.Key == ReferralStatusType.InProgress.Value) { response.Pending = GetReferralStatusValue(group); } else if (group.Key == ReferralStatusType.Interrupted.Value) { response.Canceled = GetReferralStatusValue(group); } else if (group.Key == ReferralStatusType.Finished.Value) { response.Available = GetReferralStatusValue(group); } else if (group.Key == ReferralStatusType.Paid.Value) { response.CashedOut = GetReferralStatusValue(group); } } return(response); }
public ReferralProgramInfoResponse GetReferralProgramInfo() { var user = GetValidUser(); var referredUsers = Data.ListReferredUsers(user.Id); ReferralProgramInfoResponse response = ConvertReferredUsersToReferralProgramInfo(referredUsers); response.ReferralCode = user.ReferralCode; response.BonusToReferred = MinimumAucLogin * user.DiscountProvided / 100.0; return(response); }