tbf/TBF/Rig/Output/DataStorage/UniDataStorageWriter/Interfaces/DataWriteRequest.cs

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}";
}
}
}