28 lines
801 B
C#
28 lines
801 B
C#
|
using System.Reflection;
|
|||
|
using Tanshu.Accounts.Entities;
|
|||
|
|
|||
|
namespace Tanshu.Common.Helpers
|
|||
|
{
|
|||
|
public enum VoucherFields
|
|||
|
{
|
|||
|
CreationDate,
|
|||
|
LastEditDate,
|
|||
|
Date,
|
|||
|
BillID,
|
|||
|
KotID
|
|||
|
}
|
|||
|
public static class ReflectionHelper
|
|||
|
{
|
|||
|
public static void SetValue(this Voucher voucher, VoucherFields field, object value)
|
|||
|
{
|
|||
|
var fi = typeof(Voucher).GetField(ConvertToCamelCaseUnderscore(field.ToString()), BindingFlags.NonPublic | BindingFlags.Instance);
|
|||
|
if (fi != null)
|
|||
|
fi.SetValue(voucher, value);
|
|||
|
}
|
|||
|
private static string ConvertToCamelCaseUnderscore(string propertyName)
|
|||
|
{
|
|||
|
return "_" + propertyName[0].ToString().ToLower() + propertyName.Substring(1);
|
|||
|
}
|
|||
|
|
|||
|
}
|
|||
|
}
|