// This is a generated file - do not edit.
//
// Generated from stockAction.proto.

// @dart = 3.3

// ignore_for_file: annotate_overrides, camel_case_types, comment_references
// ignore_for_file: constant_identifier_names
// ignore_for_file: curly_braces_in_flow_control_structures
// ignore_for_file: deprecated_member_use_from_same_package, library_prefixes
// ignore_for_file: non_constant_identifier_names

import 'dart:core' as $core;

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

import 'shared.pb.dart' as $1;
import 'warehousingShared.pb.dart' as $0;

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({
    $0.EnrichedGoods? goods,
    $core.String? actorID,
    $0.StockSnapshot? snapshot,
    $0.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._();

  factory StockGenerateDeltaPayload.fromBuffer($core.List<$core.int> data, [$pb.ExtensionRegistry registry = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(data, registry);
  factory StockGenerateDeltaPayload.fromJson($core.String json, [$pb.ExtensionRegistry registry = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(json, registry);

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

  @$core.Deprecated('See https://github.com/google/protobuf.dart/issues/998.')
  StockGenerateDeltaPayload clone() => StockGenerateDeltaPayload()..mergeFromMessage(this);
  @$core.Deprecated('See https://github.com/google/protobuf.dart/issues/998.')
  StockGenerateDeltaPayload copyWith(void Function(StockGenerateDeltaPayload) updates) => super.copyWith((message) => updates(message as StockGenerateDeltaPayload)) as StockGenerateDeltaPayload;

  @$core.override
  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static StockGenerateDeltaPayload create() => StockGenerateDeltaPayload._();
  @$core.override
  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)
  $0.EnrichedGoods get goods => $_getN(0);
  @$pb.TagNumber(1)
  set goods($0.EnrichedGoods value) => $_setField(1, value);
  @$pb.TagNumber(1)
  $core.bool hasGoods() => $_has(0);
  @$pb.TagNumber(1)
  void clearGoods() => $_clearField(1);
  @$pb.TagNumber(1)
  $0.EnrichedGoods ensureGoods() => $_ensure(0);

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

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

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

class StockGenerateDelta extends $pb.GeneratedMessage {
  factory StockGenerateDelta({
    $1.CommandHeader? header,
    $1.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._();

  factory StockGenerateDelta.fromBuffer($core.List<$core.int> data, [$pb.ExtensionRegistry registry = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(data, registry);
  factory StockGenerateDelta.fromJson($core.String json, [$pb.ExtensionRegistry registry = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(json, registry);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'StockGenerateDelta', package: const $pb.PackageName(_omitMessageNames ? '' : 'api'), createEmptyInstance: create)
    ..aOM<$1.CommandHeader>(1, _omitFieldNames ? '' : 'Header', protoName: 'Header', subBuilder: $1.CommandHeader.create)
    ..aOM<$1.EntityID>(2, _omitFieldNames ? '' : 'ID', protoName: 'ID', subBuilder: $1.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('See https://github.com/google/protobuf.dart/issues/998.')
  StockGenerateDelta clone() => StockGenerateDelta()..mergeFromMessage(this);
  @$core.Deprecated('See https://github.com/google/protobuf.dart/issues/998.')
  StockGenerateDelta copyWith(void Function(StockGenerateDelta) updates) => super.copyWith((message) => updates(message as StockGenerateDelta)) as StockGenerateDelta;

  @$core.override
  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static StockGenerateDelta create() => StockGenerateDelta._();
  @$core.override
  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)
  $1.CommandHeader get header => $_getN(0);
  @$pb.TagNumber(1)
  set header($1.CommandHeader value) => $_setField(1, value);
  @$pb.TagNumber(1)
  $core.bool hasHeader() => $_has(0);
  @$pb.TagNumber(1)
  void clearHeader() => $_clearField(1);
  @$pb.TagNumber(1)
  $1.CommandHeader ensureHeader() => $_ensure(0);

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

  @$pb.TagNumber(3)
  StockGenerateDeltaPayload get payload => $_getN(2);
  @$pb.TagNumber(3)
  set payload(StockGenerateDeltaPayload value) => $_setField(3, value);
  @$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 value) => $_setField(4, value);
  @$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 value) => $_setField(5, value);
  @$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({
    $0.StockMovement? movement,
    $0.QuantityInLV? quantityInBaseLV,
  }) {
    final result = create();
    if (movement != null) result.movement = movement;
    if (quantityInBaseLV != null) result.quantityInBaseLV = quantityInBaseLV;
    return result;
  }

  StockUpdateMovementPayload._();

  factory StockUpdateMovementPayload.fromBuffer($core.List<$core.int> data, [$pb.ExtensionRegistry registry = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(data, registry);
  factory StockUpdateMovementPayload.fromJson($core.String json, [$pb.ExtensionRegistry registry = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(json, registry);

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

  @$core.Deprecated('See https://github.com/google/protobuf.dart/issues/998.')
  StockUpdateMovementPayload clone() => StockUpdateMovementPayload()..mergeFromMessage(this);
  @$core.Deprecated('See https://github.com/google/protobuf.dart/issues/998.')
  StockUpdateMovementPayload copyWith(void Function(StockUpdateMovementPayload) updates) => super.copyWith((message) => updates(message as StockUpdateMovementPayload)) as StockUpdateMovementPayload;

  @$core.override
  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static StockUpdateMovementPayload create() => StockUpdateMovementPayload._();
  @$core.override
  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)
  $0.StockMovement get movement => $_getN(0);
  @$pb.TagNumber(1)
  set movement($0.StockMovement value) => $_setField(1, value);
  @$pb.TagNumber(1)
  $core.bool hasMovement() => $_has(0);
  @$pb.TagNumber(1)
  void clearMovement() => $_clearField(1);
  @$pb.TagNumber(1)
  $0.StockMovement ensureMovement() => $_ensure(0);

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

class StockUpdateMovement extends $pb.GeneratedMessage {
  factory StockUpdateMovement({
    $1.CommandHeader? header,
    $1.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._();

  factory StockUpdateMovement.fromBuffer($core.List<$core.int> data, [$pb.ExtensionRegistry registry = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(data, registry);
  factory StockUpdateMovement.fromJson($core.String json, [$pb.ExtensionRegistry registry = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(json, registry);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'StockUpdateMovement', package: const $pb.PackageName(_omitMessageNames ? '' : 'api'), createEmptyInstance: create)
    ..aOM<$1.CommandHeader>(1, _omitFieldNames ? '' : 'Header', protoName: 'Header', subBuilder: $1.CommandHeader.create)
    ..aOM<$1.EntityID>(2, _omitFieldNames ? '' : 'ID', protoName: 'ID', subBuilder: $1.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('See https://github.com/google/protobuf.dart/issues/998.')
  StockUpdateMovement clone() => StockUpdateMovement()..mergeFromMessage(this);
  @$core.Deprecated('See https://github.com/google/protobuf.dart/issues/998.')
  StockUpdateMovement copyWith(void Function(StockUpdateMovement) updates) => super.copyWith((message) => updates(message as StockUpdateMovement)) as StockUpdateMovement;

  @$core.override
  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static StockUpdateMovement create() => StockUpdateMovement._();
  @$core.override
  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)
  $1.CommandHeader get header => $_getN(0);
  @$pb.TagNumber(1)
  set header($1.CommandHeader value) => $_setField(1, value);
  @$pb.TagNumber(1)
  $core.bool hasHeader() => $_has(0);
  @$pb.TagNumber(1)
  void clearHeader() => $_clearField(1);
  @$pb.TagNumber(1)
  $1.CommandHeader ensureHeader() => $_ensure(0);

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

  @$pb.TagNumber(3)
  StockUpdateMovementPayload get payload => $_getN(2);
  @$pb.TagNumber(3)
  set payload(StockUpdateMovementPayload value) => $_setField(3, value);
  @$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 value) => $_setField(4, value);
  @$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 value) => $_setField(5, value);
  @$pb.TagNumber(5)
  $core.bool hasPreviousPayload() => $_has(4);
  @$pb.TagNumber(5)
  void clearPreviousPayload() => $_clearField(5);
  @$pb.TagNumber(5)
  StockUpdateMovementPayload ensurePreviousPayload() => $_ensure(4);
}


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