| Requires any of the roles: | Agent, Administrator |
| POST,OPTIONS | /v1/Rfp/{RfpDocumentUID}/Approve |
|---|
Imports System
Imports System.IO
Imports System.Collections
Imports System.Collections.Generic
Imports System.Runtime.Serialization
Imports ServiceStack
Imports ServiceStack.DataAnnotations
Imports CRM.AgencyPlatform.API.Internal
Namespace Global
Namespace CRM.AgencyPlatform.API.Internal
Public Partial Class ProjectProposal
Public Overridable Property RfpDocumentID As Integer
Public Overridable Property ProjectName As String
Public Overridable Property ClientName As String
Public Overridable Property ProjectType As String
Public Overridable Property ProjectLocation As String
Public Overridable Property Scope As String
Public Overridable Property ProjectDescription As String
Public Overridable Property ContractDurationDays As Integer?
Public Overridable Property BidDueDate As String
Public Overridable Property EstimatedStartDate As Date?
Public Overridable Property EstimatedEndDate As Date?
Public Overridable Property Tasks As List(Of ProposedTask) = New List(Of ProposedTask)
End Class
Public Partial Class ProposalDiff
Public Overridable Property TasksAdded As List(Of String) = New List(Of String)
Public Overridable Property TasksRemoved As List(Of String) = New List(Of String)
Public Overridable Property Tasks As List(Of TaskDiff) = New List(Of TaskDiff)
Public Overridable Property HasChanges As Boolean
End Class
Public Partial Class ProposedTask
Public Overridable Property Seq As Integer
Public Overridable Property Name As String
Public Overridable Property Category As String
Public Overridable Property Quantity As Double?
Public Overridable Property Unit As String
Public Overridable Property SourceItemNumber As String
Public Overridable Property SourceReference As String
Public Overridable Property Notes As String
Public Overridable Property Resourcing As TaskResourcing
Public Overridable Property DurationDays As Double?
Public Overridable Property DependsOn As List(Of Integer) = New List(Of Integer)
Public Overridable Property EstimatedStartDate As Date?
Public Overridable Property EstimatedEndDate As Date?
End Class
Public Partial Class ResourcedEquipment
Public Overridable Property EquipmentID As Integer
Public Overridable Property EquipmentName As String
Public Overridable Property MakeModel As String
Public Overridable Property Quantity As Double?
Public Overridable Property DurationDays As Double?
Public Overridable Property SourceReference As String
Public Overridable Property Notes As String
Public Overridable Property IsInCatalog As Boolean
Public Overridable Property SuggestedEquipmentID As Integer
Public Overridable Property SuggestedEquipmentName As String
End Class
Public Partial Class ResourcedMaterial
Public Overridable Property MaterialID As Integer
Public Overridable Property MaterialName As String
Public Overridable Property MakeModel As String
Public Overridable Property Quantity As Double?
Public Overridable Property Unit As String
Public Overridable Property SourceReference As String
Public Overridable Property Notes As String
Public Overridable Property IsInCatalog As Boolean
Public Overridable Property SuggestedMaterialID As Integer
Public Overridable Property SuggestedMaterialName As String
End Class
Public Partial Class ResourcedPosition
Public Overridable Property PositionTag As String
Public Overridable Property Hours As Double?
Public Overridable Property Headcount As Integer?
Public Overridable Property SourceReference As String
Public Overridable Property Notes As String
Public Overridable Property IsInCatalog As Boolean
Public Overridable Property ContactID As Integer?
End Class
Public Partial Class RfpApproveRequest
Public Overridable Property RfpDocumentUID As Guid
Public Overridable Property Proposal As ProjectProposal
End Class
Public Partial Class RfpApproveResponse
Public Overridable Property ResponseStatus As ResponseStatus
Public Overridable Property RfpDocumentID As Integer
Public Overridable Property ProjectID As Integer
Public Overridable Property ProjectUID As Guid
Public Overridable Property RfpApprovalID As Integer
Public Overridable Property JobIDs As List(Of Integer) = New List(Of Integer)
Public Overridable Property OpenPositionCount As Integer
Public Overridable Property Diff As ProposalDiff
End Class
Public Partial Class TaskDiff
Public Overridable Property TaskName As String
Public Overridable Property PositionsAdded As List(Of String) = New List(Of String)
Public Overridable Property PositionsRemoved As List(Of String) = New List(Of String)
Public Overridable Property PositionsStaffed As List(Of String) = New List(Of String)
Public Overridable Property EquipmentAdded As List(Of Integer) = New List(Of Integer)
Public Overridable Property EquipmentRemoved As List(Of Integer) = New List(Of Integer)
Public Overridable Property MaterialsAdded As List(Of Integer) = New List(Of Integer)
Public Overridable Property MaterialsRemoved As List(Of Integer) = New List(Of Integer)
Public Overridable Property HasChanges As Boolean
End Class
Public Partial Class TaskResourcing
Public Overridable Property Positions As List(Of ResourcedPosition) = New List(Of ResourcedPosition)
Public Overridable Property Equipment As List(Of ResourcedEquipment) = New List(Of ResourcedEquipment)
Public Overridable Property Materials As List(Of ResourcedMaterial) = New List(Of ResourcedMaterial)
End Class
End Namespace
End Namespace
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 /v1/Rfp/{RfpDocumentUID}/Approve HTTP/1.1
Host: api.dev.dynamics.trendsic.com
Accept: text/csv
Content-Type: text/csv
Content-Length: length
{"RfpDocumentUID":"00000000000000000000000000000000","Proposal":{"RfpDocumentID":0,"ProjectName":"String","ClientName":"String","ProjectType":"String","ProjectLocation":"String","Scope":"String","ProjectDescription":"String","ContractDurationDays":0,"BidDueDate":"String","EstimatedStartDate":"0001-01-01T00:00:00.0000000","EstimatedEndDate":"0001-01-01T00:00:00.0000000","Tasks":[{"Seq":0,"Name":"String","Category":"String","Quantity":0,"Unit":"String","SourceItemNumber":"String","SourceReference":"String","Notes":"String","Resourcing":{"Positions":[{"PositionTag":"String","Hours":0,"Headcount":0,"SourceReference":"String","Notes":"String","IsInCatalog":false,"ContactID":0}],"Equipment":[{"EquipmentID":0,"EquipmentName":"String","MakeModel":"String","Quantity":0,"DurationDays":0,"SourceReference":"String","Notes":"String","IsInCatalog":false,"SuggestedEquipmentID":0,"SuggestedEquipmentName":"String"}],"Materials":[{"MaterialID":0,"MaterialName":"String","MakeModel":"String","Quantity":0,"Unit":"String","SourceReference":"String","Notes":"String","IsInCatalog":false,"SuggestedMaterialID":0,"SuggestedMaterialName":"String"}]},"DurationDays":0,"DependsOn":[0],"EstimatedStartDate":"0001-01-01T00:00:00.0000000","EstimatedEndDate":"0001-01-01T00:00:00.0000000"}]}}
HTTP/1.1 200 OK
Content-Type: text/csv
Content-Length: length
{"ResponseStatus":{"ErrorCode":"String","Message":"String","StackTrace":"String","Errors":[{"ErrorCode":"String","FieldName":"String","Message":"String","Meta":{"String":"String"}}],"Meta":{"String":"String"}},"RfpDocumentID":0,"ProjectID":0,"ProjectUID":"00000000000000000000000000000000","RfpApprovalID":0,"JobIDs":[0],"OpenPositionCount":0,"Diff":{"TasksAdded":["String"],"TasksRemoved":["String"],"Tasks":[{"TaskName":"String","PositionsAdded":["String"],"PositionsRemoved":["String"],"PositionsStaffed":["String"],"EquipmentAdded":[0],"EquipmentRemoved":[0],"MaterialsAdded":[0],"MaterialsRemoved":[0],"HasChanges":true}],"HasChanges":true}}