I'm building a simple rest full web service to storage data into database.
So this is my code:
[Route("InsertActivities")]
[HttpPost]
public HttpResponseMessage InsertActivities(ActivityExecutionDTO u)
{
try
{
if (u != null)
{
//TO DO
}
}
catch (Exception e)
{
}
}
This is ActivityExecutionDTO class:
namespace WebService.Models
{
[DataContract(Name = "ActivityExecutionDTO")]
public class ActivityExecutionDTO
{
[DataMember(Name = "Username", Order = 1)]
public string UserName { get; set; }
[DataMember(Name = "Password", Order = 2)]
public string Password { get; set; }
[DataMember(Name = "IdClinicalDocument", Order = 3)]
public int IdClinicalDocument { get; set; }
[DataMember(Name = "ActivityDetails", Order = 4)]
public IQueryable<ActivityExecutionDetailDTO> ActivityDetails { get; set; }
}
}
ActivityExecutionDetailDTO class:
namespace WebService.Models
{
[DataContract]
public class ActivityExecutionDetailDTO
{
[DataMember(Name = "Id")]
public int ID { get; set; }
[DataMember(Name = "IdClinicalDocument"), IgnoreDataMember]
public int IdClinicalDocument { get; set; }
[DataMember(Name ="IdActivity")]
public int IdActivity { get; set; }
[DataMember(Name = "DateExecution"), IgnoreDataMember]
public DateTime? DateExecution { get; set; }
[DataMember(Name = "Duration")]
public Int32? Duration { get; set; }
[DataMember(Name = "CalBurned")]
public Int32? CalBurned { get; set; }
[DataMember(Name = "Steps")]
public Int32? Steps { get; set; }
}
}
So this is the JSON that I pass throught PostMan client:
{
"Username" : "t.g",
"Password" : "t",
"IdClinicalDocument" : 63,
"ActivityDetails" :
[
{
"Id" : 1,
"IdClinicalDocument" : 63,
"IdActivity" : 1,
"DateExecution" : null,
"Duration" : 150,
"CalBurned" : 9600,
"Steps" : 150
}
]
}
So if I try to inspect my code this code:
u.ActivityDetails
is every times null.
The list of activities is null. Where is the error?
change IQueryable<ActivityExecutionDetailDTO>
to ICollection<ActivityExecutionDetailDTO>
IQueryable stores a query definition only, no data could be in it, but ICollection instead.
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.