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(); } }
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); }
public long AddFnRemittanceDocumentTransaction(Guid txID) { FnRemittanceDataset fnRemittanceDocumentDS = (FnRemittanceDataset)TransactionService.GetDS(txID); FnRemittanceDataset.DocumentRow documentRow = fnRemittanceDocumentDS.Document.NewDocumentRow(); //create new row to dataset. fnRemittanceDocumentDS.Document.AddDocumentRow(documentRow); //add new row to dataset. FnRemittanceDataset.FnRemittanceRow fnRemittanceDocumentRow = fnRemittanceDocumentDS.FnRemittance.NewFnRemittanceRow(); fnRemittanceDocumentRow.DocumentID = documentRow.DocumentID; fnRemittanceDocumentDS.FnRemittance.AddFnRemittanceRow(fnRemittanceDocumentRow); return(fnRemittanceDocumentRow.RemittanceID); }
public void UpdateRemittanceDocumentTransaction(Guid txtID, FnRemittance fnRemittance, bool IsHeaderAndFooter) { this.ValidateRemittance(fnRemittance, IsHeaderAndFooter); // function to validateion of remittance. Spring.Validation.ValidationErrors errors = new Spring.Validation.ValidationErrors(); FnRemittanceDataset fnRemittanceDS = (FnRemittanceDataset)TransactionService.GetDS(txtID); #region FnRemittanceDocument FnRemittanceDataset.FnRemittanceRow fnremittanceRow = fnRemittanceDS.FnRemittance.FindByRemittanceID(fnRemittance.RemittanceID); if (!IsHeaderAndFooter && fnremittanceRow.TotalAmount == 0) { errors.AddError("Provider.Error", new Spring.Validation.ErrorMessage("CannotSaveRemittance_TotalRemittanceAmountMustMoreThanZero")); } if (!errors.IsEmpty) { throw new ServiceValidationException(errors); } fnremittanceRow.BeginEdit(); if (fnRemittance.Document != null) { fnremittanceRow.DocumentID = fnRemittance.Document.DocumentID; } if (fnRemittance.TADocumentID > 0) { fnremittanceRow.TADocumentID = fnRemittance.TADocumentID; } if (fnRemittance.PB != null) { fnremittanceRow.PBID = fnRemittance.PB.Pbid; } if (fnRemittance.MainCurrencyID != null) { fnremittanceRow.MainCurrencyID = fnRemittance.MainCurrencyID; } //fnremittanceRow.TotalAmount = (double)Math.Round((decimal)fnRemittance.TotalAmount, 2, MidpointRounding.AwayFromZero); fnremittanceRow.isFullClearing = fnRemittance.IsFullClearing; fnremittanceRow.IsRepOffice = Convert.ToBoolean(fnRemittance.IsRepOffice); fnremittanceRow.Active = fnRemittance.Active; fnremittanceRow.CreBy = UserAccount.UserID; fnremittanceRow.CreDate = DateTime.Now; fnremittanceRow.UpdBy = UserAccount.UserID; fnremittanceRow.UpdDate = DateTime.Now;; fnremittanceRow.UpdPgm = UserAccount.CurrentProgramCode; fnremittanceRow.EndEdit(); #endregion }
public void ValidateRemittanceAdvance(Guid txID, long remittnceID) { Spring.Validation.ValidationErrors errors = new Spring.Validation.ValidationErrors(); FnRemittanceDataset remittanceDs = (FnRemittanceDataset)TransactionService.GetDS(txID); DataRow[] rowAdvList = remittanceDs.FnRemittanceAdvance.Select(string.Format("RemittanceID = '{0}'", remittnceID)); FnRemittanceDataset.FnRemittanceRow remittanceRow = remittanceDs.FnRemittance.FindByRemittanceID(remittnceID); if (remittanceRow != null) { long companyId = remittanceRow.DocumentRow == null ? 0 : remittanceRow.DocumentRow.CompanyID; long requesterId = remittanceRow.DocumentRow == null ? 0 : remittanceRow.DocumentRow.RequesterID; foreach (FnRemittanceDataset.FnRemittanceAdvanceRow row in rowAdvList) { AvAdvanceDocument adv = ScgeAccountingQueryProvider.AvAdvanceDocumentQuery.FindByIdentity(row.AdvanceID); if (adv != null && adv.DocumentID != null && adv.DocumentID.CompanyID != null) { if (companyId != 0 && adv.DocumentID.CompanyID.CompanyID != companyId) { errors.AddError("Provider.Error", new Spring.Validation.ErrorMessage("CanNotSaveRemittance_CompanyIsNotMatch", adv.DocumentID.DocumentNo)); // Company of ADV-xxxxxxx is not match } } if (adv != null && adv.DocumentID != null && adv.DocumentID.RequesterID != null) { if (requesterId != 0 && adv.DocumentID.RequesterID.Userid != requesterId) { errors.AddError("Provider.Error", new Spring.Validation.ErrorMessage("CanNotAddAdvance_RequesterIsNotMatch")); // Requester of ADV-xxxxxxx is not match } } } } if (!errors.IsEmpty) { throw new ServiceValidationException(errors); } }
public FnRemittanceDataset PrepareDataToDataset(long documentID, bool isCopy) { FnRemittanceDataset remittanceDS = new FnRemittanceDataset(); FnRemittance remittance = ScgeAccountingQueryProvider.FnRemittanceQuery.GetFnRemittanceByDocumentID(documentID); Spring.Validation.ValidationErrors errors = new Spring.Validation.ValidationErrors(); if (remittance == null) { errors.AddError("Remittance.Error", new Spring.Validation.ErrorMessage("NoRemittanceFound")); } if (!errors.IsEmpty) { throw new ServiceValidationException(errors); } // Prepare Data to Document datatable. if (!isCopy) { SCGDocumentService.PrepareDataToDataset(remittanceDS, documentID); } else { SCGDocumentService.PrepareDataInternalToDataset(remittanceDS, documentID, isCopy); } // Set data to Remittance Document row in FnremittanceDS. FnRemittanceDataset.FnRemittanceRow remittanceRow = remittanceDS.FnRemittance.NewFnRemittanceRow(); remittanceRow.RemittanceID = remittance.RemittanceID; //remittanceRow.SAPIONo = remittance.SAPIONo; if (!isCopy) { if (remittance.Document != null) { remittanceRow.DocumentID = remittance.Document.DocumentID; } //remittanceRow.PBID = remittance.PB.Pbid; remittanceRow.TotalAmount = remittance.TotalAmount; remittanceRow.isFullClearing = remittance.IsFullClearing; remittanceRow.TADocumentID = remittance.TADocumentID; } else { if (remittanceDS.Document.Rows.Count > 0) { FnRemittanceDataset.DocumentRow docRow = (FnRemittanceDataset.DocumentRow)remittanceDS.Document.Rows[0]; remittanceRow.DocumentID = docRow.DocumentID; } } remittanceRow.PBID = remittance.PB.Pbid; remittanceRow.MainCurrencyAmount = remittance.MainCurrencyAmount; remittanceRow.IsRepOffice = Convert.ToBoolean(remittance.IsRepOffice); remittanceRow.Active = remittance.Active; remittanceRow.CreBy = remittance.CreBy; remittanceRow.CreDate = remittance.CreDate; remittanceRow.UpdBy = remittance.UpdBy; remittanceRow.UpdDate = remittance.UpdDate; remittanceRow.UpdPgm = remittance.UpdPgm; // Add Remittance document row to FnremittanceDS. remittanceDS.FnRemittance.AddFnRemittanceRow(remittanceRow); // Prepare Data to RemittanceItem Datatable. FnRemittanceItemService.PrepareDataToDataset(remittanceDS, remittance.RemittanceID); // Prepare Data to RemittacneAdvance Datatable. FnRemittanceAdvanceService.PrepareDataToDataset(remittanceDS, remittance.RemittanceID); return(remittanceDS); }