/// <summary> /// 更新 /// </summary> /// <param name="folderEntity">文件夹的基类表结构定义</param> /// <param name="statusCode">状态返回码</param> /// <returns>影响行数</returns> public int Update(CiFolderEntity folderEntity, out string statusCode) { var returnValue = 0; //if (DbLogic.IsModifed(DBProvider, CiFolderTable.TableName, folderEntity.Id, folderEntity.ModifiedUserId, folderEntity.ModifiedOn)) //{ // // 数据已经被修改 // statusCode = StatusCode.ErrorChanged.ToString(); //} //else //{ // 检查文件夹名是否重复 if (this.Exists(CiFolderTable.FieldParentId, folderEntity.ParentId, CiFolderTable.FieldFolderName, folderEntity.FolderName, folderEntity.Id)) { // 文件夹名已重复 statusCode = StatusCode.ErrorNameExist.ToString(); } else { returnValue = this.UpdateEntity(folderEntity); statusCode = returnValue == 1 ? StatusCode.OKUpdate.ToString() : StatusCode.ErrorDeleted.ToString(); } //} return(returnValue); }
/// <summary> /// 设置实体 /// </summary> /// <param name="sqlBuilder">SQL生成器</param> /// <param name="folderEntity">实体对象</param> private void SetEntity(SQLBuilder sqlBuilder, CiFolderEntity folderEntity) { sqlBuilder.SetValue(CiFolderTable.FieldParentId, folderEntity.ParentId); sqlBuilder.SetValue(CiFolderTable.FieldFolderName, folderEntity.FolderName); sqlBuilder.SetValue(CiFolderTable.FieldSortCode, folderEntity.SortCode); sqlBuilder.SetValue(CiFolderTable.FieldDescription, folderEntity.Description); sqlBuilder.SetValue(CiFolderTable.FieldEnabled, folderEntity.Enabled); }
/// <summary> /// Update 更新的主键 /// </summary> /// <param name="folderEntity">文件夹对象</param> /// <returns>影响行数</returns> public int UpdateEntity(CiFolderEntity folderEntity) { var sqlBuilder = new SQLBuilder(DBProvider); sqlBuilder.BeginUpdate(CiFolderTable.TableName); this.SetEntity(sqlBuilder, folderEntity); sqlBuilder.SetValue(CiFolderTable.FieldModifiedUserId, UserInfo.Id); sqlBuilder.SetValue(CiFolderTable.FieldModifiedBy, UserInfo.RealName); sqlBuilder.SetDBNow(CiFolderTable.FieldModifiedOn); sqlBuilder.SetWhere(CiFolderTable.FieldId, folderEntity.Id); return(sqlBuilder.EndUpdate()); }
/// <summary> /// 获取实体 /// </summary> /// <param name="userInfo">用户</param> /// <param name="id">主键</param> /// <returns>实体</returns> public CiFolderEntity GetEntity(UserInfo userInfo, string id) { CiFolderEntity folderEntity = null; var parameter = ParameterUtil.CreateWithMessage(userInfo, MethodBase.GetCurrentMethod(), this.serviceName, string.Empty); parameter.IsAddLog = false; ServiceUtil.ProcessRDIReadDb(userInfo, parameter, dbProvider => { var folderManager = new CiFolderManager(dbProvider, userInfo); folderEntity = folderManager.GetEntity(id); }); return(folderEntity); }
/// <summary> /// 添加 /// </summary> /// <param name="folderEntity">文件夹的基类表结构定义</param> /// <param name="statusCode">状态返回码</param> /// <returns>主键</returns> public string Add(CiFolderEntity folderEntity, out string statusCode) { var returnValue = string.Empty; // 检查文件夹名是否重复 if (this.Exists(CiFolderTable.FieldParentId, folderEntity.ParentId, CiFolderTable.FieldFolderName, folderEntity.FolderName)) { // 文件夹名已重复 statusCode = StatusCode.ErrorNameExist.ToString(); } else { returnValue = this.AddEntity(folderEntity); // 运行成功 statusCode = StatusCode.OKAdd.ToString(); } return(returnValue); }
/// <summary> /// Add 添加的主键 /// </summary> /// <param name="folderEntity">文件夹对象</param> /// <returns>主键</returns> public string AddEntity(CiFolderEntity folderEntity) { var sequence = string.Empty; if (folderEntity.SortCode == null || folderEntity.SortCode == 0) { var sequenceManager = new CiSequenceManager(DBProvider, this.Identity); sequence = sequenceManager.GetSequence(this.CurrentTableName, sequenceManager.DefaultSequence); folderEntity.SortCode = BusinessLogic.ConvertToNullableInt32(sequence); } this.Identity = false; var sqlBuilder = new SQLBuilder(DBProvider, this.Identity, this.ReturnId); sqlBuilder.BeginInsert(CiFolderTable.TableName, CiFolderTable.FieldId); if (!this.Identity) { if (string.IsNullOrEmpty(folderEntity.Id)) { sequence = BusinessLogic.NewGuid(); folderEntity.Id = sequence; } sqlBuilder.SetValue(CiFolderTable.FieldId, folderEntity.Id); } this.SetEntity(sqlBuilder, folderEntity); sqlBuilder.SetValue(CiFolderTable.FieldCreateUserId, UserInfo.Id); sqlBuilder.SetValue(CiFolderTable.FieldCreateBy, UserInfo.RealName); sqlBuilder.SetDBNow(CiFolderTable.FieldCreateOn); sqlBuilder.SetValue(CiFolderTable.FieldModifiedUserId, UserInfo.Id); sqlBuilder.SetValue(CiFolderTable.FieldModifiedBy, UserInfo.RealName); sqlBuilder.SetDBNow(CiFolderTable.FieldModifiedOn); if (this.Identity && (DBProvider.CurrentDbType == CurrentDbType.SqlServer || DBProvider.CurrentDbType == CurrentDbType.Access)) { sequence = sqlBuilder.EndInsert().ToString(); } else { sqlBuilder.EndInsert(); } return(sequence); }
/// <summary> /// 批量进行保存 /// </summary> /// <param name="dataTable">数据表</param> /// <returns>影响行数</returns> public override int BatchSave(DataTable dataTable) { var returnValue = 0; var folderEntity = new CiFolderEntity(); foreach (DataRow dataRow in dataTable.Rows) { // 删除状态 if (dataRow.RowState == DataRowState.Deleted) { var id = dataRow[CiFolderTable.FieldId, DataRowVersion.Original].ToString(); if (id.Length > 0) { returnValue += this.DeleteEntity(id); } } // 被修改过 if (dataRow.RowState == DataRowState.Modified) { var id = dataRow[CiFolderTable.FieldId, DataRowVersion.Original].ToString(); if (id.Length > 0) { folderEntity.GetFrom(dataRow); returnValue += this.UpdateEntity(folderEntity); } } // 添加状态 if (dataRow.RowState == DataRowState.Added) { this.GetFrom(dataRow); returnValue += this.AddEntity(folderEntity).Length > 0 ? 1 : 0; } if (dataRow.RowState == DataRowState.Unchanged) { continue; } if (dataRow.RowState == DataRowState.Detached) { continue; } } return(returnValue); }
/// <summary> /// 更新文件夹 /// </summary> /// <param name="userInfo">用户</param> /// <param name="folderEntity">文件夹</param> /// <param name="statusCode">状态码</param> /// <param name="statusMessage">状态信息</param> /// <returns>影响行数</returns> public int Update(UserInfo userInfo, CiFolderEntity folderEntity, out string statusCode, out string statusMessage) { string returnCode = string.Empty; string returnMessage = string.Empty; int returnValue = 0; var parameter = ParameterUtil.CreateWithMessage(userInfo, MethodBase.GetCurrentMethod(), this.serviceName, string.Empty); parameter.IsAddLog = false; ServiceUtil.ProcessRDIReadDb(userInfo, parameter, dbProvider => { var folderManager = new CiFolderManager(dbProvider, userInfo); returnValue = folderManager.Update(folderEntity, out returnCode); returnMessage = folderManager.GetStateMessage(returnCode); }); statusCode = returnCode; statusMessage = returnMessage; return(returnValue); }
/// <summary> /// 添加 /// </summary> /// <param name="userInfo">用户</param> /// <param name="parentId">父主键</param> /// <param name="folderName">文件夹名称</param> /// <param name="enabled">有效</param> /// <param name="statusCode">状态码</param> /// <param name="statusMessage">状态信息</param> /// <returns></returns> public string AddByFolderName(UserInfo userInfo, string parentId, string folderName, bool enabled, out string statusCode, out string statusMessage) { string returnCode = string.Empty; string returnMessage = string.Empty; string returnValue = string.Empty; var parameter = ParameterUtil.CreateWithMessage(userInfo, MethodBase.GetCurrentMethod(), this.serviceName, string.Empty); parameter.IsAddLog = false; ServiceUtil.ProcessRDIReadDb(userInfo, parameter, dbProvider => { var folderEntity = new CiFolderEntity(); var folderManager = new CiFolderManager(dbProvider, userInfo); folderEntity.ParentId = parentId; folderEntity.FolderName = folderName; folderEntity.Enabled = enabled ? 1: 0; returnValue = folderManager.Add(folderEntity, out returnCode); returnMessage = folderManager.GetStateMessage(returnCode); }); statusCode = returnCode; statusMessage = returnMessage; return(returnValue); }
/// <summary> /// 重命名 /// </summary> /// <param name="userInfo">用户</param> /// <param name="id">主键</param> /// <param name="newName">新名称</param> /// <param name="enabled">有效</param> /// <param name="statusCode">状态码</param> /// <param name="statusMessage">状态信息</param> /// <returns>影响行数</returns> public int Rename(UserInfo userInfo, string id, string newName, bool enabled, out string statusCode, out string statusMessage) { string returnCode = string.Empty; string returnMessage = string.Empty; int returnValue = 0; var parameter = ParameterUtil.CreateWithMessage(userInfo, MethodBase.GetCurrentMethod(), this.serviceName, string.Empty); parameter.IsAddLog = false; ServiceUtil.ProcessRDIReadDb(userInfo, parameter, dbProvider => { var folderEntity = new CiFolderEntity(); var folderManager = new CiFolderManager(dbProvider, userInfo); DataTable dataTable = folderManager.GetDTById(id); folderEntity.GetFrom(dataTable); folderEntity.FolderName = newName; folderEntity.Enabled = enabled ? 1 : 0; returnValue = folderManager.Update(folderEntity, out returnCode); returnMessage = folderManager.GetStateMessage(returnCode); }); statusCode = returnCode; statusMessage = returnMessage; return(returnValue); }