Пример #1
0
        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);
        }
Пример #2
0
        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);
        }
Пример #3
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);
        }
Пример #4
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);
        }