Esempio n. 1
0
        public void SetOSAgainstPRItem(PurchaseReturnItem doi)
        {
            double qtyAmount = doi.GetAmountInSmallestUnit();// QYTAMOUNT;

            if (qtyAmount <= 0)
            {
                return;
            }
            if (AGAINST_PR_STATUS == AgainstStatus.Close)
            {
                throw new Exception("GRN Item already fully received :" + this.PART.NAME);
            }
            if (qtyAmount > OUTSTANDING_AMOUNT_TO_PR)
            {
                throw new Exception("PR Item Amount exceed Outstanding GRN Item Amount :" + this.PART.NAME);
            }
            OUTSTANDING_AMOUNT_TO_PR = OUTSTANDING_AMOUNT_TO_PR - qtyAmount;
            RETURNED_AMOUNT          = RETURNED_AMOUNT + qtyAmount;
            if (isValidToClose())
            {
                AGAINST_PR_STATUS = AgainstStatus.Close;
            }
            else
            {
                AGAINST_PR_STATUS = AgainstStatus.Outstanding;
            }
            ((GoodReceiveNote)EVENT).UpdateAgainstPRStatusGRN();
        }
        public void SetOSAgainstPaymentItem(IPayment pyi)
        {
            double qtyAmount = pyi.GET_AMOUNT;

            if (qtyAmount <= 0)
            {
                return;
            }
            if (AGAINST_PAYMENT_STATUS == AgainstStatus.Close)
            {
                throw new Exception("Invoice Item Allready Close :" + this.INVOICE_NO);
            }
            if (qtyAmount > OUTSTANDING_AMOUNT)
            {
                throw new Exception("Payment Item Amount exceed SIJ Outstanding Item Amount :" + this.INVOICE_NO);
            }
            OUTSTANDING_AMOUNT = OUTSTANDING_AMOUNT - qtyAmount;
            PAID_AMOUNT        = PAID_AMOUNT + qtyAmount;
            if (isValidToClose())
            {
                AGAINST_PAYMENT_STATUS = AgainstStatus.Close;
            }
            else
            {
                AGAINST_PAYMENT_STATUS = AgainstStatus.Outstanding;
            }
            ((SupplierInvoiceJournal)EVENT_JOURNAL).UpdateAgainstPaymentStatusSIJ();
        }
Esempio n. 3
0
        public void SetOSAgainstGRNItem(GoodReceiveNoteItem grni)
        {
            double qtyAmount = grni.GetAmountInSmallestUnit();//grni.QYTAMOUNT;

            if (qtyAmount <= 0)
            {
                return;
            }
            if (AGAINST_GRN_STATUS == AgainstStatus.Close)
            {
                throw new Exception("PO Item already fully received :" + this.PART.NAME);
            }
            if (qtyAmount > OUTSTANDING_AMOUNT_TO_GRN)
            {
                throw new Exception("GRN Item Amount exceed PO Outstanding Item Amount :" + this.PART.NAME);
            }
            OUTSTANDING_AMOUNT_TO_GRN = OUTSTANDING_AMOUNT_TO_GRN - qtyAmount;
            RECEIVED_AMOUNT           = RECEIVED_AMOUNT + qtyAmount;
            if (isValidToClose())
            {
                AGAINST_GRN_STATUS = AgainstStatus.Close;
            }
            else
            {
                AGAINST_GRN_STATUS = AgainstStatus.Outstanding;
            }
            ((PurchaseOrder)EVENT).UpdateAgainstGRNStatusPO();
        }
Esempio n. 4
0
        public void SetOSAgainstReceiptItem(IReceipt pyi)
        {
            double qtyAmount = pyi.GET_AMOUNT;

            if (qtyAmount <= 0)
            {
                return;
            }
            if (AGAINST_RECEIPT_STATUS == AgainstStatus.Close)
            {
                throw new Exception("Invoice Item Allready Close :" + this.INVOICE_NO);
            }
            if (qtyAmount > OUTSTANDING_AMOUNT)
            {
                throw new Exception("Receipt Item Amount exceed SIJ Outstanding Item Amount :" + this.INVOICE_NO);
            }
            OUTSTANDING_AMOUNT = OUTSTANDING_AMOUNT - qtyAmount;
            RECEIPT_AMOUNT     = RECEIPT_AMOUNT + qtyAmount;
            if (isValidToClose())
            {
                AGAINST_RECEIPT_STATUS = AgainstStatus.Close;
            }
            else
            {
                AGAINST_RECEIPT_STATUS = AgainstStatus.Outstanding;
            }
            ((CustomerOutStandingInvoice)EVENT_JOURNAL).UpdateAgainstReceiptStatusSIJ();
        }
Esempio n. 5
0
        public void SetOSAgainstDOItem(DeliveryOrderItem grni)
        {
            double qtyAmount = grni.GetAmountInSmallestUnit();//grni.QYTAMOUNT;

            if (qtyAmount <= 0)
            {
                return;
            }
            if (AGAINST_DO_STATUS == AgainstStatus.Close)
            {
                throw new Exception("SO Item already fully delivered :" + this.PART.NAME);
            }
            if (qtyAmount > OUTSTANDING_AMOUNT_TO_DO)
            {
                throw new Exception("DO Item Amount exceed SO Outstanding Item Amount :" + this.PART.NAME);
            }
            OUTSTANDING_AMOUNT_TO_DO = OUTSTANDING_AMOUNT_TO_DO - qtyAmount;
            DELIVERED_AMOUNT         = DELIVERED_AMOUNT + qtyAmount;
            if (isValidToClose())
            {
                AGAINST_DO_STATUS = AgainstStatus.Close;
            }
            else
            {
                AGAINST_DO_STATUS = AgainstStatus.Outstanding;
            }
            ((SalesOrder)EVENT).UpdateAgainstDOStatusSO();
        }
Esempio n. 6
0
        public void SetOSAgainstSRItem(SalesReturnItem doi)
        {
            double qtyAmount = doi.GetAmountInSmallestUnit();

            if (qtyAmount <= 0)
            {
                return;
            }
            if (AGAINST_SR_STATUS == AgainstStatus.Close)
            {
                throw new Exception("DO Item already fully delivered :" + this.PART.NAME);
            }
            if (qtyAmount > OUTSTANDING_AMOUNT_TO_SR)
            {
                throw new Exception("SR Item Amount exceed Outstanding DO Item Amount :" + this.PART.NAME);
            }
            OUTSTANDING_AMOUNT_TO_SR = OUTSTANDING_AMOUNT_TO_SR - qtyAmount;
            RETURNED_AMOUNT          = RETURNED_AMOUNT + qtyAmount;
            if (isValidToClose())
            {
                AGAINST_SR_STATUS = AgainstStatus.Close;
            }
            else
            {
                AGAINST_SR_STATUS = AgainstStatus.Outstanding;
            }
            ((DeliveryOrder)EVENT).UpdateAgainstSRStatusDO();
        }
Esempio n. 7
0
        public void UpdateAgainstSRStatusDO()
        {
            bool allClosed = true;

            for (int i = 0; i < EVENT_ITEMS.Count; i++)
            {
                DeliveryOrderItem soi = EVENT_ITEMS[i] as DeliveryOrderItem;
                if (soi.AGAINST_SR_STATUS == AgainstStatus.Close)
                {
                    continue;
                }
                allClosed = false;
                break;
            }
            AGAINST_SR_STATUS = allClosed ? AgainstStatus.Close : AgainstStatus.Outstanding;
        }
Esempio n. 8
0
        public void UpdateAgainstReceiptStatusSIJ()
        {
            bool allClosed = true;

            for (int i = 0; i < EVENT_JOURNAL_ITEMS.Count; i++)
            {
                CustomerOutStandingInvoiceItem poi = EVENT_JOURNAL_ITEMS[i] as CustomerOutStandingInvoiceItem;
                if (poi.AGAINST_RECEIPT_STATUS == AgainstStatus.Close)
                {
                    continue;
                }
                allClosed = false;
                break;
            }
            AGAINST_RECEIPT_STATUS = allClosed ? AgainstStatus.Close : AgainstStatus.Outstanding;
        }
Esempio n. 9
0
        public void UnSetOSAgainstReceiptItem(IReceipt grni)
        {
            double qtyAmount = grni.GET_AMOUNT;

            if (qtyAmount > this.AMOUNT || OUTSTANDING_AMOUNT + qtyAmount > this.AMOUNT)
            {
                throw new Exception("Receipt Item revise Amount exceed SIJ Item Amount :" + this.INVOICE_NO);
            }
            OUTSTANDING_AMOUNT = OUTSTANDING_AMOUNT + qtyAmount;
            RECEIPT_AMOUNT     = RECEIPT_AMOUNT - qtyAmount;
            if (OUTSTANDING_AMOUNT > 0)
            {
                AGAINST_RECEIPT_STATUS = AgainstStatus.Outstanding;
            }
            ((CustomerInvoiceJournal)EVENT_JOURNAL).UpdateAgainstReceiptStatusSIJ();
        }
Esempio n. 10
0
        public void UpdateAgainstGRNStatusPO()
        {
            bool allClosed = true;

            for (int i = 0; i < EVENT_ITEMS.Count; i++)
            {
                PurchaseOrderItem poi = EVENT_ITEMS[i] as PurchaseOrderItem;
                if (poi.AGAINST_GRN_STATUS == AgainstStatus.Close)
                {
                    continue;
                }
                allClosed = false;
                break;
            }
            AGAINST_GRN_STATUS = allClosed ? AgainstStatus.Close : AgainstStatus.Outstanding;
        }
        public void UnSetOSAgainstPaymentItem(IPayment grni)
        {
            double qtyAmount = grni.GET_AMOUNT;

            if (qtyAmount > this.AMOUNT || OUTSTANDING_AMOUNT + qtyAmount > this.AMOUNT)
            {
                throw new Exception("Payment Item revise Amount exceed SIJ Item Amount :" + this.INVOICE_NO);
            }
            OUTSTANDING_AMOUNT = OUTSTANDING_AMOUNT + qtyAmount;
            PAID_AMOUNT        = PAID_AMOUNT - qtyAmount;
            if (OUTSTANDING_AMOUNT > 0)
            {
                AGAINST_PAYMENT_STATUS = AgainstStatus.Outstanding;
            }
            ((SupplierInvoiceJournal)EVENT_JOURNAL).UpdateAgainstPaymentStatusSIJ();
        }
Esempio n. 12
0
        public void UpdateAgainstPRStatusGRN()
        {
            bool allClosed = true;

            for (int i = 0; i < EVENT_ITEMS.Count; i++)
            {
                GoodReceiveNoteItem soi = EVENT_ITEMS[i] as GoodReceiveNoteItem;
                if (soi.AGAINST_PR_STATUS == AgainstStatus.Close)
                {
                    continue;
                }
                allClosed = false;
                break;
            }
            AGAINST_PR_STATUS = allClosed ? AgainstStatus.Close : AgainstStatus.Outstanding;
        }
Esempio n. 13
0
        public void UpdateAgainstPaymentStatusSIJ()
        {
            bool allClosed = true;

            for (int i = 0; i < EVENT_JOURNAL_ITEMS.Count; i++)
            {
                SupplierInvoiceJournalItem poi = EVENT_JOURNAL_ITEMS[i] as SupplierInvoiceJournalItem;
                if (poi.AGAINST_PAYMENT_STATUS == AgainstStatus.Close)
                {
                    continue;
                }
                allClosed = false;
                break;
            }
            AGAINST_PAYMENT_STATUS = allClosed ? AgainstStatus.Close : AgainstStatus.Outstanding;
        }
Esempio n. 14
0
        public void UnSetOSAgainstPRItem(PurchaseReturnItem doi)
        {
            double qtyAmount = doi.GetAmountInSmallestUnit();  //QYTAMOUNT;

            if (qtyAmount > this.GetAmountInSmallestUnit() || OUTSTANDING_AMOUNT_TO_PR + qtyAmount > this.GetAmountInSmallestUnit())
            {
                throw new Exception("PR Item revise Amount exceed GRN Item Amount :" + this.PART.NAME);
            }
            OUTSTANDING_AMOUNT_TO_PR = OUTSTANDING_AMOUNT_TO_PR + qtyAmount;
            RETURNED_AMOUNT          = RETURNED_AMOUNT - qtyAmount;
            if (RETURNED_AMOUNT > 0)
            {
                AGAINST_PR_STATUS = AgainstStatus.Outstanding;
            }
            else
            {
                AGAINST_PR_STATUS = AgainstStatus.Open;
            }
            ((GoodReceiveNote)EVENT).UpdateAgainstPRStatusGRN();
        }
Esempio n. 15
0
        public void UnSetOSAgainstSRItem(SalesReturnItem doi)
        {
            double qtyAmount = doi.GetAmountInSmallestUnit();

            if (qtyAmount > this.GetAmountInSmallestUnit() || OUTSTANDING_AMOUNT_TO_SR + qtyAmount > this.GetAmountInSmallestUnit())
            {
                throw new Exception("SR Item revise Amount exceed DO Item Amount :" + this.PART.NAME);
            }
            OUTSTANDING_AMOUNT_TO_SR = OUTSTANDING_AMOUNT_TO_SR + qtyAmount;
            RETURNED_AMOUNT          = RETURNED_AMOUNT - qtyAmount;
            if (RETURNED_AMOUNT > 0)
            {
                AGAINST_SR_STATUS = AgainstStatus.Outstanding;
            }
            else
            {
                AGAINST_SR_STATUS = AgainstStatus.Open;
            }
            ((DeliveryOrder)EVENT).UpdateAgainstSRStatusDO();
        }
Esempio n. 16
0
        public void UnSetOSAgainstGRNItem(GoodReceiveNoteItem grni)
        {
            double qtyAmount = grni.GetAmountInSmallestUnit();//= grni.QYTAMOUNT;

            if (qtyAmount > this.GetAmountInSmallestUnit() || OUTSTANDING_AMOUNT_TO_GRN + qtyAmount > this.GetAmountInSmallestUnit())
            {
                throw new Exception("GRN Item revise Amount exceed PO Item Amount :" + this.PART.NAME);
            }
            OUTSTANDING_AMOUNT_TO_GRN = OUTSTANDING_AMOUNT_TO_GRN + qtyAmount;
            RECEIVED_AMOUNT           = RECEIVED_AMOUNT - qtyAmount;
            // if (OUTSTANDING_AMOUNT_TO_GRN > 0)
            if (RECEIVED_AMOUNT > 0)
            {
                AGAINST_GRN_STATUS = AgainstStatus.Outstanding;
            }
            else
            {
                AGAINST_GRN_STATUS = AgainstStatus.Open;
            }
            ((PurchaseOrder)EVENT).UpdateAgainstGRNStatusPO();
        }
Esempio n. 17
0
        public void UnSetOSAgainstDOItem(DeliveryOrderItem grni)
        {
            double qtyAmount = grni.GetAmountInSmallestUnit();//grni.QYTAMOUNT;

            if (qtyAmount > this.GetAmountInSmallestUnit() || OUTSTANDING_AMOUNT_TO_DO + qtyAmount > this.GetAmountInSmallestUnit())
            {
                throw new Exception("DO Item revise Amount exceed SO Item Amount :" + this.PART.NAME);
            }
            OUTSTANDING_AMOUNT_TO_DO = OUTSTANDING_AMOUNT_TO_DO + qtyAmount;
            DELIVERED_AMOUNT         = DELIVERED_AMOUNT - qtyAmount;
            // if (OUTSTANDING_AMOUNT_TO_DO > 0)
            if (DELIVERED_AMOUNT > 0)
            {
                AGAINST_DO_STATUS = AgainstStatus.Outstanding;
            }
            else
            {
                AGAINST_DO_STATUS = AgainstStatus.Open;
            }
            ((SalesOrder)EVENT).UpdateAgainstDOStatusSO();
        }