GET | /tender/{tenderid}/user/{userid}/procurement/{procurementid} |
---|
import datetime
import decimal
from marshmallow.fields import *
from servicestack import *
from typing import *
from dataclasses import dataclass, field
from dataclasses_json import dataclass_json, LetterCase, Undefined, config
from enum import Enum, IntEnum
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class ProcurementBase:
tender_id: int = 0
user_id: int = 0
procurement_id: int = 0
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class ResponseBase:
response_status: Optional[ResponseStatus] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class ModifyRequestBase(IConcurrencyStamp):
concurrency_stamp: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class ModifyProcurementBase(ModifyRequestBase):
is_group_member: Optional[bool] = None
group_name: Optional[str] = None
group_short_name: Optional[str] = None
country_id: Optional[int] = None
vat_number: Optional[str] = None
registration_number: Optional[str] = None
duns: Optional[str] = None
address: Optional[str] = None
main_activity: Optional[str] = None
established_date: Optional[datetime.datetime] = None
workforce: Optional[int] = None
website: Optional[str] = None
sales_manager_name: Optional[str] = None
sales_manager_phone: Optional[str] = None
sales_manager_email: Optional[str] = None
csr_manager_name: Optional[str] = None
csr_manager_phone: Optional[str] = None
csr_manager_email: Optional[str] = None
account_country_id: Optional[int] = None
bank_name: Optional[str] = None
account_number: Optional[str] = None
iban: Optional[str] = None
swift: Optional[str] = None
currency_id: Optional[int] = None
work_force_n1: Optional[int] = None
work_force_n2: Optional[int] = None
work_force_n3: Optional[int] = None
subscribed_capital: Optional[int] = None
subscribed_capital_currency_id: Optional[int] = None
revenue_n1: Optional[int] = None
revenue_n2: Optional[int] = None
revenue_n3: Optional[int] = None
net_profit_n1: Optional[int] = None
net_profit_n2: Optional[int] = None
net_profit_n3: Optional[int] = None
equity_n1: Optional[int] = None
equity_n2: Optional[int] = None
equity_n3: Optional[int] = None
liability_n1: Optional[int] = None
liability_n2: Optional[int] = None
liability_n3: Optional[int] = None
operating_result_n1: Optional[int] = None
operating_result_n2: Optional[int] = None
operating_result_n3: Optional[int] = None
db_failure_score: Optional[str] = None
is_audited_account: Optional[bool] = None
is_audited_account_comment: Optional[str] = None
is_liquidation_proceedings: Optional[bool] = None
is_liquidation_proceedings_comment: Optional[str] = None
veolia_annual_revenues_proportion: Optional[Decimal] = None
is_anti_corruption_document: Optional[bool] = None
is_corruption_risk_map: Optional[bool] = None
is_third_parties_evaluating_system: Optional[bool] = None
is_internal_rules: Optional[bool] = None
is_human_rights: Optional[bool] = None
is_anti_corruption_training: Optional[bool] = None
is_anti_corruption_report_system: Optional[bool] = None
is_iso9001: Optional[bool] = None
is_eco_vadis_scorecard: Optional[bool] = None
eco_vadis_total_score: Optional[int] = None
is_reduce_employee_safety_risk: Optional[bool] = None
is_promote_social_integration: Optional[bool] = None
is_nondiscrimination_policy: Optional[bool] = None
is_iso14001: Optional[bool] = None
is_identified_major_environmental_impacts: Optional[bool] = None
is_use_water_resources: Optional[bool] = None
is_consumption_of_raw_materials: Optional[bool] = None
is_energy_consumption: Optional[bool] = None
is_greenhouse_gas_emissions: Optional[bool] = None
is_atmospheric_emissions: Optional[bool] = None
is_aqueous_pollution: Optional[bool] = None
is_waste_generation: Optional[bool] = None
is_natural_areas_pollution: Optional[bool] = None
is_privacy_statement: Optional[bool] = None
is_veolia_supplier_charter: Optional[bool] = None
is_veolia_core_standards: Optional[bool] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class ModifyLegalRepresentativeBase(ModifyRequestBase):
procurement_id: int = 0
position: Optional[str] = None
name: Optional[str] = None
address: Optional[str] = None
birth_date: Optional[datetime.datetime] = None
email: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class LegalRepresentativeDetails(ModifyLegalRepresentativeBase):
id: int = 0
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class ProcurementDetails(ModifyProcurementBase):
id: int = 0
indebtedness_n1: Optional[float] = None
indebtedness_n2: Optional[float] = None
indebtedness_n3: Optional[float] = None
sales_proportionate_profit_n1: Optional[float] = None
sales_proportionate_profit_n2: Optional[float] = None
sales_proportionate_profit_n3: Optional[float] = None
liquidity_ratio_n1: Optional[float] = None
liquidity_ratio_n2: Optional[float] = None
liquidity_ratio_n3: Optional[float] = None
submitted_by_id: Optional[int] = None
submission_date_time: Optional[datetime.datetime] = None
is_submitted: bool = False
legal_representatives: Optional[List[LegalRepresentativeDetails]] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class BrowseProcurementResponse(ResponseBase):
procurement: Optional[ProcurementDetails] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class BrowseProcurement(ProcurementBase, IGet):
pass
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.
GET /tender/{tenderid}/user/{userid}/procurement/{procurementid} HTTP/1.1 Host: szallitoiportal-be.veolia.hu Accept: text/csv
HTTP/1.1 200 OK Content-Type: text/csv Content-Length: length {"Procurement":{"Id":0,"SubmittedById":0,"SubmissionDateTime":"0001-01-01T00:00:00.0000000","IsSubmitted":false,"LegalRepresentatives":[{"Id":0,"ProcurementId":0,"Position":"String","Name":"String","Address":"String","BirthDate":"0001-01-01T00:00:00.0000000","Email":"String","ConcurrencyStamp":"String"}],"IsGroupMember":false,"GroupName":"String","GroupShortName":"String","CountryId":0,"VatNumber":"String","RegistrationNumber":"String","Duns":"String","Address":"String","MainActivity":"String","EstablishedDate":"0001-01-01T00:00:00.0000000","Workforce":0,"Website":"String","SalesManagerName":"String","SalesManagerPhone":"String","SalesManagerEmail":"String","CsrManagerName":"String","CsrManagerPhone":"String","CsrManagerEmail":"String","AccountCountryId":0,"BankName":"String","AccountNumber":"String","Iban":"String","Swift":"String","CurrencyId":0,"WorkForceN1":0,"WorkForceN2":0,"WorkForceN3":0,"SubscribedCapital":0,"SubscribedCapitalCurrencyId":0,"RevenueN1":0,"RevenueN2":0,"RevenueN3":0,"NetProfitN1":0,"NetProfitN2":0,"NetProfitN3":0,"EquityN1":0,"EquityN2":0,"EquityN3":0,"LiabilityN1":0,"LiabilityN2":0,"LiabilityN3":0,"OperatingResultN1":0,"OperatingResultN2":0,"OperatingResultN3":0,"DBFailureScore":"String","IsAuditedAccount":false,"IsAuditedAccountComment":"String","IsLiquidationProceedings":false,"IsLiquidationProceedingsComment":"String","VeoliaAnnualRevenuesProportion":0,"IsAntiCorruptionDocument":false,"IsCorruptionRiskMap":false,"IsThirdPartiesEvaluatingSystem":false,"IsInternalRules":false,"IsHumanRights":false,"IsAntiCorruptionTraining":false,"IsAntiCorruptionReportSystem":false,"IsIso9001":false,"IsEcoVadisScorecard":false,"EcoVadisTotalScore":0,"IsReduceEmployeeSafetyRisk":false,"IsPromoteSocialIntegration":false,"IsNondiscriminationPolicy":false,"IsIso14001":false,"IsIdentifiedMajorEnvironmentalImpacts":false,"IsUseWaterResources":false,"IsConsumptionOfRawMaterials":false,"IsEnergyConsumption":false,"IsGreenhouseGasEmissions":false,"IsAtmosphericEmissions":false,"IsAqueousPollution":false,"IsWasteGeneration":false,"IsNaturalAreasPollution":false,"IsPrivacyStatement":false,"IsVeoliaSupplierCharter":false,"IsVeoliaCoreStandards":false,"ConcurrencyStamp":"String"},"ResponseStatus":{"ErrorCode":"String","Message":"String","StackTrace":"String","Errors":[{"ErrorCode":"String","FieldName":"String","Message":"String","Meta":{"String":"String"}}],"Meta":{"String":"String"}}}