Example #1
0
        private string GetPerdiemType(FnExpensePerdiemItem item, Guid txId)
        {
            ExpenseDataSet ds = (ExpenseDataSet)TransactionService.GetDS(txId);

            ExpenseDataSet.FnExpensePerdiemRow perRow = ds.FnExpensePerdiem.FindByExpensePerdiemID(item.ExpensePerdiem.ExpensePerdiemID);
            return(FnExpenseDocumentService.GetExpenseType(perRow.ExpenseID, txId));
        }
        public long UpdateBeginRowExpensePerdiemOnTransaction(FnExpensePerdiem expensePerdiem, Guid txId)
        {
            Spring.Validation.ValidationErrors errors = new Spring.Validation.ValidationErrors();

            if (expensePerdiem.CostCenterID == null)
            {
                errors.AddError("Perdiem.Error", new Spring.Validation.ErrorMessage("RequiredCostCenter"));
            }
            if (expensePerdiem.AccountID == null)
            {
                errors.AddError("Perdiem.Error", new Spring.Validation.ErrorMessage("RequiredAccountID"));
            }
            if (expensePerdiem.Description == null)
            {
                errors.AddError("Perdiem.Error", new Spring.Validation.ErrorMessage("RequiredDescription"));
            }
            if (!expensePerdiem.PerdiemRate.HasValue)
            {
                errors.AddError("Perdiem.Error", new Spring.Validation.ErrorMessage("RequiredPerdiemRate"));
            }
            if (expensePerdiem.PerdiemRate.Equals((decimal)0))
            {
                errors.AddError("Perdiem.Error", new Spring.Validation.ErrorMessage("RequiredPerdiemRateOverZero"));
            }

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

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

            ExpenseDataSet.FnExpensePerdiemRow row = ds.FnExpensePerdiem.FindByExpensePerdiemID(expensePerdiem.ExpensePerdiemID);

            row.BeginEdit();
            row.InvoiceID    = expensePerdiem.InvoiceID.InvoiceID;
            row.CostCenterID = expensePerdiem.CostCenterID.CostCenterID;
            row.AccountID    = expensePerdiem.AccountID.AccountID;

            if (expensePerdiem.IOID != null)
            {
                row.IOID = expensePerdiem.IOID.IOID;
            }

            row.Description = expensePerdiem.Description;
            row.PerdiemRate = expensePerdiem.PerdiemRate.Value;
            row.ReferenceNo = expensePerdiem.ReferenceNo;

            row.CreBy   = expensePerdiem.CreBy;
            row.CreDate = expensePerdiem.CreDate;
            row.UpdBy   = expensePerdiem.UpdBy;
            row.UpdDate = expensePerdiem.UpdDate;
            row.UpdPgm  = expensePerdiem.UpdPgm;
            row.Active  = true;
            row.EndEdit();
            row.AcceptChanges();

            return(row.ExpensePerdiemID);
        }
        public long AddBeginRowExpensePerdiemOnTransaction(FnExpensePerdiem expensePerdiem, Guid txId)
        {
            ExpenseDataSet ds = (ExpenseDataSet)TransactionService.GetDS(txId);

            ExpenseDataSet.FnExpensePerdiemRow row = ds.FnExpensePerdiem.NewFnExpensePerdiemRow();

            ds.FnExpensePerdiem.AddFnExpensePerdiemRow(row);

            return(row.ExpensePerdiemID);
        }
Example #4
0
        public void PrepareDataToDataset(ExpenseDataSet ds, long perdiemId)
        {
            ExpenseDataSet.FnExpensePerdiemRow  row    = ds.FnExpensePerdiem.FindByExpensePerdiemID(perdiemId);
            ExpenseDataSet.FnExpenseDocumentRow expRow = ds.FnExpenseDocument.FindByExpenseID(row.ExpenseID);
            string PerdiemType = expRow.ExpenseType;

            IList <FnExpensePerdiemItem> perdiemItemList = ScgeAccountingQueryProvider.FnExpensePerdiemItemQuery.GetPerdiemItemByPerdiemID(perdiemId);

            decimal totalNetDay = 0;

            foreach (FnExpensePerdiemItem item in perdiemItemList)
            {
                // Set data to perdiem item row in Dataset.
                ExpenseDataSet.FnExpensePerdiemItemRow itemRow = ds.FnExpensePerdiemItem.NewFnExpensePerdiemItemRow();
                itemRow.PerdiemItemID    = item.PerdiemItemID;
                itemRow.ExpensePerdiemID = item.ExpensePerdiem.ExpensePerdiemID;
                itemRow.FromDate         = item.FromDate.Value;
                itemRow.FromTime         = ConvertDateTime(item.FromDate.Value, item.FromTime.Value);
                itemRow.ToDate           = item.ToDate.Value;
                itemRow.ToTime           = ConvertDateTime(item.ToDate, item.ToTime);
                itemRow.AdjustedDay      = (decimal)item.AdjustedDay;
                itemRow.NetDay           = (decimal)item.NetDay;

                totalNetDay += itemRow.NetDay;

                if (PerdiemType == ZoneType.Foreign)
                {
                    itemRow.HalfDay = (decimal)item.HalfDay;
                    itemRow.FullDay = (decimal)item.FullDay;
                    itemRow.SetCountryIDNull();
                    if (item.CountryID != null)
                    {
                        itemRow.CountryID = item.CountryID.Value;
                    }
                    itemRow.SetCountryZoneIDNull();
                    if (item.CountryZoneID != null)
                    {
                        itemRow.CountryZoneID = item.CountryZoneID.Value;
                    }
                }

                itemRow.Remark = item.Remark;


                itemRow.Active  = item.Active;
                itemRow.CreBy   = item.CreBy;
                itemRow.CreDate = item.CreDate;
                itemRow.UpdBy   = item.UpdBy;
                itemRow.UpdDate = item.UpdDate;
                itemRow.UpdPgm  = item.UpdPgm;

                // Add perdiem item row to documentDataset.
                ds.FnExpensePerdiemItem.AddFnExpensePerdiemItemRow(itemRow);
            }

            if (PerdiemType == ZoneType.Domestic)
            {
                row.TotalFullDayPerdiem       = totalNetDay;
                row.TotalFullDayPerdiemAmount = totalNetDay * row.FullDayPerdiemRate;
            }
        }