Exemplo n.º 1
0
        private async Task <BudgetExtend> CreateActualExpense(BudgetExtend plannedExpense)
        {
            if (plannedExpense == null)
            {
                return(null);
            }

            // create new query
            var query  = ODataBasics.GetDSCollection <BudgetExtend>(_context);
            var budget = new BudgetExtend();

            query.Add(budget);

            // set values
            budget.Name       = plannedExpense.Name;
            budget.BudgetType = ConstantsHelper.BUDGET_TYPE_ACTUAL_EXPENSE;
            budget.ProjectId  = plannedExpense.ProjectId;

            // save
            await _context.SaveChangesAsync(SaveChangesOptions.PostOnlySetProperties);

            return(budget);
        }
Exemplo n.º 2
0
        private async Task <BudgetPositionExtend> CreateNewBudgetPosition(BudgetExtend actualExpenseBudget,
                                                                          BudgetPositionExtend plannedExpenseBudgetPosition, double amount, string invoiceNumber)
        {
            // create new query
            var query = ODataBasics.GetDSCollection <BudgetPositionExtend>(_context);
            var actualExpenseBudgetPosition = new BudgetPositionExtend();

            query.Add(actualExpenseBudgetPosition);

            // set values
            actualExpenseBudgetPosition.BudgetId         = actualExpenseBudget.BudgetId;
            actualExpenseBudgetPosition.ShortDescription = plannedExpenseBudgetPosition.ShortDescription;
            actualExpenseBudgetPosition.GroupId          = plannedExpenseBudgetPosition.GroupId;
            actualExpenseBudgetPosition.PricePerUnit     = amount;
            actualExpenseBudgetPosition.Quantity         = 1;
            actualExpenseBudgetPosition.Unit             = string.Format(SEE_INVOICE_HINT, invoiceNumber);
            actualExpenseBudgetPosition.IsBilled         = true;

            // save
            await _context.SaveChangesAsync(SaveChangesOptions.PostOnlySetProperties);

            return(actualExpenseBudgetPosition);
        }
Exemplo n.º 3
0
        public async Task <BudgetPositionExtend> CreateNewBudgetPositionWithInvoiceNumber(BudgetExtend actualExpenseBudget,
                                                                                          BudgetPositionExtend plannedExpenseBudgetPosition,
                                                                                          double amount, CustomExpandDefaultExtend invoiceField, string invoiceFieldValue)
        {
            var position = await CreateNewBudgetPosition(actualExpenseBudget, plannedExpenseBudgetPosition, amount, invoiceFieldValue);

            await AttachInvoiceNumberToBudgetPosition(position, invoiceField, invoiceFieldValue);

            return(position);
        }