private void addMultiRangeAccrualRate(string[] array)
        {
            if (array.Length != 17)
            {
                throw new Exception("array length must be 17 , array Length = " + array.Length);
            }

            string eventDate = array[0];
            string payoffDate = array[1];

            string lowerTrigger = array[2];
            string lowerEquality = array[3];
            string referenceID = array[4];
            string referenceSet = array[5];
            string upperEquality = array[6];
            string upperTrigger = array[7];
            string constReturn = array[8];

            string autoCallable = array[9];

            if (autoCallable.ToUpper() == "TRUE" || autoCallable.ToUpper() == "T")
            {
                string lowerTrigger_autoCall = array[10];
                string lowerEquality_autoCall = array[11];
                string referenceID_autoCall = array[12];
                string referenceSet_autoCall = array[13];
                string upperEquality_autoCall = array[14];
                string upperTrigger_autoCall = array[15];
                string autoCallConstReturn = array[16];


                SimpleRangeConstCoupon srcc = new SimpleRangeConstCoupon(eventDate,
                                                                        payoffDate,
                                                                        lowerTrigger,
                                                                        lowerEquality,
                                                                        referenceID,
                                                                        upperEquality,
                                                                        upperTrigger,
                                                                        constReturn,
                                                                        autoCallable,
                                                                        lowerTrigger_autoCall,
                                                                        lowerEquality_autoCall,
                                                                        referenceID_autoCall,
                                                                        upperEquality_autoCall,
                                                                        upperTrigger_autoCall,
                                                                        autoCallConstReturn);

                srcc.ReferenceCalFactory_ = this.referenceCalFactory_;

                srcc.buildVM();

                this.eventTriggerList_.Add(srcc);
            }
            else
            {

                SimpleRangeConstCoupon srcc = new SimpleRangeConstCoupon(eventDate,
                                                                        payoffDate,
                                                                        lowerTrigger,
                                                                        lowerEquality,
                                                                        referenceID,
                                                                        upperEquality,
                                                                        upperTrigger,
                                                                        constReturn,
                                                                        autoCallable);

                srcc.ReferenceCalFactory_ = this.referenceCalFactory_;

                srcc.buildVM();

                this.eventTriggerList_.Add(srcc);
            }

        }
        private void addMultiRangeAccrualRate(string[] array)
        {
            if (array.Length != 17)
            {
                throw new Exception("array length must be 17 , array Length = " + array.Length);
            }

            string eventDate  = array[0];
            string payoffDate = array[1];

            string lowerTrigger  = array[2];
            string lowerEquality = array[3];
            string referenceID   = array[4];
            string referenceSet  = array[5];
            string upperEquality = array[6];
            string upperTrigger  = array[7];
            string constReturn   = array[8];

            string autoCallable = array[9];

            if (autoCallable.ToUpper() == "TRUE" || autoCallable.ToUpper() == "T")
            {
                string lowerTrigger_autoCall  = array[10];
                string lowerEquality_autoCall = array[11];
                string referenceID_autoCall   = array[12];
                string referenceSet_autoCall  = array[13];
                string upperEquality_autoCall = array[14];
                string upperTrigger_autoCall  = array[15];
                string autoCallConstReturn    = array[16];


                SimpleRangeConstCoupon srcc = new SimpleRangeConstCoupon(eventDate,
                                                                         payoffDate,
                                                                         lowerTrigger,
                                                                         lowerEquality,
                                                                         referenceID,
                                                                         upperEquality,
                                                                         upperTrigger,
                                                                         constReturn,
                                                                         autoCallable,
                                                                         lowerTrigger_autoCall,
                                                                         lowerEquality_autoCall,
                                                                         referenceID_autoCall,
                                                                         upperEquality_autoCall,
                                                                         upperTrigger_autoCall,
                                                                         autoCallConstReturn);

                srcc.ReferenceCalFactory_ = this.referenceCalFactory_;

                srcc.buildVM();

                this.eventTriggerList_.Add(srcc);
            }
            else
            {
                SimpleRangeConstCoupon srcc = new SimpleRangeConstCoupon(eventDate,
                                                                         payoffDate,
                                                                         lowerTrigger,
                                                                         lowerEquality,
                                                                         referenceID,
                                                                         upperEquality,
                                                                         upperTrigger,
                                                                         constReturn,
                                                                         autoCallable);

                srcc.ReferenceCalFactory_ = this.referenceCalFactory_;

                srcc.buildVM();

                this.eventTriggerList_.Add(srcc);
            }
        }