using System;
using System.Collections;
using System.Collections.Generic;
using System.Runtime.Serialization;
using ServiceStack;
using ServiceStack.DataAnnotations;
using WebService.AppApi.Models;
using WebService.AppApi.Models.Base;
namespace WebService.AppApi.Models
{
public partial class AutoLogin
: ApiServiceRequest
{
public virtual int SystemUserId { get; set; }
public virtual string RefreshToken { get; set; }
public virtual int UtcOffset { get; set; }
}
public partial class AutoLoginResponse
: ApiServiceResponse
{
public virtual LoginData Data { get; set; }
}
public partial class LoginData
{
public LoginData()
{
Outlets = new List<OutletData>{};
}
public virtual int SystemUserId { get; set; }
public virtual int ClientId { get; set; }
public virtual decimal VatValue { get; set; }
public virtual string RefreshToken { get; set; }
public virtual string FriendlyName { get; set; }
public virtual List<OutletData> Outlets { get; set; }
public virtual int UpliftRequestSyncInterval { get; set; }
public virtual bool EnableReturnOfStock { get; set; }
public virtual bool EnableTimeKeeping { get; set; }
public virtual bool EnableCustomerComplaintForm { get; set; }
public virtual string ClientLogoUrl { get; set; }
public virtual string ClientColor { get; set; }
public virtual string ClientName { get; set; }
}
public partial class OutletData
{
public OutletData()
{
AssignedPrincipalIds = new List<int>{};
AssignedRegions = new List<OutletRegionData>{};
}
public virtual int Id { get; set; }
public virtual string Name { get; set; }
public virtual string LastRequestedDate { get; set; }
public virtual bool HasGeneralUpliftRequest { get; set; }
public virtual int UpliftRequestCount { get; set; }
public virtual List<int> AssignedPrincipalIds { get; set; }
public virtual List<OutletRegionData> AssignedRegions { get; set; }
public virtual string Channel { get; set; }
public virtual string NextScheduledDate { get; set; }
}
public partial class OutletRegionData
{
public virtual int PrincipalId { get; set; }
public virtual string Region { get; set; }
}
}
namespace WebService.AppApi.Models.Base
{
public partial class ApiServiceRequest
: IServiceRequest, IHasApiKey, IHasDeviceInfo
{
///<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; }
}
public partial class ApiServiceResponse
: IServiceResponse
{
///<summary>
///Information about the response.
///</summary>
[ApiMember(Description="Information about the response.", IsRequired=true)]
public virtual string Description { get; set; }
///<summary>
///Heading or summary of the response.
///</summary>
[ApiMember(Description="Heading or summary of the response.", IsRequired=true)]
public virtual string Heading { get; set; }
///<summary>
///Did the intended operation for this response complete successfully?
///</summary>
[ApiMember(DataType="boolean", Description="Did the intended operation for this response complete successfully?", IsRequired=true)]
public virtual bool WasSuccessful { get; set; }
public virtual ResponseStatus ResponseStatus { get; set; }
}
}
To override the Content-type in your clients, use the HTTP Accept Header, append the .csv suffix or ?format=csv
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
POST /csv/reply/AutoLogin HTTP/1.1
Host: returnit-api-dev.happen.zone
Accept: text/csv
Content-Type: text/csv
Content-Length: length
{"SystemUserId":0,"RefreshToken":"String","UtcOffset":0,"ApiKey":"String","Latitude":0,"Longitude":0}
HTTP/1.1 200 OK
Content-Type: text/csv
Content-Length: length
{"Data":{"SystemUserId":0,"ClientId":0,"VatValue":0,"RefreshToken":"String","FriendlyName":"String","Outlets":[{}],"UpliftRequestSyncInterval":0,"EnableReturnOfStock":false,"EnableTimeKeeping":false,"EnableCustomerComplaintForm":false,"ClientLogoUrl":"String","ClientColor":"String","ClientName":"String"},"Description":"String","Heading":"String","WasSuccessful":false,"ResponseStatus":{"ErrorCode":"String","Message":"String","StackTrace":"String","Errors":[{"ErrorCode":"String","FieldName":"String","Message":"String","Meta":{"String":"String"}}],"Meta":{"String":"String"}}}