예제 #1
0
        public void UpdateTotalRemittanceAmount(Guid txID, long remittanceId)
        {
            FnRemittanceDataset fnRemittanceDS = (FnRemittanceDataset)TransactionService.GetDS(txID);

            if (fnRemittanceDS != null)
            {
                double totalRemittanceAmount     = 0;
                double totalRemittanceMainAmount = 0;
                FnRemittanceDataset.FnRemittanceItemRow[] items           = (FnRemittanceDataset.FnRemittanceItemRow[])fnRemittanceDS.FnRemittanceItem.Select();
                FnRemittanceDataset.FnRemittanceRow       fnremittanceRow = fnRemittanceDS.FnRemittance.FindByRemittanceID(remittanceId);
                if (items.Length > 0)
                {
                    totalRemittanceAmount = items.Sum(x => x.AmountTHB);
                    if ((!fnremittanceRow.IsIsRepOfficeNull() && fnremittanceRow.IsRepOffice))
                    {
                        totalRemittanceMainAmount = items.Sum(x => x.MainCurrencyAmount);
                    }
                }

                fnremittanceRow.BeginEdit();
                fnremittanceRow.TotalAmount        = (double)Math.Round((decimal)totalRemittanceAmount, 2, MidpointRounding.AwayFromZero);
                fnremittanceRow.MainCurrencyAmount = (double)Math.Round((decimal)totalRemittanceMainAmount, 2, MidpointRounding.AwayFromZero);
                //fnremittanceRow.IsRepOffice = isRepOffice;
                fnremittanceRow.EndEdit();
            }
        }
예제 #2
0
        public long SaveRemittanceDocument(Guid txID, long remittanceID)
        {
            FnRemittanceDataset remittanceDS = (FnRemittanceDataset)TransactionService.GetDS(txID);

            FnRemittanceDataset.FnRemittanceRow remittanceRow = remittanceDS.FnRemittance.FindByRemittanceID(remittanceID);
            long documentID = remittanceRow.DocumentID;

            documentID = SCGDocumentService.SaveSCGDocument(txID, documentID);

            remittanceID = ScgeAccountingDaoProvider.FnRemittanceDao.Persist(remittanceDS.FnRemittance);

            ScgeAccountingDaoProvider.FnRemittanceDao.DeleteAllRemittanceItemAndRemittanceAdvance(remittanceRow.RemittanceID);

            FnRemittanceItemService.SaveRemittanceItem(txID, remittanceID);

            FnRemittanceAdvanceService.SaveRemittanceAdvance(txID, remittanceID);

            // Add code for update clearing advance by Anuwat S on 19/04/2009

            AvAdvanceDocumentService.UpdateRemittanceAdvance(remittanceID, double.Parse("0" + remittanceDS.FnRemittance.Rows[0]["TotalAmount"].ToString()), false);

            if (!remittanceRow.IsIsRepOfficeNull() && remittanceRow.IsRepOffice)
            {
                AvAdvanceDocumentService.UpdateRemittanceAdvanceForRepOffice(remittanceID, double.Parse("0" + remittanceDS.FnRemittance.Rows[0]["MainCurrencyAmount"].ToString()), false);
            }
            return(remittanceID);
        }