示例#1
0
        /// <summary>
        /// 设置用户的职务
        /// </summary>
        /// <param name="stuffUserId"></param>
        /// <param name="positionIds"></param>
        public void SetStuffUserPosition(int stuffUserId, int[] positionIds)
        {
            AuthorizationDS DS = new AuthorizationDS();

            this.StuffUserTA.Fill(DS.StuffUser);
            this.StuffUserAndPositionTA.Fill(DS.StuffUserAndPosition);

            List <int> newPositionIds = new List <int>(positionIds);

            BusinessObjects.AuthorizationDS.StuffUserRow stuffUser = DS.StuffUser.FindByStuffUserId(stuffUserId);
            foreach (BusinessObjects.AuthorizationDS.StuffUserAndPositionRow stuffUserAndPostion in stuffUser.GetStuffUserAndPositionRows())
            {
                if (newPositionIds.Contains(stuffUserAndPostion.PositionId))
                {
                    newPositionIds.Remove(stuffUserAndPostion.PositionId);
                }
                else
                {
                    stuffUserAndPostion.Delete();
                }
            }
            foreach (int newPositionId in newPositionIds)
            {
                BusinessObjects.AuthorizationDS.StuffUserAndPositionRow newRow = DS.StuffUserAndPosition.NewStuffUserAndPositionRow();
                newRow.PositionId  = newPositionId;
                newRow.StuffUserId = stuffUserId;
                DS.StuffUserAndPosition.AddStuffUserAndPositionRow(newRow);
            }
            this.StuffUserAndPositionTA.Update(DS.StuffUserAndPosition);
        }
示例#2
0
        /// <summary>
        /// Get all the roles
        /// </summary>
        /// <returns></returns>
        public AuthorizationDS GetAllRoles()
        {
            DbCommand command = tempodb.GetStoredProcCommand("GetAllRoles");
            // build the empty data set
            AuthorizationDS authds = new AuthorizationDS();

            // populate the dataset
            tempodb.LoadDataSet(command, authds, new string[] { "Module" });
            return(authds);
        }
示例#3
0
        /// <summary>
        /// Get the User Roles
        /// </summary>
        /// <returns></returns>
        public AuthorizationDS GetUserRoles(int userid)
        {
            DbCommand command = tempodb.GetStoredProcCommand("GetUserRoles");

            // assign the paramater
            tempodb.AddInParameter(command, "@empid", DbType.Int32, userid);
            // build the empty data set
            AuthorizationDS authds = new AuthorizationDS();

            // populate the dataset
            tempodb.LoadDataSet(command, authds, new string[] { "Module", "ModuleAuth" });
            return(authds);
        }
示例#4
0
 private static TreeNode NewTreeNode(AuthorizationDS.OrganizationUnitRow ou, bool checkOU, bool selectOU)
 {
     TreeNode treeNode = new TreeNode();
     treeNode.Text = ou.OrganizationUnitName;
     treeNode.ShowCheckBox = checkOU;
     if (selectOU) {
         treeNode.SelectAction = TreeNodeSelectAction.Select;
     } else {
         treeNode.SelectAction = TreeNodeSelectAction.Expand;
     }
     treeNode.Value = "OU" + ou.OrganizationUnitId;
     treeNode.ImageUrl = "~/Images/department.png";
     return treeNode;
 }
示例#5
0
 private static TreeNode NewTreeNode(AuthorizationDS.PositionRow position, bool checkPosition, bool selectPosition)
 {
     TreeNode treeNode = new TreeNode();
     treeNode.Text = position.PositionName;
     treeNode.ShowCheckBox = checkPosition;
     if (!selectPosition) {
         treeNode.SelectAction = TreeNodeSelectAction.None;
     } else {
         treeNode.SelectAction = TreeNodeSelectAction.Select;
     }
     treeNode.Value = "PO" + position.PositionId.ToString();
     treeNode.ImageUrl = "~/Images/post.png";
     return treeNode;
 }
示例#6
0
        /// <summary>
        /// 删除职务
        /// </summary>
        /// <param name="positionId"></param>
        public void DeletePosition(int positionId)
        {
            SqlTransaction transaction = null;

            AuthorizationDS.PositionRow position = this.DS.Position.FindByPositionId(positionId);
            string  positionName = position.PositionName;
            DataSet backDS       = this.DS.Copy();

            try {
                //action on backDS and database first
                AuthorizationDS actionDS = new AuthorizationDS();
                actionDS.Merge(backDS);
                AuthorizationDS.PositionRow actionPosition = actionDS.Position.FindByPositionId(positionId);
                foreach (AuthorizationDS.PositionAndPositionTypeRow positionType in actionPosition.GetPositionAndPositionTypeRows())
                {
                    positionType.Delete();
                }
                actionPosition.Delete();

                PositionAndPositionTypeTableAdapter ptAd = new PositionAndPositionTypeTableAdapter();
                PositionTableAdapter psAd = new PositionTableAdapter();
                transaction = TableAdapterHelper.BeginTransaction(ptAd);
                TableAdapterHelper.SetTransaction(psAd, transaction);
                ptAd.Update(actionDS.PositionAndPositionType);
                psAd.Update(actionDS.Position);
                transaction.Commit();

                //if success, update dataset
                foreach (AuthorizationDS.PositionAndPositionTypeRow positionType in position.GetPositionAndPositionTypeRows())
                {
                    positionType.Delete();
                }
                position.Delete();
                this.DS.AcceptChanges();
            } catch (Exception ex) {
                transaction.Rollback();
                //this.DS.Clear();
                //this.DS.Merge(backupDS);
                throw new ApplicationException("职位" + positionName + "已在系统中使用");
            } finally {
                if (transaction != null)
                {
                    transaction.Dispose();
                }
            }
        }
示例#7
0
 private static TreeNode CreateOUTreeNode(AuthorizationDS.OrganizationUnitRow organizationUnit,bool showPosition, bool checkOU, bool checkPosition, bool selectOU, bool selectPosition,bool showActiveOU)
 {
     TreeNode newNode = NewTreeNode(organizationUnit, checkOU, selectOU);
     AuthorizationDS.OrganizationUnitRow[] childOU;
     if (showActiveOU) {
         childOU = organizationUnit.GetActiveChildren();
     } else {
         childOU = organizationUnit.GetChildren();
     }
     foreach (AuthorizationDS.OrganizationUnitRow subOU in childOU) {
         newNode.ChildNodes.Add(CreateOUTreeNode(subOU, showPosition, checkOU, checkPosition, selectOU, selectPosition,showActiveOU));
     }
     if (showPosition) {
         foreach (AuthorizationDS.PositionRow position in organizationUnit.GetPositionRows()) {
             newNode.ChildNodes.Add(NewTreeNode(position, checkPosition, selectPosition));
         }
     }
     return newNode;
 }
示例#8
0
        /// <summary>
        /// 
        /// </summary>
        /// <param name="newOperateIds"></param>
        /// <param name="roleId"></param>
        public void SetSystemRoleOperateRight(AuthorizationDS.StuffUserRow stuffUser, AuthorizationDS.PositionRow position, List<int> newOperateIds, int roleId)
        {
            List<int> deleteOperateIds = new List<int>();

            SystemRoleAndBusinessOperateTableAdapter da = new SystemRoleAndBusinessOperateTableAdapter();
            BusinessObjects.AuthorizationDS.SystemRoleAndBusinessOperateDataTable table = da.GetDataBySystemRoleId(roleId);
            foreach (BusinessObjects.AuthorizationDS.SystemRoleAndBusinessOperateRow row in table) {

                if (newOperateIds.Contains(row.BusinessOperateId)) {
                    newOperateIds.Remove(row.BusinessOperateId);
                } else {
                    deleteOperateIds.Add(row.BusinessOperateId);
                    row.Delete();
                }
            }
            AuthorizationDS.SystemRoleAndBusinessOperateDataTable newTable = new AuthorizationDS.SystemRoleAndBusinessOperateDataTable();
            foreach (int newOperateId in newOperateIds) {
                BusinessObjects.AuthorizationDS.SystemRoleAndBusinessOperateRow newRow = newTable.NewSystemRoleAndBusinessOperateRow();
                newRow.BusinessOperateId = newOperateId;
                newRow.SystemRoleId = roleId;
                newTable.AddSystemRoleAndBusinessOperateRow(newRow);
            }

            da.Update(table);
            da.Update(newTable);

            if (deleteOperateIds.Count > 0 || newOperateIds.Count > 0) {
                AuthorizationConfigure authorizationConfigure = new AuthorizationConfigure();
                authorizationConfigure.StuffId = stuffUser.StuffId;
                authorizationConfigure.StuffName = stuffUser.StuffName;
                authorizationConfigure.ConfigureTarget = "ϵͳ��ɫ����";
                authorizationConfigure.ConfigureTime = DateTime.Now;
                authorizationConfigure.ConfigureType = "����";
                if (deleteOperateIds.Count > 0) {
                    StringBuilder oldContent = new StringBuilder();
                    oldContent.Append("����ϵͳ��ɫ[").Append(this.SystemRoleTA.GetSystemRoleName(roleId)).Append("]��Ȩҵ�����:");
                    foreach (int id in deleteOperateIds) {
                        oldContent.Append("[").Append(this.BusinessOperateTA.GetBusinessUseCaseName(id) + "-" + this.BusinessOperateTA.GetBusinessOperateName(id)).Append("] ");
                    }
                    authorizationConfigure.OldContent = oldContent.ToString();
                }
                if (newOperateIds.Count > 0) {
                    StringBuilder newContent = new StringBuilder();
                    newContent.Append("����ϵͳ��ɫ[").Append(this.SystemRoleTA.GetSystemRoleName(roleId));
                    newContent.Append("]��Ȩҵ�������");
                    foreach (int id in newOperateIds) {
                        newContent.Append("[").Append(this.BusinessOperateTA.GetBusinessUseCaseName(id) + "-" + this.BusinessOperateTA.GetBusinessOperateName(id)).Append("] ");
                    }

                    authorizationConfigure.NewContent = newContent.ToString();
                }
                SysLog.LogAuthorizationConfigure(authorizationConfigure);
            }
        }
示例#9
0
        /// <summary>
        /// �����û���ְ��
        /// </summary>
        /// <param name="stuffUserId"></param>
        /// <param name="positionIds"></param>
        public void SetStuffUserPosition(int stuffUserId, int[] positionIds)
        {
            AuthorizationDS DS = new AuthorizationDS();
            this.StuffUserTA.Fill(DS.StuffUser);
            this.StuffUserAndPositionTA.Fill(DS.StuffUserAndPosition);

            List<int> newPositionIds = new List<int>(positionIds);
            BusinessObjects.AuthorizationDS.StuffUserRow stuffUser = DS.StuffUser.FindByStuffUserId(stuffUserId);
            foreach (BusinessObjects.AuthorizationDS.StuffUserAndPositionRow stuffUserAndPostion in stuffUser.GetStuffUserAndPositionRows()) {
                if (newPositionIds.Contains(stuffUserAndPostion.PositionId)) {
                    newPositionIds.Remove(stuffUserAndPostion.PositionId);
                } else {
                    stuffUserAndPostion.Delete();
                }
            }
            foreach (int newPositionId in newPositionIds) {
                BusinessObjects.AuthorizationDS.StuffUserAndPositionRow newRow = DS.StuffUserAndPosition.NewStuffUserAndPositionRow();
                newRow.PositionId = newPositionId;
                newRow.StuffUserId = stuffUserId;
                DS.StuffUserAndPosition.AddStuffUserAndPositionRow(newRow);
            }
            this.StuffUserAndPositionTA.Update(DS.StuffUserAndPosition);
        }
示例#10
0
        /// <summary>
        /// ����ְ���ϵͳ��ɫ
        /// </summary>
        /// <param name="positionId"></param>
        /// <param name="systemRoleIds"></param>
        public void SetPositionSystemRole(AuthorizationDS.StuffUserRow stuffUser, AuthorizationDS.PositionRow position, int positionId, int[] systemRoleIds)
        {
            StringBuilder oldContent = new StringBuilder();
            StringBuilder newContent = new StringBuilder();

            BusinessObjects.AuthorizationDS.PositionAndSystemRoleDataTable table = this.PositionAndSystemRoleTA.GetDataByPositionId(positionId);
            List<int> roleIds = new List<int>(systemRoleIds);
            foreach (BusinessObjects.AuthorizationDS.PositionAndSystemRoleRow positionAndSystemRole in table) {
                if (roleIds.Contains(positionAndSystemRole.SystemRoleId)) {
                    roleIds.Remove(positionAndSystemRole.SystemRoleId);
                } else {
                    oldContent.Append("[").Append(this.SystemRoleTA.GetSystemRoleName(positionAndSystemRole.SystemRoleId)).Append("] ");
                    positionAndSystemRole.Delete();
                }
            }
            foreach (int roleId in roleIds) {
                BusinessObjects.AuthorizationDS.PositionAndSystemRoleRow newRow = table.NewPositionAndSystemRoleRow();
                newRow.PositionId = positionId;
                newRow.SystemRoleId = roleId;
                newContent.Append("[").Append(this.SystemRoleTA.GetSystemRoleName(roleId)).Append("] ");
                table.AddPositionAndSystemRoleRow(newRow);
            }

            this.PositionAndSystemRoleTA.Update(table);

            if (oldContent.Length > 0 || newContent.Length > 0) {
                AuthorizationConfigure authorizationConfigure = new AuthorizationConfigure();
                authorizationConfigure.StuffId = stuffUser.StuffId;
                authorizationConfigure.StuffName = stuffUser.StuffName;
                authorizationConfigure.ConfigureTarget = "ְ��Ȩ������";
                authorizationConfigure.ConfigureTime = DateTime.Now;
                authorizationConfigure.ConfigureType = "����";
                string positionName = new OUTreeBLL().GetPositionById(positionId).PositionName;
                if (oldContent.Length > 0) {
                    oldContent.Insert(0, "����ְ��[" + positionName + "]��ϵͳ��ɫ��");
                    authorizationConfigure.OldContent = oldContent.ToString();
                }
                if (newContent.Length > 0) {
                    newContent.Insert(0, "����ְ��[" + positionName + "]��ϵͳ��ɫ��");
                    authorizationConfigure.NewContent = newContent.ToString();
                }
                SysLog.LogAuthorizationConfigure(authorizationConfigure);
            }
        }
示例#11
0
 public void UpdateSubCategory(AuthorizationDS.StuffUserRow stuffUser, AuthorizationDS.PositionRow position, int ExpenseSubCategoryId, string ExpenseSubCategoryName, int CateId, int PageType, Boolean IsActive)
 {
     // 检证"费用小类"唯一性
     int iCount = (int)this.ExpenseSubCategoryAdapter.SearchSubCateNameByUpd(ExpenseSubCategoryId, ExpenseSubCategoryName, CateId);
     if (iCount > 0) {
         throw new ApplicationException("在同一费用大类下,费用小类名称不能重复!");
     }
     CommonDataEditAction action = new CommonDataEditAction();
     action.ActionTime = DateTime.Now;
     action.ActionType = "更新";
     action.DataTableName = "费用小类";
     action.StuffId = stuffUser.StuffId;
     action.StuffName = stuffUser.StuffName;
     // 根据 CurrId 查找要修改的数据
     ERS.ExpenseSubCategoryDataTable subCateTab = this.ExpenseSubCategoryAdapter.GetDataById(ExpenseSubCategoryId);
     ERS.ExpenseSubCategoryRow subCateRow = subCateTab[0];
     action.OldValue = "费用小类名称:" + subCateRow.ExpenseSubCategoryName;
     subCateRow.ExpenseSubCategoryName = ExpenseSubCategoryName;
     subCateRow.PageType = PageType;
     subCateRow.IsActive = IsActive;
     // 更新数据
     this.ExpenseSubCategoryAdapter.Update(subCateRow);
     action.NewValue = "费用小类名称:" + subCateRow.ExpenseSubCategoryName;
     SysLog.LogCommonDataEditAction(action);
 }
示例#12
0
 private TreeNode CreateOUTreeNode(AuthorizationDS.OrganizationUnitRow organizationUnit)
 {
     TreeNode newNode = NewTreeNode(organizationUnit);
     foreach (AuthorizationDS.OrganizationUnitRow subOU in organizationUnit.GetChildren()) {
         newNode.ChildNodes.Add(CreateOUTreeNode(subOU));
     }
     foreach (AuthorizationDS.PositionRow position in organizationUnit.GetPositionRows()) {
         newNode.ChildNodes.Add(NewTreeNode(position));
     }
     return newNode;
 }
示例#13
0
 public static NodeValue FromObject(AuthorizationDS.PositionRow position)
 {
     NodeValue result = new NodeValue();
     result.OType = ValueType.Position;
     result.ObjectId = position.PositionId;
     result.IsActive = position.IsActive;
     return result;
 }
示例#14
0
 private void SetTreeNode(TreeNode treeNode, AuthorizationDS.PositionRow position)
 {
     treeNode.Text = position.PositionName;
     treeNode.Value = NodeValue.FromObject(position).ToString();
     treeNode.ShowCheckBox = false;
     treeNode.ImageUrl = "~/Images/post.png";
 }
示例#15
0
        /// <summary>
        /// 删除组织机构,同时上次该组织机构的下属机构和职务
        /// </summary>
        /// <param name="organizationUnitId"></param>
        /// <exception cref="System.ApplicationException">如果该组织机构或者其下属机构和职务已经被使用,被关联时抛出异常</exception>
        public void DeleteOrganizationUnit(int organizationUnitId)
        {
            SqlTransaction transaction = null;

            AuthorizationDS.OrganizationUnitRow ou = this.DS.OrganizationUnit.FindByOrganizationUnitId(organizationUnitId);
            string  ouName = ou.OrganizationUnitName;
            DataSet backDS = this.DS.Copy();

            try {
                PositionTableAdapter                positionAdapter = new PositionTableAdapter();
                OrganizationUnitTableAdapter        ouAdapter       = new OrganizationUnitTableAdapter();
                PositionAndPositionTypeTableAdapter ptAd            = new PositionAndPositionTypeTableAdapter();
                transaction = TableAdapterHelper.BeginTransaction(positionAdapter);
                TableAdapterHelper.SetTransaction(ouAdapter, transaction);
                TableAdapterHelper.SetTransaction(ptAd, transaction);

                //action on backDS and database first
                AuthorizationDS actionDS = new AuthorizationDS();
                actionDS.Merge(backDS);
                AuthorizationDS.OrganizationUnitRow   actionOU  = actionDS.OrganizationUnit.FindByOrganizationUnitId(organizationUnitId);
                AuthorizationDS.OrganizationUnitRow[] actionOUs = this.GetDepFirstChildren(actionOU);
                foreach (AuthorizationDS.OrganizationUnitRow o in actionOUs)
                {
                    foreach (AuthorizationDS.PositionRow position in o.GetPositionRows())
                    {
                        foreach (AuthorizationDS.PositionAndPositionTypeRow positionType in position.GetPositionAndPositionTypeRows())
                        {
                            positionType.Delete();
                        }
                        position.Delete();
                    }
                    o.Delete();
                    ptAd.Update(actionDS.PositionAndPositionType);
                    positionAdapter.Update(actionDS.Position);
                    ouAdapter.Update(actionDS.OrganizationUnit);
                }
                transaction.Commit();

                //if success update dataset

                AuthorizationDS.OrganizationUnitRow[] ous = this.GetDepFirstChildren(ou);
                foreach (AuthorizationDS.OrganizationUnitRow o in ous)
                {
                    foreach (AuthorizationDS.PositionRow position in o.GetPositionRows())
                    {
                        foreach (AuthorizationDS.PositionAndPositionTypeRow positionType in position.GetPositionAndPositionTypeRows())
                        {
                            positionType.Delete();
                        }
                        position.Delete();
                    }
                    o.Delete();
                    //ptAd.Update(this.DS.PositionAndPositionType);
                    //positionAdapter.Update(this.DS.Position);
                    //ouAdapter.Update(this.DS.OrganizationUnit);
                    this.DS.AcceptChanges();
                }
            } catch (Exception ex) {
                transaction.Rollback();
                //this.DS.Clear();
                //this.DS.Merge(backDS);
                throw new ApplicationException("组织机构" + ouName + "或者分支机构,职位已被使用");
            } finally {
                transaction.Dispose();
            }
        }
示例#16
0
        public void UpdateFormPersonalReimburseDetail(AuthorizationDS.StuffUserRow User, int RowIndex, int? FormPersonalReimburseID, DateTime? OccurDate, int ExpenseManageTypeID, decimal Amount, string Remark, int FormPersonalReimburseDetailID)
        {
            switch (ExpenseManageTypeID) {
                case 1:
                    if (Amount > User.TrafficFeeLimit) {
                        throw new ApplicationException("交通费用超过个人交通费用报销限制!");
                    }
                    break;
                case 2:
                    if (Amount > User.TelephoneFeeLimit) {
                        throw new ApplicationException("电话费用超过个人电话费用报销限制!");
                    }
                    break;
            }
            FormDS.FormPersonalReimburseDetailRow rowDetail = (FormDS.FormPersonalReimburseDetailRow)this.FormDataSet.FormPersonalReimburseDetail.Rows[RowIndex];
            rowDetail.FormPersonalReimburseID = FormPersonalReimburseID.GetValueOrDefault();
            rowDetail.OccurDate = OccurDate.GetValueOrDefault();
            rowDetail.ExpenseManageTypeID = ExpenseManageTypeID;
            rowDetail.Amount = Amount;
            rowDetail.RealAmount = Amount;
            rowDetail.Remark = Remark;

            // 填加行并进行更新处理
        }
示例#17
0
        public void UpdateProvince(AuthorizationDS.StuffUserRow stuffUser, AuthorizationDS.PositionRow position, int ProvinceID, string ProvinceName, bool IsActive)
        {
            int iCount = (int)this.ProvinceAdapter.SearchProvinceNameByUpd(ProvinceName, ProvinceID);
            if (iCount > 0) {
                throw new ApplicationException("省份名称重复");
            }

            CommonDataEditAction action = new CommonDataEditAction();

            action.StuffId = stuffUser.StuffId;
            action.StuffName = stuffUser.StuffName;
            action.DataTableName = "省份";
            action.ActionType = "更新";
            action.ActionTime = DateTime.Now;

            this.CityAdapter.DisabledCityByProvId(ProvinceID);
            // 根据 CurrId 查找要修改的数据
            ERS.ProvinceDataTable provTab = this.ProvinceAdapter.GetDataById(ProvinceID);

            ERS.ProvinceRow provRow = provTab[0];

            action.OldValue = "省份名称:" + provRow.ProvinceName;

            provRow.ProvinceName = ProvinceName;
            provRow.IsActive = IsActive;
            this.ProvinceAdapter.Update(provRow);
            action.NewValue = "省份名称:" + provRow.ProvinceName;
            SysLog.LogCommonDataEditAction(action);
        }
示例#18
0
        public void UpdateShop(AuthorizationDS.StuffUserRow stuffUser, AuthorizationDS.PositionRow position, string ShopName, int CustomerID, int ShopLevelID, string Address, string Contacter, string Tel, string Email, int ShopID, bool IsActive, string ShopNo)
        {
            // 检证"客户名称"唯一性
            int iCount = (int)this.ShopAdapter.SearchNameByUpd(ShopName, ShopID, CustomerID, ShopLevelID);
            if (iCount > 0) {
                throw new ApplicationException("同一客户,同一门店等级下门店名称不能重复!");
            }

            CommonDataEditAction action = new CommonDataEditAction();
            action.ActionTime = DateTime.Now;
            action.ActionType = "更新";
            action.DataTableName = "门店";

            action.StuffId = stuffUser.StuffId;
            action.StuffName = stuffUser.StuffName;

            // 根据 ShopId 查找要修改的数据
            ERS.ShopDataTable ShopTab = this.ShopAdapter.GetDataById(ShopID);
            ERS.ShopRow ShopRow = ShopTab[0];

            action.OldValue = "门店名称:" + ShopRow.ShopName;

            ShopRow.ShopName = ShopName;
            ShopRow.CustomerID = CustomerID;
            ShopRow.ShopLevelID = ShopLevelID;
            ShopRow.Address = Address;
            ShopRow.Contacter = Contacter;
            ShopRow.Tel = Tel;
            ShopRow.Email = Email;
            ShopRow.IsActive = IsActive;
            ShopRow.ShopNo = ShopNo;
            // 更新数据
            this.ShopAdapter.Update(ShopRow);
            action.NewValue = "门店名称:" + ShopRow.ShopName;
            SysLog.LogCommonDataEditAction(action);
        }
示例#19
0
 public void DeleteCustTimesLimit(AuthorizationDS.StuffUserRow stuffUser, AuthorizationDS.PositionRow position, int CustomerTimesLimitID)
 {
     this.CustomerTimesLimitAdapter.DeleteById(CustomerTimesLimitID);
 }
示例#20
0
    private TreeNode CreateOUTreeNode(AuthorizationDS.OrganizationUnitRow organizationUnit)
    {
        AuthorizationDS.OrganizationUnitRow[] childOU;
        if ((bool)this.ViewState["ShowActiveOU"]) {
            childOU = organizationUnit.GetActiveChildren();
        } else {
            childOU = organizationUnit.GetChildren();
        }

        TreeNode newNode = NewTreeNode(organizationUnit);
        foreach (AuthorizationDS.OrganizationUnitRow subOU in childOU) {
            newNode.ChildNodes.Add(CreateOUTreeNode(subOU));
        }
        AuthorizationDS.PositionRow[] childPosition;
        if ((bool)this.ViewState["ShowActiveOU"]) {
            childPosition = (AuthorizationDS.PositionRow[])new PositionTableAdapter().GetActiveDataByOrganizationUnitId(organizationUnit.OrganizationUnitId).Select();
        } else {
            childPosition = organizationUnit.GetPositionRows();
        }

        foreach (AuthorizationDS.PositionRow position in childPosition) {
            newNode.ChildNodes.Add(NewTreeNode(position));
        }
        return newNode;
    }
示例#21
0
 private TreeNode NewTreeNode(AuthorizationDS.OrganizationUnitRow ou)
 {
     TreeNode treeNode = new TreeNode();
     this.SetTreeNode(treeNode, ou);
     return treeNode;
 }
示例#22
0
 private void SetTreeNode(TreeNode treeNode, AuthorizationDS.OrganizationUnitRow ou)
 {
     treeNode.Text = ou.OrganizationUnitName;
     treeNode.Value = NodeValue.FromObject(ou).ToString();
     treeNode.ShowCheckBox = true;
     treeNode.ImageUrl = "~/Images/department.png";
 }
示例#23
0
 private void SetTreeNode(TreeNode treeNode, AuthorizationDS.PositionRow position)
 {
     treeNode.Text = position.PositionName;
     treeNode.Value = "PO" + position.PositionId.ToString();
     treeNode.ShowCheckBox = true;
     treeNode.ImageUrl = "../Images/post.png";
 }
示例#24
0
 public static NodeValue FromObject(AuthorizationDS.OrganizationUnitRow organizationUnit)
 {
     NodeValue result = new NodeValue();
     result.ObjectId = organizationUnit.OrganizationUnitId;
     result.IsActive = organizationUnit.IsActive;
     result.OType = ValueType.OU;
     return result;
 }
示例#25
0
        /// <summary>
        /// ɾ��ְ��
        /// </summary>
        /// <param name="positionId"></param>
        public void DeletePosition(int positionId)
        {
            SqlTransaction transaction = null;
            AuthorizationDS.PositionRow position = this.DS.Position.FindByPositionId(positionId);
            string positionName = position.PositionName;
            DataSet backDS = this.DS.Copy();
            try {
                //action on backDS and database first
                AuthorizationDS actionDS = new AuthorizationDS();
                actionDS.Merge(backDS);
                AuthorizationDS.PositionRow actionPosition = actionDS.Position.FindByPositionId(positionId);
                foreach (AuthorizationDS.PositionAndPositionTypeRow positionType in actionPosition.GetPositionAndPositionTypeRows()) {
                    positionType.Delete();
                }
                actionPosition.Delete();

                PositionAndPositionTypeTableAdapter ptAd = new PositionAndPositionTypeTableAdapter();
                PositionTableAdapter psAd = new PositionTableAdapter();
                transaction = TableAdapterHelper.BeginTransaction(ptAd);
                TableAdapterHelper.SetTransaction(psAd, transaction);
                ptAd.Update(actionDS.PositionAndPositionType);
                psAd.Update(actionDS.Position);
                transaction.Commit();

                //if success, update dataset
                foreach (AuthorizationDS.PositionAndPositionTypeRow positionType in position.GetPositionAndPositionTypeRows()) {
                    positionType.Delete();
                }
                position.Delete();
                this.DS.AcceptChanges();

            } catch (Exception ex) {
                transaction.Rollback();
                //this.DS.Clear();
                //this.DS.Merge(backupDS);
                throw new ApplicationException("ְλ" + positionName + "����ϵͳ��ʹ��");
            } finally {
                if (transaction != null) {
                    transaction.Dispose();
                }
            }
        }
示例#26
0
 public static string GetStaffFullName(AuthorizationDS.StuffUserRow Staff)
 {
     if (Staff.IsEnglishNameNull()) {
         return Staff.StuffName;
     } else {
         return Staff.StuffName + "(" + Staff.EnglishName + ")";
     }
 }
示例#27
0
 public void UpdateExpenseItem(AuthorizationDS.StuffUserRow stuffUser, AuthorizationDS.PositionRow position, string ExpenseItemName, int ExpenseSubCategoryID, string AccountingName, string AccountingCode, Boolean IsInContract, Boolean IsActive, int ExpenseItemID)
 {
     // 检证"费用项"唯一性
     int iCount = (int)this.ExpenseItemAdapter.SearchItemNameByUpd(ExpenseItemID, ExpenseItemName);
     if (iCount > 0) {
         throw new ApplicationException("在同一费用小类下,费用项名称不能重复!");
     }
     CommonDataEditAction action = new CommonDataEditAction();
     action.ActionTime = DateTime.Now;
     action.ActionType = "更新";
     action.DataTableName = "费用项";
     action.StuffId = stuffUser.StuffId;
     action.StuffName = stuffUser.StuffName;
     // 根据 ItemId 查找要修改的数据
     ERS.ExpenseItemDataTable expenseItemTab = this.ExpenseItemAdapter.GetDataById(ExpenseItemID);
     ERS.ExpenseItemRow expenseItemRow = expenseItemTab[0];
     action.OldValue = "费用项名称:" + expenseItemRow.ExpenseItemName;
     expenseItemRow.ExpenseItemName = ExpenseItemName;
     expenseItemRow.AccountingCode = AccountingCode;
     expenseItemRow.ExpenseSubCategoryID = ExpenseSubCategoryID;
     expenseItemRow.AccountingName = AccountingName;
     expenseItemRow.IsInContract = IsInContract;
     expenseItemRow.IsActive = IsActive;
     // 更新数据
     this.ExpenseItemAdapter.Update(expenseItemRow);
     action.NewValue = "费用项名称:" + expenseItemRow.ExpenseItemName;
     SysLog.LogCommonDataEditAction(action);
 }
示例#28
0
 private TreeNode NewTreeNode(AuthorizationDS.PositionRow position)
 {
     TreeNode treeNode = new TreeNode();
     this.SetTreeNode(treeNode, position);
     return treeNode;
 }
示例#29
0
        public void UpdateSKU(AuthorizationDS.StuffUserRow stuffUser, AuthorizationDS.PositionRow position, int SKUCategoryID, string SKUNo, string SKUName, string Spec,
            int PackageQuantity, decimal PackagePercent, string SKUCostCenter, Boolean IsActive, int SKUID, decimal CostPrice, string Taste)
        {
            CommonDataEditAction action = new CommonDataEditAction();
            action.ActionTime = DateTime.Now;
            action.ActionType = "更新";
            action.DataTableName = "产品";

            action.StuffId = stuffUser.StuffId;
            action.StuffName = stuffUser.StuffName;

            // 根据 SKUID 查找要修改的数据
            ERS.SKUDataTable SKUTab = this.SKUAdapter.GetDataById(SKUID);
            ERS.SKURow SKURow = SKUTab[0];

            action.OldValue = "产品名称:" + SKURow.SKUName;

            SKURow.SKUName = SKUName;
            SKURow.SKUNo = SKUNo;
            SKURow.Spec = Spec;
            SKURow.PackageQuantity = PackageQuantity;
            SKURow.PackagePercent = PackagePercent;
            SKURow.IsActive = IsActive;
            SKURow.SKUCategoryID = SKUCategoryID;
            SKURow.SKUCostCenter = SKUCostCenter == null ? "" : SKUCostCenter;
            SKURow.CostPrice = CostPrice;
            SKURow.Taste = Taste;
            // 更新数据
            this.SKUAdapter.Update(SKURow);
            action.NewValue = "产品名称:" + SKURow.SKUName;
            SysLog.LogCommonDataEditAction(action);
        }
示例#30
0
 private void SetTreeNode(TreeNode treeNode, AuthorizationDS.OrganizationUnitRow ou)
 {
     treeNode.Text = ou.OrganizationUnitName;
     treeNode.Value = "OU" + ou.OrganizationUnitId;
     treeNode.ShowCheckBox = false;
     treeNode.ImageUrl = "../Images/department.png";
 }
示例#31
0
        public bool DeleteSystemRole(AuthorizationDS.StuffUserRow stuffUser, AuthorizationDS.PositionRow position, int systemRoleId)
        {
            BusinessObjects.AuthorizationDS.SystemRoleAndBusinessOperateDataTable table = this.RoleAndOperateTA.GetDataBySystemRoleId(systemRoleId);
            foreach (AuthorizationDS.SystemRoleAndBusinessOperateRow row in table) {
                row.Delete();
            }
            this.RoleAndOperateTA.Update(table);

            AuthorizationDS.PositionAndSystemRoleDataTable positionAndRoleTable = this.PositionAndSystemRoleTA.GetDataBySystemRoleId(systemRoleId);
            foreach (AuthorizationDS.PositionAndSystemRoleRow row in positionAndRoleTable) {
                row.Delete();
            }
            this.PositionAndSystemRoleTA.Update(positionAndRoleTable);

            BusinessObjects.AuthorizationDS.SystemRoleDataTable roleTable = this.SystemRoleTA.GetDataById(systemRoleId);

            string roleName = roleTable[0].SystemRoleName;
            roleTable[0].Delete();
            int rowsAffected = this.SystemRoleTA.Update(roleTable);

            AuthorizationConfigure authorizationConfigure = new AuthorizationConfigure();
            authorizationConfigure.StuffId = stuffUser.StuffId;
            authorizationConfigure.StuffName = stuffUser.StuffName;
            authorizationConfigure.ConfigureTarget = "ϵͳ��ɫ����";
            authorizationConfigure.ConfigureTime = DateTime.Now;
            authorizationConfigure.ConfigureType = "ɾ��";
            authorizationConfigure.OldContent = "ϵͳ��ɫ��" + roleName;
            SysLog.LogAuthorizationConfigure(authorizationConfigure);

            return rowsAffected == 1;
        }
示例#32
0
        /// <summary>
        /// ɾ����֯������ͬʱ�ϴθ���֯���������������ְ��
        /// </summary>
        /// <param name="organizationUnitId"></param>
        /// <exception cref="System.ApplicationException">�������֯�������������������ְ���Ѿ���ʹ�ã�������ʱ�׳��쳣</exception>
        public void DeleteOrganizationUnit(int organizationUnitId)
        {
            SqlTransaction transaction = null;
            AuthorizationDS.OrganizationUnitRow ou = this.DS.OrganizationUnit.FindByOrganizationUnitId(organizationUnitId);
            string ouName = ou.OrganizationUnitName;
            DataSet backDS = this.DS.Copy();
            try {
                PositionTableAdapter positionAdapter = new PositionTableAdapter();
                OrganizationUnitTableAdapter ouAdapter = new OrganizationUnitTableAdapter();
                PositionAndPositionTypeTableAdapter ptAd = new PositionAndPositionTypeTableAdapter();
                transaction = TableAdapterHelper.BeginTransaction(positionAdapter);
                TableAdapterHelper.SetTransaction(ouAdapter, transaction);
                TableAdapterHelper.SetTransaction(ptAd, transaction);

                //action on backDS and database first
                AuthorizationDS actionDS = new AuthorizationDS();
                actionDS.Merge(backDS);
                AuthorizationDS.OrganizationUnitRow actionOU = actionDS.OrganizationUnit.FindByOrganizationUnitId(organizationUnitId);
                AuthorizationDS.OrganizationUnitRow[] actionOUs = this.GetDepFirstChildren(actionOU);
                foreach (AuthorizationDS.OrganizationUnitRow o in actionOUs) {
                    foreach (AuthorizationDS.PositionRow position in o.GetPositionRows()) {
                        foreach (AuthorizationDS.PositionAndPositionTypeRow positionType in position.GetPositionAndPositionTypeRows()) {
                            positionType.Delete();
                        }
                        position.Delete();
                    }
                    o.Delete();
                    ptAd.Update(actionDS.PositionAndPositionType);
                    positionAdapter.Update(actionDS.Position);
                    ouAdapter.Update(actionDS.OrganizationUnit);
                }
                transaction.Commit();

                //if success update dataset

                AuthorizationDS.OrganizationUnitRow[] ous = this.GetDepFirstChildren(ou);
                foreach (AuthorizationDS.OrganizationUnitRow o in ous) {
                    foreach (AuthorizationDS.PositionRow position in o.GetPositionRows()) {
                        foreach (AuthorizationDS.PositionAndPositionTypeRow positionType in position.GetPositionAndPositionTypeRows()) {
                            positionType.Delete();
                        }
                        position.Delete();
                    }
                    o.Delete();
                    //ptAd.Update(this.DS.PositionAndPositionType);
                    //positionAdapter.Update(this.DS.Position);
                    //ouAdapter.Update(this.DS.OrganizationUnit);
                    this.DS.AcceptChanges();
                }

            } catch (Exception ex) {
                transaction.Rollback();
                //this.DS.Clear();
                //this.DS.Merge(backDS);
                throw new ApplicationException("��֯����" + ouName + "���߷�֧����,ְλ�ѱ�ʹ��");
            } finally {
                transaction.Dispose();
            }
        }
示例#33
0
        public bool InsertSystemRole(AuthorizationDS.StuffUserRow stuffUser, AuthorizationDS.PositionRow position, string systemRoleName, string description)
        {
            if (systemRoleName == null || systemRoleName.Length == 0) {
                throw new ApplicationException("ϵͳ��ɫ���Ʋ���Ϊ��");
            }
            BusinessObjects.AuthorizationDS.SystemRoleDataTable table = this.SystemRoleTA.GetDataBySystemRoleName(systemRoleName);
            if (table != null && table.Count > 0) {
                throw new ApplicationException("ϵͳ��ɫ���Ʋ����ظ�");
            }

            int rowsAffected = this.SystemRoleTA.Insert(systemRoleName, description);
            AuthorizationConfigure authorizationConfigure = new AuthorizationConfigure();
            authorizationConfigure.StuffId = stuffUser.StuffId;
            authorizationConfigure.StuffName = stuffUser.StuffName;
            authorizationConfigure.ConfigureTarget = "ϵͳ��ɫ����";
            authorizationConfigure.ConfigureTime = DateTime.Now;
            authorizationConfigure.ConfigureType = "����";
            authorizationConfigure.NewContent = "ϵͳ��ɫ��" + systemRoleName;
            SysLog.LogAuthorizationConfigure(authorizationConfigure);
            return rowsAffected == 1;
        }
示例#34
0
 /// <summary>
 /// ������Ȼ�ȡ����֯�ṹ
 /// </summary>
 /// <param name="ou"></param>
 /// <returns></returns>
 private AuthorizationDS.OrganizationUnitRow[] GetDepFirstChildren(AuthorizationDS.OrganizationUnitRow ou)
 {
     List<AuthorizationDS.OrganizationUnitRow> result = new List<AuthorizationDS.OrganizationUnitRow>();
     foreach (AuthorizationDS.OrganizationUnitRow childOu in ou.GetChildren()) {
         result.AddRange(GetDepFirstChildren(childOu));
     }
     result.Add(ou);
     return result.ToArray();
 }
示例#35
0
        /// <summary>
        /// ��������ְ���ҵ�������Χ
        /// </summary>
        /// <param name="positionId">ְ��ID</param>
        /// <param name="operateIds">����ҵ�����ID����</param>
        /// <param name="scopeOUIds">������Χ���ǵ���֯����ID����</param>
        /// <param name="scopePOIds">������Χ���ǵ�ְ��ID����</param>
        public void SetOperateScope(AuthorizationDS.StuffUserRow stuffUser, AuthorizationDS.PositionRow position, int positionId, int[] operateIds, int[] scopeOUIds, int[] scopePOIds)
        {
            StringBuilder deleteContent = new StringBuilder();
            StringBuilder addContent = new StringBuilder();

            foreach (int operateId in operateIds) {
                string operateName = (string)this.BusinessOperateTA.GetBusinessOperateName(operateId);
                StringBuilder addStr = new StringBuilder();
                StringBuilder deleteStr = new StringBuilder();
                List<int> sOUIds = new List<int>(scopeOUIds);
                List<int> sPOIds = new List<int>(scopePOIds);
                BusinessObjects.AuthorizationDS.OperateScopeDataTable table = this.OperateScopeTA.GetDataByOperateAndPosition(operateId, positionId);
                foreach (BusinessObjects.AuthorizationDS.OperateScopeRow operateScope in table) {
                    if (operateScope.IsScopeOrganziationUnitIdNull()) {
                        if (sPOIds.Contains(operateScope.ScopePositionId)) {
                            sPOIds.Remove(operateScope.ScopePositionId);
                        } else {
                            deleteStr.Append("ְ��[" +
                            new OUTreeBLL().GetPositionById(operateScope.ScopePositionId).PositionName + "] ");
                            operateScope.Delete();
                        }
                    } else {
                        if (sOUIds.Contains(operateScope.ScopeOrganziationUnitId)) {
                            sOUIds.Remove(operateScope.ScopeOrganziationUnitId);
                        } else {
                            deleteStr.Append("����[" +
                            new OUTreeBLL().GetOrganizationUnitById(operateScope.ScopeOrganziationUnitId).OrganizationUnitName + "] ");

                            operateScope.Delete();
                        }
                    }
                }

                if (deleteStr.Length > 0) {
                    deleteStr.Insert(0, "����ҵ�����[" + operateName + "]�������ݷ�Χ��");
                    deleteContent.Append(deleteStr.ToString());
                }

                foreach (int ouId in sOUIds) {
                    BusinessObjects.AuthorizationDS.OperateScopeRow newRow = table.NewOperateScopeRow();
                    newRow.PositionId = positionId;
                    newRow.BusinessOperateId = operateId;
                    newRow.ScopeOrganziationUnitId = ouId;
                    table.AddOperateScopeRow(newRow);
                    addStr.Append("����[" + new OUTreeBLL().GetOrganizationUnitById(ouId).OrganizationUnitName + "] ");
                }
                foreach (int poId in sPOIds) {
                    BusinessObjects.AuthorizationDS.OperateScopeRow newRow = table.NewOperateScopeRow();
                    newRow.PositionId = positionId;
                    newRow.BusinessOperateId = operateId;
                    newRow.ScopePositionId = poId;
                    table.AddOperateScopeRow(newRow);
                    addStr.Append("ְ��[" + new OUTreeBLL().GetPositionById(poId).PositionName + "] ");
                }

                if (addStr.Length > 0) {
                    addStr.Insert(0, "����ҵ�����[" + operateName + "]�������ݷ�Χ��");
                    addContent.Append(addStr.ToString());
                }

                this.OperateScopeTA.Update(table);
            }
            if (deleteContent.Length > 0 || addContent.Length > 0) {
                AuthorizationConfigure authorizationConfigure = new AuthorizationConfigure();
                authorizationConfigure.StuffId = stuffUser.StuffId;
                authorizationConfigure.StuffName = stuffUser.StuffName;
                authorizationConfigure.ConfigureType = "����";
                authorizationConfigure.ConfigureTarget = "ҵ�������Χ";
                authorizationConfigure.ConfigureTime = DateTime.Now;
                string positionName = new OUTreeBLL().GetPositionById(positionId).PositionName;
                if (deleteContent.Length > 0) {
                    deleteContent.Insert(0, "ְ��[" + positionName + "]��");
                    authorizationConfigure.OldContent = deleteContent.ToString();
                }
                if (addContent.Length > 0) {
                    addContent.Insert(0, "ְ��[" + positionName + "]��");
                    authorizationConfigure.NewContent = addContent.ToString();
                }
                SysLog.LogAuthorizationConfigure(authorizationConfigure);
            }
        }