GET | /api/schedules | ||
---|---|---|---|
GET | /api/schedules/{Ids} |
using System;
using System.IO;
using System.Collections;
using System.Collections.Generic;
using System.Runtime.Serialization;
using ServiceStack;
using ServiceStack.DataAnnotations;
using Eros.Subtle.Dvaravartman.SupplierConnect.Model.APIModels;
using Eros.Causal.Common.Entity;
using Eros.Saguna.Common.Library;
namespace Eros.Causal.Common.Entity
{
public partial class SupplierConnectActivityReference
{
public virtual string Name { get; set; }
public virtual string Notes { get; set; }
}
public partial class SupplierConnectContactInfo
{
public virtual Guid Id { get; set; }
public virtual string Name { get; set; }
public virtual string Email { get; set; }
public virtual string Phone { get; set; }
public virtual SupplierConnectObjectReference ContactReference { get; set; }
}
public partial class SupplierConnectObjectReference
{
public virtual Guid RmsTableContextId { get; set; }
public virtual string AlternateKey { get; set; }
public virtual Guid DataSourceInstanceId { get; set; }
}
public partial class SupplierConnectProjectInfo
{
public virtual Guid Id { get; set; }
public virtual string Name { get; set; }
public virtual string Reference { get; set; }
public virtual string Description { get; set; }
public virtual string Address { get; set; }
public virtual string HouseType { get; set; }
public virtual string Elevation { get; set; }
public virtual SupplierConnectContactInfo Supervisor { get; set; }
public virtual string CustomerName { get; set; }
public virtual SupplierConnectObjectReference ProjectReference { get; set; }
}
public partial class SupplierConnectPurchaseOrderInfo
{
public virtual Guid Id { get; set; }
public virtual string Reference { get; set; }
public virtual string Description { get; set; }
public virtual Guid ProjectId { get; set; }
public virtual SupplierConnectObjectReference PurchaseOrderReference { get; set; }
}
public partial class SupplierConnectSchedule
{
public virtual Guid RequestId { get; set; }
public virtual Guid PreviousRequestId { get; set; }
public virtual Guid LicenseeId { get; set; }
public virtual string LicenseeName { get; set; }
public virtual DateTime ScheduleDateTime { get; set; }
public virtual SupplierConnectContactInfo Requester { get; set; }
public virtual SupplierConnectContactInfo Supplier { get; set; }
public virtual SupplierConnectProjectInfo Project { get; set; }
public virtual SupplierConnectPurchaseOrderInfo PurchaseOrder { get; set; }
public virtual SupplierConnectActivityReference Activity { get; set; }
public virtual List<SupplierConnectScheduleParams> Params { get; set; }
public virtual List<EmailAttachment> Attachments { get; set; }
}
public partial class SupplierConnectScheduleParams
{
public virtual string Name { get; set; }
public virtual string Value { get; set; }
}
}
namespace Eros.Saguna.Common.Library
{
public enum AttachmentType
{
Url,
FileStream,
}
public partial class EmailAttachment
{
public virtual string FileName { get; set; }
public virtual string ContentType { get; set; }
public virtual string Path { get; set; }
public virtual string Url { get; set; }
public virtual long Length { get; set; }
public virtual Stream FileStream { get; set; }
public virtual string StreamContent { get; set; }
public virtual AttachmentType AttachmentType { get; set; }
public virtual bool ProcessedAndUploadedAsBlob { get; set; }
}
}
namespace Eros.Subtle.Dvaravartman.SupplierConnect.Model.APIModels
{
///<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")]
public partial class 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")]
public virtual List<Guid> Ids { get; set; } = [];
}
[ApiResponse(Description="Returns the list of the schedule requests for the given list of Ids")]
public partial class GetSchedulesResponse
{
public virtual bool Success { get; set; }
public virtual string Message { get; set; }
public virtual List<ScheduleDetails> ScheduleRequests { get; set; }
public virtual ResponseStatus ResponseStatus { get; set; }
public virtual string LastRowVersion { get; set; }
}
public partial class ScheduleDetails
: SupplierConnectSchedule
{
public virtual Guid ReferenceId { get; set; }
public virtual int Index { get; set; }
public virtual Guid StatusId { get; set; }
public virtual string Status { get; set; }
public virtual string StatusMessage { get; set; }
public virtual string RequestedBy { get; set; }
public virtual DateTime? RequestedDate { get; set; }
public virtual Guid CommunicationId { 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 }