public void AddPurchaseOrderReceipt(PurchaseReceiptHeader purchaseOrderReceipt) { // var glLines = new List<GeneralLedgerLine>(); decimal totalAmount = purchaseOrderReceipt.PurchaseReceiptLines.Sum(d => d.Amount); decimal taxAmount = purchaseOrderReceipt.GetTotalTax(); decimal totalDiscount = 0; foreach (var lineItem in purchaseOrderReceipt.PurchaseReceiptLines) { var item = _itemRepo.GetById(lineItem.ItemId); //decimal lineItemTotalAmountAfterTax = lineItem.Amount - lineItem.LineTaxAmount; //lineItem.InventoryControlJournal = _inventoryService.CreateInventoryControlJournal(lineItem.ItemId, // lineItem.MeasurementId, // DocumentTypes.PurchaseReceipt, // lineItem.ReceivedQuantity, // null, // lineItem.ReceivedQuantity * item.Cost, // null); } if (taxAmount > 0) { } if (totalDiscount > 0) { } }
public void AddPurchaseOrderReceipt(PurchaseReceiptHeader purchaseOrderReceipt) { var glLines = new List <GeneralLedgerLine>(); decimal totalAmount = purchaseOrderReceipt.PurchaseReceiptLines.Sum(d => d.Amount); decimal taxAmount = purchaseOrderReceipt.GetTotalTax(); decimal totalDiscount = 0; foreach (var lineItem in purchaseOrderReceipt.PurchaseReceiptLines) { var item = _inventoryService.GetItemById(lineItem.ItemId); decimal lineItemTotalAmountAfterTax = lineItem.Amount - lineItem.LineTaxAmount; GeneralLedgerLine debitInventory = _financialService.CreateGeneralLedgerLine(DrOrCrSide.Dr, item.InventoryAccount.Id, lineItemTotalAmountAfterTax); glLines.Add(debitInventory); GeneralLedgerLine creditGRNClearingAccount = _financialService.CreateGeneralLedgerLine(DrOrCrSide.Cr, GetGeneralLedgerSetting().GoodsReceiptNoteClearingAccountId.Value, lineItemTotalAmountAfterTax); glLines.Add(creditGRNClearingAccount); lineItem.InventoryControlJournal = _inventoryService.CreateInventoryControlJournal(lineItem.ItemId, lineItem.MeasurementId, DocumentTypes.PurchaseReceipt, lineItem.ReceivedQuantity, null, lineItem.ReceivedQuantity * item.Cost, null); } if (taxAmount > 0) { } if (totalDiscount > 0) { } GeneralLedgerHeader glHeader = _financialService.CreateGeneralLedgerHeader(DocumentTypes.PurchaseReceipt, purchaseOrderReceipt.Date, string.Empty); glHeader.GeneralLedgerLines = glLines; if (_financialService.ValidateGeneralLedgerEntry(glHeader)) { purchaseOrderReceipt.GeneralLedgerHeader = glHeader; purchaseOrderReceipt.No = GetNextNumber(SequenceNumberTypes.PurchaseReceipt).ToString(); _purchaseReceiptRepo.Insert(purchaseOrderReceipt); } }