public void InsertAvAdvanceItem(Guid txID, long advanceID)
        {
            Spring.Validation.ValidationErrors errors = new Spring.Validation.ValidationErrors();

            AdvanceDataSet advanceDS = (AdvanceDataSet)TransactionService.GetDS(txID);

            AvAdvanceDocument avDocument = ScgeAccountingQueryProvider.AvAdvanceDocumentQuery.FindProxyByIdentity(advanceID);

            AdvanceDataSet.AvAdvanceItemDataTable insertTable =
                (AdvanceDataSet.AvAdvanceItemDataTable)advanceDS.AvAdvanceItem.GetChanges(DataRowState.Added);

            if (insertTable != null)
            {
                foreach (AdvanceDataSet.AvAdvanceItemRow row in insertTable.Rows)
                {
                    AvAdvanceItem advanceItem = new AvAdvanceItem();
                    advanceItem.AdvanceID = avDocument;

                    if (!row.IsNull(advanceDS.AvAdvanceItem.PaymentTypeColumn.ColumnName))
                    {
                        advanceItem.PaymentType = row.PaymentType;
                    }
                    if (!row.IsNull(advanceDS.AvAdvanceItem.CurrencyIDColumn.ColumnName))
                    {
                        advanceItem.CurrencyID = new SS.DB.DTO.DbCurrency(row.CurrencyID);
                    }
                    if (!row.IsNull(advanceDS.AvAdvanceItem.AmountColumn.ColumnName))
                    {
                        advanceItem.Amount = (double)Math.Round(row.Amount, 2, MidpointRounding.AwayFromZero);
                    }
                    if (!row.IsNull(advanceDS.AvAdvanceItem.ExchangeRateColumn.ColumnName))
                    {
                        advanceItem.ExchangeRate = (double)Math.Round(row.ExchangeRate, 5, MidpointRounding.AwayFromZero);
                    }
                    if (!row.IsNull(advanceDS.AvAdvanceItem.AmountTHBColumn.ColumnName))
                    {
                        advanceItem.AmountTHB = (double)Math.Round(row.AmountTHB, 2, MidpointRounding.AwayFromZero);
                    }
                    advanceItem.Active  = row.Active;
                    advanceItem.CreBy   = UserAccount.UserID;
                    advanceItem.CreDate = DateTime.Now;
                    advanceItem.UpdBy   = UserAccount.UserID;
                    advanceItem.UpdDate = DateTime.Now;
                    advanceItem.UpdPgm  = UserAccount.CurrentProgramCode;

                    // if row.ScheduleID < 0 is new record that no data in database.
                    if (row.AdvanceItemID < 0)
                    {
                        ScgeAccountingDaoProvider.AvAdvanceItemDao.Save(advanceItem);
                    }
                }
            }
        }
Пример #2
0
        public void Persist(AdvanceDataSet.AvAdvanceItemDataTable dtAvDocument)
        {
            #region comment
            //AdvanceDataSet.AvAdvanceItemDataTable deleteTable =
            //    (AdvanceDataSet.AvAdvanceItemDataTable)dtAvDocument.GetChanges(DataRowState.Deleted);
            //AdvanceDataSet.AvAdvanceItemDataTable updateTable =
            //    (AdvanceDataSet.AvAdvanceItemDataTable)dtAvDocument.GetChanges(DataRowState.Modified);
            //AdvanceDataSet.AvAdvanceItemDataTable insertTable =
            //    (AdvanceDataSet.AvAdvanceItemDataTable)dtAvDocument.GetChanges(DataRowState.Added);

            //long avItemID = 0;

            //// Delete AvAdvanceItem.
            //if (deleteTable != null)
            //{
            //    foreach (AdvanceDataSet.AvAdvanceItemRow avRow in deleteTable)
            //    {
            //        long avID = Convert.ToInt64(((DataRow)avRow)["AdvanceID", DataRowVersion.Original].ToString());
            //        AvAdvanceItem avDocument = new AvAdvanceItem(avID);
            //        this.Delete(avDocument);
            //    }
            //}

            //// Update AvAdvanceItem.
            //if (updateTable != null)
            //{
            //    foreach (AdvanceDataSet.AvAdvanceItemRow avRow in updateTable)
            //    {
            //        AvAdvanceItem avDocument = new AvAdvanceItem(avRow);
            //        this.SaveOrUpdate(avDocument);
            //    }
            //}

            //// Insert AvAdvanceItem.
            //if (insertTable != null)
            //{
            //    foreach (AdvanceDataSet.AvAdvanceItemRow avRow in insertTable)
            //    {
            //        AvAdvanceItem avDocument = new AvAdvanceItem(avRow);
            //        this.Save(avDocument);
            //    }
            //}
            #endregion
            NHibernateAdapter <AvAdvanceItem, long> adapter = new NHibernateAdapter <AvAdvanceItem, long>();
            adapter.UpdateChange(dtAvDocument, ScgeAccountingDaoProvider.AvAdvanceItemDao);
        }
        public void DeleteAdvanceDocument(Guid txID)
        {
            AdvanceDataSet advanceDS = (AdvanceDataSet)TransactionService.GetDS(txID);

            AdvanceDataSet.AvAdvanceItemDataTable deleteTable =
                (AdvanceDataSet.AvAdvanceItemDataTable)advanceDS.AvAdvanceItem.GetChanges(DataRowState.Deleted);

            if (deleteTable != null)
            {
                foreach (AdvanceDataSet.AvAdvanceItemRow row in deleteTable.Rows)
                {
                    long advanceItemID = Convert.ToInt64(row["AdvanceItemID", DataRowVersion.Original].ToString());
                    if (advanceItemID > 0)
                    {
                        AvAdvanceItem advanceItem = ScgeAccountingDaoProvider.AvAdvanceItemDao.FindProxyByIdentity(advanceItemID);
                        if (advanceItem != null)
                        {
                            ScgeAccountingDaoProvider.AvAdvanceItemDao.Delete(advanceItem);
                        }
                    }
                }
            }
        }