Unico3.Link.API

<back to all web services

RiferimentoImpianto

Assistenza
The following routes are available for this service:
PUT/assistenza/impianti/riferimenti
PUT,GET/assistenza/impianti/riferimenti/id/{Id}
PUT,GET/assistenza/impianti/riferimenti/codiceexport/{CodiceExport}
import Foundation
import ServiceStack

public class RiferimentoImpianto : Codable
{
    public var id:Int?
    public var codiceExport:String?
    public var impianto:FK_Impianto?
    public var anagrafica:FK_Anagrafica?
    public var ruolo:RuoloRiferimentoImpianto?
    public var note:String?
    public var dataInizioIncarico:OptionalNullableDateTime?

    required public init(){}
}

public class FK_Impianto : FK, IUniqueCodiceNumerico, IUniqueCodiceExport
{
    public var codice:Int?
    public var codiceExport:String?

    required public init(){ super.init() }

    private enum CodingKeys : String, CodingKey {
        case codice
        case codiceExport
    }

    required public init(from decoder: Decoder) throws {
        try super.init(from: decoder)
        let container = try decoder.container(keyedBy: CodingKeys.self)
        codice = try container.decodeIfPresent(Int.self, forKey: .codice)
        codiceExport = try container.decodeIfPresent(String.self, forKey: .codiceExport)
    }

    public override func encode(to encoder: Encoder) throws {
        try super.encode(to: encoder)
        var container = encoder.container(keyedBy: CodingKeys.self)
        if codice != nil { try container.encode(codice, forKey: .codice) }
        if codiceExport != nil { try container.encode(codiceExport, forKey: .codiceExport) }
    }
}

public class FK : Codable
{
    public var id:Int?

    required public init(){}
}

public class FK_Anagrafica : FK, IUniqueCodiceNumerico, IUniqueCodiceExport
{
    public var codice:Int?
    public var codiceExport:String?

    required public init(){ super.init() }

    private enum CodingKeys : String, CodingKey {
        case codice
        case codiceExport
    }

    required public init(from decoder: Decoder) throws {
        try super.init(from: decoder)
        let container = try decoder.container(keyedBy: CodingKeys.self)
        codice = try container.decodeIfPresent(Int.self, forKey: .codice)
        codiceExport = try container.decodeIfPresent(String.self, forKey: .codiceExport)
    }

    public override func encode(to encoder: Encoder) throws {
        try super.encode(to: encoder)
        var container = encoder.container(keyedBy: CodingKeys.self)
        if codice != nil { try container.encode(codice, forKey: .codice) }
        if codiceExport != nil { try container.encode(codiceExport, forKey: .codiceExport) }
    }
}

public enum RuoloRiferimentoImpianto : Int, Codable
{
    case Cliente = 1
    case Amministratore = 3
    case Installatore = 4
    case Proprietario = 5
    case TerzoResponsabile = 6
    case Progettista = 7
    case Referente = 10
    case Occupante = 11
    case Conduttore = 13
}

public class OptionalNullableDateTime : Optional<Date>
{
    required public init(){ super.init() }

    required public init(from decoder: Decoder) throws {
        try super.init(from: decoder)
    }

    public override func encode(to encoder: Encoder) throws {
        try super.encode(to: encoder)
    }
}

public class Optional<T : Codable> : Codable
{
    public var value:String?

    required public init(){}
}


Swift RiferimentoImpianto DTOs

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

To embed the response in a jsonp callback, append ?callback=myCallback

HTTP + JSON

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

PUT /assistenza/impianti/riferimenti HTTP/1.1 
Host: unico3.link.api 
Accept: application/json
Content-Type: application/json
Content-Length: length

{"Id":0,"CodiceExport":"String","Impianto":{"Codice":0,"CodiceExport":"String","Id":0},"Anagrafica":{"Codice":0,"CodiceExport":"String","Id":0},"Ruolo":"0","Note":"String","DataInizioIncarico":{"Value":"0001-01-01T00:00:00.0000000"}}
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: length

{"Id":0,"CodiceExport":"String","Impianto":{"Codice":0,"CodiceExport":"String","Id":0},"Anagrafica":{"Codice":0,"CodiceExport":"String","Id":0},"Ruolo":"0","Note":"String","DataInizioIncarico":{"Value":"0001-01-01T00:00:00.0000000"}}