/// <summary> /// 添加员工 /// </summary> /// <param name="DepartmentId">部门主键</param> /// <param name="userName">用户名</param> /// <param name="code">编号</param> /// <param name="fullName">名称</param> /// <param name="canVisit">允许登录</param> /// <param name="isVirtual">虚拟用户</param> /// <param name="isDimission">离职</param> /// <param name="enabled">有效</param> /// <param name="description">描述</param> /// <returns>主键</returns> public string Add(string departmentId, string userName, string code, string fullName, bool isVirtual, bool isDimission, bool enabled, string description) { SQLBuilder sqlBuilder = new SQLBuilder(DbHelper); BaseSequenceManager sequenceManager = new BaseSequenceManager(DbHelper); string sequence = sequenceManager.GetSequence(this.CurrentTableName); sqlBuilder.BeginInsert(this.CurrentTableName); sqlBuilder.SetValue(BaseStaffEntity.FieldId, sequence); sqlBuilder.SetValue(BaseStaffEntity.FieldCode, code); sqlBuilder.SetValue(BaseStaffEntity.FieldUserName, userName); sqlBuilder.SetValue(BaseStaffEntity.FieldRealName, fullName); sqlBuilder.SetValue(BaseStaffEntity.FieldDepartmentId, departmentId); sqlBuilder.SetValue(BaseStaffEntity.FieldSortCode, sequence); sqlBuilder.SetValue(BaseStaffEntity.FieldEnabled, enabled ? 1 : 0); if (UserInfo != null) { sqlBuilder.SetValue(BaseStaffEntity.FieldCreateUserId, UserInfo.Id); sqlBuilder.SetValue(BaseStaffEntity.FieldCreateOn, UserInfo.RealName); } sqlBuilder.SetDBNow(BaseStaffEntity.FieldCreateOn); string returnValue = sqlBuilder.EndInsert() > 0 ? sequence : string.Empty; return returnValue; }
/// <summary> /// 获取序列号 /// </summary> /// <param name="dbHelper">数据库连接</param> /// <param name="userInfo">用户</param> /// <param name="fullName">序列名称</param> /// <returns>序列号</returns> public string GetSequence(IDbHelper dbHelper, BaseUserInfo userInfo, string fullName) { // 加强安全验证防止未授权匿名调用 #if (!DEBUG) LogOnService.UserIsLogOn(userInfo); #endif BaseSequenceManager sequenceManager = new BaseSequenceManager(dbHelper); return sequenceManager.GetSequence(fullName); }
/// <summary> /// 获取原序列号 /// </summary> /// <param name="userInfo">用户</param> /// <param name="fullName">序列名称</param> /// <param name="defaultSequence">默认序列</param> /// <param name="sequenceLength">序列长度</param> /// <param name="fillZeroPrefix">是否填充补零</param> /// <returns>序列号</returns> public string GetOldSequence(BaseUserInfo userInfo, string fullName, int defaultSequence, int sequenceLength, bool fillZeroPrefix) { // 写入调试信息 #if (DEBUG) int milliStart = BaseBusinessLogic.StartDebug(userInfo, MethodBase.GetCurrentMethod()); #endif // 加强安全验证防止未授权匿名调用 #if (!DEBUG) LogOnService.UserIsLogOn(userInfo); #endif string returnValue = string.Empty; // 这里是为了防止并发冲突用的 lock (LOCK) { using (IDbHelper dbHelper = DbHelperFactory.GetHelper(BaseSystemInfo.UserCenterDbType)) { try { dbHelper.Open(UserCenterDbConnection); BaseSequenceManager sequenceManager = new BaseSequenceManager(dbHelper); returnValue = sequenceManager.GetOldSequence(fullName, defaultSequence, sequenceLength, fillZeroPrefix); } catch (Exception ex) { BaseExceptionManager.LogException(dbHelper, userInfo, ex); throw ex; } finally { dbHelper.Close(); } } } // 写入调试信息 #if (DEBUG) BaseBusinessLogic.EndDebug(MethodBase.GetCurrentMethod(), milliStart); #endif return returnValue; }
/// <summary> /// 获取序列号列表 /// </summary> /// <param name="userInfo">用户</param> /// <returns>数据表</returns> public DataTable GetDataTable(BaseUserInfo userInfo) { // 写入调试信息 #if (DEBUG) int milliStart = BaseBusinessLogic.StartDebug(userInfo, MethodBase.GetCurrentMethod()); #endif // 加强安全验证防止未授权匿名调用 #if (!DEBUG) LogOnService.UserIsLogOn(userInfo); #endif DataTable dataTable = new DataTable(BaseSequenceEntity.TableName); using (IDbHelper dbHelper = DbHelperFactory.GetHelper(BaseSystemInfo.UserCenterDbType)) { try { dbHelper.Open(UserCenterDbConnection); BaseSequenceManager sequenceManager = new BaseSequenceManager(dbHelper); dataTable = sequenceManager.GetDataTable(); dataTable.TableName = BaseSequenceEntity.TableName; BaseLogManager.Instance.Add(dbHelper, userInfo, this.serviceName, AppMessage.SequenceService_GetDataTable, MethodBase.GetCurrentMethod()); } catch (Exception ex) { BaseExceptionManager.LogException(dbHelper, userInfo, ex); throw ex; } finally { dbHelper.Close(); } } // 写入调试信息 #if (DEBUG) BaseBusinessLogic.EndDebug(MethodBase.GetCurrentMethod(), milliStart); #endif return dataTable; }
/// <summary> /// 添加实体 /// </summary> /// <param name="baseMessageEntity">实体</param> public string AddEntity(BaseMessageEntity baseMessageEntity) { string sequence = string.Empty; this.Identity = false; if (baseMessageEntity.SortCode == null || baseMessageEntity.SortCode == 0) { BaseSequenceManager sequenceManager = new BaseSequenceManager(DbHelper, this.Identity); sequence = sequenceManager.GetSequence(this.CurrentTableName); baseMessageEntity.SortCode = int.Parse(sequence); } if (baseMessageEntity.Id != null) { sequence = baseMessageEntity.Id.ToString(); } SQLBuilder sqlBuilder = new SQLBuilder(DbHelper, this.Identity, this.ReturnId); sqlBuilder.BeginInsert(this.CurrentTableName, BaseMessageEntity.FieldId); if (!this.Identity) { if (string.IsNullOrEmpty(baseMessageEntity.Id)) { sequence = BaseBusinessLogic.NewGuid(); baseMessageEntity.Id = sequence ; } sqlBuilder.SetValue(BaseMessageEntity.FieldId, baseMessageEntity.Id); } else { if (!this.ReturnId && (DbHelper.CurrentDbType == DbTypes.Oracle || DbHelper.CurrentDbType == DbTypes.DB2)) { if (DbHelper.CurrentDbType == DbTypes.Oracle) { sqlBuilder.SetFormula(BaseMessageEntity.FieldId, "SEQ_" + this.CurrentTableName.ToUpper() + ".NEXTVAL "); } if (DbHelper.CurrentDbType == DbTypes.DB2) { sqlBuilder.SetFormula(BaseMessageEntity.FieldId, "NEXT VALUE FOR SEQ_" + this.CurrentTableName.ToUpper()); } } else { if (this.Identity && (DbHelper.CurrentDbType == DbTypes.Oracle || DbHelper.CurrentDbType == DbTypes.DB2)) { if (string.IsNullOrEmpty(baseMessageEntity.Id)) { if (string.IsNullOrEmpty(sequence)) { BaseSequenceManager sequenceManager = new BaseSequenceManager(DbHelper, this.Identity); sequence = sequenceManager.GetSequence(this.CurrentTableName); } baseMessageEntity.Id = sequence; } sqlBuilder.SetValue(BaseMessageEntity.FieldId, baseMessageEntity.Id); } } } this.SetEntity(sqlBuilder, baseMessageEntity); if (UserInfo != null) { sqlBuilder.SetValue(BaseMessageEntity.FieldCreateUserId, UserInfo.Id); sqlBuilder.SetValue(BaseMessageEntity.FieldCreateBy, UserInfo.RealName); } sqlBuilder.SetDBNow(BaseMessageEntity.FieldCreateOn); if (UserInfo != null) { sqlBuilder.SetValue(BaseMessageEntity.FieldModifiedUserId, UserInfo.Id); sqlBuilder.SetValue(BaseMessageEntity.FieldModifiedBy, UserInfo.RealName); } sqlBuilder.SetDBNow(BaseMessageEntity.FieldModifiedOn); if (this.Identity && (DbHelper.CurrentDbType == DbTypes.SqlServer || DbHelper.CurrentDbType == DbTypes.Access)) { sequence = sqlBuilder.EndInsert().ToString(); } else { sqlBuilder.EndInsert(); } return sequence; }
/// <summary> /// 添加实体 /// </summary> /// <param name="baseSequenceEntity">实体</param> public string AddEntity(BaseSequenceEntity baseSequenceEntity) { string sequence = string.Empty; this.Identity = false; if (baseSequenceEntity.Id != null) { sequence = baseSequenceEntity.Id.ToString(); } SQLBuilder sqlBuilder = new SQLBuilder(DbHelper, this.Identity, this.ReturnId); sqlBuilder.BeginInsert(this.CurrentTableName, BaseSequenceEntity.FieldId); if (!this.Identity) { if (string.IsNullOrEmpty(baseSequenceEntity.Id)) { sequence = BaseBusinessLogic.NewGuid(); baseSequenceEntity.Id = sequence; } sqlBuilder.SetValue(BaseSequenceEntity.FieldId, baseSequenceEntity.Id); } else { if (!this.ReturnId && (DbHelper.CurrentDbType == DbTypes.Oracle || DbHelper.CurrentDbType == DbTypes.DB2)) { if (DbHelper.CurrentDbType == DbTypes.Oracle) { sqlBuilder.SetFormula(BaseSequenceEntity.FieldId, "SEQ_" + this.CurrentTableName.ToUpper() + ".NEXTVAL "); } if (DbHelper.CurrentDbType == DbTypes.DB2) { sqlBuilder.SetFormula(BaseSequenceEntity.FieldId, "NEXT VALUE FOR SEQ_" + this.CurrentTableName.ToUpper()); } } else { if (this.Identity && (DbHelper.CurrentDbType == DbTypes.Oracle || DbHelper.CurrentDbType == DbTypes.DB2)) { if (string.IsNullOrEmpty(baseSequenceEntity.Id)) { if (string.IsNullOrEmpty(sequence)) { BaseSequenceManager sequenceManager = new BaseSequenceManager(DbHelper, this.Identity); sequence = sequenceManager.GetSequence(this.CurrentTableName); } baseSequenceEntity.Id = sequence; } sqlBuilder.SetValue(BaseSequenceEntity.FieldId, baseSequenceEntity.Id); } } } this.SetEntity(sqlBuilder, baseSequenceEntity); if (UserInfo != null) { sqlBuilder.SetValue(BaseSequenceEntity.FieldCreateUserId, UserInfo.Id); sqlBuilder.SetValue(BaseSequenceEntity.FieldCreateBy, UserInfo.RealName); } sqlBuilder.SetDBNow(BaseSequenceEntity.FieldCreateOn); if (UserInfo != null) { sqlBuilder.SetValue(BaseSequenceEntity.FieldModifiedUserId, UserInfo.Id); sqlBuilder.SetValue(BaseSequenceEntity.FieldModifiedBy, UserInfo.RealName); } sqlBuilder.SetDBNow(BaseSequenceEntity.FieldModifiedOn); if (this.Identity && (DbHelper.CurrentDbType == DbTypes.SqlServer || DbHelper.CurrentDbType == DbTypes.Access)) { sequence = sqlBuilder.EndInsert().ToString(); } else { sqlBuilder.EndInsert(); } return(sequence); }
public virtual bool BeforeAutoStatr(string id) { // 3:按年生成单据编号。 string sequenceCode = string.Empty; // 1:状态为空的、草稿状态、被退回状态的,才可以启动工作流 string auditStatus = this.GetProperty(id, BaseBusinessLogic.FieldAuditStatus); if (string.IsNullOrEmpty(auditStatus) || auditStatus.Equals(AuditStatus.Draft.ToString())) { /* if (!string.IsNullOrEmpty(entity.Source)) { if (newsEntity.Source.Equals("html")) { if (newsEntity.Contents.IndexOf("#DayCode#") > 0) { sequenceName = DateTime.Now.ToString("yyyyMMdd") + "_" + newsEntity.CategoryCode; sequenceCode = DateTime.Now.ToString("yyyyMMdd") + "_" + sequenceManager.GetSequence(sequenceName, 1, 3, true); entity.Contents = newsEntity.Contents.Replace("#DayCode#", sequenceCode); entity.Code = sequenceCode; } } } */ string sequenceName = this.CurrentTableName; BaseSequenceManager sequenceManager = new BaseSequenceManager(this.DbHelper, this.UserInfo); // 没系统编号,自己生成一个编号 if (string.IsNullOrEmpty(sequenceCode)) { sequenceCode = sequenceManager.GetSequence(sequenceName, 1, 6, true); // newsEntity.Code = sequenceCode; } } // 4:修改单据表的状态,这里是成功了,才可以修改状态 // newsEntity.AuditStatus = AuditStatus.StartAudit.ToString(); // newsEntity.AuditStatusName = AuditStatus.StartAudit.ToDescription(); // 5:这里需要重新走流程后才可以生效 // newsEntity.Enabled = 0; List<KeyValuePair<string, object>> parameters = new List<KeyValuePair<string, object>>(); parameters.Add(new KeyValuePair<string, object>(BaseBusinessLogic.FieldEnabled, 0)); parameters.Add(new KeyValuePair<string, object>(BaseBusinessLogic.FieldDeletionStateCode, 0)); parameters.Add(new KeyValuePair<string, object>(BaseBusinessLogic.FieldAuditStatus, AuditStatus.StartAudit.ToString())); if (!string.IsNullOrEmpty(sequenceCode)) { parameters.Add(new KeyValuePair<string, object>(BaseBusinessLogic.FieldCode, sequenceCode)); } this.SetProperty(new KeyValuePair<string, object>(this.PrimaryKey, id), parameters); return true; }
/// <summary> /// 添加实体 /// </summary> /// <param name="workFlowActivityEntity">实体</param> public string AddEntity(BaseWorkFlowStepEntity workFlowActivityEntity) { string sequence = string.Empty; if (workFlowActivityEntity.SortCode == null || workFlowActivityEntity.SortCode == 0) { BaseSequenceManager sequenceManager = new BaseSequenceManager(DbHelper, this.Identity); sequence = sequenceManager.GetSequence(this.CurrentTableName); workFlowActivityEntity.SortCode = int.Parse(sequence); } SQLBuilder sqlBuilder = new SQLBuilder(DbHelper, this.Identity, this.ReturnId); sqlBuilder.BeginInsert(this.CurrentTableName, BaseWorkFlowStepEntity.FieldId); if (!this.Identity) { sqlBuilder.SetValue(BaseWorkFlowStepEntity.FieldId, workFlowActivityEntity.Id); } else { if (!this.ReturnId && (DbHelper.CurrentDbType == DbTypes.Oracle || DbHelper.CurrentDbType == DbTypes.DB2)) { if (DbHelper.CurrentDbType == DbTypes.Oracle) { sqlBuilder.SetFormula(BaseWorkFlowStepEntity.FieldId, "SEQ_" + this.CurrentTableName.ToUpper() + ".NEXTVAL "); } if (DbHelper.CurrentDbType == DbTypes.DB2) { sqlBuilder.SetFormula(BaseWorkFlowStepEntity.FieldId, "NEXT VALUE FOR SEQ_" + this.CurrentTableName.ToUpper()); } } else { if (this.Identity && (DbHelper.CurrentDbType == DbTypes.Oracle || DbHelper.CurrentDbType == DbTypes.DB2)) { if (workFlowActivityEntity.Id == null) { if (string.IsNullOrEmpty(sequence)) { BaseSequenceManager sequenceManager = new BaseSequenceManager(DbHelper, this.Identity); sequence = sequenceManager.GetSequence(this.CurrentTableName); } workFlowActivityEntity.Id = int.Parse(sequence); } sqlBuilder.SetValue(BaseWorkFlowStepEntity.FieldId, workFlowActivityEntity.Id); } } } this.SetEntity(sqlBuilder, workFlowActivityEntity); if (UserInfo != null) { sqlBuilder.SetValue(BaseWorkFlowStepEntity.FieldCreateUserId, UserInfo.Id); sqlBuilder.SetValue(BaseWorkFlowStepEntity.FieldCreateBy, UserInfo.RealName); } sqlBuilder.SetDBNow(BaseWorkFlowStepEntity.FieldCreateOn); if (UserInfo != null) { sqlBuilder.SetValue(BaseWorkFlowStepEntity.FieldModifiedUserId, UserInfo.Id); sqlBuilder.SetValue(BaseWorkFlowStepEntity.FieldModifiedBy, UserInfo.RealName); } sqlBuilder.SetDBNow(BaseWorkFlowStepEntity.FieldModifiedOn); if (DbHelper.CurrentDbType == DbTypes.SqlServer && this.Identity) { sequence = sqlBuilder.EndInsert().ToString(); } else { sqlBuilder.EndInsert(); } return sequence; }
/// <summary> /// 重新设置表的排序码 /// </summary> /// <returns>影响行数</returns> public virtual int ResetSortCode() { int returnValue = 0; DataTable dataTable = this.GetDataTable(BaseBusinessLogic.FieldSortCode); BaseSequenceManager sequenceManager = new BaseSequenceManager(dbHelper); string[] sortCode = sequenceManager.GetBatchSequence(this.CurrentTableName, dataTable.Rows.Count); int i = 0; foreach (DataRow dataRow in dataTable.Rows) { returnValue += this.SetProperty(dataRow[BaseBusinessLogic.FieldId].ToString(), new KeyValuePair<string, object>(BaseBusinessLogic.FieldSortCode, sortCode[i])); i++; } return returnValue; }
/// <summary> /// 重置排序码 /// </summary> /// <param name="ids">主键数组</param> /// <returns>影响行数</returns> public int BatchSetSortCode(string[] ids) { int returnValue = 0; BaseSequenceManager sequenceManager = new BaseSequenceManager(dbHelper); string[] sortCodes = sequenceManager.GetBatchSequence(this.CurrentTableName, ids.Length); for (int i = 0; i < ids.Length; i++) { returnValue += this.SetProperty(ids[i], new KeyValuePair<string, object>(BaseBusinessLogic.FieldSortCode, sortCodes[i])); } return returnValue; }
/// <summary> /// 重置排序码 /// </summary> public override int ResetSortCode() { int returnValue = 0; DataTable dataTable = this.GetDataTable(); string id = string.Empty; string sortCode = string.Empty; foreach (DataRow dataRow in dataTable.Rows) { id = dataRow[BaseStaffEntity.FieldId].ToString(); BaseSequenceManager sequenceManager = new BaseSequenceManager(DbHelper); sortCode = sequenceManager.GetSequence(BaseStaffEntity.TableName); returnValue += this.SetProperty(id, new KeyValuePair<string, object>(BaseStaffEntity.FieldSortCode, sortCode)); } return returnValue; }
/// <summary> /// 重置排序码 /// </summary> /// <param name="parentId">父节点主键</param> public int ResetSortCode(string parentId) { int returnValue = 0; DataTable dataTable = this.GetDataTableByParent(parentId); string id = string.Empty; BaseSequenceManager sequenceManager = new BaseSequenceManager(DbHelper); string[] sortCode = sequenceManager.GetBatchSequence(BaseModuleEntity.TableName, dataTable.Rows.Count); int i = 0; foreach (DataRow dataRow in dataTable.Rows) { id = dataRow[BaseModuleEntity.FieldId].ToString(); returnValue += this.SetProperty(id, new KeyValuePair<string, object>(BaseModuleEntity.FieldSortCode, sortCode[i])); i++; } return returnValue; }
/// <summary> /// 添加实体 /// </summary> /// <param name="baseContactEntity">实体</param> public string AddEntity(BaseContactEntity baseContactEntity) { string sequence = string.Empty; sequence = baseContactEntity.Id; if (baseContactEntity.SortCode == 0) { BaseSequenceManager sequenceManager = new BaseSequenceManager(DbHelper, this.Identity); sequence = sequenceManager.GetSequence(this.CurrentTableName); baseContactEntity.SortCode = int.Parse(sequence); } SQLBuilder sqlBuilder = new SQLBuilder(DbHelper, this.Identity, this.ReturnId); sqlBuilder.BeginInsert(BaseContactEntity.TableName, BaseContactEntity.FieldId); if (baseContactEntity.Id is string) { this.Identity = false; } if (!this.Identity) { sqlBuilder.SetValue(BaseContactEntity.FieldId, baseContactEntity.Id); } else { if (!this.ReturnId && DbHelper.CurrentDbType == DbTypes.Oracle) { sqlBuilder.SetFormula(BaseContactEntity.FieldId, "SEQ_" + this.CurrentTableName.ToUpper() + ".NEXTVAL "); } else { if (this.Identity && DbHelper.CurrentDbType == DbTypes.Oracle) { if (string.IsNullOrEmpty(sequence)) { BaseSequenceManager sequenceManager = new BaseSequenceManager(DbHelper, this.Identity); sequence = sequenceManager.GetSequence(this.CurrentTableName); } baseContactEntity.Id = sequence; sqlBuilder.SetValue(BaseContactEntity.FieldId, baseContactEntity.Id); } } } this.SetEntity(sqlBuilder, baseContactEntity); if (UserInfo != null) { sqlBuilder.SetValue(BaseContactEntity.FieldCreateUserId, UserInfo.Id); sqlBuilder.SetValue(BaseContactEntity.FieldCreateBy, UserInfo.RealName); } sqlBuilder.SetDBNow(BaseContactEntity.FieldCreateOn); if (UserInfo != null) { sqlBuilder.SetValue(BaseContactEntity.FieldModifiedUserId, UserInfo.Id); sqlBuilder.SetValue(BaseContactEntity.FieldModifiedBy, UserInfo.RealName); } sqlBuilder.SetDBNow(BaseContactEntity.FieldModifiedOn); if (DbHelper.CurrentDbType == DbTypes.SqlServer && this.Identity) { sequence = sqlBuilder.EndInsert().ToString(); } else { sqlBuilder.EndInsert(); } return sequence; }
/// <summary> /// 添加IP地址或者Mac地址 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void btnAdd_Click(object sender, EventArgs e) { //检查输入是否有效 if (!this.CheckInput()) return; string statusCode=string.Empty; string returnValue=string.Empty; string[] nameArr = new string[2]; string[] valueArr = new string[2]; BaseParameterManager parameterManager=new BaseParameterManager(this.UserCenterDbHelper,this.UserInfo); BaseSequenceManager sequenceManager = new BaseSequenceManager(this.UserCenterDbHelper,this.UserInfo); // 增加ip List<KeyValuePair<string, object>> parameters = new List<KeyValuePair<string, object>>(); if (!string.IsNullOrEmpty(this.txtIPAddress.Text.Trim())) { parameters.Add(new KeyValuePair<string, object>(BaseParameterEntity.FieldParameterId, this.ucUser.SelectedId)); parameters.Add(new KeyValuePair<string, object>(BaseParameterEntity.FieldParameterContent, this.txtIPAddress.Text.Trim())); // 检查是否存在IpAddress if (parameterManager.Exists(parameters)) { statusCode = AppMessage.MSG0055; MessageBox.Show(statusCode, AppMessage.MSG0000, MessageBoxButtons.OK, MessageBoxIcon.Information); return; } BaseParameterEntity entityIp = new BaseParameterEntity(); entityIp.Id = sequenceManager.GetSequence(BaseParameterEntity.TableName); entityIp.CategoryId = "IPAddress"; entityIp.ParameterId = this.ucUser.SelectedId; string ipStr = this.txtIPAddress.Text.Trim(); //Range Mask 和Single 在CheckInput 方法中使用正则表达式对输入进行验证 //如果是地址段 if(ipStr.IndexOf('-')>0) { entityIp.ParameterCode = "Range";// mask range } else if (ipStr.IndexOf('*') > 0) { //如果有mask entityIp.ParameterCode = "Mask"; } else { entityIp.ParameterCode = "Single"; } //如果是单个ip entityIp.ParameterContent = this.txtIPAddress.Text.Trim(); returnValue = parameterManager.AddEntity(entityIp); if (!string.IsNullOrEmpty(returnValue)) { statusCode = AppMessage.MSG0056; } else { statusCode = AppMessage.MSG0057; } } // 增加Mac if (!string.IsNullOrEmpty(this.txtMacAddress.Text.Trim())) { parameters = new List<KeyValuePair<string, object>>(); parameters.Add(new KeyValuePair<string, object>(BaseParameterEntity.FieldParameterId, this.ucUser.SelectedId)); parameters.Add(new KeyValuePair<string, object>(BaseParameterEntity.FieldParameterContent, this.txtMacAddress.Text.Trim())); // 检查是否存在MacAddress if (parameterManager.Exists(parameters)) { statusCode = AppMessage.MSG0058; MessageBox.Show(statusCode, AppMessage.MSG0000, MessageBoxButtons.OK, MessageBoxIcon.Information); return; } BaseParameterEntity entityMac = new BaseParameterEntity(); entityMac.Id = sequenceManager.GetSequence(BaseParameterEntity.TableName); entityMac.CategoryId = "MacAddress"; entityMac.ParameterId = this.ucUser.SelectedId; entityMac.ParameterCode = "Single"; entityMac.ParameterContent = this.txtMacAddress.Text.Trim(); returnValue = parameterManager.AddEntity(entityMac); if (!string.IsNullOrEmpty(returnValue)) { statusCode += AppMessage.MSG0059; } else { statusCode += AppMessage.MSG0061; } } MessageBox.Show(statusCode, AppMessage.MSG0000, MessageBoxButtons.OK, MessageBoxIcon.Information); // 重新绑定listbox this.GetIpList(this.ucUser.SelectedId); this.GetMacList(this.ucUser.SelectedId); this.CleanScreen(); }
/// <summary> /// 批量重置序列 /// </summary> /// <param name="userInfo">用户</param> /// <param name="ids">主键数组</param> /// <returns>影响行数</returns> public int Reset(BaseUserInfo userInfo, string[] ids) { // 写入调试信息 #if (DEBUG) int milliStart = BaseBusinessLogic.StartDebug(userInfo, MethodBase.GetCurrentMethod()); #endif // 加强安全验证防止未授权匿名调用 #if (!DEBUG) LogOnService.UserIsLogOn(userInfo); #endif int returnValue = 0; using (IDbHelper dbHelper = DbHelperFactory.GetHelper(BaseSystemInfo.UserCenterDbType)) { try { dbHelper.Open(UserCenterDbConnection); BaseSequenceManager sequenceManager = new BaseSequenceManager(dbHelper); returnValue = sequenceManager.Reset(ids); BaseLogManager.Instance.Add(dbHelper, userInfo, this.serviceName, AppMessage.SequenceService_Reset, MethodBase.GetCurrentMethod()); } catch (Exception ex) { BaseExceptionManager.LogException(dbHelper, userInfo, ex); throw ex; } finally { dbHelper.Close(); } } // 写入调试信息 #if (DEBUG) BaseBusinessLogic.EndDebug(MethodBase.GetCurrentMethod(), milliStart); #endif return returnValue; }
/// <summary> /// 添加日志 /// </summary> /// <param name="logEntity">日志对象</param> /// <returns>主键</returns> public int AddEntity(BaseLogEntity logEntity) { int returnValue = 0; // if (!BaseSystemInfo.RecordLog) // { // return string.Empty; // } // 由于并发控制,没有能获得有效ID的错误处理,测试一下错误发生的数量。 // if (Log.ID.Length == 0) // { // return returnValue; // } // string sequence = BaseSequenceManager.Instance.GetSequence(DbHelper, BaseLogEntity.TableName); // string sequence = BaseSequenceManager.Instance.NewGuid(); string sequence = string.Empty; SQLBuilder sqlBuilder = new SQLBuilder(DbHelper); if (DbHelper.CurrentDbType == DbTypes.Access) // sqlBuilder.BeginInsert(this.CurrentTableName, "LogId", this.Identity); { // 写入日志 04-24 dbHelper.Open(BaseSystemInfo.UserCenterDbConnection); // 用户已经不存在的需要整理干净,防止数据不完整。 string sqlQuery = " INSERT INTO [BaseLog]([ProcessId],[ProcessName],[MethodId] " + " ,[MethodName],[Parameters],[UserId],[UserRealName],[IPAddress],[UrlReferrer],[WebUrl],[Description],[CreateOn],[ModifiedOn]) VALUES " + "( '" + logEntity.ProcessId + "','" + logEntity.ProcessName + "','" + logEntity.MethodId.ToString() + "','" + logEntity.MethodName + "','" + logEntity.Parameters + "','" + logEntity.UserId + "','" + logEntity.UserRealName + "','" + logEntity.IPAddress + "','" + logEntity.UrlReferrer + "','" + logEntity.WebUrl + " ','" + logEntity.Description + "'," + DbHelper.GetDBNow() + "," + DbHelper.GetDBNow() + ")"; return dbHelper.ExecuteNonQuery(sqlQuery); ; } else sqlBuilder.BeginInsert(this.CurrentTableName, this.Identity); if (!this.Identity) { sqlBuilder.SetValue(BaseLogEntity.FieldId, logEntity.Id); } else { if (!this.ReturnId && (DbHelper.CurrentDbType == DbTypes.Oracle || DbHelper.CurrentDbType == DbTypes.DB2)) { if (DbHelper.CurrentDbType == DbTypes.Oracle) { sqlBuilder.SetFormula(BaseLogEntity.FieldId, "SEQ_" + this.CurrentTableName.ToUpper() + ".NEXTVAL "); } if (DbHelper.CurrentDbType == DbTypes.DB2) { sqlBuilder.SetFormula(BaseLogEntity.FieldId, "NEXT VALUE FOR SEQ_" + this.CurrentTableName.ToUpper()); } } else { if (this.Identity && (DbHelper.CurrentDbType == DbTypes.Oracle || DbHelper.CurrentDbType == DbTypes.DB2)) { if (string.IsNullOrEmpty(logEntity.Id)) { if (string.IsNullOrEmpty(sequence)) { BaseSequenceManager sequenceManager = new BaseSequenceManager(DbHelper, this.Identity); sequence = sequenceManager.GetSequence(this.CurrentTableName); } logEntity.Id = sequence; } sqlBuilder.SetValue(BaseLogEntity.FieldId, logEntity.Id); } } } if (String.IsNullOrEmpty(logEntity.UserId)) { logEntity.UserId = logEntity.IPAddress; } sqlBuilder.SetValue(BaseLogEntity.FieldUserId, logEntity.UserId); sqlBuilder.SetValue(BaseLogEntity.FieldUserRealName, logEntity.UserRealName); sqlBuilder.SetValue(BaseLogEntity.FieldProcessId, logEntity.ProcessId); sqlBuilder.SetValue(BaseLogEntity.FieldProcessName, logEntity.ProcessName); sqlBuilder.SetValue(BaseLogEntity.FieldMethodId, logEntity.MethodId); sqlBuilder.SetValue(BaseLogEntity.FieldMethodName, logEntity.MethodName); sqlBuilder.SetValue(BaseLogEntity.FieldParameters, logEntity.Parameters); sqlBuilder.SetValue(BaseLogEntity.FieldUrlReferrer, logEntity.UrlReferrer); sqlBuilder.SetValue(BaseLogEntity.FieldWebUrl, logEntity.WebUrl); sqlBuilder.SetValue(BaseLogEntity.FieldIPAddress, logEntity.IPAddress); sqlBuilder.SetValue(BaseLogEntity.FieldDescription, logEntity.Description); //if (logEntity.CreateUserId.Length == 0) //{ // logEntity.CreateUserId = logEntity.IPAddress; //} //sqlBuilder.SetValue(BaseLogEntity.FieldCreateUserId, logEntity.CreateUserId); sqlBuilder.SetDBNow(BaseLogEntity.FieldCreateOn); // return sqlBuilder.EndInsert() > 0 ? sequence : string.Empty; if (DbHelper.CurrentDbType == DbTypes.SqlServer) { returnValue = sqlBuilder.EndInsert(); } else { sqlBuilder.EndInsert(); if (this.ReturnId)//如果需要反回值 { returnValue = int.Parse(logEntity.Id); } else { returnValue = 0; } } return returnValue; }
/// <summary> /// 添加序列 /// </summary> /// <param name="userInfo">用户</param> /// <param name="sequenceEntity">序列实体</param> /// <param name="statusCode">状态码</param> /// <param name="statusMessage">状态信息</param> /// <returns>主键</returns> public string Add(BaseUserInfo userInfo, BaseSequenceEntity sequenceEntity, out string statusCode, out string statusMessage) { // 写入调试信息 #if (DEBUG) int milliStart = BaseBusinessLogic.StartDebug(userInfo, MethodBase.GetCurrentMethod()); #endif // 加强安全验证防止未授权匿名调用 #if (!DEBUG) LogOnService.UserIsLogOn(userInfo); #endif string returnValue = string.Empty; statusCode = string.Empty; statusMessage = string.Empty; using (IDbHelper dbHelper = DbHelperFactory.GetHelper(BaseSystemInfo.UserCenterDbType)) { try { dbHelper.Open(UserCenterDbConnection); BaseSequenceManager sequenceManager = new BaseSequenceManager(dbHelper, userInfo); // 调用方法,并且返回运行结果 returnValue = sequenceManager.Add(sequenceEntity, out statusCode); // returnValue = businessCardManager.Add(businessCardEntity, out statusCode); statusMessage = sequenceManager.GetStateMessage(statusCode); BaseLogManager.Instance.Add(dbHelper, userInfo, this.serviceName, AppMessage.SequenceService_Add, MethodBase.GetCurrentMethod()); } catch (Exception ex) { BaseExceptionManager.LogException(dbHelper, userInfo, ex); throw ex; } finally { dbHelper.Close(); } } // 写入调试信息 #if (DEBUG) BaseBusinessLogic.EndDebug(MethodBase.GetCurrentMethod(), milliStart); #endif return returnValue; }
/// <summary> /// 添加 /// </summary> /// <param name="workReportEntity">实体</param> /// <returns>主键</returns> private string AddEntity(BaseWorkReportEntity workReportEntity) { string returnValue = string.Empty; BaseSequenceManager sequenceManager = new BaseSequenceManager(DbHelper); string sequence = sequenceManager.GetSequence(BaseWorkReportTable.TableName); workReportEntity.SortCode = sequence; //获取职员的部门主键和公司主键 BaseStaffManager staffManager = new BaseStaffManager(DbHelper, UserInfo); string CompanyId = staffManager.GetProperty(workReportEntity.StaffId, BaseStaffTable.FieldCompanyId); string DepartmentId = staffManager.GetProperty(workReportEntity.StaffId, BaseStaffTable.FieldDepartmentId); SQLBuilder sqlBuilder = new SQLBuilder(DbHelper); sqlBuilder.BeginInsert(BaseWorkReportTable.TableName); sqlBuilder.SetValue(BaseWorkReportTable.FieldId, sequence); sqlBuilder.SetValue(BaseWorkReportTable.FieldCompanyId, CompanyId); sqlBuilder.SetValue(BaseWorkReportTable.FieldDepartmentId, DepartmentId); this.SetEntity(sqlBuilder, workReportEntity); sqlBuilder.SetValue(BaseWorkReportTable.FieldCreateUserId, UserInfo.Id); sqlBuilder.SetDBNow(BaseWorkReportTable.FieldCreateOn); returnValue = sqlBuilder.EndInsert() > 0 ? sequence : string.Empty; return returnValue; }
public int Grant(string[] userIds, string[] permissionItemIds) { int returnValue = 0; BaseSequenceManager sequenceManager = new BaseSequenceManager(DbHelper); string[] sequenceIds = sequenceManager.GetBatchSequence(BasePermissionEntity.TableName, userIds.Length * permissionItemIds.Length); BasePermissionManager permissionManager = new BasePermissionManager(DbHelper, UserInfo, this.CurrentTableName); for (int i = 0; i < userIds.Length; i++) { for (int j = 0; j < permissionItemIds.Length; j++) { this.Grant(permissionManager, sequenceIds[i * permissionItemIds.Length + j], userIds[i], permissionItemIds[j]); returnValue++; } } return returnValue; }
/// <summary> /// 设置当前所有选中的记录为隐藏状态 /// </summary> /// <returns>设置更新成功</returns> private bool SetInvisible() { bool returnValue = false; string statusCode = string.Empty; string statusMessage = string.Empty; // 检查至少要选择一个 if (!BaseInterfaceLogic.CheckInputSelectAnyOne(this.grdSequence, "colSelected")) { return returnValue; } int selectedCount = 0; BaseSequenceEntity sequenceEntity = new BaseSequenceEntity(); BaseSequenceManager sequenceManager = new BaseSequenceManager(this.UserInfo); foreach (DataGridViewRow dgvRow in grdSequence.Rows) { DataRow dataRow = (dgvRow.DataBoundItem as DataRowView).Row; if (dataRow.RowState != DataRowState.Deleted) { if ((System.Boolean)(dgvRow.Cells["colSelected"].Value ?? false)) { sequenceEntity = new BaseSequenceEntity(dataRow); // 记录BaseSequence不能被隐藏 if (!sequenceEntity.FullName.Equals("BaseSequence")) { selectedCount++; sequenceEntity.IsVisible = 0; //sequenceManager.Update(sequenceEntity);该方法调用不成,所以使用了下面调用服务方法更新,待优化 int rowCount = DotNetService.Instance.SequenceService.Update(UserInfo, sequenceEntity, out statusCode, out statusMessage); } else { MessageBox.Show(AppMessage.Format(AppMessage.MSG0018, "BaseSequence"), AppMessage.MSG0020, MessageBoxButtons.OK, MessageBoxIcon.Information); return returnValue; } } } } // 被选中记录中被设置隐藏的次数 returnValue = selectedCount > 0; if (!returnValue) { MessageBox.Show(AppMessage.MSG0024, AppMessage.MSG0000, MessageBoxButtons.OK, MessageBoxIcon.Information); } return returnValue; }