using System;
using System.Collections;
using System.Collections.Generic;
using System.Runtime.Serialization;
using ServiceStack;
using ServiceStack.DataAnnotations;
using WebService.ServiceModel.Pulsit;
using WebService.ServiceModel.Base;
using CommonService.Api.Models.Base;
namespace CommonService.Api.Models.Base
{
public partial class ApiServiceResponse
: IServiceResponse
{
public virtual string Description { get; set; }
public virtual string Heading { get; set; }
public virtual bool WasSuccessful { get; set; }
public virtual Object ModelState { get; set; }
}
}
namespace WebService.ServiceModel.Base
{
public partial class ApiServiceRequest
: IServiceRequest, IHasApiKey, IHasDeviceInfo, IHasClientId
{
///<summary>
///The API Key required for authentication
///</summary>
[ApiMember(DataType="string", Description="The API Key required for authentication", IsRequired=true)]
public virtual string ApiKey { get; set; }
///<summary>
///Latitude of the user making this request
///</summary>
[ApiMember(DataType="double", Description="Latitude of the user making this request")]
public virtual double Latitude { get; set; }
///<summary>
///Longitude of the user making this request
///</summary>
[ApiMember(DataType="double", Description="Longitude of the user making this request")]
public virtual double Longitude { get; set; }
}
}
namespace WebService.ServiceModel.Pulsit
{
public partial class PulsitModuleStatusItem
{
public virtual string PulsitModuleId { get; set; }
public virtual double Latitude { get; set; }
public virtual double Longitude { get; set; }
public virtual string EventDescription { get; set; }
public virtual string EventTime { get; set; }
public virtual string Status { get; set; }
public virtual int PulsitStartId { get; set; }
}
public partial class PulsitProfileDeviceItem
{
public virtual string PulsitModuleId { get; set; }
public virtual string Product { get; set; }
public virtual string Description { get; set; }
public virtual PulsitProfileDeviceItem.DeviceType Type { get; set; }
public virtual string TypeString { get; set; }
public enum DeviceType
{
Lock = 0,
HomeSecurity = 1,
}
}
public partial class PulsitProfileProductItem
{
public virtual string Product { get; set; }
public virtual string Make { get; set; }
public virtual string Model { get; set; }
public virtual string Year { get; set; }
public virtual string RegistrationNumber { get; set; }
public virtual string PulsitModuleId { get; set; }
public virtual PulsitModuleStatusItem LatestStatus { get; set; }
}
public partial class PulsitProfileRequest
: ApiServiceRequest
{
}
public partial class PulsitProfileResponse
: ApiServiceResponse
{
public PulsitProfileResponse()
{
Products = new List<PulsitProfileProductItem>{};
Devices = new List<PulsitProfileDeviceItem>{};
}
public virtual List<PulsitProfileProductItem> Products { get; set; }
public virtual List<PulsitProfileDeviceItem> Devices { get; set; }
}
}
To override the Content-type in your clients, use the HTTP Accept Header, append the .json suffix or ?format=json
To embed the response in a jsonp callback, append ?callback=myCallback
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
POST /json/reply/PulsitProfileRequest HTTP/1.1
Host: galaxymobile.api.dev.86degrees.com
Accept: application/json
Content-Type: application/json
Content-Length: length
{"ApiKey":"String","Latitude":0,"Longitude":0}
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: length
{"Products":[{"Product":"String","Make":"String","Model":"String","Year":"String","RegistrationNumber":"String","PulsitModuleId":"String","LatestStatus":{"PulsitModuleId":"String","Latitude":0,"Longitude":0,"EventDescription":"String","EventTime":"String","Status":"String","PulsitStartId":0}}],"Devices":[{"PulsitModuleId":"String","Product":"String","Description":"String","Type":0,"TypeString":"Lock"}],"Description":"String","Heading":"String","WasSuccessful":false,"ModelState":{}}