Ejemplo n.º 1
0
        /// <summary>
        /// 批量打删除标志
        /// </summary>
        /// <param name="userInfo">用户</param>
        /// <param name="ids">主键数组</param>
        /// <returns>影响行数</returns>
        public int SetDeleted(UserInfo userInfo, string[] ids)
        {
            int returnValue = 0;
            var parameter   = ParameterUtil.CreateWithMessage(userInfo, MethodBase.GetCurrentMethod(), this.serviceName, RDIFrameworkMessage.StaffService_SetDeleted);

            ServiceUtil.ProcessRDIWriteDbWithTran(userInfo, parameter, dbProvider =>
            {
                var userManager           = new PiUserManager(dbProvider, userInfo);
                var staffManager          = new PiStaffManager(dbProvider, userInfo);
                PiStaffEntity staffEntity = null;
                for (int i = 0; i < ids.Length; i++)
                {
                    // 删除相应的用户
                    staffEntity = staffManager.GetEntity(ids[i]);
                    if (staffEntity.UserId != null)
                    {
                        userManager.SetDeleted(staffEntity.UserId);
                    }
                    // 删除职员
                    returnValue += staffManager.SetDeleted(ids[i], true);
                    var staffOrganizeManager = new PiStaffOrganizeManager(dbProvider, userInfo);
                    returnValue += staffOrganizeManager.SetDeleted(new string[] { PiStaffOrganizeTable.FieldStaffId }, new string[] { ids[i] });
                }
            });

            return(returnValue);
        }
Ejemplo n.º 2
0
        /// <summary>
        /// 删除员工关联的用户
        /// </summary>
        /// <param name="staffId">员工主键</param>
        /// <returns>影响行数</returns>
        public int DeleteUser(string staffId)
        {
            int    returnValue = 0;
            string userId      = this.GetEntity(staffId).UserId.ToString();

            if (!String.IsNullOrEmpty(userId))
            {
                // 删除用户
                PiUserManager userManager = new PiUserManager(DBProvider, UserInfo);
                returnValue += userManager.SetDeleted(userId);
            }
            // 将员工的用户设置为空
            returnValue += this.SetProperty(staffId, PiStaffTable.FieldUserId, null);
            return(returnValue);
        }
Ejemplo n.º 3
0
        /// <summary>
        /// 删除标志
        ///
        /// 删除员工时,需要把用户也给删除掉
        /// </summary>
        /// <param name="id">主键</param>
        /// <returns>影响行数</returns>
        public int SetDeleted(string id)
        {
            int returnValue = 0;
            // 先把用户设置为删除标记
            string userId = this.GetProperty(id, PiStaffTable.FieldUserId);

            if (!String.IsNullOrEmpty(userId))
            {
                PiUserManager userManager = new PiUserManager(DBProvider, UserInfo);
                returnValue += userManager.SetDeleted(userId);
            }

            PiStaffOrganizeManager staffOrganizeManager = new PiStaffOrganizeManager(DBProvider, UserInfo);

            returnValue += staffOrganizeManager.SetProperty(PiStaffOrganizeTable.FieldStaffId, id, BusinessLogic.FieldDeleteMark, "1");

            // 再把员工设置为删除标记
            returnValue += this.SetProperty(BusinessLogic.FieldId, id, BusinessLogic.FieldDeleteMark, "1");

            return(returnValue);
        }