| POST | /attendance/sessionstatus |
|---|
using System;
using System.Collections;
using System.Collections.Generic;
using System.Runtime.Serialization;
using ServiceStack;
using ServiceStack.DataAnnotations;
using WebService.ServiceModel;
using WebService.ServiceModel.Base;
using BusinessLogic.Entities;
using CommonService.Api.Models.Base;
namespace BusinessLogic.Entities
{
public enum AttendanceEventType
{
ClockOut = 0,
ClockIn = 1,
StartLunch = 2,
EndLunch = 3,
StartBreak = 4,
EndBreak = 5,
}
}
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
{
public partial class AttendanceEventData
{
public virtual AttendanceEventType Type { get; set; }
public virtual string Time { get; set; }
public virtual string Location { get; set; }
}
public partial class AttendanceSessionInfo
{
public AttendanceSessionInfo()
{
AttendanceEvents = new List<AttendanceEventData>{};
}
public virtual int AttendanceSessionId { get; set; }
public virtual double AttendanceGoalTime { get; set; }
public virtual string AttendanceGoalTimeValue { get; set; }
public virtual List<AttendanceEventData> AttendanceEvents { get; set; }
public virtual string StartDate { get; set; }
public virtual string EndDate { get; set; }
public virtual bool IsClockedIn { get; set; }
public virtual double TimeElapsed { get; set; }
public virtual AttendanceEventType LatestEventType { get; set; }
public virtual double TotalBreakTime { get; set; }
public virtual double TotalLunchTime { get; set; }
public virtual bool IsNew { get; set; }
}
public partial class AttendanceSessionStatusChangeRequest
: ApiServiceRequest
{
public virtual int AttendanceSessionId { get; set; }
public virtual AttendanceEventType EventType { get; set; }
public virtual string TimeZoneName { get; set; }
}
public partial class GetAttendanceSessionInfoResponse
: ApiServiceResponse
{
public virtual AttendanceSessionInfo SessionInfo { get; set; }
}
}
namespace WebService.ServiceModel.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; }
}
}
C# AttendanceSessionStatusChangeRequest DTOs
To override the Content-type in your clients, use the HTTP Accept Header, append the .jsv suffix or ?format=jsv
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
POST /attendance/sessionstatus HTTP/1.1
Host: cochraneplus-api-dev.happen.zone
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length
{
attendanceSessionId: 0,
eventType: 0,
timeZoneName: String,
apiKey: String,
latitude: 0,
longitude: 0
}
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length
{
sessionInfo:
{
attendanceSessionId: 0,
attendanceGoalTime: 0,
attendanceGoalTimeValue: "00:00:00",
attendanceEvents:
[
{
}
],
startDate: String,
endDate: String,
isClockedIn: False,
timeElapsed: 0,
latestEventType: 0,
totalBreakTime: 0,
totalLunchTime: 0,
isNew: False
},
description: String,
heading: String,
wasSuccessful: False,
modelState: {}
}