Portal

<back to all web services

AddSupplier

Requires Authentication
Requires any of the roles:VeoliaAdmin, SupplierRegistration
The following routes are available for this service:
POST/supplier
import 'package:servicestack/servicestack.dart';

abstract class ModifyRequestBase implements IConcurrencyStamp
{
    String? ConcurrencyStamp;

    ModifyRequestBase({this.ConcurrencyStamp});
    ModifyRequestBase.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        ConcurrencyStamp = json['ConcurrencyStamp'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'ConcurrencyStamp': ConcurrencyStamp
    };

    getTypeName() => "ModifyRequestBase";
    TypeContext? context = _ctx;
}

abstract class SupplierBase extends ModifyRequestBase
{
    String? VatNumber;
    String? EUTaxNumber;
    String? GroupTaxNumber;
    int? BusinessType;
    int? CountryId;
    String? Name;
    String? ShortName;
    String? RegistrationNumber;
    DateTime? EstablishedDate;
    DateTime? RegistrationDate;
    String? Duns;
    String? OperatingLicenseNumber;
    bool? IsAccounting;
    bool? IsSmallTaxPayer;
    String? Email;
    String? PhoneNumber;
    String? Website;

    SupplierBase({this.VatNumber,this.EUTaxNumber,this.GroupTaxNumber,this.BusinessType,this.CountryId,this.Name,this.ShortName,this.RegistrationNumber,this.EstablishedDate,this.RegistrationDate,this.Duns,this.OperatingLicenseNumber,this.IsAccounting,this.IsSmallTaxPayer,this.Email,this.PhoneNumber,this.Website});
    SupplierBase.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        super.fromMap(json);
        VatNumber = json['VatNumber'];
        EUTaxNumber = json['EUTaxNumber'];
        GroupTaxNumber = json['GroupTaxNumber'];
        BusinessType = json['BusinessType'];
        CountryId = json['CountryId'];
        Name = json['Name'];
        ShortName = json['ShortName'];
        RegistrationNumber = json['RegistrationNumber'];
        EstablishedDate = JsonConverters.fromJson(json['EstablishedDate'],'DateTime',context!);
        RegistrationDate = JsonConverters.fromJson(json['RegistrationDate'],'DateTime',context!);
        Duns = json['Duns'];
        OperatingLicenseNumber = json['OperatingLicenseNumber'];
        IsAccounting = json['IsAccounting'];
        IsSmallTaxPayer = json['IsSmallTaxPayer'];
        Email = json['Email'];
        PhoneNumber = json['PhoneNumber'];
        Website = json['Website'];
        return this;
    }

    Map<String, dynamic> toJson() => super.toJson()..addAll({
        'VatNumber': VatNumber,
        'EUTaxNumber': EUTaxNumber,
        'GroupTaxNumber': GroupTaxNumber,
        'BusinessType': BusinessType,
        'CountryId': CountryId,
        'Name': Name,
        'ShortName': ShortName,
        'RegistrationNumber': RegistrationNumber,
        'EstablishedDate': JsonConverters.toJson(EstablishedDate,'DateTime',context!),
        'RegistrationDate': JsonConverters.toJson(RegistrationDate,'DateTime',context!),
        'Duns': Duns,
        'OperatingLicenseNumber': OperatingLicenseNumber,
        'IsAccounting': IsAccounting,
        'IsSmallTaxPayer': IsSmallTaxPayer,
        'Email': Email,
        'PhoneNumber': PhoneNumber,
        'Website': Website
    });

    getTypeName() => "SupplierBase";
    TypeContext? context = _ctx;
}

abstract class ResponseBase
{
    ResponseStatus? ResponseStatus;

    ResponseBase({this.ResponseStatus});
    ResponseBase.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        ResponseStatus = JsonConverters.fromJson(json['ResponseStatus'],'ResponseStatus',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'ResponseStatus': JsonConverters.toJson(ResponseStatus,'ResponseStatus',context!)
    };

    getTypeName() => "ResponseBase";
    TypeContext? context = _ctx;
}

class ModifyEntityResponse extends ResponseBase implements IConvertible
{
    int? Id;

    ModifyEntityResponse({this.Id});
    ModifyEntityResponse.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        super.fromMap(json);
        Id = json['Id'];
        return this;
    }

    Map<String, dynamic> toJson() => super.toJson()..addAll({
        'Id': Id
    });

    getTypeName() => "ModifyEntityResponse";
    TypeContext? context = _ctx;
}

class AddSupplierMainActivity implements IConvertible
{
    String? Teaor;
    String? Description;

    AddSupplierMainActivity({this.Teaor,this.Description});
    AddSupplierMainActivity.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        Teaor = json['Teaor'];
        Description = json['Description'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'Teaor': Teaor,
        'Description': Description
    };

    getTypeName() => "AddSupplierMainActivity";
    TypeContext? context = _ctx;
}

class AddressType
{
    static const AddressType Postal = const AddressType._(0);
    static const AddressType HeadQuarters = const AddressType._(1);
    static const AddressType Site = const AddressType._(2);

    final int _value;
    const AddressType._(this._value);
    int get value => _value;
    static List<AddressType> get values => const [Postal,HeadQuarters,Site];
}

class AddSupplierSupplierAddress implements IConvertible
{
    int? CountryId;
    AddressType? AddressType;
    String? ZipCode;
    String? City;
    String? Address;
    String? StreetAddress;
    String? StreetType;
    String? HouseNumber;
    String? Building;
    String? Staircase;
    String? Floor;
    String? Door;
    String? POB;
    String? Other;

    AddSupplierSupplierAddress({this.CountryId,this.AddressType,this.ZipCode,this.City,this.Address,this.StreetAddress,this.StreetType,this.HouseNumber,this.Building,this.Staircase,this.Floor,this.Door,this.POB,this.Other});
    AddSupplierSupplierAddress.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        CountryId = json['CountryId'];
        AddressType = JsonConverters.fromJson(json['AddressType'],'AddressType',context!);
        ZipCode = json['ZipCode'];
        City = json['City'];
        Address = json['Address'];
        StreetAddress = json['StreetAddress'];
        StreetType = json['StreetType'];
        HouseNumber = json['HouseNumber'];
        Building = json['Building'];
        Staircase = json['Staircase'];
        Floor = json['Floor'];
        Door = json['Door'];
        POB = json['POB'];
        Other = json['Other'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'CountryId': CountryId,
        'AddressType': JsonConverters.toJson(AddressType,'AddressType',context!),
        'ZipCode': ZipCode,
        'City': City,
        'Address': Address,
        'StreetAddress': StreetAddress,
        'StreetType': StreetType,
        'HouseNumber': HouseNumber,
        'Building': Building,
        'Staircase': Staircase,
        'Floor': Floor,
        'Door': Door,
        'POB': POB,
        'Other': Other
    };

    getTypeName() => "AddSupplierSupplierAddress";
    TypeContext? context = _ctx;
}

class AddSupplier extends SupplierBase implements IPost, IConvertible
{
    List<AddSupplierMainActivity>? MainActivities;
    List<AddSupplierSupplierAddress>? SupplierAddresses;

    AddSupplier({this.MainActivities,this.SupplierAddresses});
    AddSupplier.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        super.fromMap(json);
        MainActivities = JsonConverters.fromJson(json['MainActivities'],'List<AddSupplierMainActivity>',context!);
        SupplierAddresses = JsonConverters.fromJson(json['SupplierAddresses'],'List<AddSupplierSupplierAddress>',context!);
        return this;
    }

    Map<String, dynamic> toJson() => super.toJson()..addAll({
        'MainActivities': JsonConverters.toJson(MainActivities,'List<AddSupplierMainActivity>',context!),
        'SupplierAddresses': JsonConverters.toJson(SupplierAddresses,'List<AddSupplierSupplierAddress>',context!)
    });

    getTypeName() => "AddSupplier";
    TypeContext? context = _ctx;
}

TypeContext _ctx = TypeContext(library: 'szallitoiportal_be.veolia.hu', types: <String, TypeInfo> {
    'ModifyRequestBase': TypeInfo(TypeOf.AbstractClass),
    'SupplierBase': TypeInfo(TypeOf.AbstractClass),
    'ResponseBase': TypeInfo(TypeOf.AbstractClass),
    'ModifyEntityResponse': TypeInfo(TypeOf.Class, create:() => ModifyEntityResponse()),
    'AddSupplierMainActivity': TypeInfo(TypeOf.Class, create:() => AddSupplierMainActivity()),
    'AddressType': TypeInfo(TypeOf.Enum, enumValues:AddressType.values),
    'AddSupplierSupplierAddress': TypeInfo(TypeOf.Class, create:() => AddSupplierSupplierAddress()),
    'AddSupplier': TypeInfo(TypeOf.Class, create:() => AddSupplier()),
    'List<AddSupplierMainActivity>': TypeInfo(TypeOf.Class, create:() => <AddSupplierMainActivity>[]),
    'List<AddSupplierSupplierAddress>': TypeInfo(TypeOf.Class, create:() => <AddSupplierSupplierAddress>[]),
});

Dart AddSupplier DTOs

To override the Content-type in your clients, use the HTTP Accept Header, append the .jsv suffix or ?format=jsv

HTTP + JSV

The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.

POST /supplier HTTP/1.1 
Host: szallitoiportal-be.veolia.hu 
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length

{
	MainActivities: 
	[
		{
			Teaor: String,
			Description: String
		}
	],
	SupplierAddresses: 
	[
		{
			CountryId: 0,
			AddressType: 0,
			ZipCode: String,
			City: String,
			Address: String,
			StreetAddress: String,
			StreetType: String,
			HouseNumber: String,
			Building: String,
			Staircase: String,
			Floor: String,
			Door: String,
			POB: String,
			Other: String
		}
	],
	VatNumber: String,
	EUTaxNumber: String,
	GroupTaxNumber: String,
	BusinessType: 0,
	CountryId: 0,
	Name: String,
	ShortName: String,
	RegistrationNumber: String,
	EstablishedDate: 0001-01-01,
	RegistrationDate: 0001-01-01,
	Duns: String,
	OperatingLicenseNumber: String,
	IsAccounting: False,
	IsSmallTaxPayer: False,
	Email: String,
	PhoneNumber: String,
	Website: String,
	ConcurrencyStamp: String
}
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length

{
	Id: 0,
	ResponseStatus: 
	{
		ErrorCode: String,
		Message: String,
		StackTrace: String,
		Errors: 
		[
			{
				ErrorCode: String,
				FieldName: String,
				Message: String,
				Meta: 
				{
					String: String
				}
			}
		],
		Meta: 
		{
			String: String
		}
	}
}