Example #1
0
    private void PopulateInboundInvoices()
    {
        InboundInvoices invoices = InboundInvoices.ForOrganization(CurrentOrganization);

        foreach (InboundInvoice invoice in invoices)
        {
            Documents dox    = invoice.Documents;
            bool      hasDox = (dox.Count > 0 ? true : false);

            if (this._approvalRights.ContainsKey(invoice.BudgetId) ||
                invoice.Budget.OwnerPersonId == Person.NobodyId)
            {
                ApprovableCost cost = new ApprovableCost("I" + invoice.Identity.ToString(CultureInfo.InvariantCulture),
                                                         invoice.Supplier, invoice.BudgetAmountCents, invoice.Budget, invoice.Description,
                                                         "Financial_InvoiceInbound", hasDox, invoice);

                if (invoice.Attested)
                {
                    this._approvedCosts.Add(cost);
                }
                else
                {
                    this._approvableCosts.Add(cost);
                }
            }
        }
    }
Example #2
0
    private void PopulateCashAdvances()
    {
        CashAdvances advances = CashAdvances.ForOrganization(CurrentOrganization);

        foreach (CashAdvance advance in advances)
        {
            if (this._approvalRights.ContainsKey(advance.BudgetId) ||
                advance.Budget.OwnerPersonId == Person.NobodyId)
            {
                ApprovableCost cost = new ApprovableCost(
                    "A" + advance.Identity.ToString(CultureInfo.InvariantCulture),
                    advance.Person.Name, advance.AmountCents, advance.Budget,
                    advance.Description, "Financial_CashAdvance", false, advance);

                if (!advance.Attested) // if not attested
                {
                    this._approvableCosts.Add(cost);
                }
                else if (!advance.PaidOut) // if attested, but still reversible
                {
                    this._approvedCosts.Add(cost);
                }
            }
        }
    }
Example #3
0
    private void PopulateExpenses()
    {
        ExpenseClaims expenses   = ExpenseClaims.ForOrganization(CurrentOrganization);
        bool          vatEnabled = CurrentOrganization.VatEnabled;

        foreach (ExpenseClaim expenseClaim in expenses)
        {
            if (this._approvalRights.ContainsKey(expenseClaim.BudgetId) ||
                expenseClaim.Budget.OwnerPersonId == Person.NobodyId)
            {
                Documents dox    = expenseClaim.Documents;
                bool      hasDox = (dox.Count > 0 ? true : false);

                ApprovableCost cost = null;

                if (vatEnabled)
                {
                    cost = new ApprovableCost(
                        "E" + expenseClaim.Identity.ToString(CultureInfo.InvariantCulture),
                        expenseClaim.ClaimerCanonical, expenseClaim.AmountCents - expenseClaim.VatCents, expenseClaim.Budget,
                        expenseClaim.Description, "Financial_ExpenseClaim", hasDox, expenseClaim);
                }
                else
                {
                    cost = new ApprovableCost(
                        "E" + expenseClaim.Identity.ToString(CultureInfo.InvariantCulture),
                        expenseClaim.ClaimerCanonical, expenseClaim.AmountCents, expenseClaim.Budget,
                        expenseClaim.Description, "Financial_ExpenseClaim", hasDox, expenseClaim);
                }

                if (expenseClaim.Attested)
                {
                    this._approvedCosts.Add(cost);
                }
                else
                {
                    this._approvableCosts.Add(cost);
                }
            }
        }
    }