/// <summary> /// 添加员工 /// </summary> /// <param name="userInfo">用户</param> /// <param name="entity">实体</param> /// <param name="statusCode">返回状态码</param> /// <param name="statusMessage">返回消息</param> /// <param name="organizeId">组织机构主键</param> /// <returns>主鍵</returns> public string Add(UserInfo userInfo, PiStaffEntity entity, out string statusCode, out string statusMessage, string organizeId = "") { string returnValue = string.Empty; string returnCode = string.Empty; string returnMessage = string.Empty; var parameter = ParameterUtil.CreateWithMessage(userInfo, MethodBase.GetCurrentMethod(), this.serviceName, RDIFrameworkMessage.StaffService_AddStaff); ServiceUtil.ProcessRDIWriteDbWithTran(userInfo, parameter, dbProvider => { var manager = new PiStaffManager(dbProvider, userInfo); returnValue = manager.Add(entity, out returnCode); returnMessage = manager.GetStateMessage(returnCode); if (returnValue.Length > 0 && returnCode == StatusCode.OKAdd.ToString() && !string.IsNullOrEmpty(organizeId.Trim())) { var staffOrganizeEntity = new PiStaffOrganizeEntity { StaffId = BusinessLogic.ConvertToString(returnValue), OrganizeId = BusinessLogic.ConvertToString(organizeId), Enabled = 1, DeleteMark = 0 }; var staffOrganizeManager = new PiStaffOrganizeManager(dbProvider, userInfo); staffOrganizeManager.Add(staffOrganizeEntity); } }); statusCode = returnCode; statusMessage = returnMessage; return(returnValue); }
/// <summary> /// 更新员工 /// </summary> /// <param name="staffEntity">实体</param> /// <param name="statusCode">返回状态码</param> /// <returns>影响行数</returns> public int Update(PiStaffEntity staffEntity, out string statusCode) { int returnValue = 0; // 检查编号是否重复 if (!string.IsNullOrEmpty(staffEntity.Code) && this.Exists(PiStaffTable.FieldCode, staffEntity.Code, PiStaffTable.FieldDeleteMark, 0, staffEntity.Id)) { // 编号已重复 statusCode = StatusCode.ErrorCodeExist.ToString(); } else { // 用户名是空的,不判断是否重复了 if (!String.IsNullOrEmpty(staffEntity.RealName) && this.Exists(PiStaffTable.FieldRealName, staffEntity.RealName, PiStaffTable.FieldDeleteMark, 0, staffEntity.Id)) { // 名称已重复 statusCode = StatusCode.ErrorUserExist.ToString(); } else { returnValue = this.UpdateEntity(staffEntity); // 按员工的修改信息,把用户信息进行修改 this.UpdateUser(staffEntity.Id.ToString()); statusCode = returnValue > 0 ? StatusCode.OKUpdate.ToString() : StatusCode.ErrorDeleted.ToString(); } } return(returnValue); }
/// <summary> /// 更新 /// </summary> /// <param name="staffEntity">实体类</param> /// <returns>影响行数</returns> public int UpdateAddress(PiStaffEntity staffEntity, out string statusCode) { int returnValue = 0; // 检查是否已被其他人修改 //if (DbCommonLibary.IsModifed(DBProvider, PiStaffTable.TableName, staffEntity.Id, staffEntity.ModifiedUserId, staffEntity.ModifiedOn)) //{ // // 数据已经被修改 // statusCode = StatusCode.ErrorChanged.ToString(); //} //else //{ // 进行更新操作 returnValue = this.UpdateEntity(staffEntity); if (returnValue == 1) { // 按员工的修改信息,把用户信息进行修改 this.UpdateUser(staffEntity.Id.ToString()); statusCode = StatusCode.OKUpdate.ToString(); } else { // 数据可能被删除 statusCode = StatusCode.ErrorDeleted.ToString(); } //} return(returnValue); }
/// <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); }
/// <summary> /// 添加员工 /// </summary> /// <param name="staffEntity">实体</param> /// <param name="statusCode">返回状态码</param> /// <returns>主键</returns> public string Add(PiStaffEntity staffEntity, out string statusCode) { string returnValue = string.Empty; if (!string.IsNullOrEmpty(staffEntity.UserName) && this.Exists(PiStaffTable.FieldUserName, staffEntity.UserName, PiStaffTable.FieldDeleteMark, 0)) { // 名称已重复 statusCode = StatusCode.ErrorUserExist.ToString(); } else { // 检查编号是否重复 if (!string.IsNullOrEmpty(staffEntity.Code) && this.Exists(PiStaffTable.FieldCode, staffEntity.Code, PiStaffTable.FieldDeleteMark, 0)) { // 编号已重复 statusCode = StatusCode.ErrorCodeExist.ToString(); } else { returnValue = this.AddEntity(staffEntity); // 运行成功 statusCode = StatusCode.OKAdd.ToString(); } } return(returnValue); }
/// <summary> /// 删除 /// </summary> /// <param name="id">主键</param> /// <returns>影响行数</returns> public int Delete(string id) { int returnValue = 0; PiStaffEntity staffEntity = this.GetEntity(id); if (!string.IsNullOrEmpty(staffEntity.UserId)) { // 删除角色用户关联表 returnValue += DbCommonLibary.Delete(DBProvider, PiUserRoleTable.TableName, PiUserRoleTable.FieldUserId, staffEntity.UserId); // 删除用户的权限数据 // 删除用户的权限范围数据 // 删除相关的用户数据 PiUserManager userManager = new PiUserManager(DBProvider, UserInfo); returnValue += userManager.DeleteEntity(staffEntity.UserId); } //删除员工组织关系关联表 returnValue += DbCommonLibary.Delete(DBProvider, PiStaffOrganizeTable.TableName, PiStaffOrganizeTable.FieldStaffId, id); // 删除员工本表 returnValue += DbCommonLibary.Delete(DBProvider, PiStaffTable.TableName, PiStaffTable.FieldId, id); return(returnValue); }
/// <summary> /// 按员工的修改信息,把用户信息进行修改 /// </summary> /// <param name="staffId">员工主键</param> /// <returns>影响行数</returns> public int UpdateUser(string staffId) { DataTable dataTable = this.GetDT(PiStaffTable.FieldId, staffId); PiStaffEntity staffEntity = BaseEntity.Create <PiStaffEntity>(dataTable); //new PiStaffEntity(dataTable); if (!string.IsNullOrEmpty(staffEntity.UserId)) { // 员工信息改变时,用户信息也跟着改变。 PiUserManager userManager = new PiUserManager(DBProvider, UserInfo); PiUserEntity userEntity = userManager.GetEntity(staffEntity.UserId.ToString()); // userEntity.Company = staffEntity.CompanyName; // userEntity.Department = staffEntity.DepartmentName; // userEntity.Workgroup = staffEntity.WorkgroupName; userEntity.UserName = staffEntity.UserName; userEntity.RealName = staffEntity.RealName; userEntity.Code = staffEntity.Code; userEntity.Email = staffEntity.Email; userEntity.Enabled = int.Parse(staffEntity.Enabled.ToString()); // userEntity.Duty = staffEntity.DutyName; // userEntity.Title = staffEntity.TitleName; userEntity.Gender = staffEntity.Gender; userEntity.Birthday = BusinessLogic.ConvertToNullableDateTime(staffEntity.Birthday); userEntity.Mobile = staffEntity.Mobile; } return(0); }
/// <summary> /// 员工实体转换为用户实体 /// </summary> /// <param name="staffEntity">员工实体</param> /// <param name="userInfo">用户实体</param> /// <returns>用户实体</returns> public UserInfo ConvertToUserInfo(PiStaffEntity staffEntity, UserInfo userInfo) { // userInfo.Id = staffEntity.Id; userInfo.StaffId = staffEntity.Id.ToString(); userInfo.Code = staffEntity.Code; if (string.IsNullOrEmpty(userInfo.UserName)) { userInfo.UserName = staffEntity.UserName; } if (string.IsNullOrEmpty(userInfo.RealName)) { userInfo.RealName = staffEntity.RealName; } // 需要修正 // userInfo.CompanyId = staffEntity.CompanyId; // userInfo.CompanyCode = staffEntity.CompanyCode; // userInfo.CompanyName = staffEntity.CompanyName; //userInfo.DepartmentId = staffEntity.DepartmentId; // userInfo.DepartmentCode = staffEntity.DepartmentCode; // userInfo.DepartmentName = staffEntity.DepartmentName; //userInfo.WorkgroupId = staffEntity.WorkgroupId; // userInfo.WorkgroupCode = staffEntity.WorkgroupCode; // userInfo.WorkgroupName = staffEntity.WorkgroupName; return(userInfo); }
/// <summary> /// 获取实体 /// </summary> /// <param name="userInfo">用户</param> /// <param name="id">主鍵</param> /// <returns>实体</returns> public PiStaffEntity GetEntity(UserInfo userInfo, string id) { PiStaffEntity entity = null; var parameter = ParameterUtil.CreateWithMessage(userInfo, MethodBase.GetCurrentMethod(), this.serviceName, RDIFrameworkMessage.StaffService_GetEntity); ServiceUtil.ProcessRDIReadDb(userInfo, parameter, dbProvider => { entity = new PiStaffManager(dbProvider, userInfo).GetEntity(id); }); return(entity); }
/// <summary> /// 更新实体 /// </summary> /// <param name="staffEntity">实体</param> public int UpdateEntity(PiStaffEntity staffEntity) { SQLBuilder sqlBuilder = new SQLBuilder(DBProvider); sqlBuilder.BeginUpdate(PiStaffTable.TableName); this.SetEntity(sqlBuilder, staffEntity); if (UserInfo != null) { sqlBuilder.SetValue(PiStaffTable.FieldModifiedUserId, UserInfo.Id); sqlBuilder.SetValue(PiStaffTable.FieldModifiedBy, UserInfo.RealName); } sqlBuilder.SetDBNow(PiStaffTable.FieldModifiedOn); sqlBuilder.SetWhere(PiStaffTable.FieldId, staffEntity.Id); return sqlBuilder.EndUpdate(); }
/// <summary> /// 更新员工 /// </summary> /// <param name="userInfo">用户</param> /// <param name="entity">实体</param> /// <param name="statusCode">返回状态码</param> /// <param name="statusMessage">返回状态信息</param> /// <returns>影响行数</returns> public int UpdateStaff(UserInfo userInfo, PiStaffEntity entity, out string statusCode, out string statusMessage) { int returnValue = 0; string returnCode = string.Empty; string returnMessage = string.Empty; var parameter = ParameterUtil.CreateWithMessage(userInfo, MethodBase.GetCurrentMethod(), this.serviceName, RDIFrameworkMessage.StaffService_UpdateStaff); ServiceUtil.ProcessRDIReadDb(userInfo, parameter, dbProvider => { var manager = new PiStaffManager(dbProvider, userInfo); returnValue = manager.Update(entity, out returnCode); returnMessage = manager.GetStateMessage(returnCode); }); statusCode = returnCode; statusMessage = returnMessage; return(returnValue); }
/// <summary> /// 批量进行保存 /// </summary> /// <param name="dataTable">数据表</param> /// <returns>影响行数</returns> public override int BatchSave(DataTable dataTable) { int returnValue = 0; foreach (DataRow dataRow in dataTable.Rows) { // 删除状态 if (dataRow.RowState == DataRowState.Deleted) { string id = dataRow[PiStaffTable.FieldId, DataRowVersion.Original].ToString(); if (id.Length > 0) { returnValue += this.DeleteEntity(id); } } // 被修改过 if (dataRow.RowState == DataRowState.Modified) { string id = dataRow[PiStaffTable.FieldId, DataRowVersion.Original].ToString(); if (id.Length > 0) { PiStaffEntity staffEntity = BaseEntity.Create <PiStaffEntity>(dataRow); returnValue += this.UpdateEntity(staffEntity); } } // 添加状态 if (dataRow.RowState == DataRowState.Added) { PiStaffEntity staffEntity = BaseEntity.Create <PiStaffEntity>(dataRow); returnValue += this.AddEntity(staffEntity).Length > 0 ? 1 : 0; } if (dataRow.RowState == DataRowState.Unchanged) { continue; } if (dataRow.RowState == DataRowState.Detached) { continue; } } this.ReturnStatusCode = StatusCode.OK.ToString(); return(returnValue); }
/// <summary> /// 扮演用户 /// </summary> /// <param name="id">用户主键</param> /// <returns>用户类</returns> public UserInfo Impersonation(string id, out string statusCode) { UserInfo userInfo = null; // 获得登录信息 PiUserLogOnEntity entity = new PiUserLogOnManager(this.DBProvider, this.UserInfo).GetEntity(id); // 只允许登录一次,需要检查是否自己重新登录了,或者自己扮演自己了 if (!UserInfo.Id.Equals(id)) { if (SystemInfo.CheckOnLine) { if (entity.UserOnLine > 0) { statusCode = StatusCode.ErrorOnLine.ToString(); return(userInfo); } } } PiUserEntity userEntity = this.GetEntity(id); userInfo = this.ConvertToUserInfo(userEntity); if (userEntity.IsStaff.Equals("1")) { // 获得员工的信息 PiStaffEntity staffEntity = new PiStaffEntity(); PiStaffManager staffManager = new PiStaffManager(DBProvider, UserInfo); DataTable dataTableStaff = staffManager.GetDTById(id); staffEntity.GetFrom(dataTableStaff); userInfo = staffManager.ConvertToUserInfo(staffEntity, userInfo); } statusCode = StatusCode.OK.ToString(); // 登录、重新登录、扮演时的在线状态进行更新 PiUserLogOnManager userLogOnManager = new PiUserLogOnManager(this.DBProvider, this.UserInfo); userLogOnManager.ChangeOnLine(id); return(userInfo); }
/// <summary> /// 添加实体 /// </summary> /// <param name="staffEntity">实体</param> public string AddEntity(PiStaffEntity staffEntity) { string sequence = string.Empty; if (staffEntity.SortCode == 0 || staffEntity.SortCode == null) { CiSequenceManager sequenceManager = new CiSequenceManager(DBProvider, this.Identity); sequence = sequenceManager.GetSequence(this.CurrentTableName); staffEntity.SortCode = int.Parse(sequence); } this.Identity = false; SQLBuilder sqlBuilder = new SQLBuilder(DBProvider, this.Identity, this.ReturnId); sqlBuilder.BeginInsert(PiStaffTable.TableName, PiStaffTable.FieldId); if (!this.Identity) { if (String.IsNullOrEmpty(staffEntity.Id)) { sequence = BusinessLogic.NewGuid(); staffEntity.Id = sequence; } sqlBuilder.SetValue(PiStaffTable.FieldId, staffEntity.Id); } else { if (!this.ReturnId && (DBProvider.CurrentDbType == CurrentDbType.Oracle || DBProvider.CurrentDbType == CurrentDbType.DB2)) { if (DBProvider.CurrentDbType == CurrentDbType.Oracle) { sqlBuilder.SetFormula(PiStaffTable.FieldId, "SEQ_" + this.CurrentTableName.ToUpper() + ".NEXTVAL "); } if (DBProvider.CurrentDbType == CurrentDbType.DB2) { sqlBuilder.SetFormula(PiStaffTable.FieldId, "NEXT VALUE FOR SEQ_" + this.CurrentTableName.ToUpper()); } } else { if (this.Identity && (DBProvider.CurrentDbType == CurrentDbType.Oracle || DBProvider.CurrentDbType == CurrentDbType.DB2)) { if (staffEntity.Id == null) { if (string.IsNullOrEmpty(sequence)) { CiSequenceManager sequenceManager = new CiSequenceManager(DBProvider, this.Identity); sequence = sequenceManager.GetSequence(this.CurrentTableName); } staffEntity.Id = sequence; } sqlBuilder.SetValue(PiStaffTable.FieldId, staffEntity.Id); } } } this.SetEntity(sqlBuilder, staffEntity); if (UserInfo != null) { sqlBuilder.SetValue(PiStaffTable.FieldCreateUserId, UserInfo.Id); sqlBuilder.SetValue(PiStaffTable.FieldCreateBy, UserInfo.RealName); } sqlBuilder.SetDBNow(PiStaffTable.FieldCreateOn); if (UserInfo != null) { sqlBuilder.SetValue(PiStaffTable.FieldModifiedUserId, UserInfo.Id); sqlBuilder.SetValue(PiStaffTable.FieldModifiedBy, UserInfo.RealName); } sqlBuilder.SetDBNow(PiStaffTable.FieldModifiedOn); if (DBProvider.CurrentDbType == CurrentDbType.SqlServer && this.Identity) { sequence = sqlBuilder.EndInsert().ToString(); } else { sqlBuilder.EndInsert(); } return sequence; }
/// <summary> /// 设置实体 /// </summary> /// <param name="sqlBuilder">Sql语句生成器</param> /// <param name="staffEntity">实体</param> private void SetEntity(SQLBuilder sqlBuilder, PiStaffEntity staffEntity) { //staffEntity.GetType().GetProperty("Birthday").PropertyType sqlBuilder.SetValue(PiStaffTable.FieldUserId, staffEntity.UserId); sqlBuilder.SetValue(PiStaffTable.FieldUserName, staffEntity.UserName); sqlBuilder.SetValue(PiStaffTable.FieldRealName, staffEntity.RealName); sqlBuilder.SetValue(PiStaffTable.FieldCode, staffEntity.Code); sqlBuilder.SetValue(PiStaffTable.FieldGender, staffEntity.Gender); sqlBuilder.SetValue(PiStaffTable.FieldDutyId, staffEntity.DutyId); sqlBuilder.SetValue(PiStaffTable.FieldIdentificationCode, staffEntity.IdentificationCode); sqlBuilder.SetValue(PiStaffTable.FieldIDCard, staffEntity.IDCard); sqlBuilder.SetValue(PiStaffTable.FieldBankCode, staffEntity.BankCode); sqlBuilder.SetValue(PiStaffTable.FieldEmail, staffEntity.Email); sqlBuilder.SetValue(PiStaffTable.FieldMobile, staffEntity.Mobile); sqlBuilder.SetValue(PiStaffTable.FieldShortNumber, staffEntity.ShortNumber); sqlBuilder.SetValue(PiStaffTable.FieldTelephone, staffEntity.Telephone); sqlBuilder.SetValue(PiStaffTable.FieldQICQ, staffEntity.QICQ); sqlBuilder.SetValue(PiStaffTable.FieldOfficePhone, staffEntity.OfficePhone); sqlBuilder.SetValue(PiStaffTable.FieldOfficeZipCode, staffEntity.OfficeZipCode); sqlBuilder.SetValue(PiStaffTable.FieldOfficeAddress, staffEntity.OfficeAddress); sqlBuilder.SetValue(PiStaffTable.FieldOfficeFax, staffEntity.OfficeFax); sqlBuilder.SetValue(PiStaffTable.FieldHomePhone, staffEntity.HomePhone); sqlBuilder.SetValue(PiStaffTable.FieldAge, staffEntity.Age); sqlBuilder.SetValue(PiStaffTable.FieldEducation, staffEntity.Education); sqlBuilder.SetValue(PiStaffTable.FieldSchool, staffEntity.School); sqlBuilder.SetValue(PiStaffTable.FieldDegree, staffEntity.Degree); sqlBuilder.SetValue(PiStaffTable.FieldTitle, staffEntity.Title); sqlBuilder.SetValue(PiStaffTable.FieldTitleLevel, staffEntity.TitleLevel); sqlBuilder.SetValue(PiStaffTable.FieldHomeZipCode, staffEntity.HomeZipCode); sqlBuilder.SetValue(PiStaffTable.FieldHomeAddress, staffEntity.HomeAddress); sqlBuilder.SetValue(PiStaffTable.FieldHomeFax, staffEntity.HomeFax); //sqlBuilder.SetValue(PiStaffTable.FieldCarCode, staffEntity.CarCode); //sqlBuilder.SetValue(PiStaffTable.FieldEmergencyContact, staffEntity.EmergencyContact); sqlBuilder.SetValue(PiStaffTable.FieldNativePlace, staffEntity.NativePlace); sqlBuilder.SetValue(PiStaffTable.FieldParty, staffEntity.Party); sqlBuilder.SetValue(PiStaffTable.FieldNation, staffEntity.Nation); sqlBuilder.SetValue(PiStaffTable.FieldNationality, staffEntity.Nationality); sqlBuilder.SetValue(PiStaffTable.FieldMajor, staffEntity.Major); sqlBuilder.SetValue(PiStaffTable.FieldWorkingProperty, staffEntity.WorkingProperty); sqlBuilder.SetValue(PiStaffTable.FieldCompetency, staffEntity.Competency); sqlBuilder.SetValue(PiStaffTable.FieldIsDimission, staffEntity.IsDimission); sqlBuilder.SetValue(PiStaffTable.FieldDimissionCause, staffEntity.DimissionCause); sqlBuilder.SetValue(PiStaffTable.FieldDimissionWhither, staffEntity.DimissionWhither); sqlBuilder.SetValue(PiStaffTable.FieldEnabled, staffEntity.Enabled); sqlBuilder.SetValue(PiStaffTable.FieldDeleteMark, staffEntity.DeleteMark); sqlBuilder.SetValue(PiStaffTable.FieldSortCode, staffEntity.SortCode); sqlBuilder.SetValue(PiStaffTable.FieldDescription, staffEntity.Description); if (DBProvider.CurrentDbType == CurrentDbType.Oracle) { sqlBuilder.SetValue(PiStaffTable.FieldBirthday,staffEntity.Birthday != null ? BusinessLogic.GetOracleDateFormat(staffEntity.Birthday): staffEntity.Birthday); sqlBuilder.SetValue(PiStaffTable.FieldTitleDate, staffEntity.TitleDate != null ? BusinessLogic.GetOracleDateFormat(staffEntity.TitleDate) : staffEntity.TitleDate); sqlBuilder.SetValue(PiStaffTable.FieldWorkingDate, staffEntity.WorkingDate != null ? BusinessLogic.GetOracleDateFormat(staffEntity.WorkingDate) : staffEntity.WorkingDate); sqlBuilder.SetValue(PiStaffTable.FieldJoinInDate, staffEntity.JoinInDate != null ? BusinessLogic.GetOracleDateFormat(staffEntity.JoinInDate) : staffEntity.JoinInDate); sqlBuilder.SetValue(PiStaffTable.FieldDimissionDate, staffEntity.DimissionDate != null ? BusinessLogic.GetOracleDateFormat(staffEntity.DimissionDate) : staffEntity.DimissionDate); } else { sqlBuilder.SetValue(PiStaffTable.FieldBirthday, staffEntity.Birthday); sqlBuilder.SetValue(PiStaffTable.FieldTitleDate, staffEntity.TitleDate); sqlBuilder.SetValue(PiStaffTable.FieldWorkingDate, staffEntity.WorkingDate); sqlBuilder.SetValue(PiStaffTable.FieldJoinInDate, staffEntity.JoinInDate); sqlBuilder.SetValue(PiStaffTable.FieldDimissionDate, staffEntity.DimissionDate); } }
/// <summary> /// 更新 /// </summary> /// <param name="staffEntity">实体</param> public int Update(PiStaffEntity staffEntity) { return this.UpdateEntity(staffEntity); }
/// <summary> /// 添加 /// </summary> /// <param name="staffEntity">实体</param> /// <param name="identity">自增量方式</param> /// <param name="returnId">返回主鍵</param> /// <returns>主键</returns> public string Add(PiStaffEntity staffEntity, bool identity, bool returnId) { this.Identity = identity; this.ReturnId = returnId; return this.AddEntity(staffEntity); }
/// <summary> /// 添加 /// </summary> /// <param name="staffEntity">实体</param> /// <returns>主键</returns> public string Add(PiStaffEntity staffEntity) { return this.AddEntity(staffEntity); }