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 DataTable DeleteRemittanceItemFromTransaction(Guid txID, long fnremittrnceItemID, bool isFromAdvanceGrid) { Spring.Validation.ValidationErrors errors = new Spring.Validation.ValidationErrors(); long remittanceId = 0; FnRemittanceDataset remittanceDS = (FnRemittanceDataset)TransactionService.GetDS(txID); FnRemittanceDataset.FnRemittanceItemRow remittanceItemRow = remittanceDS.FnRemittanceItem.FindByRemittanceItemID(fnremittrnceItemID); if (remittanceItemRow != null && !remittanceItemRow.IsNull("RemittanceID")) { remittanceId = remittanceItemRow.RemittanceID; } if (!isFromAdvanceGrid) { if (remittanceItemRow.IsImportFromAdvance) { errors.AddError("Provider.Error", new Spring.Validation.ErrorMessage("CanNotDeleteItemInsertFromAdvance")); } if (!errors.IsEmpty) { throw new ServiceValidationException(errors); } } remittanceItemRow.Delete(); FnRemittanceService.UpdateTotalRemittanceAmount(txID, remittanceId); return(remittanceDS.FnRemittanceItem); }
public void UpdateRemittanceAdvanceTransaction(Guid txtID, FnRemittanceAdvance fnRemittanceAdvance) { this.ValidateRemittanceAdvance(fnRemittanceAdvance); FnRemittanceDataset fnRemittanceDS = (FnRemittanceDataset)TransactionService.GetDS(txtID); #region FnRemittanceAdvance FnRemittanceDataset.FnRemittanceAdvanceRow fnRemittanceAdvanceRow = fnRemittanceDS.FnRemittanceAdvance.FindByRemittanceAdvanceID(fnRemittanceAdvance.RemittanceAdvanceID); fnRemittanceAdvanceRow.BeginEdit(); if (fnRemittanceAdvance.Remittance != null) { fnRemittanceAdvanceRow.RemittanceID = fnRemittanceAdvance.Remittance.RemittanceID; } if (fnRemittanceAdvance.Advance != null) { fnRemittanceAdvanceRow.AdvanceID = fnRemittanceAdvance.Advance.AdvanceID; } fnRemittanceAdvanceRow.Active = fnRemittanceAdvance.Active; fnRemittanceAdvanceRow.CreBy = UserAccount.UserID; fnRemittanceAdvanceRow.CreDate = DateTime.Now; fnRemittanceAdvanceRow.UpdBy = UserAccount.UserID; fnRemittanceAdvanceRow.UpdDate = DateTime.Now; fnRemittanceAdvanceRow.UpdPgm = UserAccount.CurrentProgramCode; fnRemittanceAdvanceRow.EndEdit(); #endregion }
public long AddFnRemittanceAdvanceTransaction(Guid txID, FnRemittanceAdvance fnRemittanceAdvance) { //Initial Data for another table. FnRemittanceDataset fnRemittanceDocumentDS = (FnRemittanceDataset)TransactionService.GetDS(txID); FnRemittanceDataset.FnRemittanceAdvanceRow fnRemittanceAdvanceRow = fnRemittanceDocumentDS.FnRemittanceAdvance.NewFnRemittanceAdvanceRow();; if (fnRemittanceAdvance.Remittance != null) { fnRemittanceAdvanceRow.RemittanceID = fnRemittanceAdvance.Remittance.RemittanceID; } if (fnRemittanceAdvance.Advance != null) { fnRemittanceAdvanceRow.AdvanceID = fnRemittanceAdvance.Advance.AdvanceID; } fnRemittanceAdvanceRow.Active = fnRemittanceAdvance.Active; fnRemittanceAdvanceRow.CreBy = UserAccount.UserID; fnRemittanceAdvanceRow.CreDate = DateTime.Now; fnRemittanceAdvanceRow.UpdBy = UserAccount.UserID; fnRemittanceAdvanceRow.UpdDate = DateTime.Now; fnRemittanceAdvanceRow.UpdPgm = UserAccount.CurrentProgramCode; fnRemittanceDocumentDS.FnRemittanceAdvance.AddFnRemittanceAdvanceRow(fnRemittanceAdvanceRow); return(fnRemittanceAdvanceRow.RemittanceAdvanceID); }
public void SaveRemittanceItem(Guid txID, long remittanceID) { FnRemittanceDataset ds = (FnRemittanceDataset)TransactionService.GetDS(txID); FnRemittanceDataset.FnRemittanceItemDataTable itemDt = new FnRemittanceDataset.FnRemittanceItemDataTable(); foreach (FnRemittanceDataset.FnRemittanceItemRow row in ds.FnRemittanceItem.Select()) { FnRemittanceDataset.FnRemittanceItemRow tempRow = itemDt.NewFnRemittanceItemRow(); tempRow.RemittanceID = row.RemittanceID; tempRow.PaymentType = row.PaymentType; tempRow.CurrencyID = row.CurrencyID; tempRow.ForeignCurrencyAdvanced = (double)Math.Round((decimal)row.ForeignCurrencyAdvanced, 2, MidpointRounding.AwayFromZero); tempRow.ExchangeRate = (double)Math.Round((decimal)row.ExchangeRate, 5, MidpointRounding.AwayFromZero); tempRow.ForeignCurrencyRemitted = (double)Math.Round((decimal)row.ForeignCurrencyRemitted, 2, MidpointRounding.AwayFromZero); tempRow.ForeignAmountTHBAdvanced = (double)Math.Round((decimal)row.ForeignAmountTHBAdvanced, 2, MidpointRounding.AwayFromZero); tempRow.AmountTHB = (double)Math.Round((decimal)row.AmountTHB, 2, MidpointRounding.AwayFromZero); tempRow.ExchangeRateTHB = (double)Math.Round((decimal)row.ExchangeRateTHB, 5, MidpointRounding.AwayFromZero); tempRow.ForeignAmountMainCurrencyAdvanced = (double)Math.Round((decimal)row.ForeignAmountMainCurrencyAdvanced, 2, MidpointRounding.AwayFromZero); tempRow.MainCurrencyAmount = (double)Math.Round((decimal)row.MainCurrencyAmount, 2, MidpointRounding.AwayFromZero); tempRow.IsImportFromAdvance = row.IsImportFromAdvance; tempRow.Active = row.Active; tempRow.CreBy = row.CreBy; tempRow.CreDate = row.CreDate; tempRow.UpdBy = row.UpdBy; tempRow.UpdDate = row.UpdDate; tempRow.UpdPgm = row.UpdPgm; itemDt.AddFnRemittanceItemRow(tempRow); } //ScgeAccountingDaoProvider.FnRemittanceItemDao.Persist(ds.FnRemittanceItem); ScgeAccountingDaoProvider.FnRemittanceItemDao.Persist(itemDt); }
public void PrepareDataToDataset(FnRemittanceDataset remittanceDataset, long remittanceID) { IList <FnRemittanceAdvance> remittanceAdvanceList = ScgeAccountingQueryProvider.FnRemittanceAdvanceQuery.FindRemittanceAdvanceByRemittanceID(remittanceID); if (remittanceAdvanceList.Count > 0) { foreach (FnRemittanceAdvance remittanceAdvance in remittanceAdvanceList) { FnRemittanceDataset.FnRemittanceAdvanceRow remittanceAdvanceRow = remittanceDataset.FnRemittanceAdvance.NewFnRemittanceAdvanceRow(); remittanceAdvanceRow.RemittanceAdvanceID = remittanceAdvance.RemittanceAdvanceID; if (remittanceAdvance.Remittance != null) { remittanceAdvanceRow.RemittanceID = remittanceAdvance.Remittance.RemittanceID; } if (remittanceAdvance.Advance != null) { remittanceAdvanceRow.AdvanceID = remittanceAdvance.Advance.AdvanceID; } remittanceAdvanceRow.Active = remittanceAdvance.Active; remittanceAdvanceRow.CreBy = remittanceAdvance.CreBy; remittanceAdvanceRow.CreDate = remittanceAdvance.CreDate; remittanceAdvanceRow.UpdBy = remittanceAdvance.UpdBy; remittanceAdvanceRow.UpdDate = remittanceAdvance.UpdDate; remittanceAdvanceRow.UpdPgm = remittanceAdvance.UpdPgm; remittanceDataset.FnRemittanceAdvance.AddFnRemittanceAdvanceRow(remittanceAdvanceRow); } } }
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 DataSet PrepareDS(long documentID) { FnRemittanceDataset FnRemittanceDS = this.PrepareDataToDataset(documentID, false); FnRemittanceDS.AcceptChanges(); return(FnRemittanceDS); }
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 DataTable DeleteRemittanceAdvanceFromTransaction(Guid txID, long advanceID, long remittanceID) { FnRemittanceDataset fnRemittanceDS = (FnRemittanceDataset)TransactionService.GetDS(txID); FnRemittanceDataset.FnRemittanceAdvanceDataTable remittanceAdvanceTable = fnRemittanceDS.FnRemittanceAdvance; foreach (FnRemittanceDataset.FnRemittanceAdvanceRow row in remittanceAdvanceTable.Select()) { if (row.RemittanceID == remittanceID && row.AdvanceID == advanceID) { row.Delete(); break; } } return(remittanceAdvanceTable); //return fnRemittanceDS.FnRemittanceAdvance; }
//public void InsertRemittanceAdvance(Guid txID, long tempfnRemittanceID) //{ // FnRemittanceDataset fnRemittanceDS = (FnRemittanceDataset)TransactionService.GetDS(txID); // FnRemittance fnRemittance = ScgeAccountingQueryProvider.FnRemittanceQuery.FindProxyByIdentity(tempfnRemittanceID); // FnRemittanceDataset.FnRemittanceAdvanceDataTable insertTable = (FnRemittanceDataset.FnRemittanceAdvanceDataTable)fnRemittanceDS.FnRemittanceAdvance.GetChanges(DataRowState.Added); // if (insertTable != null) // { // foreach (FnRemittanceDataset.FnRemittanceAdvanceRow row in insertTable.Rows) // { // FnRemittanceAdvance remittanceAdvance = new FnRemittanceAdvance(); // remittanceAdvance.Remittance = fnRemittance; // remittanceAdvance.Advance = new AvAdvanceDocument(row.AdvanceID); // remittanceAdvance.Active = row.Active; // remittanceAdvance.CreBy = row.CreBy; // remittanceAdvance.CreDate = row.CreDate; // remittanceAdvance.UpdBy = row.UpdBy; // remittanceAdvance.UpdDate = row.UpdDate; // remittanceAdvance.UpdPgm = row.UpdPgm; // // if row.BudgetCostElementID < 0 is new record that no data in database. // if (row.RemittanceAdvanceID < 0) // { // ScgeAccountingDaoProvider.FnRemittanceAdvanceDao.Save(remittanceAdvance); // } // } // } //} //public void UpdateRemittanceAdvance(Guid txID, long tempfnRemittanceID) //{ // FnRemittanceDataset fnRemittanceDS = (FnRemittanceDataset)TransactionService.GetDS(txID); // FnRemittance fnRemittance = ScgeAccountingQueryProvider.FnRemittanceQuery.FindProxyByIdentity(tempfnRemittanceID); // FnRemittanceDataset.FnRemittanceAdvanceDataTable updateTable = (FnRemittanceDataset.FnRemittanceAdvanceDataTable)fnRemittanceDS.FnRemittanceAdvance.GetChanges(DataRowState.Modified); // if (updateTable != null) // { // foreach (FnRemittanceDataset.FnRemittanceAdvanceRow row in updateTable.Rows) // { // FnRemittanceAdvance remittanceAdvance; // if (row.RemittanceAdvanceID < 0) // { // remittanceAdvance = new FnRemittanceAdvance(); // } // else // { // remittanceAdvance = ScgeAccountingQueryProvider.FnRemittanceAdvanceQuery.FindProxyByIdentity(row.RemittanceAdvanceID); // } // remittanceAdvance.Remittance = fnRemittance; // remittanceAdvance.Advance = new AvAdvanceDocument(row.AdvanceID); // remittanceAdvance.Active = row.Active; // remittanceAdvance.CreBy = row.CreBy; // remittanceAdvance.CreDate = row.CreDate; // remittanceAdvance.UpdBy = row.UpdBy; // remittanceAdvance.UpdDate = row.UpdDate; // remittanceAdvance.UpdPgm = row.UpdPgm; // // if row.BudgetCostElementID < 0 is new record that no data in database. // if (row.RemittanceAdvanceID < 0) // { // ScgeAccountingDaoProvider.FnRemittanceAdvanceDao.Save(remittanceAdvance); // } // else // { // ScgeAccountingDaoProvider.FnRemittanceAdvanceDao.SaveOrUpdate(remittanceAdvance); // } // } // } //} //public void DeleteRemittanceAdvance(Guid txID) //{ // FnRemittanceDataset fnRemittanceDS = (FnRemittanceDataset)TransactionService.GetDS(txID); // FnRemittanceDataset.FnRemittanceAdvanceDataTable deleteTable = (FnRemittanceDataset.FnRemittanceAdvanceDataTable)fnRemittanceDS.FnRemittanceAdvance.GetChanges(DataRowState.Deleted); // if (deleteTable != null) // { // foreach (FnRemittanceDataset.FnRemittanceItemRow row in deleteTable.Rows) // { // long remittanceItemID = Convert.ToInt64(row["RemittanceItemID", DataRowVersion.Original].ToString()); // if (remittanceItemID > 0) // { // FnRemittanceItem remittanceItem = ScgeAccountingQueryProvider.FnRemittanceItemQuery.FindProxyByIdentity(remittanceItemID); // if (remittanceItem != null) // { // ScgeAccountingDaoProvider.FnRemittanceItemDao.Delete(remittanceItem); // } // } // } // } //} public void SaveRemittanceAdvance(Guid txID, long remittanceID) { FnRemittanceDataset ds = (FnRemittanceDataset)TransactionService.GetDS(txID); FnRemittanceDataset.FnRemittanceAdvanceDataTable tempAdvance = new FnRemittanceDataset.FnRemittanceAdvanceDataTable(); foreach (FnRemittanceDataset.FnRemittanceAdvanceRow row in ds.FnRemittanceAdvance.Select()) { FnRemittanceDataset.FnRemittanceAdvanceRow tempRow = tempAdvance.NewFnRemittanceAdvanceRow(); tempRow.RemittanceID = row.RemittanceID; tempRow.AdvanceID = row.AdvanceID; tempRow.Active = row.Active; tempRow.CreBy = row.CreBy; tempRow.CreDate = row.CreDate; tempRow.UpdBy = row.UpdBy; tempRow.UpdDate = row.UpdDate; tempRow.UpdPgm = row.UpdPgm; tempAdvance.AddFnRemittanceAdvanceRow(tempRow); } //ScgeAccountingDaoProvider.FnRemittanceAdvanceDao.Persist(ds.FnRemittanceAdvance); ScgeAccountingDaoProvider.FnRemittanceAdvanceDao.Persist(tempAdvance); }
public void PrepareDataToDataset(FnRemittanceDataset remittanceDataset, long remittanceID) { IList <FnRemittanceItem> remittanceItemList = ScgeAccountingQueryProvider.FnRemittanceItemQuery.FindRemittanceItemByRemittanceID(remittanceID); if (remittanceItemList.Count > 0) { foreach (FnRemittanceItem remittanceItem in remittanceItemList) { FnRemittanceDataset.FnRemittanceItemRow remittanceItemRow = remittanceDataset.FnRemittanceItem.NewFnRemittanceItemRow(); remittanceItemRow.RemittanceItemID = remittanceItem.RemittanceItemID; if (remittanceItem.Remittance != null) { remittanceItemRow.RemittanceID = remittanceItem.Remittance.RemittanceID; } remittanceItemRow.PaymentType = remittanceItem.PaymentType; if (remittanceItem.Currency != null) { remittanceItemRow.CurrencyID = remittanceItem.Currency.CurrencyID; } remittanceItemRow.ForeignCurrencyAdvanced = remittanceItem.ForeignCurrencyAdvanced; remittanceItemRow.ExchangeRate = remittanceItem.ExchangeRate; remittanceItemRow.ForeignCurrencyRemitted = remittanceItem.ForeignCurrencyRemitted; remittanceItemRow.AmountTHB = remittanceItem.AmountTHB; remittanceItemRow.ExchangeRateTHB = remittanceItem.ExchangeRateTHB; remittanceItemRow.ForeignAmountMainCurrencyAdvanced = remittanceItem.ForeignAmountMainCurrencyAdvanced; remittanceItemRow.MainCurrencyAmount = remittanceItem.MainCurrencyAmount; remittanceItemRow.IsImportFromAdvance = remittanceItem.IsImportFromAdvance; remittanceItemRow.Active = remittanceItem.Active; remittanceItemRow.CreBy = remittanceItem.CreBy; remittanceItemRow.CreDate = remittanceItem.CreDate; remittanceItemRow.UpdBy = remittanceItem.UpdBy; remittanceItemRow.UpdDate = remittanceItem.UpdDate; remittanceItemRow.UpdPgm = remittanceItem.UpdPgm; remittanceItemRow.ForeignAmountTHBAdvanced = remittanceItem.ForeignAmountTHBAdvanced; remittanceDataset.FnRemittanceItem.AddFnRemittanceItemRow(remittanceItemRow); } } }
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 void UpdateRemittanceItemTransaction(Guid txtID, FnRemittanceItem fnRemittanceItem, bool isFromAddItemIngrid) { this.ValidateRemittanceItem(fnRemittanceItem, isFromAddItemIngrid); FnRemittanceDataset fnRemittanceDS = (FnRemittanceDataset)TransactionService.GetDS(txtID); #region FnRemittanceItem FnRemittanceDataset.FnRemittanceItemRow fnRemittanceItemRow = fnRemittanceDS.FnRemittanceItem.FindByRemittanceItemID(fnRemittanceItem.RemittanceItemID); fnRemittanceItemRow.BeginEdit(); if (fnRemittanceItem.Remittance != null) { fnRemittanceItemRow.RemittanceID = fnRemittanceItem.Remittance.RemittanceID; } fnRemittanceItemRow.PaymentType = fnRemittanceItem.PaymentType; fnRemittanceItemRow.CurrencyID = fnRemittanceItem.Currency.CurrencyID; fnRemittanceItemRow.ForeignCurrencyAdvanced = (double)Math.Round((decimal)fnRemittanceItem.ForeignCurrencyAdvanced, 2, MidpointRounding.AwayFromZero); fnRemittanceItemRow.ExchangeRate = (double)Math.Round((decimal)fnRemittanceItem.ExchangeRate, 5, MidpointRounding.AwayFromZero); fnRemittanceItemRow.ForeignCurrencyRemitted = (double)Math.Round((decimal)fnRemittanceItem.ForeignCurrencyRemitted, 2, MidpointRounding.AwayFromZero); fnRemittanceItemRow.ForeignAmountTHBAdvanced = (double)Math.Round((decimal)fnRemittanceItem.ForeignAmountTHBAdvanced, 2, MidpointRounding.AwayFromZero); fnRemittanceItemRow.AmountTHB = (double)Math.Round((decimal)fnRemittanceItem.AmountTHB, 2, MidpointRounding.AwayFromZero); fnRemittanceItemRow.ExchangeRateTHB = (double)Math.Round((decimal)fnRemittanceItem.ExchangeRateTHB, 5, MidpointRounding.AwayFromZero); fnRemittanceItemRow.ForeignAmountMainCurrencyAdvanced = (double)Math.Round((decimal)fnRemittanceItem.ForeignAmountMainCurrencyAdvanced, 2, MidpointRounding.AwayFromZero); fnRemittanceItemRow.MainCurrencyAmount = (double)Math.Round((decimal)fnRemittanceItem.MainCurrencyAmount, 2, MidpointRounding.AwayFromZero); // Change from default IsImportFromAdvance = true to use data from screen, prevent error by Anuwat S. on 08/05/2009 fnRemittanceItemRow.IsImportFromAdvance = fnRemittanceItem.IsImportFromAdvance; fnRemittanceItemRow.Active = fnRemittanceItem.Active; fnRemittanceItemRow.CreBy = UserAccount.UserID; fnRemittanceItemRow.CreDate = DateTime.Now; fnRemittanceItemRow.UpdBy = UserAccount.UserID; fnRemittanceItemRow.UpdDate = DateTime.Now; fnRemittanceItemRow.UpdPgm = UserAccount.CurrentProgramCode; fnRemittanceItemRow.EndEdit(); #endregion }
public long AddFnRemittanceItemTransaction(Guid txID, FnRemittanceItem fnRemittanceItem, bool isFromAddvance, double totalAdvance) { Spring.Validation.ValidationErrors errors = new Spring.Validation.ValidationErrors(); FnRemittanceDataset fnRemittanceDocumentDS = (FnRemittanceDataset)TransactionService.GetDS(txID); DataRow[] dr; //FnRemittanceDataset.FnRemittanceRow remittanceRow = fnRemittanceDocumentDS.FnRemittance.FindByRemittanceID(fnRemittanceItem.Remittance.RemittanceID); if (fnRemittanceItem.Remittance.PB.Pbid != 0) { Dbpb dbPb = ScgDbQueryProvider.DbPBQuery.FindByIdentity(Convert.ToInt64(fnRemittanceItem.Remittance.PB.Pbid)); IsRepOffice = dbPb.RepOffice; } if (isFromAddvance) { string strSQL = " PaymentType = '{0}' AND CurrencyID = {1} "; dr = fnRemittanceDocumentDS.FnRemittanceItem.Select(string.Format(strSQL, fnRemittanceItem.PaymentType, fnRemittanceItem.Currency.CurrencyID)); } else { if (fnRemittanceItem.Currency == null) { errors.AddError("Provider.Error", new Spring.Validation.ErrorMessage("CurrencyIsRequire")); } if (fnRemittanceItem.ExchangeRate == 0 || fnRemittanceItem.ForeignCurrencyRemitted == 0) { errors.AddError("Provider.Error", new Spring.Validation.ErrorMessage("ExchangerateAndForeignCurrencyRemittedMustMoreThanZero")); } double totalRemittanceItemAmount = 0; foreach (FnRemittanceDataset.FnRemittanceItemRow remittanceItemRow in fnRemittanceDocumentDS.FnRemittanceItem.Select()) { if (!IsRepOffice) { totalRemittanceItemAmount += (double)Math.Round((decimal)remittanceItemRow.AmountTHB, 2, MidpointRounding.AwayFromZero); } else { totalRemittanceItemAmount += (double)Math.Round((decimal)remittanceItemRow.MainCurrencyAmount, 2, MidpointRounding.AwayFromZero); } } if (!IsRepOffice) { if (totalRemittanceItemAmount + fnRemittanceItem.AmountTHB > totalAdvance) { errors.AddError("Provider.Error", new Spring.Validation.ErrorMessage("TotalRemittanceItemNotMoreThanTotalAdvance")); } } else { if (totalRemittanceItemAmount + fnRemittanceItem.MainCurrencyAmount > totalAdvance) { errors.AddError("Provider.Error", new Spring.Validation.ErrorMessage("TotalRemittanceItemNotMoreThanTotalAdvance")); } } if (!errors.IsEmpty) { throw new ServiceValidationException(errors); } dr = fnRemittanceDocumentDS.FnRemittanceItem.Select(string.Format("CurrencyID = {0}", fnRemittanceItem.Currency.CurrencyID.ToString())); } if (dr.Length > 0) { if (isFromAddvance) { dr[0]["ForeignAmountTHBAdvanced"] = Convert.ToDouble(dr[0]["ForeignAmountTHBAdvanced"]) + fnRemittanceItem.ForeignAmountTHBAdvanced; dr[0]["ForeignCurrencyAdvanced"] = Convert.ToDouble(dr[0]["ForeignCurrencyAdvanced"]) + fnRemittanceItem.ForeignCurrencyAdvanced; if (Convert.ToDouble(dr[0]["ExchangeRate"]).Equals(0)) { dr[0]["ExchangeRate"] = fnRemittanceItem.ExchangeRate; } else { dr[0]["ExchangeRate"] = (Convert.ToDouble(dr[0]["ExchangeRate"]) + fnRemittanceItem.ExchangeRate) / 2; } } else { errors.AddError("Provider.Error", new Spring.Validation.ErrorMessage("DuplicateCurrency")); } if (!errors.IsEmpty) { throw new ServiceValidationException(errors); } return(Convert.ToInt64(dr[0]["RemittanceItemID"])); } else { FnRemittanceDataset.FnRemittanceItemRow fnRemittanceItemRow = fnRemittanceDocumentDS.FnRemittanceItem.NewFnRemittanceItemRow(); if (fnRemittanceItem.Remittance != null) { fnRemittanceItemRow.RemittanceID = fnRemittanceItem.Remittance.RemittanceID; } fnRemittanceItemRow.PaymentType = fnRemittanceItem.PaymentType; fnRemittanceItemRow.CurrencyID = fnRemittanceItem.Currency.CurrencyID; fnRemittanceItemRow.ForeignCurrencyAdvanced = (double)Math.Round((decimal)fnRemittanceItem.ForeignCurrencyAdvanced, 2, MidpointRounding.AwayFromZero); fnRemittanceItemRow.ExchangeRate = (double)Math.Round((decimal)fnRemittanceItem.ExchangeRate, 5, MidpointRounding.AwayFromZero); fnRemittanceItemRow.ForeignCurrencyRemitted = (double)Math.Round((decimal)fnRemittanceItem.ForeignCurrencyRemitted, 2, MidpointRounding.AwayFromZero); fnRemittanceItemRow.ForeignAmountTHBAdvanced = (double)Math.Round((decimal)fnRemittanceItem.ForeignAmountTHBAdvanced, 2, MidpointRounding.AwayFromZero); fnRemittanceItemRow.ExchangeRateTHB = (double)Math.Round((decimal)fnRemittanceItem.ExchangeRateTHB, 5, MidpointRounding.AwayFromZero); fnRemittanceItemRow.ForeignAmountMainCurrencyAdvanced = (double)Math.Round((decimal)fnRemittanceItem.ForeignAmountMainCurrencyAdvanced, 2, MidpointRounding.AwayFromZero); if (isFromAddvance) { fnRemittanceItemRow.AmountTHB = 0.00; fnRemittanceItemRow.MainCurrencyAmount = 0.00; } else { fnRemittanceItemRow.AmountTHB = (double)Math.Round((decimal)fnRemittanceItem.AmountTHB, 2, MidpointRounding.AwayFromZero); fnRemittanceItemRow.MainCurrencyAmount = (double)Math.Round((decimal)fnRemittanceItem.MainCurrencyAmount, 2, MidpointRounding.AwayFromZero); } fnRemittanceItemRow.IsImportFromAdvance = isFromAddvance; fnRemittanceItemRow.Active = fnRemittanceItem.Active; fnRemittanceItemRow.CreBy = UserAccount.UserID; fnRemittanceItemRow.CreDate = DateTime.Now; fnRemittanceItemRow.UpdBy = UserAccount.UserID; fnRemittanceItemRow.UpdDate = DateTime.Now; fnRemittanceItemRow.UpdPgm = UserAccount.CurrentProgramCode; fnRemittanceDocumentDS.FnRemittanceItem.AddFnRemittanceItemRow(fnRemittanceItemRow); FnRemittanceService.UpdateTotalRemittanceAmount(txID, fnRemittanceItemRow.RemittanceID); return(fnRemittanceItemRow.RemittanceItemID); } }
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); }
public DataSet PrepareDS() { FnRemittanceDataset FnRemittanceDS = new FnRemittanceDataset(); return(FnRemittanceDS); }