I would like to know all the types
i should avoid when i am creating my WCF DataContract
.
I would like my Service
to be completely compatible with any Client
platform.
This is my interface
:
public interface IShopriteService
{
[OperationContract]
ChangePasswordResponse ChangePassword(ChangePasswordRequest changePasswordRequest);
[OperationContract]
GetCampaignSchedulePlacementsResponse GetCampaignSchedulePlacements(GetCampaignSchedulePlacementsRequest getCampaignSchedulePlacementsRequest);
[OperationContract]
ConfirmDownloadResponce ConfirmDownload(ConfirmDownloadRequest confirmDownloadRequest);
[OperationContract]
UploadCampaignSchedulePlacementsResponse UploadCampaignSchedulePlacements(UploadCampaignSchedulePlacementsRequest uploadCampaignSchedulePlacementsRequest);
}
[DataContract]
public class ChangePasswordRequest
{
[DataMember]
public Guid ServiceProviderGuid
{
get;
set;
}
[DataMember]
public string OldPassword
{
get;
set;
}
[DataMember]
public string NewPassword
{
get;
set;
}
}
[DataContract]
public class ChangePasswordResponse
{
[DataMember]
public string Message
{
get;
set;
}
}
[DataContract]
public class GetCampaignSchedulePlacementsRequest
{
[DataMember]
public Guid ServiceProviderGuid
{
get;
set;
}
[DataMember]
public string Password
{
get;
set;
}
}
[DataContract]
public class GetCampaignSchedulePlacementsResponse
{
[DataMember]
public string Message
{
get;
set;
}
[DataMember]
public DateTime DateOfLatestUpdate
{
get;
set;
}
[DataMember]
public List<CampaignSchedulePlacement> CampaignSchedulePlacementList
{
get;
set;
}
}
[DataContract]
public class ConfirmDownloadRequest
{
[DataMember]
public Guid ServiceProviderGuid
{
get;
set;
}
[DataMember]
public string Password
{
get;
set;
}
[DataMember]
public DateTime DateOfLatestRecordRecieved
{
get;
set;
}
}
[DataContract]
public class ConfirmDownloadResponce
{
[DataMember]
public string Message
{
get;
set;
}
}
[DataContract]
public class UploadCampaignSchedulePlacementsRequest
{
[DataMember]
public Guid ServiceProviderGuid
{
get;
set;
}
[DataMember]
public string Password
{
get;
set;
}
[DataMember]
public List<CampaignSchedulePlacement> CampaignSchedulePlacementList
{
get;
set;
}
}
[DataContract]
public class UploadCampaignSchedulePlacementsResponse
{
[DataMember]
public string Message
{
get;
set;
}
}
[DataContract]
public class CampaignSchedulePlacement
{
[DataMember]
public Guid CampaignSchedulePlacementUID
{
get;
set;
}
[DataMember]
public string CampaignSchedulePlacementNo
{
get;
set;
}
[DataMember]
public string ClientNo
{
get;
set;
}
[DataMember]
public string ClientName
{
get;
set;
}
[DataMember]
public string ClientProductNo
{
get;
set;
}
[DataMember]
public string ClientProductName
{
get;
set;
}
[DataMember]
public string ClientProductRegion
{
get;
set;
}
[DataMember]
public string CampaignNo
{
get;
set;
}
[DataMember]
public string CampaignTitle
{
get;
set;
}
[DataMember]
public string CampaignScheduleNo
{
get;
set;
}
[DataMember]
public string CampaignScheduleTitle
{
get;
set;
}
[DataMember]
public string SupplierName
{
get;
set;
}
[DataMember]
public string SupplierProductName
{
get;
set;
}
[DataMember]
public DateTime PlacementDate
{
get;
set;
}
[DataMember]
public string Size
{
get;
set;
}
[DataMember]
public short Columns
{
get;
set;
}
[DataMember]
public int Quantity
{
get;
set;
}
[DataMember]
public string CombinedSize
{
get;
set;
}
[DataMember]
public string Colour
{
get;
set;
}
[DataMember]
public string Position
{
get;
set;
}
[DataMember]
public string PositionNo
{
get;
set;
}
[DataMember]
public string FromTime
{
get;
set;
}
[DataMember]
public string ToTime
{
get;
set;
}
[DataMember]
public decimal GrossUnitRateAmount
{
get;
set;
}
[DataMember]
public decimal GrossRateAmount
{
get;
set;
}
[DataMember]
public decimal DiscountAmount
{
get;
set;
}
[DataMember]
public decimal CommissionAmount
{
get;
set;
}
[DataMember]
public decimal NettCostAmount
{
get;
set;
}
[DataMember]
public string AdvertNo
{
get;
set;
}
[DataMember]
public string AdvertTitle
{
get;
set;
}
[DataMember]
public string AdvertLanguage
{
get;
set;
}
[DataMember]
public string OrderNo
{
get;
set;
}
[DataMember]
public DateTime OrderDate
{
get;
set;
}
[DataMember]
public string OrderStatus
{
get;
set;
}
[DataMember]
public string ContractNo
{
get;
set;
}
[DataMember]
public bool IsCancelledInChase
{
get;
set;
}
[DataMember]
public string ClientInvoiceNo
{
get;
set;
}
[DataMember]
public DateTime ClientInvoiceDate
{
get;
set;
}
[DataMember]
public decimal ClientInvoiceAmount
{
get;
set;
}
[DataMember]
public DateTime MaterialDeadlineDate
{
get;
set;
}
[DataMember]
public string ExtraInfo
{
get;
set;
}
[DataMember]
public string ChaseStatus
{
get;
set;
}
[DataMember]
public string ExternalStatus
{
get;
set;
}
[DataMember]
public DateTime ChaseModifiedDate
{
get;
set;
}
[DataMember]
public DateTime ShopriteModifiedDate
{
get;
set;
}
}
Will my service be compatible with all platforms?