GET | /api/schedules | ||
---|---|---|---|
GET | /api/schedules/{Ids} |
namespace Eros.Causal.Common.Entity
open System
open System.IO
open System.Collections
open System.Collections.Generic
open System.Runtime.Serialization
open ServiceStack
open ServiceStack.DataAnnotations
[<AllowNullLiteral>]
type SupplierConnectObjectReference() =
member val RmsTableContextId:Guid = new Guid() with get,set
member val AlternateKey:String = null with get,set
member val DataSourceInstanceId:Guid = new Guid() with get,set
[<AllowNullLiteral>]
type SupplierConnectContactInfo() =
member val Id:Guid = new Guid() with get,set
member val Name:String = null with get,set
member val Email:String = null with get,set
member val Phone:String = null with get,set
member val ContactReference:SupplierConnectObjectReference = null with get,set
[<AllowNullLiteral>]
type SupplierConnectProjectInfo() =
member val Id:Guid = new Guid() with get,set
member val Name:String = null with get,set
member val Reference:String = null with get,set
member val Description:String = null with get,set
member val Address:String = null with get,set
member val HouseType:String = null with get,set
member val Elevation:String = null with get,set
member val Supervisor:SupplierConnectContactInfo = null with get,set
member val CustomerName:String = null with get,set
member val ProjectReference:SupplierConnectObjectReference = null with get,set
[<AllowNullLiteral>]
type SupplierConnectPurchaseOrderInfo() =
member val Id:Guid = new Guid() with get,set
member val Reference:String = null with get,set
member val Description:String = null with get,set
member val ProjectId:Guid = new Guid() with get,set
member val PurchaseOrderReference:SupplierConnectObjectReference = null with get,set
[<AllowNullLiteral>]
type SupplierConnectActivityReference() =
member val Name:String = null with get,set
member val Notes:String = null with get,set
[<AllowNullLiteral>]
type SupplierConnectScheduleParams() =
member val Name:String = null with get,set
member val Value:String = null with get,set
type AttachmentType =
| Url = 0
| FileStream = 1
[<AllowNullLiteral>]
type EmailAttachment() =
member val FileName:String = null with get,set
member val ContentType:String = null with get,set
member val Path:String = null with get,set
member val Url:String = null with get,set
member val Length:Int64 = new Int64() with get,set
member val FileStream:Stream = null with get,set
member val StreamContent:String = null with get,set
member val AttachmentType:AttachmentType = new AttachmentType() with get,set
member val ProcessedAndUploadedAsBlob:Boolean = new Boolean() with get,set
[<AllowNullLiteral>]
type SupplierConnectSchedule() =
member val RequestId:Guid = new Guid() with get,set
member val PreviousRequestId:Guid = new Guid() with get,set
member val LicenseeId:Guid = new Guid() with get,set
member val LicenseeName:String = null with get,set
member val ScheduleDateTime:DateTime = new DateTime() with get,set
member val Requester:SupplierConnectContactInfo = null with get,set
member val Supplier:SupplierConnectContactInfo = null with get,set
member val Project:SupplierConnectProjectInfo = null with get,set
member val PurchaseOrder:SupplierConnectPurchaseOrderInfo = null with get,set
member val Activity:SupplierConnectActivityReference = null with get,set
member val Params:ResizeArray<SupplierConnectScheduleParams> = null with get,set
member val Attachments:ResizeArray<EmailAttachment> = null with get,set
[<AllowNullLiteral>]
type ScheduleDetails() =
inherit SupplierConnectSchedule()
member val ReferenceId:Guid = new Guid() with get,set
member val Index:Int32 = new Int32() with get,set
member val StatusId:Guid = new Guid() with get,set
member val Status:String = null with get,set
member val StatusMessage:String = null with get,set
member val RequestedBy:String = null with get,set
member val RequestedDate:Nullable<DateTime> = new Nullable<DateTime>() with get,set
member val CommunicationId:Guid = new Guid() with get,set
[<ApiResponse(Description="Returns the list of the schedule requests for the given list of Ids")>]
[<AllowNullLiteral>]
type GetSchedulesResponse() =
member val Success:Boolean = new Boolean() with get,set
member val Message:String = null with get,set
member val ScheduleRequests:ResizeArray<ScheduleDetails> = null with get,set
member val ResponseStatus:ResponseStatus = null with get,set
member val LastRowVersion:String = null with get,set
///<summary>
///Retrieve SupplierConnect schedule(s) by given ids. This will return SupplierConnect schedule request(s), and the associated other details such as statuses
///</summary>
[<Api(Description="Retrieve SupplierConnect schedule(s) by given ids. This will return SupplierConnect schedule request(s), and the associated other details such as statuses")>]
[<AllowNullLiteral>]
type GetSchedules() =
///<summary>
///Id or list of Ids of the schedule request(s) to be retrieved
///</summary>
[<DataMember(Name="id")>]
[<ApiMember(Description="Id or list of Ids of the schedule request(s) to be retrieved", IsRequired=true, Name="id")>]
member val Ids:ResizeArray<Guid> = null with get,set
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.
GET /api/schedules HTTP/1.1 Host: production-eros-gateway-api-supplierconnect.azurewebsites.net Accept: text/jsv
HTTP/1.1 200 OK Content-Type: text/jsv Content-Length: length { Success: False, Message: String, ScheduleRequests: [ { Index: 0, Status: String, StatusMessage: String, RequestedBy: String, RequestedDate: 0001-01-01, LicenseeName: String, ScheduleDateTime: 0001-01-01, Requester: { Name: String, Email: String, Phone: String, ContactReference: { AlternateKey: String } }, Supplier: { Name: String, Email: String, Phone: String, ContactReference: { AlternateKey: String } }, Project: { Name: String, Reference: String, Description: String, Address: String, HouseType: String, Elevation: String, Supervisor: { Name: String, Email: String, Phone: String, ContactReference: { AlternateKey: String } }, CustomerName: String, ProjectReference: { AlternateKey: String } }, PurchaseOrder: { Reference: String, Description: String, PurchaseOrderReference: { AlternateKey: String } }, Activity: { Name: String, Notes: String }, Params: [ { Name: String, Value: String } ], Attachments: [ { FileName: String, ContentType: String, Path: String, Url: String, Length: 0, StreamContent: String, AttachmentType: Url, ProcessedAndUploadedAsBlob: False } ] } ], ResponseStatus: { ErrorCode: String, Message: String, StackTrace: String, Errors: [ { ErrorCode: String, FieldName: String, Message: String, Meta: { String: String } } ], Meta: { String: String } }, LastRowVersion: String }