Exemple #1
0
        void UpdateQuoteRelationAmount()
        {
            QuoteDetailView view = this._detailView as QuoteDetailView;

            view.PostEditors();
            Quote quote = this.ObjectEntity as Quote;

            var     quoteLineItems      = quote.QuoteLineItems;
            decimal totalLineItemAmount = 0;

            foreach (QuoteLineItem item in quoteLineItems)
            {
                QuoteLineItem currentLineItem = item;
                decimal       unitPrice       = currentLineItem.UnitPrice ?? 0;
                decimal       quantity        = currentLineItem.Quantity ?? 0;

                decimal totalPrice = unitPrice * quantity;
                currentLineItem.TotalPrice = totalPrice;
                currentLineItem.QuoteId    = this.ObjectId;
                totalLineItemAmount       += totalPrice;
            }
            quote.TotalLineItemAmount = totalLineItemAmount;
            decimal totalDiscountAmount = quote.TotalDiscountAmount ?? 0;
            decimal totalTax            = quote.TotalTax ?? 0;

            quote.TotalAmount = totalLineItemAmount - totalDiscountAmount + totalTax;
        }
Exemple #2
0
        void ViewQuoteLineItemSelectProductChanged(object sender, EventArgs e)
        {
            QuoteDetailView view            = this._detailView as QuoteDetailView;
            QuoteLineItem   currentLineItem = view.CurrentQuoteLineItem as QuoteLineItem;

            Guid?productId = currentLineItem.ProductId;


            var product = productList.AsQueryable().Where("ProductId = @0", productId)._First();

            if (product != null)
            {
                Product pro = product as Product;
                currentLineItem.UnitPrice = pro.Price;
            }
            UpdateQuoteRelationAmount();
        }
Exemple #3
0
        public async Task <QuoteLineItem> AddLineItem(long?quoteId, QuoteLineItem quoteLineItem)
        {
            try
            {
                if (quoteId == null)
                {
                    return(null);
                }
                Utils.LogMessage($"Creating quote line item for quote #{quoteId}...");

                var lineItem = await apiClient.PostAsync(quoteLineItem, $"{objectUrl}/{quoteId}/QuotationLineItem");

                if (lineItem != null)
                {
                    Utils.LogMessage($"Successfully created line item #{lineItem.QUOTATION_ITEM_ID}!");
                }
                return(lineItem);
            }
            catch (Exception ex)
            {
                Utils.LogError($"Creating quote line item for quote #{quoteId}: {ex.Message}");
                throw;
            }
        }
Exemple #4
0
 public QuoteLineItem GetLineItemTotal(QuoteLineItem qli)
 {
     qli.Amount = Math.Round((decimal)(qli.LineitemPrice * Convert.ToDecimal(qli.Quantity)), 2);
     return(qli);
 }