/// <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="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); }