/* Options:
Date: 2025-04-12 10:42:48
Version: 8.22
Tip: To override a DTO option, remove "//" prefix before updating
BaseUrl: https://data.regent-college.edu

//GlobalNamespace: 
//AddServiceStackTypes: True
//AddResponseStatus: False
//AddImplicitVersion: 
//AddDescriptionAsComments: True
IncludeTypes: CRMUpdateFieldByRegentIdRequest.*
//ExcludeTypes: 
//DefaultImports: package:servicestack/servicestack.dart,dart:typed_data
*/

import 'package:servicestack/servicestack.dart';
import 'dart:typed_data';

class Updates implements IConvertible
{
    int? regent_id;
    String? field_value;

    Updates({this.regent_id,this.field_value});
    Updates.fromJson(Map<String, dynamic> json) { fromMap(json); }

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

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

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

// @Route("/DynamicsCRM/UpdateFieldByRegentId", "POST")
class CRMUpdateFieldByRegentIdRequest implements IReturn<ResponseStatus>, IConvertible, IPost
{
    String? field_name;
    List<Updates>? updates;

    CRMUpdateFieldByRegentIdRequest({this.field_name,this.updates});
    CRMUpdateFieldByRegentIdRequest.fromJson(Map<String, dynamic> json) { fromMap(json); }

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

    Map<String, dynamic> toJson() => {
        'field_name': field_name,
        'updates': JsonConverters.toJson(updates,'List<Updates>',context!)
    };

    createResponse() => ResponseStatus();
    getResponseTypeName() => "ResponseStatus";
    getTypeName() => "CRMUpdateFieldByRegentIdRequest";
    TypeContext? context = _ctx;
}

TypeContext _ctx = TypeContext(library: 'data.regent_college.edu', types: <String, TypeInfo> {
    'Updates': TypeInfo(TypeOf.Class, create:() => Updates()),
    'CRMUpdateFieldByRegentIdRequest': TypeInfo(TypeOf.Class, create:() => CRMUpdateFieldByRegentIdRequest()),
    'List<Updates>': TypeInfo(TypeOf.Class, create:() => <Updates>[]),
});