/// <summary>
        /// 批量进行保存
        /// </summary>
        /// <param name="dataTable">数据表</param>
        /// <returns>影响行数</returns>
        public override int BatchSave(DataTable dataTable)
        {
            var returnValue = 0;
            var fileEntity  = new CiFileEntity();

            foreach (DataRow dataRow in dataTable.Rows)
            {
                // 删除状态
                if (dataRow.RowState == DataRowState.Deleted)
                {
                    var id = dataRow[CiFileTable.FieldId, DataRowVersion.Original].ToString();
                    if (id.Length > 0)
                    {
                        returnValue += this.Delete(id);
                    }
                }
                // 被修改过
                if (dataRow.RowState == DataRowState.Modified)
                {
                    var id = dataRow[CiFileTable.FieldId, DataRowVersion.Original].ToString();
                    if (id.Length > 0)
                    {
                        fileEntity.GetFrom(dataRow);
                        // 判断是否允许编辑
                        returnValue += this.UpdateEntity(fileEntity);
                    }
                }
                // 添加状态
                if (dataRow.RowState == DataRowState.Added)
                {
                    fileEntity.GetFrom(dataRow);
                    returnValue += this.AddEntity(fileEntity).Length > 0 ? 1 : 0;
                }
                if (dataRow.RowState == DataRowState.Unchanged)
                {
                    continue;
                }
                if (dataRow.RowState == DataRowState.Detached)
                {
                    continue;
                }
            }
            return(returnValue);
        }
Exemple #2
0
        /// <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.CreateWithLog(userInfo, MethodBase.GetCurrentMethod());

            ServiceUtil.ProcessRDIReadDb(userInfo, parameter, dbProvider =>
            {
                var fileEntity  = new CiFileEntity();
                var fileManager = new CiFileManager(dbProvider, userInfo);
                var dataTable   = fileManager.GetDTById(id);
                fileEntity.GetFrom(dataTable);
                fileEntity.FileName = newName;
                fileEntity.Enabled  = enabled ? 1 : 0;
                returnValue         = fileManager.Update(fileEntity, out returnCode);
                returnMessage       = fileManager.GetStateMessage(returnCode);
            });

            statusCode    = returnCode;
            statusMessage = returnMessage;
            return(returnValue);
        }