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; }
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(); }
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; } }
public QuoteLineItem GetLineItemTotal(QuoteLineItem qli) { qli.Amount = Math.Round((decimal)(qli.LineitemPrice * Convert.ToDecimal(qli.Quantity)), 2); return(qli); }