59 lines
1.4 KiB
C#
59 lines
1.4 KiB
C#
using System.Collections.Generic;
|
|
|
|
namespace TBF.Rig.Output.DataStorage.UniDataStorageWriter.Interfaces
|
|
{
|
|
/// <summary>
|
|
/// Request for write operation.
|
|
/// Contains batch of write items.
|
|
/// </summary>
|
|
public class DataWriteRequest
|
|
{
|
|
public DataWriteRequest()
|
|
{
|
|
InsertItems = new List<InsertWriteItem>();
|
|
UpdateItems = new List<UpdateWriteItem>();
|
|
Mode = WriteMode.Insert;
|
|
}
|
|
|
|
public string TargetName { get; set; }
|
|
|
|
public WriteMode Mode { get; set; }
|
|
|
|
public List<InsertWriteItem> InsertItems { get; private set; }
|
|
|
|
public List<UpdateWriteItem> UpdateItems { get; private set; }
|
|
}
|
|
|
|
public enum WriteMode
|
|
{
|
|
Insert,
|
|
Update,
|
|
Upsert,
|
|
Append
|
|
}
|
|
|
|
public class InsertWriteItem
|
|
{
|
|
public string ColumnName { get; set; }
|
|
public string Value { get; set; }
|
|
|
|
public override string ToString()
|
|
{
|
|
return $"{ColumnName} = {Value}";
|
|
}
|
|
}
|
|
|
|
public class UpdateWriteItem
|
|
{
|
|
public string WhereParameterName { get; set; }
|
|
public string WhereValue { get; set; }
|
|
|
|
public string SetParameterName { get; set; }
|
|
public string SetValue { get; set; }
|
|
|
|
public override string ToString()
|
|
{
|
|
return $"WHERE {WhereParameterName} = {WhereValue} -> SET {SetParameterName} = {SetValue}";
|
|
}
|
|
}
|
|
} |