/* Options: Date: 2026-09-23 02:18:03 Version: 8.80 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://api.dev.dynamics.trendsic.com //GlobalNamespace: //MakePropertiesOptional: False //AddServiceStackTypes: True //AddResponseStatus: False //AddImplicitVersion: //AddDescriptionAsComments: True IncludeTypes: EstimateRevisionCompareRequest.* //ExcludeTypes: //DefaultImports: */ export interface IReturn { createResponse(): T; } export class TaskDiff { public TaskName: string; public PositionsAdded: string[] = []; public PositionsRemoved: string[] = []; public PositionsStaffed: string[] = []; public EquipmentAdded: number[] = []; public EquipmentRemoved: number[] = []; public MaterialsAdded: number[] = []; public MaterialsRemoved: number[] = []; public HasChanges: boolean; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class ProposalDiff { public TasksAdded: string[] = []; public TasksRemoved: string[] = []; public Tasks: TaskDiff[] = []; public HasChanges: boolean; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class RevisionLineDelta { public ItemNo: string; public Description: string; public Unit: string; public Change: string; public QuantityA?: number; public QuantityB?: number; public UnitPriceA?: number; public UnitPriceB?: number; public ExtensionA: number; public ExtensionB: number; public QuantityDelta: number; public UnitPriceDelta: number; public ExtensionDelta: number; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class EstimateRevisionCompareResult { public RevisionA: number; public RevisionB: number; public LabelA: string; public LabelB: string; public TotalA: number; public TotalB: number; public TotalDelta: number; public BidTotalA: number; public BidTotalB: number; public Added: number; public Removed: number; public Changed: number; public Unchanged: number; public Lines: RevisionLineDelta[] = []; public Scope: ProposalDiff; public Summary: string; public constructor(init?: Partial) { (Object as any).assign(this, init); } } // @DataContract export class ResponseStatus { // @DataMember(Order=1) public ErrorCode: string; // @DataMember(Order=2) public Message: string; // @DataMember(Order=3) public StackTrace: string; // @DataMember(Order=4) public Errors: ResponseError[] = []; // @DataMember(Order=5) public Meta: { [index:string]: string; } = {}; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class EstimateRevisionCompareResponse { public ResponseStatus: ResponseStatus; public Compare: EstimateRevisionCompareResult; public constructor(init?: Partial) { (Object as any).assign(this, init); } } // @Route("/v1/Rfp/{RfpDocumentUID}/Estimate/Revisions/{RevisionA}/Compare/{RevisionB}", "GET,OPTIONS") export class EstimateRevisionCompareRequest implements IReturn { public RfpDocumentUID: string; public RevisionA: number; public RevisionB: number; public constructor(init?: Partial) { (Object as any).assign(this, init); } public getTypeName() { return 'EstimateRevisionCompareRequest'; } public getMethod() { return 'GET'; } public createResponse() { return new EstimateRevisionCompareResponse(); } }