Jo Shields a575963da9 Imported Upstream version 3.6.0
Former-commit-id: da6be194a6b1221998fc28233f2503bd61dd9d14
2014-08-13 10:39:27 +01:00

74 lines
1.6 KiB
C#

using System;
using System.Collections.Generic;
using System.Text;
using System.Runtime.Serialization;
using System.ServiceModel.Description;
using System.ServiceModel;
namespace MonoTests.Features.Contracts
{
[ServiceContract (Namespace = "http://MonoTests.Features.Contracts")]
public interface IMessageContractTesterContract
{
[OperationContract (Action = "http://test/TestMessage_action", ReplyAction = "http://test/TestMessage_action")]
TestMessage FormatDate (TestMessage testMessage);
}
[MessageContract]
public class TestMessage
{
private string formatString;
private DateTime date;
private string formattedDate;
public TestMessage ()
{
}
public TestMessage (DateTime date, string formatString, string formattedDate)
{
this.date = date;
this.formatString = formatString;
this.formattedDate = formattedDate;
}
public TestMessage (TestMessage message)
{
this.date = message.date;
this.formatString = message.formatString;
this.formattedDate = message.formattedDate;
}
[MessageHeader]
public string FormatString
{
get { return formatString; }
set { formatString = value; }
}
[MessageBodyMember]
public DateTime Date
{
get { return date; }
set { date = value; }
}
[MessageBodyMember]
public string FormattedDate
{
get { return formattedDate; }
set { formattedDate = value; }
}
}
public class MessageContractTester : IMessageContractTesterContract
{
public TestMessage FormatDate (TestMessage testMessage)
{
TestMessage r = new TestMessage (testMessage);
r.FormattedDate = r.Date.ToString (r.FormatString);
return r;
}
}
}