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);
                }
            }));


        }
Пример #3
0
        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;
        }