I'm trying to accomplish a fluent utilities static class.
here is my call I would like, Utilities.DataOperations.SerializeRequest(tdcRequest).WriteToTDCDatabase(To.Request);
namespace Me.Business
{
public static class Utilities
{
#region "TDC Utilities"
private static DataOperations _dataOperations = new DataOperations();
public static void CopyClassData(object internalData, object externalData)
{
if (externalData == null) return;
foreach (var intPropertyInfo in internalData.GetType().GetProperties())
{
var extPropertyInfo = externalData.GetType().GetProperty(intPropertyInfo.Name);
var value = extPropertyInfo.GetValue(externalData, null);
intPropertyInfo.SetValue(internalData, value, null);
}
}
public static DataOperations DataOperations
{
get { return _dataOperations; }
set { _dataOperations = value; }
}
#endregion
}
}
namespace Me.Business
{
public enum To
{
Request,
Response
}
public class DataOperations
{
private string _serializeRequest;
public DataOperations SerializeRequest(object request)
{
var serializer = new XmlSerializer(request.GetType());
using (StringWriter writer = new StringWriter())
{
serializer.Serialize(writer,request);
_serializeRequest = writer.ToString();
return this;
}
}
public void WriteToTDCDatabase(To to)
{
switch (to)
{
case To.Request:
string tmp1 = _serializeRequest; //stubbed in for later db implementation
break;
case To.Response:
string tmp2; //stubbed in for later db implementation
break;
}
}
}
}
I want to set this up so WriteToTDCDatabase will not show under DataOperations until after SerializeRequest. Currently under DataOperations you can see both WriteToTDCDatabase and SerializeRequest.
Thanks