| Requires any of the roles: | Agent, Administrator |
| POST,OPTIONS | /v1/Rfp/{RfpDocumentUID}/Approve |
|---|
import java.math.*;
import java.util.*;
import java.io.InputStream;
import net.servicestack.client.*;
public class dtos
{
public static class RfpApproveRequest
{
public UUID RfpDocumentUID = null;
public ProjectProposal Proposal = null;
public UUID getRfpDocumentUID() { return RfpDocumentUID; }
public RfpApproveRequest setRfpDocumentUID(UUID value) { this.RfpDocumentUID = value; return this; }
public ProjectProposal getProposal() { return Proposal; }
public RfpApproveRequest setProposal(ProjectProposal value) { this.Proposal = value; return this; }
}
public static class ProjectProposal
{
public Integer RfpDocumentID = null;
public String ProjectName = null;
public String ClientName = null;
public String ProjectType = null;
public String ProjectLocation = null;
public String Scope = null;
public String ProjectDescription = null;
public Integer ContractDurationDays = null;
public String BidDueDate = null;
public Date EstimatedStartDate = null;
public Date EstimatedEndDate = null;
public ArrayList<ProposedTask> Tasks = new ArrayList<ProposedTask>();
public Integer getRfpDocumentID() { return RfpDocumentID; }
public ProjectProposal setRfpDocumentID(Integer value) { this.RfpDocumentID = value; return this; }
public String getProjectName() { return ProjectName; }
public ProjectProposal setProjectName(String value) { this.ProjectName = value; return this; }
public String getClientName() { return ClientName; }
public ProjectProposal setClientName(String value) { this.ClientName = value; return this; }
public String getProjectType() { return ProjectType; }
public ProjectProposal setProjectType(String value) { this.ProjectType = value; return this; }
public String getProjectLocation() { return ProjectLocation; }
public ProjectProposal setProjectLocation(String value) { this.ProjectLocation = value; return this; }
public String getScope() { return Scope; }
public ProjectProposal setScope(String value) { this.Scope = value; return this; }
public String getProjectDescription() { return ProjectDescription; }
public ProjectProposal setProjectDescription(String value) { this.ProjectDescription = value; return this; }
public Integer getContractDurationDays() { return ContractDurationDays; }
public ProjectProposal setContractDurationDays(Integer value) { this.ContractDurationDays = value; return this; }
public String getBidDueDate() { return BidDueDate; }
public ProjectProposal setBidDueDate(String value) { this.BidDueDate = value; return this; }
public Date getEstimatedStartDate() { return EstimatedStartDate; }
public ProjectProposal setEstimatedStartDate(Date value) { this.EstimatedStartDate = value; return this; }
public Date getEstimatedEndDate() { return EstimatedEndDate; }
public ProjectProposal setEstimatedEndDate(Date value) { this.EstimatedEndDate = value; return this; }
public ArrayList<ProposedTask> getTasks() { return Tasks; }
public ProjectProposal setTasks(ArrayList<ProposedTask> value) { this.Tasks = value; return this; }
}
public static class ProposedTask
{
public Integer Seq = null;
public String Name = null;
public String Category = null;
public Double Quantity = null;
public String Unit = null;
public String SourceItemNumber = null;
public String SourceReference = null;
public String Notes = null;
public TaskResourcing Resourcing = null;
public Double DurationDays = null;
public ArrayList<Integer> DependsOn = new ArrayList<Integer>();
public Date EstimatedStartDate = null;
public Date EstimatedEndDate = null;
public Integer getSeq() { return Seq; }
public ProposedTask setSeq(Integer value) { this.Seq = value; return this; }
public String getName() { return Name; }
public ProposedTask setName(String value) { this.Name = value; return this; }
public String getCategory() { return Category; }
public ProposedTask setCategory(String value) { this.Category = value; return this; }
public Double getQuantity() { return Quantity; }
public ProposedTask setQuantity(Double value) { this.Quantity = value; return this; }
public String getUnit() { return Unit; }
public ProposedTask setUnit(String value) { this.Unit = value; return this; }
public String getSourceItemNumber() { return SourceItemNumber; }
public ProposedTask setSourceItemNumber(String value) { this.SourceItemNumber = value; return this; }
public String getSourceReference() { return SourceReference; }
public ProposedTask setSourceReference(String value) { this.SourceReference = value; return this; }
public String getNotes() { return Notes; }
public ProposedTask setNotes(String value) { this.Notes = value; return this; }
public TaskResourcing getResourcing() { return Resourcing; }
public ProposedTask setResourcing(TaskResourcing value) { this.Resourcing = value; return this; }
public Double getDurationDays() { return DurationDays; }
public ProposedTask setDurationDays(Double value) { this.DurationDays = value; return this; }
public ArrayList<Integer> getDependsOn() { return DependsOn; }
public ProposedTask setDependsOn(ArrayList<Integer> value) { this.DependsOn = value; return this; }
public Date getEstimatedStartDate() { return EstimatedStartDate; }
public ProposedTask setEstimatedStartDate(Date value) { this.EstimatedStartDate = value; return this; }
public Date getEstimatedEndDate() { return EstimatedEndDate; }
public ProposedTask setEstimatedEndDate(Date value) { this.EstimatedEndDate = value; return this; }
}
public static class TaskResourcing
{
public ArrayList<ResourcedPosition> Positions = new ArrayList<ResourcedPosition>();
public ArrayList<ResourcedEquipment> Equipment = new ArrayList<ResourcedEquipment>();
public ArrayList<ResourcedMaterial> Materials = new ArrayList<ResourcedMaterial>();
public ArrayList<ResourcedPosition> getPositions() { return Positions; }
public TaskResourcing setPositions(ArrayList<ResourcedPosition> value) { this.Positions = value; return this; }
public ArrayList<ResourcedEquipment> getEquipment() { return Equipment; }
public TaskResourcing setEquipment(ArrayList<ResourcedEquipment> value) { this.Equipment = value; return this; }
public ArrayList<ResourcedMaterial> getMaterials() { return Materials; }
public TaskResourcing setMaterials(ArrayList<ResourcedMaterial> value) { this.Materials = value; return this; }
}
public static class ResourcedPosition
{
public String PositionTag = null;
public Double Hours = null;
public Integer Headcount = null;
public String SourceReference = null;
public String Notes = null;
public Boolean IsInCatalog = null;
public Integer ContactID = null;
public String getPositionTag() { return PositionTag; }
public ResourcedPosition setPositionTag(String value) { this.PositionTag = value; return this; }
public Double getHours() { return Hours; }
public ResourcedPosition setHours(Double value) { this.Hours = value; return this; }
public Integer getHeadcount() { return Headcount; }
public ResourcedPosition setHeadcount(Integer value) { this.Headcount = value; return this; }
public String getSourceReference() { return SourceReference; }
public ResourcedPosition setSourceReference(String value) { this.SourceReference = value; return this; }
public String getNotes() { return Notes; }
public ResourcedPosition setNotes(String value) { this.Notes = value; return this; }
public Boolean getIsInCatalog() { return IsInCatalog; }
public ResourcedPosition setIsInCatalog(Boolean value) { this.IsInCatalog = value; return this; }
public Integer getContactID() { return ContactID; }
public ResourcedPosition setContactID(Integer value) { this.ContactID = value; return this; }
}
public static class ResourcedEquipment
{
public Integer EquipmentID = null;
public String EquipmentName = null;
public String MakeModel = null;
public Double Quantity = null;
public Double DurationDays = null;
public String SourceReference = null;
public String Notes = null;
public Boolean IsInCatalog = null;
public Integer SuggestedEquipmentID = null;
public String SuggestedEquipmentName = null;
public Integer getEquipmentID() { return EquipmentID; }
public ResourcedEquipment setEquipmentID(Integer value) { this.EquipmentID = value; return this; }
public String getEquipmentName() { return EquipmentName; }
public ResourcedEquipment setEquipmentName(String value) { this.EquipmentName = value; return this; }
public String getMakeModel() { return MakeModel; }
public ResourcedEquipment setMakeModel(String value) { this.MakeModel = value; return this; }
public Double getQuantity() { return Quantity; }
public ResourcedEquipment setQuantity(Double value) { this.Quantity = value; return this; }
public Double getDurationDays() { return DurationDays; }
public ResourcedEquipment setDurationDays(Double value) { this.DurationDays = value; return this; }
public String getSourceReference() { return SourceReference; }
public ResourcedEquipment setSourceReference(String value) { this.SourceReference = value; return this; }
public String getNotes() { return Notes; }
public ResourcedEquipment setNotes(String value) { this.Notes = value; return this; }
public Boolean getIsInCatalog() { return IsInCatalog; }
public ResourcedEquipment setIsInCatalog(Boolean value) { this.IsInCatalog = value; return this; }
public Integer getSuggestedEquipmentID() { return SuggestedEquipmentID; }
public ResourcedEquipment setSuggestedEquipmentID(Integer value) { this.SuggestedEquipmentID = value; return this; }
public String getSuggestedEquipmentName() { return SuggestedEquipmentName; }
public ResourcedEquipment setSuggestedEquipmentName(String value) { this.SuggestedEquipmentName = value; return this; }
}
public static class ResourcedMaterial
{
public Integer MaterialID = null;
public String MaterialName = null;
public String MakeModel = null;
public Double Quantity = null;
public String Unit = null;
public String SourceReference = null;
public String Notes = null;
public Boolean IsInCatalog = null;
public Integer SuggestedMaterialID = null;
public String SuggestedMaterialName = null;
public Integer getMaterialID() { return MaterialID; }
public ResourcedMaterial setMaterialID(Integer value) { this.MaterialID = value; return this; }
public String getMaterialName() { return MaterialName; }
public ResourcedMaterial setMaterialName(String value) { this.MaterialName = value; return this; }
public String getMakeModel() { return MakeModel; }
public ResourcedMaterial setMakeModel(String value) { this.MakeModel = value; return this; }
public Double getQuantity() { return Quantity; }
public ResourcedMaterial setQuantity(Double value) { this.Quantity = value; return this; }
public String getUnit() { return Unit; }
public ResourcedMaterial setUnit(String value) { this.Unit = value; return this; }
public String getSourceReference() { return SourceReference; }
public ResourcedMaterial setSourceReference(String value) { this.SourceReference = value; return this; }
public String getNotes() { return Notes; }
public ResourcedMaterial setNotes(String value) { this.Notes = value; return this; }
public Boolean getIsInCatalog() { return IsInCatalog; }
public ResourcedMaterial setIsInCatalog(Boolean value) { this.IsInCatalog = value; return this; }
public Integer getSuggestedMaterialID() { return SuggestedMaterialID; }
public ResourcedMaterial setSuggestedMaterialID(Integer value) { this.SuggestedMaterialID = value; return this; }
public String getSuggestedMaterialName() { return SuggestedMaterialName; }
public ResourcedMaterial setSuggestedMaterialName(String value) { this.SuggestedMaterialName = value; return this; }
}
public static class RfpApproveResponse
{
public ResponseStatus ResponseStatus = null;
public Integer RfpDocumentID = null;
public Integer ProjectID = null;
public UUID ProjectUID = null;
public Integer RfpApprovalID = null;
public ArrayList<Integer> JobIDs = new ArrayList<Integer>();
public Integer OpenPositionCount = null;
public ProposalDiff Diff = null;
public ResponseStatus getResponseStatus() { return ResponseStatus; }
public RfpApproveResponse setResponseStatus(ResponseStatus value) { this.ResponseStatus = value; return this; }
public Integer getRfpDocumentID() { return RfpDocumentID; }
public RfpApproveResponse setRfpDocumentID(Integer value) { this.RfpDocumentID = value; return this; }
public Integer getProjectID() { return ProjectID; }
public RfpApproveResponse setProjectID(Integer value) { this.ProjectID = value; return this; }
public UUID getProjectUID() { return ProjectUID; }
public RfpApproveResponse setProjectUID(UUID value) { this.ProjectUID = value; return this; }
public Integer getRfpApprovalID() { return RfpApprovalID; }
public RfpApproveResponse setRfpApprovalID(Integer value) { this.RfpApprovalID = value; return this; }
public ArrayList<Integer> getJobIDs() { return JobIDs; }
public RfpApproveResponse setJobIDs(ArrayList<Integer> value) { this.JobIDs = value; return this; }
public Integer getOpenPositionCount() { return OpenPositionCount; }
public RfpApproveResponse setOpenPositionCount(Integer value) { this.OpenPositionCount = value; return this; }
public ProposalDiff getDiff() { return Diff; }
public RfpApproveResponse setDiff(ProposalDiff value) { this.Diff = value; return this; }
}
public static class ProposalDiff
{
public ArrayList<String> TasksAdded = new ArrayList<String>();
public ArrayList<String> TasksRemoved = new ArrayList<String>();
public ArrayList<TaskDiff> Tasks = new ArrayList<TaskDiff>();
public Boolean HasChanges = null;
public ArrayList<String> getTasksAdded() { return TasksAdded; }
public ProposalDiff setTasksAdded(ArrayList<String> value) { this.TasksAdded = value; return this; }
public ArrayList<String> getTasksRemoved() { return TasksRemoved; }
public ProposalDiff setTasksRemoved(ArrayList<String> value) { this.TasksRemoved = value; return this; }
public ArrayList<TaskDiff> getTasks() { return Tasks; }
public ProposalDiff setTasks(ArrayList<TaskDiff> value) { this.Tasks = value; return this; }
public Boolean isHasChanges() { return HasChanges; }
public ProposalDiff setHasChanges(Boolean value) { this.HasChanges = value; return this; }
}
public static class TaskDiff
{
public String TaskName = null;
public ArrayList<String> PositionsAdded = new ArrayList<String>();
public ArrayList<String> PositionsRemoved = new ArrayList<String>();
public ArrayList<String> PositionsStaffed = new ArrayList<String>();
public ArrayList<Integer> EquipmentAdded = new ArrayList<Integer>();
public ArrayList<Integer> EquipmentRemoved = new ArrayList<Integer>();
public ArrayList<Integer> MaterialsAdded = new ArrayList<Integer>();
public ArrayList<Integer> MaterialsRemoved = new ArrayList<Integer>();
public Boolean HasChanges = null;
public String getTaskName() { return TaskName; }
public TaskDiff setTaskName(String value) { this.TaskName = value; return this; }
public ArrayList<String> getPositionsAdded() { return PositionsAdded; }
public TaskDiff setPositionsAdded(ArrayList<String> value) { this.PositionsAdded = value; return this; }
public ArrayList<String> getPositionsRemoved() { return PositionsRemoved; }
public TaskDiff setPositionsRemoved(ArrayList<String> value) { this.PositionsRemoved = value; return this; }
public ArrayList<String> getPositionsStaffed() { return PositionsStaffed; }
public TaskDiff setPositionsStaffed(ArrayList<String> value) { this.PositionsStaffed = value; return this; }
public ArrayList<Integer> getEquipmentAdded() { return EquipmentAdded; }
public TaskDiff setEquipmentAdded(ArrayList<Integer> value) { this.EquipmentAdded = value; return this; }
public ArrayList<Integer> getEquipmentRemoved() { return EquipmentRemoved; }
public TaskDiff setEquipmentRemoved(ArrayList<Integer> value) { this.EquipmentRemoved = value; return this; }
public ArrayList<Integer> getMaterialsAdded() { return MaterialsAdded; }
public TaskDiff setMaterialsAdded(ArrayList<Integer> value) { this.MaterialsAdded = value; return this; }
public ArrayList<Integer> getMaterialsRemoved() { return MaterialsRemoved; }
public TaskDiff setMaterialsRemoved(ArrayList<Integer> value) { this.MaterialsRemoved = value; return this; }
public Boolean isHasChanges() { return HasChanges; }
public TaskDiff setHasChanges(Boolean value) { this.HasChanges = value; return this; }
}
}
To override the Content-type in your clients, use the HTTP Accept Header, append the .xml suffix or ?format=xml
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: application/xml
Content-Type: application/xml
Content-Length: length
<RfpApproveRequest xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/CRM.AgencyPlatform.API.Internal">
<Proposal>
<BidDueDate>String</BidDueDate>
<ClientName>String</ClientName>
<ContractDurationDays>0</ContractDurationDays>
<EstimatedEndDate>0001-01-01T00:00:00</EstimatedEndDate>
<EstimatedStartDate>0001-01-01T00:00:00</EstimatedStartDate>
<ProjectDescription>String</ProjectDescription>
<ProjectLocation>String</ProjectLocation>
<ProjectName>String</ProjectName>
<ProjectType>String</ProjectType>
<RfpDocumentID>0</RfpDocumentID>
<Scope>String</Scope>
<Tasks>
<ProposedTask>
<Category>String</Category>
<DependsOn xmlns:d5p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<d5p1:int>0</d5p1:int>
</DependsOn>
<DurationDays>0</DurationDays>
<EstimatedEndDate>0001-01-01T00:00:00</EstimatedEndDate>
<EstimatedStartDate>0001-01-01T00:00:00</EstimatedStartDate>
<Name>String</Name>
<Notes>String</Notes>
<Quantity>0</Quantity>
<Resourcing>
<Equipment>
<ResourcedEquipment>
<DurationDays>0</DurationDays>
<EquipmentID>0</EquipmentID>
<EquipmentName>String</EquipmentName>
<IsInCatalog>false</IsInCatalog>
<MakeModel>String</MakeModel>
<Notes>String</Notes>
<Quantity>0</Quantity>
<SourceReference>String</SourceReference>
<SuggestedEquipmentID>0</SuggestedEquipmentID>
<SuggestedEquipmentName>String</SuggestedEquipmentName>
</ResourcedEquipment>
</Equipment>
<Materials>
<ResourcedMaterial>
<IsInCatalog>false</IsInCatalog>
<MakeModel>String</MakeModel>
<MaterialID>0</MaterialID>
<MaterialName>String</MaterialName>
<Notes>String</Notes>
<Quantity>0</Quantity>
<SourceReference>String</SourceReference>
<SuggestedMaterialID>0</SuggestedMaterialID>
<SuggestedMaterialName>String</SuggestedMaterialName>
<Unit>String</Unit>
</ResourcedMaterial>
</Materials>
<Positions>
<ResourcedPosition>
<ContactID>0</ContactID>
<Headcount>0</Headcount>
<Hours>0</Hours>
<IsInCatalog>false</IsInCatalog>
<Notes>String</Notes>
<PositionTag>String</PositionTag>
<SourceReference>String</SourceReference>
</ResourcedPosition>
</Positions>
</Resourcing>
<Seq>0</Seq>
<SourceItemNumber>String</SourceItemNumber>
<SourceReference>String</SourceReference>
<Unit>String</Unit>
</ProposedTask>
</Tasks>
</Proposal>
<RfpDocumentUID>00000000-0000-0000-0000-000000000000</RfpDocumentUID>
</RfpApproveRequest>
HTTP/1.1 200 OK
Content-Type: application/xml
Content-Length: length
<RfpApproveResponse xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/CRM.AgencyPlatform.API.Internal">
<Diff>
<Tasks>
<TaskDiff>
<EquipmentAdded xmlns:d5p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<d5p1:int>0</d5p1:int>
</EquipmentAdded>
<EquipmentRemoved xmlns:d5p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<d5p1:int>0</d5p1:int>
</EquipmentRemoved>
<MaterialsAdded xmlns:d5p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<d5p1:int>0</d5p1:int>
</MaterialsAdded>
<MaterialsRemoved xmlns:d5p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<d5p1:int>0</d5p1:int>
</MaterialsRemoved>
<PositionsAdded xmlns:d5p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<d5p1:string>String</d5p1:string>
</PositionsAdded>
<PositionsRemoved xmlns:d5p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<d5p1:string>String</d5p1:string>
</PositionsRemoved>
<PositionsStaffed xmlns:d5p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<d5p1:string>String</d5p1:string>
</PositionsStaffed>
<TaskName>String</TaskName>
</TaskDiff>
</Tasks>
<TasksAdded xmlns:d3p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<d3p1:string>String</d3p1:string>
</TasksAdded>
<TasksRemoved xmlns:d3p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<d3p1:string>String</d3p1:string>
</TasksRemoved>
</Diff>
<JobIDs xmlns:d2p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<d2p1:int>0</d2p1:int>
</JobIDs>
<OpenPositionCount>0</OpenPositionCount>
<ProjectID>0</ProjectID>
<ProjectUID>00000000-0000-0000-0000-000000000000</ProjectUID>
<ResponseStatus xmlns:d2p1="http://schemas.servicestack.net/types">
<d2p1:ErrorCode>String</d2p1:ErrorCode>
<d2p1:Message>String</d2p1:Message>
<d2p1:StackTrace>String</d2p1:StackTrace>
<d2p1:Errors>
<d2p1:ResponseError>
<d2p1:ErrorCode>String</d2p1:ErrorCode>
<d2p1:FieldName>String</d2p1:FieldName>
<d2p1:Message>String</d2p1:Message>
<d2p1:Meta xmlns:d5p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<d5p1:KeyValueOfstringstring>
<d5p1:Key>String</d5p1:Key>
<d5p1:Value>String</d5p1:Value>
</d5p1:KeyValueOfstringstring>
</d2p1:Meta>
</d2p1:ResponseError>
</d2p1:Errors>
<d2p1:Meta xmlns:d3p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<d3p1:KeyValueOfstringstring>
<d3p1:Key>String</d3p1:Key>
<d3p1:Value>String</d3p1:Value>
</d3p1:KeyValueOfstringstring>
</d2p1:Meta>
</ResponseStatus>
<RfpApprovalID>0</RfpApprovalID>
<RfpDocumentID>0</RfpDocumentID>
</RfpApproveResponse>