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