protected override void OnNavigatedTo(System.Windows.Navigation.NavigationEventArgs e) { base.OnNavigatedTo(e); try { item = new DuesMemberItem(); //(App.Current as App).SecondPageObject = null; progressIndicator = SystemTray.ProgressIndicator; progressIndicator = new ProgressIndicator(); SystemTray.SetProgressIndicator(this, progressIndicator); progressIndicator.IsIndeterminate = true; progressIndicator.Text = "Pulling Member Dues..."; if (SettingsMobile.Instance.User == null) { SqlFactory fact = new SqlFactory(); SettingsMobile.Instance.User = fact.GetProfile(); } duesItemId = Convert.ToInt64(this.NavigationContext.QueryString["did"]); duesId = new Guid(this.NavigationContext.QueryString["dmid"]); memId = new Guid(this.NavigationContext.QueryString["mid"]); PullTopic(); } catch (Exception exception) { ErrorHandler.Save(exception, MobileTypeEnum.WP8); } }
void PullTopic() { Dispatcher.BeginInvoke(delegate { progressIndicator.IsVisible = true; progressIndicator.Text = "Pulling Member Dues..."; }); Task.Run(new Action(() => { try { item = DuesMobile.EditMemberDues(SettingsMobile.Instance.User.MemberId, SettingsMobile.Instance.User.LoginId, duesId, duesItemId, memId); Dispatcher.BeginInvoke(delegate { Title.Title = item.Member.DerbyName + ", Modify Dues"; DerbyName.Text = item.Member.DerbyName; DueDate.Text = item.DuesItem.PayBy.ToLongDateString(); AmountDue.Text = item.DuesItem.CostOfDues.ToString("N2"); Collected = new ObservableCollection<DuesCollected>(item.DuesItem.DuesCollected.ToArray()); PaymentsList.ItemsSource = Collected; progressIndicator.IsVisible = false; }); } catch (Exception exception) { ErrorHandler.Save(exception, MobileTypeEnum.WP8); } })); }
public static DuesMemberItem GetDuesCollectionItemForMember(long duesItemId, Guid duesManagementId, Guid memberId) { DuesMemberItem memberPaidDues = new DuesMemberItem(); try { var dc = new ManagementContext(); var dues = (from xx in dc.FeeItem where xx.FeeManagedBy.FeeManagementId == duesManagementId where xx.FeeCollectionId == duesItemId select new { xx.FeeManagedBy.DayOfMonthToCollectDefault, xx.FeeManagedBy.DaysBeforeDeadlineToNotifyDefault, xx.FeeManagedBy.FeeCostDefault, xx.FeeManagedBy.FeeManagementId, xx.CostOfFee, xx.DaysBeforeDeadlineToNotify, xx.FeeCollectionId, FeesCollected = xx.FeesCollected.Where(x => x.MemberPaid.MemberId == memberId), FeesRequired = xx.FeesRequired.Where(x => x.MemberRequiredFrom.MemberId == memberId), xx.Notified, xx.PayBy, xx.FeeManagedBy.LeagueOwner }).FirstOrDefault(); if (dues != null) { memberPaidDues.OwnerEntity = DuesOwnerEntityEnum.league.ToString(); memberPaidDues.DuesCostDisplay = dues.FeeCostDefault.ToString("N2"); memberPaidDues.DuesCost = dues.FeeCostDefault; memberPaidDues.DuesId = duesManagementId; memberPaidDues.OwnerId = dues.LeagueOwner.LeagueId; memberPaidDues.DuesItem = new DuesItem(); if (dues.FeesRequired.FirstOrDefault() != null) memberPaidDues.DuesItem.CostOfDues = dues.FeesRequired.FirstOrDefault().FeeRequired; else memberPaidDues.DuesItem.CostOfDues = dues.CostOfFee; memberPaidDues.DuesItem.DuesItemId = dues.FeeCollectionId; memberPaidDues.DuesItem.PayBy = dues.PayBy; memberPaidDues.DuesItem.TotalPaid = 0.00; memberPaidDues.DuesItem.TotalWithstanding = 0.00; foreach (var fee in dues.FeesCollected) { DuesCollected col = new DuesCollected(); col.PaidDate = fee.Created; col.DuesPaid = fee.FeeCollected; memberPaidDues.DuesItem.TotalPaid += fee.FeeCollected; col.DuesCollectedId = fee.FeeCollectionId; col.IsPaidInFull = fee.IsPaidInFull; col.MemberPaidId = fee.MemberPaid.MemberId; col.MemberPaidName = fee.MemberPaid.DerbyName; col.Note = fee.Note; col.IsWaived = fee.IsFeeWaived; memberPaidDues.DuesItem.DuesCollected.Add(col); } var member = dues.LeagueOwner.Members.Where(x => x.Member.MemberId == memberId).FirstOrDefault(); if (member != null) { //adds every member to the member list memberPaidDues.Member = new MemberDisplayBasic(); memberPaidDues.Member.MemberId = member.Member.MemberId; memberPaidDues.Member.DerbyName = member.Member.DerbyName; if (member.Member.ContactCard != null && member.Member.ContactCard.Emails.FirstOrDefault() != null) memberPaidDues.Member.UserId = Guid.NewGuid(); else memberPaidDues.Member.UserId = member.Member.AspNetUserId; //gets member in collection list var collected = memberPaidDues.DuesItem.DuesCollected.Where(x => x.MemberPaidId == member.Member.MemberId); if (collected.Count() == 0) memberPaidDues.DuesItem.TotalWithstanding -= memberPaidDues.DuesItem.CostOfDues; else { //gets the total dues paid by the member for this month. Can pay in increments so thats // why we check for all collected items. double totalPaid = 0.00; foreach (var c in collected) { totalPaid += c.DuesPaid; } //if the total dues paid isn't equal to the actual cost of the month, // we subtract it from the total withstanding dues. if (totalPaid != memberPaidDues.DuesItem.CostOfDues) memberPaidDues.DuesItem.TotalWithstanding -= (memberPaidDues.DuesItem.CostOfDues - totalPaid); } } } } catch (Exception exception) { ErrorDatabaseManager.AddException(exception, exception.GetType()); } return memberPaidDues; }