Example #1
0
        public void PrepareDataToDataset(ExpenseDataSet ds, long perdiemId)
        {
            IList <FnExpensePerdiemDetail> perdiemDetailList = ScgeAccountingQueryProvider.FnExpensePerdiemDetailQuery.GetPerdiemDetailByPerdiemID(perdiemId);

            foreach (FnExpensePerdiemDetail detail in perdiemDetailList)
            {
                // Set data to perdiem item row in Dataset.
                ExpenseDataSet.FnExpensePerdiemDetailRow itemRow = ds.FnExpensePerdiemDetail.NewFnExpensePerdiemDetailRow();

                itemRow.ExpensePerdiemDetailID = detail.ExpensePerdiemDetailID;

                if (detail.ExpensePerdiem != null)
                {
                    itemRow.ExpensePerdiemID = detail.ExpensePerdiem.ExpensePerdiemID;
                }

                itemRow.Description  = detail.Description;
                itemRow.CurrencyID   = detail.CurrencyID;
                itemRow.Amount       = detail.Amount;
                itemRow.ExchangeRate = detail.ExchangeRate;

                // Add perdiem detail row to documentDataset.
                ds.FnExpensePerdiemDetail.AddFnExpensePerdiemDetailRow(itemRow);
            }
        }
Example #2
0
        public void DeleteExpensePerdiemDetailTransaction(long perdiemDetailId, Guid txId)
        {
            ExpenseDataSet expDs = (ExpenseDataSet)TransactionService.GetDS(txId);

            ExpenseDataSet.FnExpensePerdiemDetailRow row = expDs.FnExpensePerdiemDetail.FindByExpensePerdiemDetailID(perdiemDetailId);
            long expensePerdiemId = row.ExpensePerdiemID;

            row.Delete();
            FnExpensePerdiemService.UpdateExpensePerdiemCalculateTransaction(expensePerdiemId, txId);
        }
Example #3
0
        public void AddExpensePerdiemDetailTransaction(FnExpensePerdiemDetail perdiemDetail, Guid txId)
        {
            Spring.Validation.ValidationErrors errors = new Spring.Validation.ValidationErrors();

            if (perdiemDetail.Description.Length.Equals(0))
            {
                errors.AddError("PerdiemDetail.Error", new Spring.Validation.ErrorMessage("RequiredDescription"));
            }
            if (perdiemDetail.ExchangeRate.Equals((double)0))
            {
                errors.AddError("PerdiemDetail.Error", new Spring.Validation.ErrorMessage("RequiredExchangeRate"));
            }
            if (perdiemDetail.Amount.Equals((double)0))
            {
                errors.AddError("PerdiemDetail.Error", new Spring.Validation.ErrorMessage("RequiredAmount"));
            }

            if (!errors.IsEmpty)
            {
                throw new ServiceValidationException(errors);
            }

            ExpenseDataSet ds = (ExpenseDataSet)TransactionService.GetDS(txId);

            ExpenseDataSet.FnExpensePerdiemDetailRow row = ds.FnExpensePerdiemDetail.NewFnExpensePerdiemDetailRow();

            row.BeginEdit();
            row.ExpensePerdiemID = perdiemDetail.ExpensePerdiem.ExpensePerdiemID;
            row.Description      = perdiemDetail.Description;
            row.CurrencyID       = perdiemDetail.CurrencyID;
            row.ExchangeRate     = perdiemDetail.ExchangeRate;
            row.Amount           = perdiemDetail.Amount;
            row.EndEdit();

            ds.FnExpensePerdiemDetail.AddFnExpensePerdiemDetailRow(row);
            FnExpensePerdiemService.UpdateExpensePerdiemCalculateTransaction(perdiemDetail.ExpensePerdiem.ExpensePerdiemID, txId);
        }