コード例 #1
0
ファイル: DashboardTodos.cs プロジェクト: JeffreyQ1/Swarmops
        private void AddReceiptValidations(Person person, Organization organization)
        {
            if (!person.HasAccess(new Access(organization, AccessAspect.Financials, AccessType.Write)))
            {
                return;
            }

            ExpenseClaims claims = ExpenseClaims.ForOrganization(organization);

            claims = claims.WhereUnvalidated;

            if (claims.Count == 0)
            {
                // nothing to add
                return;
            }

            DashboardTodo todo = new DashboardTodo();

            if (claims.Count > 1)
            {
                todo.Description = String.Format(App_GlobalResources.Logic_Swarm_DashboardTodos.Validate_Receipts_Many, Formatting.GenerateRangeString(claims.Identities));
            }
            else
            {
                todo.Description = String.Format(App_GlobalResources.Logic_Swarm_DashboardTodos.Validate_Receipts_One, claims[0].Identity);
            }

            todo.Icon = "/Images/PageIcons/iconshock-invoice-greentick-16px.png";
            todo.Url  = "/Pages/v5/Financial/ValidateReceipts.aspx";

            this.Add(todo);
        }
コード例 #2
0
ファイル: DashboardTodos.cs プロジェクト: JeffreyQ1/Swarmops
        private void AddPayouts(Person person, Organization organization)
        {
            if (!person.HasAccess(new Access(organization, AccessAspect.Financials, AccessType.Write)))
            {
                return; // do not add this if can't pay out
            }

            DashboardTodo todoNormal  = new DashboardTodo();
            DashboardTodo todoUrgent  = new DashboardTodo();
            DashboardTodo todoOverdue = new DashboardTodo();

            todoNormal.Url          =
                todoUrgent.Url      =
                    todoOverdue.Url = "/Pages/v5/Financial/PayOutMoney.aspx";

            todoNormal.Icon          =
                todoUrgent.Icon      =
                    todoOverdue.Icon = "/Images/PageIcons/iconshock-money-envelope-16px.png";

            int payoutCount        = 0;
            int urgentPayoutCount  = 0;
            int overduePayoutCount = 0;

            Payouts payouts = Payouts.Construct(organization);

            foreach (Payout payout in payouts)
            {
                payoutCount++;

                if (payout.DependentInvoices.Count > 0)
                {
                    if (payout.ExpectedTransactionDate < DateTime.Today)
                    {
                        overduePayoutCount++;
                    }
                    else if (payout.ExpectedTransactionDate < DateTime.Today.AddDays(7))
                    {
                        urgentPayoutCount++;
                    }
                }
            }

            if (payoutCount > 0)
            {
                todoNormal.Description = payoutCount > 1
                                             ? String.Format(App_GlobalResources.Logic_Swarm_DashboardTodos.Payout_Many,
                                                             payoutCount)
                                             : App_GlobalResources.Logic_Swarm_DashboardTodos.Payout_One;
                this.Add(todoNormal);
            }

            if (overduePayoutCount > 0)
            {
                todoOverdue.Description = overduePayoutCount > 1
                                             ? String.Format(App_GlobalResources.Logic_Swarm_DashboardTodos.Payout_Overdue_Many,
                                                             payoutCount)
                                             : App_GlobalResources.Logic_Swarm_DashboardTodos.Payout_Overdue_One;
                todoOverdue.Urgency = TodoUrgency.Red;
                this.Add(todoOverdue);
            }

            if (urgentPayoutCount > 0)
            {
                todoUrgent.Description = overduePayoutCount > 1
                                             ? String.Format(App_GlobalResources.Logic_Swarm_DashboardTodos.Payout_Urgent_Many,
                                                             payoutCount)
                                             : App_GlobalResources.Logic_Swarm_DashboardTodos.Payout_Urgent_One;
                todoUrgent.Urgency = TodoUrgency.Yellow;
                this.Add(todoUrgent);
            }
        }