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