private async Task <CustomExpandExtend> AttachInvoiceNumberToBudgetPosition(BudgetPositionExtend position, CustomExpandDefaultExtend invoiceField, string invoiceFieldValue) { // create new queries var customExpands = await _context.customexpandextend.GetCustomExpand(position.BudgetPositionId); var customExpand = customExpands .FirstOrDefault(k => k.CustomExpandDefaultId == invoiceField.CustomExpandDefaultId); // save await _context.customexpandextend.PatchCustomExpand(customExpand.CustomExpandId, ConstantsHelper.CUSTOM_FIELD_TYPE_STRING_VALUE, invoiceFieldValue); return(customExpand); }
public async Task <DocumentRelationExtend> CreateNewDocumentRelation(BudgetPositionExtend actualExpenseBudgetPosition, DocumentView document) { // create new query var query = ODataBasics.GetDSCollection <DocumentRelationExtend>(_context); var relation = new DocumentRelationExtend(); query.Add(relation); // set values relation.DocumentId = document.DocumentId; relation.ProjectId = document.ProjectId; relation.ObjectId = actualExpenseBudgetPosition.BudgetPositionId; // save await _context.SaveChangesAsync(SaveChangesOptions.PostOnlySetProperties); return(relation); }
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); }