// coverage:ignore-file
// GENERATED CODE - DO NOT MODIFY BY HAND
// ignore_for_file: type=lint
// ignore_for_file: unused_element, deprecated_member_use, deprecated_member_use_from_same_package, use_function_type_syntax_for_parameters, unnecessary_const, avoid_init_to_null, invalid_override_different_default_values_named, prefer_expression_function_bodies, annotate_overrides, invalid_annotation_target, unnecessary_question_mark

part of 'equipment_request.dart';

// **************************************************************************
// FreezedGenerator
// **************************************************************************

T _$identity<T>(T value) => value;

final _privateConstructorUsedError = UnsupportedError(
    'It seems like you constructed your class using `MyClass._()`. This constructor is only meant to be used by freezed and you are not supposed to need it nor use it.\nPlease check the documentation here for more information: https://github.com/rrousselGit/freezed#adding-getters-and-methods-to-our-models');

CreateEquipmentRequest _$CreateEquipmentRequestFromJson(
    Map<String, dynamic> json) {
  return _CreateEquipmentRequest.fromJson(json);
}

/// @nodoc
mixin _$CreateEquipmentRequest {
  String get equipmentNumber => throw _privateConstructorUsedError;
  String? get category1 => throw _privateConstructorUsedError;
  String? get category2 => throw _privateConstructorUsedError;
  String? get category3 => throw _privateConstructorUsedError;
  String get manufacturer => throw _privateConstructorUsedError;
  String? get modelName => throw _privateConstructorUsedError;
  String? get serialNumber => throw _privateConstructorUsedError;
  DateTime? get purchaseDate => throw _privateConstructorUsedError;
  double? get purchasePrice => throw _privateConstructorUsedError;
  String? get remark => throw _privateConstructorUsedError;

  /// Serializes this CreateEquipmentRequest to a JSON map.
  Map<String, dynamic> toJson() => throw _privateConstructorUsedError;

  /// Create a copy of CreateEquipmentRequest
  /// with the given fields replaced by the non-null parameter values.
  @JsonKey(includeFromJson: false, includeToJson: false)
  $CreateEquipmentRequestCopyWith<CreateEquipmentRequest> get copyWith =>
      throw _privateConstructorUsedError;
}

/// @nodoc
abstract class $CreateEquipmentRequestCopyWith<$Res> {
  factory $CreateEquipmentRequestCopyWith(CreateEquipmentRequest value,
          $Res Function(CreateEquipmentRequest) then) =
      _$CreateEquipmentRequestCopyWithImpl<$Res, CreateEquipmentRequest>;
  @useResult
  $Res call(
      {String equipmentNumber,
      String? category1,
      String? category2,
      String? category3,
      String manufacturer,
      String? modelName,
      String? serialNumber,
      DateTime? purchaseDate,
      double? purchasePrice,
      String? remark});
}

/// @nodoc
class _$CreateEquipmentRequestCopyWithImpl<$Res,
        $Val extends CreateEquipmentRequest>
    implements $CreateEquipmentRequestCopyWith<$Res> {
  _$CreateEquipmentRequestCopyWithImpl(this._value, this._then);

  // ignore: unused_field
  final $Val _value;
  // ignore: unused_field
  final $Res Function($Val) _then;

  /// Create a copy of CreateEquipmentRequest
  /// with the given fields replaced by the non-null parameter values.
  @pragma('vm:prefer-inline')
  @override
  $Res call({
    Object? equipmentNumber = null,
    Object? category1 = freezed,
    Object? category2 = freezed,
    Object? category3 = freezed,
    Object? manufacturer = null,
    Object? modelName = freezed,
    Object? serialNumber = freezed,
    Object? purchaseDate = freezed,
    Object? purchasePrice = freezed,
    Object? remark = freezed,
  }) {
    return _then(_value.copyWith(
      equipmentNumber: null == equipmentNumber
          ? _value.equipmentNumber
          : equipmentNumber // ignore: cast_nullable_to_non_nullable
              as String,
      category1: freezed == category1
          ? _value.category1
          : category1 // ignore: cast_nullable_to_non_nullable
              as String?,
      category2: freezed == category2
          ? _value.category2
          : category2 // ignore: cast_nullable_to_non_nullable
              as String?,
      category3: freezed == category3
          ? _value.category3
          : category3 // ignore: cast_nullable_to_non_nullable
              as String?,
      manufacturer: null == manufacturer
          ? _value.manufacturer
          : manufacturer // ignore: cast_nullable_to_non_nullable
              as String,
      modelName: freezed == modelName
          ? _value.modelName
          : modelName // ignore: cast_nullable_to_non_nullable
              as String?,
      serialNumber: freezed == serialNumber
          ? _value.serialNumber
          : serialNumber // ignore: cast_nullable_to_non_nullable
              as String?,
      purchaseDate: freezed == purchaseDate
          ? _value.purchaseDate
          : purchaseDate // ignore: cast_nullable_to_non_nullable
              as DateTime?,
      purchasePrice: freezed == purchasePrice
          ? _value.purchasePrice
          : purchasePrice // ignore: cast_nullable_to_non_nullable
              as double?,
      remark: freezed == remark
          ? _value.remark
          : remark // ignore: cast_nullable_to_non_nullable
              as String?,
    ) as $Val);
  }
}

/// @nodoc
abstract class _$$CreateEquipmentRequestImplCopyWith<$Res>
    implements $CreateEquipmentRequestCopyWith<$Res> {
  factory _$$CreateEquipmentRequestImplCopyWith(
          _$CreateEquipmentRequestImpl value,
          $Res Function(_$CreateEquipmentRequestImpl) then) =
      __$$CreateEquipmentRequestImplCopyWithImpl<$Res>;
  @override
  @useResult
  $Res call(
      {String equipmentNumber,
      String? category1,
      String? category2,
      String? category3,
      String manufacturer,
      String? modelName,
      String? serialNumber,
      DateTime? purchaseDate,
      double? purchasePrice,
      String? remark});
}

/// @nodoc
class __$$CreateEquipmentRequestImplCopyWithImpl<$Res>
    extends _$CreateEquipmentRequestCopyWithImpl<$Res,
        _$CreateEquipmentRequestImpl>
    implements _$$CreateEquipmentRequestImplCopyWith<$Res> {
  __$$CreateEquipmentRequestImplCopyWithImpl(
      _$CreateEquipmentRequestImpl _value,
      $Res Function(_$CreateEquipmentRequestImpl) _then)
      : super(_value, _then);

  /// Create a copy of CreateEquipmentRequest
  /// with the given fields replaced by the non-null parameter values.
  @pragma('vm:prefer-inline')
  @override
  $Res call({
    Object? equipmentNumber = null,
    Object? category1 = freezed,
    Object? category2 = freezed,
    Object? category3 = freezed,
    Object? manufacturer = null,
    Object? modelName = freezed,
    Object? serialNumber = freezed,
    Object? purchaseDate = freezed,
    Object? purchasePrice = freezed,
    Object? remark = freezed,
  }) {
    return _then(_$CreateEquipmentRequestImpl(
      equipmentNumber: null == equipmentNumber
          ? _value.equipmentNumber
          : equipmentNumber // ignore: cast_nullable_to_non_nullable
              as String,
      category1: freezed == category1
          ? _value.category1
          : category1 // ignore: cast_nullable_to_non_nullable
              as String?,
      category2: freezed == category2
          ? _value.category2
          : category2 // ignore: cast_nullable_to_non_nullable
              as String?,
      category3: freezed == category3
          ? _value.category3
          : category3 // ignore: cast_nullable_to_non_nullable
              as String?,
      manufacturer: null == manufacturer
          ? _value.manufacturer
          : manufacturer // ignore: cast_nullable_to_non_nullable
              as String,
      modelName: freezed == modelName
          ? _value.modelName
          : modelName // ignore: cast_nullable_to_non_nullable
              as String?,
      serialNumber: freezed == serialNumber
          ? _value.serialNumber
          : serialNumber // ignore: cast_nullable_to_non_nullable
              as String?,
      purchaseDate: freezed == purchaseDate
          ? _value.purchaseDate
          : purchaseDate // ignore: cast_nullable_to_non_nullable
              as DateTime?,
      purchasePrice: freezed == purchasePrice
          ? _value.purchasePrice
          : purchasePrice // ignore: cast_nullable_to_non_nullable
              as double?,
      remark: freezed == remark
          ? _value.remark
          : remark // ignore: cast_nullable_to_non_nullable
              as String?,
    ));
  }
}

/// @nodoc
@JsonSerializable()
class _$CreateEquipmentRequestImpl implements _CreateEquipmentRequest {
  const _$CreateEquipmentRequestImpl(
      {required this.equipmentNumber,
      this.category1,
      this.category2,
      this.category3,
      required this.manufacturer,
      this.modelName,
      this.serialNumber,
      this.purchaseDate,
      this.purchasePrice,
      this.remark});

  factory _$CreateEquipmentRequestImpl.fromJson(Map<String, dynamic> json) =>
      _$$CreateEquipmentRequestImplFromJson(json);

  @override
  final String equipmentNumber;
  @override
  final String? category1;
  @override
  final String? category2;
  @override
  final String? category3;
  @override
  final String manufacturer;
  @override
  final String? modelName;
  @override
  final String? serialNumber;
  @override
  final DateTime? purchaseDate;
  @override
  final double? purchasePrice;
  @override
  final String? remark;

  @override
  String toString() {
    return 'CreateEquipmentRequest(equipmentNumber: $equipmentNumber, category1: $category1, category2: $category2, category3: $category3, manufacturer: $manufacturer, modelName: $modelName, serialNumber: $serialNumber, purchaseDate: $purchaseDate, purchasePrice: $purchasePrice, remark: $remark)';
  }

  @override
  bool operator ==(Object other) {
    return identical(this, other) ||
        (other.runtimeType == runtimeType &&
            other is _$CreateEquipmentRequestImpl &&
            (identical(other.equipmentNumber, equipmentNumber) ||
                other.equipmentNumber == equipmentNumber) &&
            (identical(other.category1, category1) ||
                other.category1 == category1) &&
            (identical(other.category2, category2) ||
                other.category2 == category2) &&
            (identical(other.category3, category3) ||
                other.category3 == category3) &&
            (identical(other.manufacturer, manufacturer) ||
                other.manufacturer == manufacturer) &&
            (identical(other.modelName, modelName) ||
                other.modelName == modelName) &&
            (identical(other.serialNumber, serialNumber) ||
                other.serialNumber == serialNumber) &&
            (identical(other.purchaseDate, purchaseDate) ||
                other.purchaseDate == purchaseDate) &&
            (identical(other.purchasePrice, purchasePrice) ||
                other.purchasePrice == purchasePrice) &&
            (identical(other.remark, remark) || other.remark == remark));
  }

  @JsonKey(includeFromJson: false, includeToJson: false)
  @override
  int get hashCode => Object.hash(
      runtimeType,
      equipmentNumber,
      category1,
      category2,
      category3,
      manufacturer,
      modelName,
      serialNumber,
      purchaseDate,
      purchasePrice,
      remark);

  /// Create a copy of CreateEquipmentRequest
  /// with the given fields replaced by the non-null parameter values.
  @JsonKey(includeFromJson: false, includeToJson: false)
  @override
  @pragma('vm:prefer-inline')
  _$$CreateEquipmentRequestImplCopyWith<_$CreateEquipmentRequestImpl>
      get copyWith => __$$CreateEquipmentRequestImplCopyWithImpl<
          _$CreateEquipmentRequestImpl>(this, _$identity);

  @override
  Map<String, dynamic> toJson() {
    return _$$CreateEquipmentRequestImplToJson(
      this,
    );
  }
}

abstract class _CreateEquipmentRequest implements CreateEquipmentRequest {
  const factory _CreateEquipmentRequest(
      {required final String equipmentNumber,
      final String? category1,
      final String? category2,
      final String? category3,
      required final String manufacturer,
      final String? modelName,
      final String? serialNumber,
      final DateTime? purchaseDate,
      final double? purchasePrice,
      final String? remark}) = _$CreateEquipmentRequestImpl;

  factory _CreateEquipmentRequest.fromJson(Map<String, dynamic> json) =
      _$CreateEquipmentRequestImpl.fromJson;

  @override
  String get equipmentNumber;
  @override
  String? get category1;
  @override
  String? get category2;
  @override
  String? get category3;
  @override
  String get manufacturer;
  @override
  String? get modelName;
  @override
  String? get serialNumber;
  @override
  DateTime? get purchaseDate;
  @override
  double? get purchasePrice;
  @override
  String? get remark;

  /// Create a copy of CreateEquipmentRequest
  /// with the given fields replaced by the non-null parameter values.
  @override
  @JsonKey(includeFromJson: false, includeToJson: false)
  _$$CreateEquipmentRequestImplCopyWith<_$CreateEquipmentRequestImpl>
      get copyWith => throw _privateConstructorUsedError;
}

UpdateEquipmentRequest _$UpdateEquipmentRequestFromJson(
    Map<String, dynamic> json) {
  return _UpdateEquipmentRequest.fromJson(json);
}

/// @nodoc
mixin _$UpdateEquipmentRequest {
  String? get category1 => throw _privateConstructorUsedError;
  String? get category2 => throw _privateConstructorUsedError;
  String? get category3 => throw _privateConstructorUsedError;
  String? get manufacturer => throw _privateConstructorUsedError;
  String? get modelName => throw _privateConstructorUsedError;
  String? get serialNumber => throw _privateConstructorUsedError;
  String? get barcode => throw _privateConstructorUsedError;
  DateTime? get purchaseDate => throw _privateConstructorUsedError;
  double? get purchasePrice => throw _privateConstructorUsedError;
  @EquipmentStatusJsonConverter()
  String? get status => throw _privateConstructorUsedError;
  int? get currentCompanyId => throw _privateConstructorUsedError;
  int? get currentBranchId => throw _privateConstructorUsedError;
  int? get warehouseLocationId => throw _privateConstructorUsedError;
  DateTime? get lastInspectionDate => throw _privateConstructorUsedError;
  DateTime? get nextInspectionDate => throw _privateConstructorUsedError;
  String? get remark => throw _privateConstructorUsedError;

  /// Serializes this UpdateEquipmentRequest to a JSON map.
  Map<String, dynamic> toJson() => throw _privateConstructorUsedError;

  /// Create a copy of UpdateEquipmentRequest
  /// with the given fields replaced by the non-null parameter values.
  @JsonKey(includeFromJson: false, includeToJson: false)
  $UpdateEquipmentRequestCopyWith<UpdateEquipmentRequest> get copyWith =>
      throw _privateConstructorUsedError;
}

/// @nodoc
abstract class $UpdateEquipmentRequestCopyWith<$Res> {
  factory $UpdateEquipmentRequestCopyWith(UpdateEquipmentRequest value,
          $Res Function(UpdateEquipmentRequest) then) =
      _$UpdateEquipmentRequestCopyWithImpl<$Res, UpdateEquipmentRequest>;
  @useResult
  $Res call(
      {String? category1,
      String? category2,
      String? category3,
      String? manufacturer,
      String? modelName,
      String? serialNumber,
      String? barcode,
      DateTime? purchaseDate,
      double? purchasePrice,
      @EquipmentStatusJsonConverter() String? status,
      int? currentCompanyId,
      int? currentBranchId,
      int? warehouseLocationId,
      DateTime? lastInspectionDate,
      DateTime? nextInspectionDate,
      String? remark});
}

/// @nodoc
class _$UpdateEquipmentRequestCopyWithImpl<$Res,
        $Val extends UpdateEquipmentRequest>
    implements $UpdateEquipmentRequestCopyWith<$Res> {
  _$UpdateEquipmentRequestCopyWithImpl(this._value, this._then);

  // ignore: unused_field
  final $Val _value;
  // ignore: unused_field
  final $Res Function($Val) _then;

  /// Create a copy of UpdateEquipmentRequest
  /// with the given fields replaced by the non-null parameter values.
  @pragma('vm:prefer-inline')
  @override
  $Res call({
    Object? category1 = freezed,
    Object? category2 = freezed,
    Object? category3 = freezed,
    Object? manufacturer = freezed,
    Object? modelName = freezed,
    Object? serialNumber = freezed,
    Object? barcode = freezed,
    Object? purchaseDate = freezed,
    Object? purchasePrice = freezed,
    Object? status = freezed,
    Object? currentCompanyId = freezed,
    Object? currentBranchId = freezed,
    Object? warehouseLocationId = freezed,
    Object? lastInspectionDate = freezed,
    Object? nextInspectionDate = freezed,
    Object? remark = freezed,
  }) {
    return _then(_value.copyWith(
      category1: freezed == category1
          ? _value.category1
          : category1 // ignore: cast_nullable_to_non_nullable
              as String?,
      category2: freezed == category2
          ? _value.category2
          : category2 // ignore: cast_nullable_to_non_nullable
              as String?,
      category3: freezed == category3
          ? _value.category3
          : category3 // ignore: cast_nullable_to_non_nullable
              as String?,
      manufacturer: freezed == manufacturer
          ? _value.manufacturer
          : manufacturer // ignore: cast_nullable_to_non_nullable
              as String?,
      modelName: freezed == modelName
          ? _value.modelName
          : modelName // ignore: cast_nullable_to_non_nullable
              as String?,
      serialNumber: freezed == serialNumber
          ? _value.serialNumber
          : serialNumber // ignore: cast_nullable_to_non_nullable
              as String?,
      barcode: freezed == barcode
          ? _value.barcode
          : barcode // ignore: cast_nullable_to_non_nullable
              as String?,
      purchaseDate: freezed == purchaseDate
          ? _value.purchaseDate
          : purchaseDate // ignore: cast_nullable_to_non_nullable
              as DateTime?,
      purchasePrice: freezed == purchasePrice
          ? _value.purchasePrice
          : purchasePrice // ignore: cast_nullable_to_non_nullable
              as double?,
      status: freezed == status
          ? _value.status
          : status // ignore: cast_nullable_to_non_nullable
              as String?,
      currentCompanyId: freezed == currentCompanyId
          ? _value.currentCompanyId
          : currentCompanyId // ignore: cast_nullable_to_non_nullable
              as int?,
      currentBranchId: freezed == currentBranchId
          ? _value.currentBranchId
          : currentBranchId // ignore: cast_nullable_to_non_nullable
              as int?,
      warehouseLocationId: freezed == warehouseLocationId
          ? _value.warehouseLocationId
          : warehouseLocationId // ignore: cast_nullable_to_non_nullable
              as int?,
      lastInspectionDate: freezed == lastInspectionDate
          ? _value.lastInspectionDate
          : lastInspectionDate // ignore: cast_nullable_to_non_nullable
              as DateTime?,
      nextInspectionDate: freezed == nextInspectionDate
          ? _value.nextInspectionDate
          : nextInspectionDate // ignore: cast_nullable_to_non_nullable
              as DateTime?,
      remark: freezed == remark
          ? _value.remark
          : remark // ignore: cast_nullable_to_non_nullable
              as String?,
    ) as $Val);
  }
}

/// @nodoc
abstract class _$$UpdateEquipmentRequestImplCopyWith<$Res>
    implements $UpdateEquipmentRequestCopyWith<$Res> {
  factory _$$UpdateEquipmentRequestImplCopyWith(
          _$UpdateEquipmentRequestImpl value,
          $Res Function(_$UpdateEquipmentRequestImpl) then) =
      __$$UpdateEquipmentRequestImplCopyWithImpl<$Res>;
  @override
  @useResult
  $Res call(
      {String? category1,
      String? category2,
      String? category3,
      String? manufacturer,
      String? modelName,
      String? serialNumber,
      String? barcode,
      DateTime? purchaseDate,
      double? purchasePrice,
      @EquipmentStatusJsonConverter() String? status,
      int? currentCompanyId,
      int? currentBranchId,
      int? warehouseLocationId,
      DateTime? lastInspectionDate,
      DateTime? nextInspectionDate,
      String? remark});
}

/// @nodoc
class __$$UpdateEquipmentRequestImplCopyWithImpl<$Res>
    extends _$UpdateEquipmentRequestCopyWithImpl<$Res,
        _$UpdateEquipmentRequestImpl>
    implements _$$UpdateEquipmentRequestImplCopyWith<$Res> {
  __$$UpdateEquipmentRequestImplCopyWithImpl(
      _$UpdateEquipmentRequestImpl _value,
      $Res Function(_$UpdateEquipmentRequestImpl) _then)
      : super(_value, _then);

  /// Create a copy of UpdateEquipmentRequest
  /// with the given fields replaced by the non-null parameter values.
  @pragma('vm:prefer-inline')
  @override
  $Res call({
    Object? category1 = freezed,
    Object? category2 = freezed,
    Object? category3 = freezed,
    Object? manufacturer = freezed,
    Object? modelName = freezed,
    Object? serialNumber = freezed,
    Object? barcode = freezed,
    Object? purchaseDate = freezed,
    Object? purchasePrice = freezed,
    Object? status = freezed,
    Object? currentCompanyId = freezed,
    Object? currentBranchId = freezed,
    Object? warehouseLocationId = freezed,
    Object? lastInspectionDate = freezed,
    Object? nextInspectionDate = freezed,
    Object? remark = freezed,
  }) {
    return _then(_$UpdateEquipmentRequestImpl(
      category1: freezed == category1
          ? _value.category1
          : category1 // ignore: cast_nullable_to_non_nullable
              as String?,
      category2: freezed == category2
          ? _value.category2
          : category2 // ignore: cast_nullable_to_non_nullable
              as String?,
      category3: freezed == category3
          ? _value.category3
          : category3 // ignore: cast_nullable_to_non_nullable
              as String?,
      manufacturer: freezed == manufacturer
          ? _value.manufacturer
          : manufacturer // ignore: cast_nullable_to_non_nullable
              as String?,
      modelName: freezed == modelName
          ? _value.modelName
          : modelName // ignore: cast_nullable_to_non_nullable
              as String?,
      serialNumber: freezed == serialNumber
          ? _value.serialNumber
          : serialNumber // ignore: cast_nullable_to_non_nullable
              as String?,
      barcode: freezed == barcode
          ? _value.barcode
          : barcode // ignore: cast_nullable_to_non_nullable
              as String?,
      purchaseDate: freezed == purchaseDate
          ? _value.purchaseDate
          : purchaseDate // ignore: cast_nullable_to_non_nullable
              as DateTime?,
      purchasePrice: freezed == purchasePrice
          ? _value.purchasePrice
          : purchasePrice // ignore: cast_nullable_to_non_nullable
              as double?,
      status: freezed == status
          ? _value.status
          : status // ignore: cast_nullable_to_non_nullable
              as String?,
      currentCompanyId: freezed == currentCompanyId
          ? _value.currentCompanyId
          : currentCompanyId // ignore: cast_nullable_to_non_nullable
              as int?,
      currentBranchId: freezed == currentBranchId
          ? _value.currentBranchId
          : currentBranchId // ignore: cast_nullable_to_non_nullable
              as int?,
      warehouseLocationId: freezed == warehouseLocationId
          ? _value.warehouseLocationId
          : warehouseLocationId // ignore: cast_nullable_to_non_nullable
              as int?,
      lastInspectionDate: freezed == lastInspectionDate
          ? _value.lastInspectionDate
          : lastInspectionDate // ignore: cast_nullable_to_non_nullable
              as DateTime?,
      nextInspectionDate: freezed == nextInspectionDate
          ? _value.nextInspectionDate
          : nextInspectionDate // ignore: cast_nullable_to_non_nullable
              as DateTime?,
      remark: freezed == remark
          ? _value.remark
          : remark // ignore: cast_nullable_to_non_nullable
              as String?,
    ));
  }
}

/// @nodoc
@JsonSerializable()
class _$UpdateEquipmentRequestImpl implements _UpdateEquipmentRequest {
  const _$UpdateEquipmentRequestImpl(
      {this.category1,
      this.category2,
      this.category3,
      this.manufacturer,
      this.modelName,
      this.serialNumber,
      this.barcode,
      this.purchaseDate,
      this.purchasePrice,
      @EquipmentStatusJsonConverter() this.status,
      this.currentCompanyId,
      this.currentBranchId,
      this.warehouseLocationId,
      this.lastInspectionDate,
      this.nextInspectionDate,
      this.remark});

  factory _$UpdateEquipmentRequestImpl.fromJson(Map<String, dynamic> json) =>
      _$$UpdateEquipmentRequestImplFromJson(json);

  @override
  final String? category1;
  @override
  final String? category2;
  @override
  final String? category3;
  @override
  final String? manufacturer;
  @override
  final String? modelName;
  @override
  final String? serialNumber;
  @override
  final String? barcode;
  @override
  final DateTime? purchaseDate;
  @override
  final double? purchasePrice;
  @override
  @EquipmentStatusJsonConverter()
  final String? status;
  @override
  final int? currentCompanyId;
  @override
  final int? currentBranchId;
  @override
  final int? warehouseLocationId;
  @override
  final DateTime? lastInspectionDate;
  @override
  final DateTime? nextInspectionDate;
  @override
  final String? remark;

  @override
  String toString() {
    return 'UpdateEquipmentRequest(category1: $category1, category2: $category2, category3: $category3, manufacturer: $manufacturer, modelName: $modelName, serialNumber: $serialNumber, barcode: $barcode, purchaseDate: $purchaseDate, purchasePrice: $purchasePrice, status: $status, currentCompanyId: $currentCompanyId, currentBranchId: $currentBranchId, warehouseLocationId: $warehouseLocationId, lastInspectionDate: $lastInspectionDate, nextInspectionDate: $nextInspectionDate, remark: $remark)';
  }

  @override
  bool operator ==(Object other) {
    return identical(this, other) ||
        (other.runtimeType == runtimeType &&
            other is _$UpdateEquipmentRequestImpl &&
            (identical(other.category1, category1) ||
                other.category1 == category1) &&
            (identical(other.category2, category2) ||
                other.category2 == category2) &&
            (identical(other.category3, category3) ||
                other.category3 == category3) &&
            (identical(other.manufacturer, manufacturer) ||
                other.manufacturer == manufacturer) &&
            (identical(other.modelName, modelName) ||
                other.modelName == modelName) &&
            (identical(other.serialNumber, serialNumber) ||
                other.serialNumber == serialNumber) &&
            (identical(other.barcode, barcode) || other.barcode == barcode) &&
            (identical(other.purchaseDate, purchaseDate) ||
                other.purchaseDate == purchaseDate) &&
            (identical(other.purchasePrice, purchasePrice) ||
                other.purchasePrice == purchasePrice) &&
            (identical(other.status, status) || other.status == status) &&
            (identical(other.currentCompanyId, currentCompanyId) ||
                other.currentCompanyId == currentCompanyId) &&
            (identical(other.currentBranchId, currentBranchId) ||
                other.currentBranchId == currentBranchId) &&
            (identical(other.warehouseLocationId, warehouseLocationId) ||
                other.warehouseLocationId == warehouseLocationId) &&
            (identical(other.lastInspectionDate, lastInspectionDate) ||
                other.lastInspectionDate == lastInspectionDate) &&
            (identical(other.nextInspectionDate, nextInspectionDate) ||
                other.nextInspectionDate == nextInspectionDate) &&
            (identical(other.remark, remark) || other.remark == remark));
  }

  @JsonKey(includeFromJson: false, includeToJson: false)
  @override
  int get hashCode => Object.hash(
      runtimeType,
      category1,
      category2,
      category3,
      manufacturer,
      modelName,
      serialNumber,
      barcode,
      purchaseDate,
      purchasePrice,
      status,
      currentCompanyId,
      currentBranchId,
      warehouseLocationId,
      lastInspectionDate,
      nextInspectionDate,
      remark);

  /// Create a copy of UpdateEquipmentRequest
  /// with the given fields replaced by the non-null parameter values.
  @JsonKey(includeFromJson: false, includeToJson: false)
  @override
  @pragma('vm:prefer-inline')
  _$$UpdateEquipmentRequestImplCopyWith<_$UpdateEquipmentRequestImpl>
      get copyWith => __$$UpdateEquipmentRequestImplCopyWithImpl<
          _$UpdateEquipmentRequestImpl>(this, _$identity);

  @override
  Map<String, dynamic> toJson() {
    return _$$UpdateEquipmentRequestImplToJson(
      this,
    );
  }
}

abstract class _UpdateEquipmentRequest implements UpdateEquipmentRequest {
  const factory _UpdateEquipmentRequest(
      {final String? category1,
      final String? category2,
      final String? category3,
      final String? manufacturer,
      final String? modelName,
      final String? serialNumber,
      final String? barcode,
      final DateTime? purchaseDate,
      final double? purchasePrice,
      @EquipmentStatusJsonConverter() final String? status,
      final int? currentCompanyId,
      final int? currentBranchId,
      final int? warehouseLocationId,
      final DateTime? lastInspectionDate,
      final DateTime? nextInspectionDate,
      final String? remark}) = _$UpdateEquipmentRequestImpl;

  factory _UpdateEquipmentRequest.fromJson(Map<String, dynamic> json) =
      _$UpdateEquipmentRequestImpl.fromJson;

  @override
  String? get category1;
  @override
  String? get category2;
  @override
  String? get category3;
  @override
  String? get manufacturer;
  @override
  String? get modelName;
  @override
  String? get serialNumber;
  @override
  String? get barcode;
  @override
  DateTime? get purchaseDate;
  @override
  double? get purchasePrice;
  @override
  @EquipmentStatusJsonConverter()
  String? get status;
  @override
  int? get currentCompanyId;
  @override
  int? get currentBranchId;
  @override
  int? get warehouseLocationId;
  @override
  DateTime? get lastInspectionDate;
  @override
  DateTime? get nextInspectionDate;
  @override
  String? get remark;

  /// Create a copy of UpdateEquipmentRequest
  /// with the given fields replaced by the non-null parameter values.
  @override
  @JsonKey(includeFromJson: false, includeToJson: false)
  _$$UpdateEquipmentRequestImplCopyWith<_$UpdateEquipmentRequestImpl>
      get copyWith => throw _privateConstructorUsedError;
}
