
//
// This file was generated by the BinaryNotes compiler.
// See http://bnotes.sourceforge.net 
// Any modifications to this file will be lost upon recompilation of the source ASN.1. 
//

using System;
using org.bn.attributes;
using org.bn.attributes.constraints;
using org.bn.coders;
using org.bn.types;
using org.bn;

namespace MMS_ASN1_Model {


    [ASN1PreparedElement]
    [ASN1Choice ( Name = "Unconfirmed_Detail") ]
    public class Unconfirmed_Detail : IASN1PreparedElement {
                    
        
	private NullObject otherRequests_ ;
        private bool  otherRequests_selected = false ;
        
                
        
        [ASN1Null ( Name = "otherRequests" )]
    
        [ASN1Element ( Name = "otherRequests", IsOptional =  false , HasTag =  false  , HasDefaultValue =  false )  ]
    
        public NullObject OtherRequests
        {
            get { return otherRequests_; }
            set { selectOtherRequests(value); }
        }
        
                
          
        
	private CS_EventNotification eventNotification_ ;
        private bool  eventNotification_selected = false ;
        
                
        
        [ASN1Element ( Name = "eventNotification", IsOptional =  false , HasTag =  true, Tag = 2 , HasDefaultValue =  false )  ]
    
        public CS_EventNotification EventNotification
        {
            get { return eventNotification_; }
            set { selectEventNotification(value); }
        }
        
                
          
        public bool isOtherRequestsSelected () {
            return this.otherRequests_selected ;
        }

        
        public void selectOtherRequests () {
            selectOtherRequests (new NullObject());
	}
	


        public void selectOtherRequests (NullObject val) {
            this.otherRequests_ = val;
            this.otherRequests_selected = true;
            
            
                    this.eventNotification_selected = false;
                            
        }
        
          
        public bool isEventNotificationSelected () {
            return this.eventNotification_selected ;
        }

        


        public void selectEventNotification (CS_EventNotification val) {
            this.eventNotification_ = val;
            this.eventNotification_selected = true;
            
            
                    this.otherRequests_selected = false;
                            
        }
        
  

            public void initWithDefaults()
	    {
	    }

            private static IASN1PreparedElementData preparedData = CoderFactory.getInstance().newPreparedElementData(typeof(Unconfirmed_Detail));
            public IASN1PreparedElementData PreparedData {
            	get { return preparedData; }
            }

    }
            
}
