示例#1
0
        public void InsertBudgetManageFee(int OrganizationUnitID, DateTime Period, int ExpenseManageTypeID, decimal OriginalBudget, decimal NormalBudget, decimal?AdjustBudget, int UserID, int PositionID, string ModifyReason)
        {
            SqlTransaction transaction = null;

            try {
                ////事务开始
                transaction = TableAdapterHelper.BeginTransaction(this.TABudgetManage);
                TableAdapterHelper.SetTransaction(this.TABudgetManageHistory, transaction);

                // 父表
                BudgetDS.BudgetManageFeeDataTable table = new BudgetDS.BudgetManageFeeDataTable();
                BudgetDS.BudgetManageFeeRow       row   = table.NewBudgetManageFeeRow();

                row.OrganizationUnitID  = OrganizationUnitID;
                row.Period              = Period;
                row.ExpenseManageTypeID = ExpenseManageTypeID;
                row.OriginalBudget      = OriginalBudget;
                row.NormalBudget        = NormalBudget;
                row.AdjustBudget        = AdjustBudget.GetValueOrDefault();
                if (ModifyReason != null)
                {
                    row.ModifyReason = ModifyReason;
                }
                table.AddBudgetManageFeeRow(row);
                this.TABudgetManage.Update(table);

                // 子表
                BudgetDS.BudgetManageFeeHistoryDataTable tableDetail = new BudgetDS.BudgetManageFeeHistoryDataTable();
                BudgetDS.BudgetManageFeeHistoryRow       rowDetail   = tableDetail.NewBudgetManageFeeHistoryRow();

                rowDetail.OrganizationUnitID  = OrganizationUnitID;
                rowDetail.Period              = Period;
                rowDetail.ExpenseManageTypeID = ExpenseManageTypeID;
                rowDetail.OriginalBudget      = OriginalBudget;
                rowDetail.NormalBudget        = NormalBudget;
                rowDetail.AdjustBudget        = AdjustBudget.GetValueOrDefault();
                rowDetail.Action              = "Create";
                rowDetail.ModifyDate          = DateTime.Now;
                rowDetail.PositionID          = PositionID;
                rowDetail.UserID              = UserID;
                if (ModifyReason != null)
                {
                    rowDetail.ModifyReason = ModifyReason;
                }
                rowDetail.BudgetManageFeeID = row.BudgetManageFeeID;
                tableDetail.AddBudgetManageFeeHistoryRow(rowDetail);
                this.TABudgetManageHistory.Update(tableDetail);

                transaction.Commit();
            } catch (Exception ex) {
                transaction.Rollback();
                throw ex;
            } finally {
                transaction.Dispose();
            }
        }
示例#2
0
        public void UpdateBudgetManageFee(int BudgetManageFeeID, decimal NormalBudget, decimal?AdjustBudget, int UserID, int PositionID, string ModifyReason)
        {
            SqlTransaction transaction = null;

            try {
                ////事务开始
                transaction = TableAdapterHelper.BeginTransaction(this.TABudgetManage);
                TableAdapterHelper.SetTransaction(this.TABudgetManageHistory, transaction);

                // 父表
                BudgetDS.BudgetManageFeeRow row = this.TABudgetManage.GetDataByID(BudgetManageFeeID)[0];
                if (row.TotalBudget > (NormalBudget + AdjustBudget.GetValueOrDefault()))  //如果是减少预算,要做检查
                {
                    decimal[] calculateAssistant = new decimal[4];
                    calculateAssistant = this.GetPersonalBudgetByOUID(row.OrganizationUnitID, row.Period);
                    if (row.TotalBudget - NormalBudget - AdjustBudget.GetValueOrDefault() > calculateAssistant[3])
                    {
                        throw new ApplicationException("本次修改导致原有记录超预算,不能修改");
                    }
                }
                row.NormalBudget = NormalBudget;
                row.AdjustBudget = AdjustBudget.GetValueOrDefault();
                row.ModifyReason = ModifyReason;
                this.TABudgetManage.Update(row);

                // 子表
                BudgetDS.BudgetManageFeeHistoryDataTable tableDetail = new BudgetDS.BudgetManageFeeHistoryDataTable();
                BudgetDS.BudgetManageFeeHistoryRow       rowDetail   = tableDetail.NewBudgetManageFeeHistoryRow();

                rowDetail.OrganizationUnitID  = row.OrganizationUnitID;
                rowDetail.Period              = row.Period;
                rowDetail.ExpenseManageTypeID = row.ExpenseManageTypeID;
                rowDetail.OriginalBudget      = row.OriginalBudget;
                rowDetail.NormalBudget        = row.NormalBudget;
                rowDetail.AdjustBudget        = row.AdjustBudget;
                rowDetail.Action              = "Modify";
                rowDetail.ModifyDate          = DateTime.Now;
                rowDetail.PositionID          = PositionID;
                rowDetail.UserID              = UserID;
                rowDetail.ModifyReason        = ModifyReason;
                rowDetail.BudgetManageFeeID   = row.BudgetManageFeeID;
                tableDetail.AddBudgetManageFeeHistoryRow(rowDetail);
                this.TABudgetManageHistory.Update(tableDetail);

                transaction.Commit();
            } catch (Exception ex) {
                transaction.Rollback();
                throw ex;
            } finally {
                transaction.Dispose();
            }
        }