Beispiel #1
0
        /// <summary>
        /// UploadFileHandleRecord 数据赋值
        /// </summary>
        /// <param name="record"></param>
        /// <param name="reader"></param>
        /// <param name="prefix"></param>
        public static void SetUploadFileHandleRecordFields(UploadFileHandleRecord record, DbDataReader reader, string prefix)
        {
            if (reader[string.Format("{0}id", prefix)] != DBNull.Value)
            {
                record.ID = (Guid)reader[string.Format("{0}id", prefix)];
            }

            if (reader[string.Format("{0}UploadFileId", prefix)] != DBNull.Value)
            {
                record.UploadFileId = (Guid)reader[string.Format("{0}UploadFileId", prefix)];
            }

            if (reader[string.Format("{0}ConfigurationName", prefix)] != DBNull.Value)
            {
                record.ConfigurationName = reader[string.Format("{0}ConfigurationName", prefix)].ToString();
            }

            if (reader[string.Format("{0}Error", prefix)] != DBNull.Value)
            {
                record.Error = reader[string.Format("{0}Error", prefix)].ToString();
            }

            if (reader[string.Format("{0}status", prefix)] != DBNull.Value)
            {
                record.Status = int.Parse(reader[string.Format("{0}status", prefix)].ToString());
            }

            if (reader[string.Format("{0}UploadFileRegardingType", prefix)] != DBNull.Value)
            {
                record.UploadFileRegardingType = reader[string.Format("{0}UploadFileRegardingType", prefix)].ToString();
            }

            if (reader[string.Format("{0}UploadFileRegardingKey", prefix)] != DBNull.Value)
            {
                record.UploadFileRegardingKey = reader[string.Format("{0}UploadFileRegardingKey", prefix)].ToString();
            }

            if (reader[string.Format("{0}ExtensionInfo", prefix)] != DBNull.Value)
            {
                record.ExtensionInfo = reader[string.Format("{0}ExtensionInfo", prefix)].ToString();
            }

            if (reader[string.Format("{0}ResultInfo", prefix)] != DBNull.Value)
            {
                record.ResultInfo = reader[string.Format("{0}ResultInfo", prefix)].ToString();
            }

            if (reader[string.Format("{0}createtime", prefix)] != DBNull.Value)
            {
                record.CreateTime = (DateTime)reader[string.Format("{0}createtime", prefix)];
            }

            if (reader[string.Format("{0}modifytime", prefix)] != DBNull.Value)
            {
                record.ModifyTime = (DateTime)reader[string.Format("{0}modifytime", prefix)];
            }
        }
        public async Task <UploadFileHandleRecord> QueryId(Guid recordId)
        {
            UploadFileHandleRecord record = null;

            await DBTransactionHelper.SqlTransactionWorkAsync(DBTypes.SqlServer, false, false, _fileManagementConnectionFactory.CreateAllForUploadFileHandle(), async (conn, transaction) =>
            {
                SqlTransaction sqlTran = null;
                if (transaction != null)
                {
                    sqlTran = (SqlTransaction)transaction;
                }
                await  using (SqlCommand command = new SqlCommand()
                {
                    Connection = (SqlConnection)conn,
                    CommandType = CommandType.Text,
                    CommandText = string.Format(@"SELECT {0} FROM UploadFileHandleRecord WHERE id=@id", StoreHelper.GetUploadFileHandleRecordSelectFields(string.Empty)),
                    Transaction = sqlTran,
                })
                {
                    var parameter = new SqlParameter("@id", SqlDbType.UniqueIdentifier)
                    {
                        Value = recordId
                    };
                    command.Parameters.Add(parameter);
                    await command.PrepareAsync();
                    SqlDataReader reader = null;

                    using (reader = await command.ExecuteReaderAsync())
                    {
                        if (await reader.ReadAsync())
                        {
                            record = new UploadFileHandleRecord();

                            StoreHelper.SetUploadFileHandleRecordFields(record, reader, string.Empty);
                        }
                        await reader.CloseAsync();
                    }
                }
            });

            return(record);
        }
        public async Task Add(UploadFileHandleRecord record)
        {
            await DBTransactionHelper.SqlTransactionWorkAsync(DBTypes.SqlServer, false, false, _fileManagementConnectionFactory.CreateAllForUploadFileHandle(), async (conn, transaction) =>
            {
                //新增
                SqlTransaction sqlTran = null;
                if (transaction != null)
                {
                    sqlTran = (SqlTransaction)transaction;
                }
                await using (SqlCommand command = new SqlCommand()
                {
                    Connection = (SqlConnection)conn,
                    CommandType = CommandType.Text,
                    Transaction = sqlTran,
                })
                {
                    SqlParameter parameter;
                    if (record.ID == Guid.Empty)
                    {
                        command.CommandText = @"
                                               insert into [UploadFileHandleRecord]
                                                (
	                                                  [id]
                                                      ,[UploadFileId]
                                                      ,[ConfigurationName]
                                                      ,[Error]
                                                      ,[Status]
                                                      ,[UploadFileRegardingType]
                                                      ,[UploadFileRegardingKey]
                                                      ,[ExtensionInfo]
                                                      ,[ResultInfo]
                                                      ,[createtime]
                                                      ,[modifytime]
                                                 )
                                                 values
                                                 (
	                                                 default
	                                                 ,@UploadFileId
                                                     ,@ConfigurationName
                                                     ,@Error
                                                     ,@Status
                                                     ,@UploadFileRegardingType
                                                     ,@UploadFileRegardingKey
                                                     ,@ExtensionInfo
                                                     ,@ResultInfo
	                                                 ,GETUTCDATE()
	                                                 ,GETUTCDATE()
                                                 );
                                                select @newid =[id] from UploadFileHandleRecord where [sequence] = SCOPE_IDENTITY()";
                        parameter           = new SqlParameter("@newid", SqlDbType.UniqueIdentifier)
                        {
                            Direction = ParameterDirection.Output
                        };
                        command.Parameters.Add(parameter);
                    }
                    else
                    {
                        command.CommandText = @"insert into[UploadFileHandleRecord]
                                                (

                                                      [id]
                                                      ,[UploadFileId]
                                                      ,[ConfigurationName]
                                                      ,[Error]
                                                      ,[Status]
                                                      ,[UploadFileRegardingType]
                                                      ,[UploadFileRegardingKey]
                                                      ,[ExtensionInfo]
                                                      ,[ResultInfo]
                                                      ,[createtime]
                                                      ,[modifytime]
                                                 )
                                                 values
                                                 (
                                                     @id
                                                     , @UploadFileId
                                                     , @ConfigurationName
                                                     , @Error
                                                     , @Status
                                                     , @UploadFileRegardingType
                                                     , @UploadFileRegardingKey
                                                     , @ExtensionInfo
                                                     , @ResultInfo
                                                     , GETUTCDATE()
                                                     , GETUTCDATE()
                                                 )";

                        parameter = new SqlParameter("@id", SqlDbType.UniqueIdentifier)
                        {
                            Value = record.ID
                        };
                        command.Parameters.Add(parameter);
                    }

                    parameter = new SqlParameter("@UploadFileId", SqlDbType.UniqueIdentifier)
                    {
                        Value = record.UploadFileId
                    };
                    command.Parameters.Add(parameter);

                    parameter = new SqlParameter("@ConfigurationName", SqlDbType.NVarChar, 2000)
                    {
                        Value = record.ConfigurationName
                    };
                    command.Parameters.Add(parameter);
                    parameter = new SqlParameter("@Error", SqlDbType.NVarChar, -1)
                    {
                        Value = (object)record.Error ?? DBNull.Value
                    };
                    command.Parameters.Add(parameter);
                    parameter = new SqlParameter("@Status", SqlDbType.Int)
                    {
                        Value = record.Status
                    };
                    command.Parameters.Add(parameter);

                    parameter = new SqlParameter("@UploadFileRegardingType", SqlDbType.NVarChar, 500)
                    {
                        Value = record.UploadFileRegardingType
                    };
                    command.Parameters.Add(parameter);

                    parameter = new SqlParameter("@UploadFileRegardingKey", SqlDbType.NVarChar, 500)
                    {
                        Value = record.UploadFileRegardingKey
                    };
                    command.Parameters.Add(parameter);

                    parameter = new SqlParameter("@ExtensionInfo", SqlDbType.NVarChar, 2000)
                    {
                        Value = (object)record.ExtensionInfo ?? DBNull.Value
                    };
                    command.Parameters.Add(parameter);

                    parameter = new SqlParameter("@ResultInfo", SqlDbType.NVarChar, 2000)
                    {
                        Value = (object)record.ResultInfo ?? DBNull.Value
                    };
                    command.Parameters.Add(parameter);


                    await command.PrepareAsync();


                    await command.ExecuteNonQueryAsync();


                    //如果用户未赋值ID则创建成功后返回ID
                    if (record.ID == Guid.Empty)
                    {
                        record.ID = (Guid)command.Parameters["@newid"].Value;
                    }
                    ;
                }
            });
        }