//
//  Generated code. Do not modify.
//  source: stockAction.proto
//
// @dart = 3.3

// ignore_for_file: annotate_overrides, camel_case_types, comment_references
// ignore_for_file: constant_identifier_names, library_prefixes
// ignore_for_file: non_constant_identifier_names, prefer_final_fields
// ignore_for_file: unnecessary_import, unnecessary_this, unused_import

import 'dart:core' as $core;

import 'package:protobuf/protobuf.dart' as $pb;

import 'shared.pb.dart' as $3;
import 'warehousingShared.pb.dart' as $76;

export 'package:protobuf/protobuf.dart' show GeneratedMessageGenericExtensions;

///
/// GenerateDelta : generate a movement with the delta value following the snapshotted message
class StockGenerateDeltaPayload extends $pb.GeneratedMessage {
  factory StockGenerateDeltaPayload({
    $76.EnrichedGoods? goods,
    $core.String? actorID,
    $76.StockSnapshot? snapshot,
    $76.QuantityInLV? quantityInBaseLV,
  }) {
    final $result = create();
    if (goods != null) {
      $result.goods = goods;
    }
    if (actorID != null) {
      $result.actorID = actorID;
    }
    if (snapshot != null) {
      $result.snapshot = snapshot;
    }
    if (quantityInBaseLV != null) {
      $result.quantityInBaseLV = quantityInBaseLV;
    }
    return $result;
  }
  StockGenerateDeltaPayload._() : super();
  factory StockGenerateDeltaPayload.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
  factory StockGenerateDeltaPayload.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'StockGenerateDeltaPayload', package: const $pb.PackageName(_omitMessageNames ? '' : 'api'), createEmptyInstance: create)
    ..aOM<$76.EnrichedGoods>(1, _omitFieldNames ? '' : 'Goods', protoName: 'Goods', subBuilder: $76.EnrichedGoods.create)
    ..aOS(2, _omitFieldNames ? '' : 'ActorID', protoName: 'ActorID')
    ..aOM<$76.StockSnapshot>(3, _omitFieldNames ? '' : 'Snapshot', protoName: 'Snapshot', subBuilder: $76.StockSnapshot.create)
    ..aOM<$76.QuantityInLV>(4, _omitFieldNames ? '' : 'QuantityInBaseLV', protoName: 'QuantityInBaseLV', subBuilder: $76.QuantityInLV.create)
    ..hasRequiredFields = false
  ;

  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
  'Will be removed in next major version')
  StockGenerateDeltaPayload clone() => StockGenerateDeltaPayload()..mergeFromMessage(this);
  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
  'Will be removed in next major version')
  StockGenerateDeltaPayload copyWith(void Function(StockGenerateDeltaPayload) updates) => super.copyWith((message) => updates(message as StockGenerateDeltaPayload)) as StockGenerateDeltaPayload;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static StockGenerateDeltaPayload create() => StockGenerateDeltaPayload._();
  StockGenerateDeltaPayload createEmptyInstance() => create();
  static $pb.PbList<StockGenerateDeltaPayload> createRepeated() => $pb.PbList<StockGenerateDeltaPayload>();
  @$core.pragma('dart2js:noInline')
  static StockGenerateDeltaPayload getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor<StockGenerateDeltaPayload>(create);
  static StockGenerateDeltaPayload? _defaultInstance;

  @$pb.TagNumber(1)
  $76.EnrichedGoods get goods => $_getN(0);
  @$pb.TagNumber(1)
  set goods($76.EnrichedGoods v) { $_setField(1, v); }
  @$pb.TagNumber(1)
  $core.bool hasGoods() => $_has(0);
  @$pb.TagNumber(1)
  void clearGoods() => $_clearField(1);
  @$pb.TagNumber(1)
  $76.EnrichedGoods ensureGoods() => $_ensure(0);

  @$pb.TagNumber(2)
  $core.String get actorID => $_getSZ(1);
  @$pb.TagNumber(2)
  set actorID($core.String v) { $_setString(1, v); }
  @$pb.TagNumber(2)
  $core.bool hasActorID() => $_has(1);
  @$pb.TagNumber(2)
  void clearActorID() => $_clearField(2);

  @$pb.TagNumber(3)
  $76.StockSnapshot get snapshot => $_getN(2);
  @$pb.TagNumber(3)
  set snapshot($76.StockSnapshot v) { $_setField(3, v); }
  @$pb.TagNumber(3)
  $core.bool hasSnapshot() => $_has(2);
  @$pb.TagNumber(3)
  void clearSnapshot() => $_clearField(3);
  @$pb.TagNumber(3)
  $76.StockSnapshot ensureSnapshot() => $_ensure(2);

  @$pb.TagNumber(4)
  $76.QuantityInLV get quantityInBaseLV => $_getN(3);
  @$pb.TagNumber(4)
  set quantityInBaseLV($76.QuantityInLV v) { $_setField(4, v); }
  @$pb.TagNumber(4)
  $core.bool hasQuantityInBaseLV() => $_has(3);
  @$pb.TagNumber(4)
  void clearQuantityInBaseLV() => $_clearField(4);
  @$pb.TagNumber(4)
  $76.QuantityInLV ensureQuantityInBaseLV() => $_ensure(3);
}

class StockGenerateDelta extends $pb.GeneratedMessage {
  factory StockGenerateDelta({
    $3.CommandHeader? header,
    $3.EntityID? iD,
    StockGenerateDeltaPayload? payload,
    StockGenerateDeltaPayload? eventPayload,
    StockGenerateDeltaPayload? previousPayload,
  }) {
    final $result = create();
    if (header != null) {
      $result.header = header;
    }
    if (iD != null) {
      $result.iD = iD;
    }
    if (payload != null) {
      $result.payload = payload;
    }
    if (eventPayload != null) {
      $result.eventPayload = eventPayload;
    }
    if (previousPayload != null) {
      $result.previousPayload = previousPayload;
    }
    return $result;
  }
  StockGenerateDelta._() : super();
  factory StockGenerateDelta.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
  factory StockGenerateDelta.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'StockGenerateDelta', package: const $pb.PackageName(_omitMessageNames ? '' : 'api'), createEmptyInstance: create)
    ..aOM<$3.CommandHeader>(1, _omitFieldNames ? '' : 'Header', protoName: 'Header', subBuilder: $3.CommandHeader.create)
    ..aOM<$3.EntityID>(2, _omitFieldNames ? '' : 'ID', protoName: 'ID', subBuilder: $3.EntityID.create)
    ..aOM<StockGenerateDeltaPayload>(3, _omitFieldNames ? '' : 'Payload', protoName: 'Payload', subBuilder: StockGenerateDeltaPayload.create)
    ..aOM<StockGenerateDeltaPayload>(4, _omitFieldNames ? '' : 'EventPayload', protoName: 'EventPayload', subBuilder: StockGenerateDeltaPayload.create)
    ..aOM<StockGenerateDeltaPayload>(5, _omitFieldNames ? '' : 'PreviousPayload', protoName: 'PreviousPayload', subBuilder: StockGenerateDeltaPayload.create)
    ..hasRequiredFields = false
  ;

  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
  'Will be removed in next major version')
  StockGenerateDelta clone() => StockGenerateDelta()..mergeFromMessage(this);
  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
  'Will be removed in next major version')
  StockGenerateDelta copyWith(void Function(StockGenerateDelta) updates) => super.copyWith((message) => updates(message as StockGenerateDelta)) as StockGenerateDelta;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static StockGenerateDelta create() => StockGenerateDelta._();
  StockGenerateDelta createEmptyInstance() => create();
  static $pb.PbList<StockGenerateDelta> createRepeated() => $pb.PbList<StockGenerateDelta>();
  @$core.pragma('dart2js:noInline')
  static StockGenerateDelta getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor<StockGenerateDelta>(create);
  static StockGenerateDelta? _defaultInstance;

  @$pb.TagNumber(1)
  $3.CommandHeader get header => $_getN(0);
  @$pb.TagNumber(1)
  set header($3.CommandHeader v) { $_setField(1, v); }
  @$pb.TagNumber(1)
  $core.bool hasHeader() => $_has(0);
  @$pb.TagNumber(1)
  void clearHeader() => $_clearField(1);
  @$pb.TagNumber(1)
  $3.CommandHeader ensureHeader() => $_ensure(0);

  @$pb.TagNumber(2)
  $3.EntityID get iD => $_getN(1);
  @$pb.TagNumber(2)
  set iD($3.EntityID v) { $_setField(2, v); }
  @$pb.TagNumber(2)
  $core.bool hasID() => $_has(1);
  @$pb.TagNumber(2)
  void clearID() => $_clearField(2);
  @$pb.TagNumber(2)
  $3.EntityID ensureID() => $_ensure(1);

  @$pb.TagNumber(3)
  StockGenerateDeltaPayload get payload => $_getN(2);
  @$pb.TagNumber(3)
  set payload(StockGenerateDeltaPayload v) { $_setField(3, v); }
  @$pb.TagNumber(3)
  $core.bool hasPayload() => $_has(2);
  @$pb.TagNumber(3)
  void clearPayload() => $_clearField(3);
  @$pb.TagNumber(3)
  StockGenerateDeltaPayload ensurePayload() => $_ensure(2);

  @$pb.TagNumber(4)
  StockGenerateDeltaPayload get eventPayload => $_getN(3);
  @$pb.TagNumber(4)
  set eventPayload(StockGenerateDeltaPayload v) { $_setField(4, v); }
  @$pb.TagNumber(4)
  $core.bool hasEventPayload() => $_has(3);
  @$pb.TagNumber(4)
  void clearEventPayload() => $_clearField(4);
  @$pb.TagNumber(4)
  StockGenerateDeltaPayload ensureEventPayload() => $_ensure(3);

  @$pb.TagNumber(5)
  StockGenerateDeltaPayload get previousPayload => $_getN(4);
  @$pb.TagNumber(5)
  set previousPayload(StockGenerateDeltaPayload v) { $_setField(5, v); }
  @$pb.TagNumber(5)
  $core.bool hasPreviousPayload() => $_has(4);
  @$pb.TagNumber(5)
  void clearPreviousPayload() => $_clearField(5);
  @$pb.TagNumber(5)
  StockGenerateDeltaPayload ensurePreviousPayload() => $_ensure(4);
}

///
/// UpdateMovement : send to the movement the value of the stock just after the movement is applied
class StockUpdateMovementPayload extends $pb.GeneratedMessage {
  factory StockUpdateMovementPayload({
    $76.StockMovement? movement,
    $76.QuantityInLV? quantityInBaseLV,
  }) {
    final $result = create();
    if (movement != null) {
      $result.movement = movement;
    }
    if (quantityInBaseLV != null) {
      $result.quantityInBaseLV = quantityInBaseLV;
    }
    return $result;
  }
  StockUpdateMovementPayload._() : super();
  factory StockUpdateMovementPayload.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
  factory StockUpdateMovementPayload.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'StockUpdateMovementPayload', package: const $pb.PackageName(_omitMessageNames ? '' : 'api'), createEmptyInstance: create)
    ..aOM<$76.StockMovement>(1, _omitFieldNames ? '' : 'Movement', protoName: 'Movement', subBuilder: $76.StockMovement.create)
    ..aOM<$76.QuantityInLV>(2, _omitFieldNames ? '' : 'QuantityInBaseLV', protoName: 'QuantityInBaseLV', subBuilder: $76.QuantityInLV.create)
    ..hasRequiredFields = false
  ;

  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
  'Will be removed in next major version')
  StockUpdateMovementPayload clone() => StockUpdateMovementPayload()..mergeFromMessage(this);
  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
  'Will be removed in next major version')
  StockUpdateMovementPayload copyWith(void Function(StockUpdateMovementPayload) updates) => super.copyWith((message) => updates(message as StockUpdateMovementPayload)) as StockUpdateMovementPayload;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static StockUpdateMovementPayload create() => StockUpdateMovementPayload._();
  StockUpdateMovementPayload createEmptyInstance() => create();
  static $pb.PbList<StockUpdateMovementPayload> createRepeated() => $pb.PbList<StockUpdateMovementPayload>();
  @$core.pragma('dart2js:noInline')
  static StockUpdateMovementPayload getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor<StockUpdateMovementPayload>(create);
  static StockUpdateMovementPayload? _defaultInstance;

  @$pb.TagNumber(1)
  $76.StockMovement get movement => $_getN(0);
  @$pb.TagNumber(1)
  set movement($76.StockMovement v) { $_setField(1, v); }
  @$pb.TagNumber(1)
  $core.bool hasMovement() => $_has(0);
  @$pb.TagNumber(1)
  void clearMovement() => $_clearField(1);
  @$pb.TagNumber(1)
  $76.StockMovement ensureMovement() => $_ensure(0);

  @$pb.TagNumber(2)
  $76.QuantityInLV get quantityInBaseLV => $_getN(1);
  @$pb.TagNumber(2)
  set quantityInBaseLV($76.QuantityInLV v) { $_setField(2, v); }
  @$pb.TagNumber(2)
  $core.bool hasQuantityInBaseLV() => $_has(1);
  @$pb.TagNumber(2)
  void clearQuantityInBaseLV() => $_clearField(2);
  @$pb.TagNumber(2)
  $76.QuantityInLV ensureQuantityInBaseLV() => $_ensure(1);
}

class StockUpdateMovement extends $pb.GeneratedMessage {
  factory StockUpdateMovement({
    $3.CommandHeader? header,
    $3.EntityID? iD,
    StockUpdateMovementPayload? payload,
    StockUpdateMovementPayload? eventPayload,
    StockUpdateMovementPayload? previousPayload,
  }) {
    final $result = create();
    if (header != null) {
      $result.header = header;
    }
    if (iD != null) {
      $result.iD = iD;
    }
    if (payload != null) {
      $result.payload = payload;
    }
    if (eventPayload != null) {
      $result.eventPayload = eventPayload;
    }
    if (previousPayload != null) {
      $result.previousPayload = previousPayload;
    }
    return $result;
  }
  StockUpdateMovement._() : super();
  factory StockUpdateMovement.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
  factory StockUpdateMovement.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'StockUpdateMovement', package: const $pb.PackageName(_omitMessageNames ? '' : 'api'), createEmptyInstance: create)
    ..aOM<$3.CommandHeader>(1, _omitFieldNames ? '' : 'Header', protoName: 'Header', subBuilder: $3.CommandHeader.create)
    ..aOM<$3.EntityID>(2, _omitFieldNames ? '' : 'ID', protoName: 'ID', subBuilder: $3.EntityID.create)
    ..aOM<StockUpdateMovementPayload>(3, _omitFieldNames ? '' : 'Payload', protoName: 'Payload', subBuilder: StockUpdateMovementPayload.create)
    ..aOM<StockUpdateMovementPayload>(4, _omitFieldNames ? '' : 'EventPayload', protoName: 'EventPayload', subBuilder: StockUpdateMovementPayload.create)
    ..aOM<StockUpdateMovementPayload>(5, _omitFieldNames ? '' : 'PreviousPayload', protoName: 'PreviousPayload', subBuilder: StockUpdateMovementPayload.create)
    ..hasRequiredFields = false
  ;

  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
  'Will be removed in next major version')
  StockUpdateMovement clone() => StockUpdateMovement()..mergeFromMessage(this);
  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
  'Will be removed in next major version')
  StockUpdateMovement copyWith(void Function(StockUpdateMovement) updates) => super.copyWith((message) => updates(message as StockUpdateMovement)) as StockUpdateMovement;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static StockUpdateMovement create() => StockUpdateMovement._();
  StockUpdateMovement createEmptyInstance() => create();
  static $pb.PbList<StockUpdateMovement> createRepeated() => $pb.PbList<StockUpdateMovement>();
  @$core.pragma('dart2js:noInline')
  static StockUpdateMovement getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor<StockUpdateMovement>(create);
  static StockUpdateMovement? _defaultInstance;

  @$pb.TagNumber(1)
  $3.CommandHeader get header => $_getN(0);
  @$pb.TagNumber(1)
  set header($3.CommandHeader v) { $_setField(1, v); }
  @$pb.TagNumber(1)
  $core.bool hasHeader() => $_has(0);
  @$pb.TagNumber(1)
  void clearHeader() => $_clearField(1);
  @$pb.TagNumber(1)
  $3.CommandHeader ensureHeader() => $_ensure(0);

  @$pb.TagNumber(2)
  $3.EntityID get iD => $_getN(1);
  @$pb.TagNumber(2)
  set iD($3.EntityID v) { $_setField(2, v); }
  @$pb.TagNumber(2)
  $core.bool hasID() => $_has(1);
  @$pb.TagNumber(2)
  void clearID() => $_clearField(2);
  @$pb.TagNumber(2)
  $3.EntityID ensureID() => $_ensure(1);

  @$pb.TagNumber(3)
  StockUpdateMovementPayload get payload => $_getN(2);
  @$pb.TagNumber(3)
  set payload(StockUpdateMovementPayload v) { $_setField(3, v); }
  @$pb.TagNumber(3)
  $core.bool hasPayload() => $_has(2);
  @$pb.TagNumber(3)
  void clearPayload() => $_clearField(3);
  @$pb.TagNumber(3)
  StockUpdateMovementPayload ensurePayload() => $_ensure(2);

  @$pb.TagNumber(4)
  StockUpdateMovementPayload get eventPayload => $_getN(3);
  @$pb.TagNumber(4)
  set eventPayload(StockUpdateMovementPayload v) { $_setField(4, v); }
  @$pb.TagNumber(4)
  $core.bool hasEventPayload() => $_has(3);
  @$pb.TagNumber(4)
  void clearEventPayload() => $_clearField(4);
  @$pb.TagNumber(4)
  StockUpdateMovementPayload ensureEventPayload() => $_ensure(3);

  @$pb.TagNumber(5)
  StockUpdateMovementPayload get previousPayload => $_getN(4);
  @$pb.TagNumber(5)
  set previousPayload(StockUpdateMovementPayload v) { $_setField(5, v); }
  @$pb.TagNumber(5)
  $core.bool hasPreviousPayload() => $_has(4);
  @$pb.TagNumber(5)
  void clearPreviousPayload() => $_clearField(5);
  @$pb.TagNumber(5)
  StockUpdateMovementPayload ensurePreviousPayload() => $_ensure(4);
}


const _omitFieldNames = $core.bool.fromEnvironment('protobuf.omit_field_names');
const _omitMessageNames = $core.bool.fromEnvironment('protobuf.omit_message_names');
