Exemplo n.º 1
0
        public override void checkExtensions(stateRec st)
        {
            bool stateExtension = false;

            // extension state is on field 6 (Val5)
            // language extension is on field 9 (Val8)

            DataTable dt = new DataTable();

            if (st.Val5 != "000" && st.Val5 != "255")
            {
                stateExtension = true;
            }
            if (st.Val6 != "000" && st.Val6 != "255")
            {
                stateExtension = true;
            }
            if (st.Val7 != "000" && st.Val7 != "255")
            {
                stateExtension = true;
            }
            if (stateExtension)
            {
                App.Prj.ExtensionsLst.Add(st);
            }
        }
Exemplo n.º 2
0
        public virtual void ValidateState(stateRec stateData)
        {
            string stateTypes = @"ABCDEFGHIJKLMNORSTVWXYZbdefgkmwz->&z";

            if (!(stateTypes.Contains(stateData.stateType)))
            {
                Console.WriteLine("Not a valid state type");
            }
        }
Exemplo n.º 3
0
        public override void ValidateState(stateRec stateData)
        {
            Dictionary <string, stateRec> resultData = new Dictionary <string, stateRec>();

            base.ValidateState(stateData);

            if (stateData.stateType == "Y")
            {
            }
        }
Exemplo n.º 4
0
        public new Dictionary <string, stateRec> readData(string sql)
        {
            string        connectionString;
            SqlConnection cnn;

            connectionString = @"Data Source = LT-JOSEPHHANDSC\MVDATA; Initial Catalog = logger; User ID=sa; Password=pa55w0rd!";
            cnn = new SqlConnection(connectionString);


            try
            {
                cnn.Open();

                SqlCommand    command;
                SqlDataReader dataReader;

                //sql = @"SELECT logkey,group8 from [logger].[dbo].[loginfo] WHERE group8 like 'HOST2ATM: 30%12%'";

                command = new SqlCommand(sql, cnn);
                // dataReader.GetOrdinal(0);

                dataReader = command.ExecuteReader();

                Dictionary <string, stateRec> dicData = new Dictionary <string, stateRec>();



                while (dataReader.Read())
                {
                    stateRec sr = new stateRec();
                    sr.pStateNum  = dataReader.GetString(3);
                    sr.pStateType = dataReader.GetString(4);
                    sr.pSta1      = dataReader.GetString(5);
                    sr.pSta2      = dataReader.GetString(6);
                    sr.pSta3      = dataReader.GetString(7);
                    sr.pSta4      = dataReader.GetString(8);
                    sr.pSta5      = dataReader.GetString(9);
                    sr.pSta6      = dataReader.GetString(10);
                    sr.pSta7      = dataReader.GetString(11);
                    sr.pSta8      = dataReader.GetString(12);

                    dicData.Add(dataReader.GetString(1) + dataReader.GetInt64(0).ToString(), sr);
                }

                dataReader.Close();
                command.Dispose();
                cnn.Close();
                return(dicData);
            }
            catch (Exception dbEx)
            {
                Console.WriteLine(dbEx.ToString());
                return(null);
            }
        }
Exemplo n.º 5
0
        public override void checkExtensions(stateRec st)
        {
            bool stateExtension = false;

            // extension state is on field 9 (Val8)

            if (st.Val8 != "000" && st.Val8 != "255")
            {
                stateExtension = true;
            }

            if (stateExtension)
                App.Prj.ExtensionsLst.Add(st);
        }
Exemplo n.º 6
0
        public override void checkExtensions(stateRec st)
        {
            bool stateExtension = false;

            // extension state is on field 9 (Val8)
            // Depeds on Val7 to be extension

            if (st.Val8 == "000" || st.Val8 == "255")
            {
                stateExtension = true;
            }

            if (stateExtension)
            {
                App.Prj.ExtensionsLst.Add(st);
            }
        }
Exemplo n.º 7
0
        public override void checkExtensions(stateRec st)
        {
            bool stateExtension = false;

            // extension state is on field 3,4,5 (Val2,3,4)

            if (st.Val2 != "000" || st.Val2 != "255" ||
                st.Val3 != "000" || st.Val3 != "255" ||
                st.Val4 != "000" || st.Val4 != "255")
            {
                stateExtension = true;
            }

            if (stateExtension)
            {
                App.Prj.ExtensionsLst.Add(st);
            }
        }
Exemplo n.º 8
0
        public override void ValidateState(stateRec stateData)
        {
            Dictionary <string, stateRec> resultData = new Dictionary <string, stateRec>();

            this.ValidateState(stateData);

            if (stateData.stateType == "Z")
            {
                // validate General Purpose Buffer B or/and C
                // 000 - 001 - 002 - 003
                bool resp = this.ValidateRange(stateData.sta1, 0, 3);

                // validate optional datafield A to H (bit 1 thru 8)
                resp = this.ValidateRange(stateData.sta2, 0, 255);

                // validate optional datafield I to L (bit 1 thru 4)
                resp = this.ValidateRange(stateData.sta3, 0, 15);

                // validate optional datafield Q to V, w and a (bit 1 thru 8)
                resp = this.ValidateRange(stateData.sta4, 0, 255);


                // validate optional Data (bit 1 thru ?)
                resp = this.ValidateRange(stateData.sta5, 0, 31);

                // validate Must be zeros
                if (!(stateData.sta6 == "000"))
                {
                    Console.WriteLine("Invalid value - Reserved ");
                }

                // EMV/CAM2 Processing Flag
                // 000 - 001 - 002 - 003
                resp = this.ValidateRange(stateData.sta7, 0, 3);

                // Extension State Number
                resultData = this.ValidateStateNumber(stateData.sta8);
            }
        }
Exemplo n.º 9
0
        public void getData(string regExStr, string recordType, string logID)
        {
            string sql = @"SELECT logkey,id,group8 from [logger].[dbo].[loginfo] " +
                         "WHERE group8 like '" + regExStr + "' " +
                         "AND logID =" + logID;
            Dictionary <string, string> data = readData(sql);

            string[]       dataTypes = null;
            List <typeRec> typeList  = new List <typeRec>();

            string[] tmpTypes;

            foreach (KeyValuePair <string, string> rec in data)
            {
                // tmpTypes = rec.Value.Split((char)0x1c);

                if (recordType == "00" || recordType == "01")
                {
                    typeRec r = new typeRec();
                    r.typeIndex   = rec.Key;
                    r.typeContent = rec.Value;
                    typeList.Add(r);
                }



                tmpTypes = rec.Value.Split((char)0x1c);

                if (tmpTypes[3] == recordType)
                {
                    int    myInd    = tmpTypes[0].Length + tmpTypes[1].Length + tmpTypes[2].Length + tmpTypes[3].Length;
                    string typeData = rec.Value.Substring(myInd + 4, rec.Value.Length - (myInd + 4));

                    dataTypes = typeData.Split((char)0x1c);

                    foreach (string item in dataTypes)
                    {
                        typeRec r = new typeRec();
                        r.typeIndex   = rec.Key;
                        r.typeContent = item;
                        typeList.Add(r);
                    }
                }
            }
            switch (recordType)
            {
            case "00":
                TRec tr = new TRec();
                if (tr.writeData(typeList, Key, logID))
                {
                    setBitToTrue(recordType, logID);
                }

                break;

            case "01":
                TReply treply = new TReply();
                if (treply.writeData(typeList, Key, logID))
                {
                    // set screen bit to true
                    setBitToTrue(recordType, logID);
                }
                break;

            case "11":
                screenRec scrRec = new screenRec();
                if (scrRec.writeData(typeList, Key, logID))
                {
                    setBitToTrue(recordType, logID);
                }
                break;

            case "12":
                stateRec staRec = new stateRec();
                if (staRec.writeData(typeList, Key, logID))
                {
                    setBitToTrue(recordType, logID);
                }
                break;

            case "13":
                configParamsRec cpRec = new configParamsRec();
                if (cpRec.writeData(typeList, Key, logID))
                {
                    setBitToTrue(recordType, logID);
                }
                break;

            case "15":
                FitRec fitRec = new FitRec();
                if (fitRec.writeData(typeList, Key, logID))
                {
                    setBitToTrue(recordType, logID);
                }
                break;

            case "16":
                ConfigIdRec cir = new ConfigIdRec();
                if (cir.writeData(typeList, Key, logID))
                {
                    setBitToTrue(recordType, logID);
                }
                break;

            case "1A":
                EnhancedParamsRec epRec = new EnhancedParamsRec();
                if (epRec.writeData(typeList, Key, logID))
                {
                    setBitToTrue(recordType, logID);
                }
                break;

            case "1B":
                //writeMAC(typeList);
                break;

            case "1C":
                DateAndTimeRec dt = new DateAndTimeRec();
                if (dt.writeData(typeList, Key, logID))
                {
                    setBitToTrue(recordType, logID);
                }
                break;

            case "1E":
                //writeDispenser(typeList);
                break;

            case "42":
                ExtEncryptionRec xer = new ExtEncryptionRec();
                if (xer.writeData(typeList, Key, logID))
                {
                    setBitToTrue(recordType, logID);
                }
                break;
            }
        }
Exemplo n.º 10
0
        public void setData(DataGridViewRow dgvr)
        {
            txtTimestamp.Text = dgvr.Cells["Timestamp"].Value.ToString();
            txtLogLevel.Text  = dgvr.Cells["Log Level"].Value.ToString();
            txtFileName.Text  = dgvr.Cells["File Name"].Value.ToString();
            txtClass.Text     = dgvr.Cells["Class"].Value.ToString();
            txtMethod.Text    = dgvr.Cells["Method"].Value.ToString();
            txtType.Text      = dgvr.Cells["Type"].Value.ToString();
            rtbRawData.Text   = App.Prj.showBytes(Encoding.ASCII.GetBytes(dgvr.Cells["Log Data"].Value.ToString()));
            string logKey = dgvr.Cells["logKey"].Value.ToString();

            logKey = logKey.Substring(0, logKey.LastIndexOf("-"));
            string logID = dgvr.Cells["logID"].Value.ToString();

            string prjKey = dgvr.Cells["prjKey"].Value.ToString();


            List <DataTable> dts = App.Prj.getRecord(logKey, logID, prjKey, dgvr.Cells["Log Data"].Value.ToString());

            txtFieldData.Text = "";
            string stateType = "";
            int    fieldNum  = -1;
            int    timerNum  = 0;

            foreach (DataTable dt in dts)
            {
                if (dt.Rows.Count > 0)
                {
                    for (int rowNum = 0; rowNum < dt.Rows.Count; rowNum++)
                    {
                        // if the row data is for a
                        if (dt.Rows[rowNum][2].ToString() == "I")
                        {
                            txtFieldData.Text = dt.Columns[3].ColumnName + " = " + dt.Rows[0][3].ToString();
                        }
                        // if the row data is for a State
                        if (dt.Rows[rowNum][2].ToString() == "S")
                        {
                            for (fieldNum = 3; fieldNum < dt.Columns.Count - 5; fieldNum++)
                            {
                                if (fieldNum == 3)
                                {
                                    txtFieldData.Text += dt.Columns[fieldNum].ColumnName + " = " + dt.Rows[rowNum][fieldNum].ToString() + " ";
                                }
                                else
                                {
                                    txtFieldData.Text += dt.Rows[rowNum][fieldNum].ToString() + " ";
                                }
                                // what state type is it?
                                if (fieldNum == 4)
                                {
                                    stateType = dt.Rows[rowNum][fieldNum].ToString();
                                }
                            }
                            stateRec stRec = new stateRec();
                            stRec.StateNumber  = dt.Rows[rowNum][3].ToString();
                            stRec.StateType    = dt.Rows[rowNum][4].ToString();
                            stRec.Val1         = dt.Rows[rowNum][5].ToString();
                            stRec.Val2         = dt.Rows[rowNum][6].ToString();
                            stRec.Val3         = dt.Rows[rowNum][7].ToString();
                            stRec.Val4         = dt.Rows[rowNum][8].ToString();
                            stRec.Val5         = dt.Rows[rowNum][9].ToString();
                            stRec.Val6         = dt.Rows[rowNum][10].ToString();
                            stRec.Val7         = dt.Rows[rowNum][11].ToString();
                            stRec.Val8         = dt.Rows[rowNum][12].ToString();
                            txtFieldData.Text += System.Environment.NewLine;
                            txtFieldData.Text += System.Environment.NewLine;
                            txtFieldData.Text += stRec.getInfo(stRec);
                        }
                        // if the row data is for a FIT
                        if (dt.Rows[rowNum][2].ToString() == "F")
                        {
                            FitRec    fitRec = new FitRec();
                            DataTable fitdt  = fitRec.getDescription();

                            for (fieldNum = 3; fieldNum < dt.Columns.Count - 5; fieldNum++)
                            {
                                if (fieldNum == 3)
                                {
                                    txtFieldData.Text += @"==================================================" + System.Environment.NewLine;
                                    txtFieldData.Text += dt.Columns[fieldNum].ColumnName.ToUpper() + " = " + dt.Rows[rowNum][fieldNum].ToString() + System.Environment.NewLine;
                                    txtFieldData.Text += @"==================================================" + System.Environment.NewLine;
                                }
                                else
                                {
                                    txtFieldData.Text += dt.Columns[fieldNum].ColumnName.ToUpper() + " = " + dt.Rows[rowNum][fieldNum].ToString() + "\t\t" + fitdt.Rows[fieldNum - 3][3].ToString().Trim() + System.Environment.NewLine;
                                }
                            }
                        }
                        // if the row data is for a
                        if (dt.Rows[rowNum][2].ToString() == "C")
                        {
                            EnhancedParamsRec paramRec   = new EnhancedParamsRec();
                            DataTable         paramRecDt = paramRec.getDescription();
                            string            optionDesc = "";

                            if (dt.Rows[rowNum][5].ToString() == "1")
                            {
                                if (rowNum == 0)
                                {
                                    txtFieldData.Text += @"==================================================" + System.Environment.NewLine;
                                    txtFieldData.Text += @"OPTIONS" + System.Environment.NewLine;
                                    txtFieldData.Text += @"==================================================" + System.Environment.NewLine;
                                }
                                txtFieldData.Text += dt.Columns[3].ColumnName.ToUpper() + " " + dt.Rows[rowNum][3].ToString() + " = " + dt.Rows[rowNum][4].ToString();
                                optionDesc         = getOptionDescription(paramRecDt, "O" + dt.Rows[rowNum][3].ToString());
                                txtFieldData.Text += "\t" + optionDesc + System.Environment.NewLine;
                            }
                            if (dt.Rows[rowNum][5].ToString() == "2")
                            {
                                if (timerNum == 0)
                                {
                                    txtFieldData.Text += @"==================================================" + System.Environment.NewLine;
                                    txtFieldData.Text += @"TIMERS" + System.Environment.NewLine;
                                    txtFieldData.Text += @"==================================================" + System.Environment.NewLine;
                                    timerNum           = 1;
                                }
                                txtFieldData.Text += dt.Columns[3].ColumnName.ToUpper() + " " + dt.Rows[rowNum][3].ToString() + " = " + dt.Rows[rowNum][4].ToString();
                                optionDesc         = getOptionDescription(paramRecDt, "T" + dt.Rows[rowNum][3].ToString());
                                txtFieldData.Text += "\t" + optionDesc + System.Environment.NewLine;
                            }
                        }
                        // if the row data is for a Transaction Reply
                        if (dt.Rows[rowNum][2].ToString() == "R")
                        {
                            DataTable tReplyDt = new TReply().getDescription();
                            int       x        = 0;
                            for (int field = 3; field <= dt.Rows[rowNum].ItemArray.Length - 3; field++)
                            {
                                if (field == 24)
                                {
                                    if (dts[1].Rows.Count > 0)
                                    {
                                        txtFieldData.Text += getPrinterData(dts[1]);
                                    }
                                    continue;
                                }
                                if (field == 62)
                                {
                                    if (dts[2].Rows.Count > 0)
                                    {
                                        txtFieldData.Text += getCheckProccessing(dts[2]);
                                    }
                                    continue;
                                }
                                string fieldContent = dt.Rows[rowNum].ItemArray[field].ToString().Trim();
                                if (fieldContent == "")
                                {
                                    continue;
                                }
                                else
                                {
                                    string optionDesc = getOptionDescription(tReplyDt, field.ToString("00"));
                                    txtFieldData.Text += optionDesc + " = ";
                                    txtFieldData.Text += fieldContent;
                                    txtFieldData.Text += System.Environment.NewLine;
                                }
                            }
                        }
                        // if the row data is for a Transaction Request
                        if (dt.Rows[rowNum][2].ToString() == "T")
                        {
                            DataTable tReqDt = new TRec().getDescription();
                            int       x      = 0;
                            for (int field = 3; field <= dt.Rows[rowNum].ItemArray.Length - 3; field++)
                            {
                                if (field == 42)
                                {
                                    if (dts[1].Rows.Count > 0)
                                    {
                                        txtFieldData.Text += getTreqOptions(dts[1]);
                                    }
                                    continue;
                                }
                                if (field == 62)
                                {
                                    if (dts[2].Rows.Count > 0)
                                    {
                                        txtFieldData.Text += getTreqCurrencies(dts[2]);
                                    }
                                    if (dts[3].Rows.Count > 0)
                                    {
                                        txtFieldData.Text += getTreqCheques(dts[3]);
                                    }

                                    continue;
                                }

                                string fieldContent = dt.Rows[rowNum].ItemArray[field].ToString().Trim();
                                if (fieldContent == "")
                                {
                                    continue;
                                }
                                else
                                {
                                    string optionDesc = getOptionDescription(tReqDt, field.ToString("00"));
                                    txtFieldData.Text += optionDesc + " = ";
                                    txtFieldData.Text += fieldContent;
                                    txtFieldData.Text += System.Environment.NewLine;
                                }
                            }
                            break;
                        }
                    }
                }
            }
        }
Exemplo n.º 11
0
 public override void ValidateState(stateRec stateData)
 {
     if (stateData.stateType == "&")
     {
     }
 }
Exemplo n.º 12
0
        public override void ValidateState(stateRec stateData)
        {
            Dictionary <string, stateRec> resultData = new Dictionary <string, stateRec>();

            base.ValidateState(stateData);

            // validate state data

            /*
             * validate statNum is 000 - 999
             * validate screen:
             *  exist in screen table
             *  is in the range of 000 - 999
             * validate good read next state:
             *  exist in state table
             *  is 000-254 256-999
             * validate misread screen:
             *  exist in screen table
             *  range is 000-999
             * validate read conditions 1, 2, 3
             * validate no fit match:
             *  exist in state table
             *  range is 000-254 256-999
             */
            if (stateData.stateType == "I")
            {
                screenRec sr = new screenRec();
                // validate screen number with db
                bool resp = sr.ValidateScreen(stateData.sta1);

                // validate misread screen to go
                resultData = this.ValidateStateNumber(stateData.sta2);
                //Console.WriteLine("Error stat type A misread screen does not exist");

                // validate Track 2 is sent or not
                resp = this.ValidateYesNo(stateData.sta3);

                // validate Track 1 or 3 is between 0 and 7
                resp = this.ValidateRange(stateData.sta4, 0, 7);

                // validate OpCode Data
                resp = this.ValidateYesNo(stateData.sta5);

                // validate Amount Data
                resp = this.ValidateYesNo(stateData.sta6);
                bool extState = false;

                // validate PIN Buffer/Extended Format
                if (!(stateData.sta7 == "000" || stateData.sta7 == "001" ||
                      stateData.sta7 == "128" || stateData.sta7 == "129"))
                {
                    Console.WriteLine(" PIN Buffer/Extended Format value invalid ");
                }
                else if (stateData.sta7 == "128" || stateData.sta7 == "129")
                {
                    extState = true;
                }

                // validate General Purpose Buffer B or Extension State Number
                if (stateData.sta8 == "255")
                {
                    Console.WriteLine(" General Purpose Buffer B invalid ");
                }
                else
                {
                    if (stateData.sta8 == "000" || stateData.sta8 == "001")
                    {
                        resp = this.ValidateRange(stateData.sta8, 0, 7);
                    }
                    else
                    {
                        resp       = this.ValidateRange(stateData.sta8, 0, 999);
                        resultData = this.ValidateStateNumber(stateData.sta8);
                    }
                }
            }
        }
Exemplo n.º 13
0
        public override void ValidateState(stateRec stateData)
        {
            Dictionary <string, stateRec> resultData = new Dictionary <string, stateRec>();

            base.ValidateState(stateData);

            // validate state data

            /*
             * validate statNum is 000
             * validate screen:
             *  exist in screen table
             *  is in the range of 000 - 999
             * validate good read next state:
             *  exist in state table
             *  is 000-254 256-999
             * validate misread screen:
             *  exist in screen table
             *  range is 000-999
             * validate read conditions 1, 2, 3
             * validate no fit match:
             *  exist in state table
             *  range is 000-254 256-999
             */
            if (stateData.stateType == "A")
            {
                if (stateData.stateNum != "000")
                {
                    Console.WriteLine("Erorr state type A not 000");
                }
                screenRec sr = new screenRec();
                // validate screen number with db
                bool resp = sr.ValidateScreen(stateData.sta1);

                // validate state number
                resultData = this.ValidateStateNumber(stateData.sta2);

                // validate error screen
                resp = sr.ValidateScreen(stateData.sta3);

                // read conditions

                /*
                 *  bit    binary   decimal   meaning
                 *  0       0001      001       Read T3
                 *  1       0010      002       Read t2
                 *  1-0     0011      003       Read t2 and t3
                 *  2       0100      004       Read t1
                 *  2-0     0101      005       Read t1 and t3
                 *  2-1     0110      006       Read t1 and t2
                 *  2-1-0   0111      007       Read all tracks
                 *  3       1000      008       Chip connect
                 */

                // validate State type A Readcondition 1 between 1 and 7
                resp = this.ValidateRange(stateData.sta4, 1, 7);

                // validate State type A Readcondition 2 between 1 and 7
                resp = this.ValidateRange(stateData.sta5, 1, 7);

                // validate State type A Readcondition 3 between 1 and 8
                resp = this.ValidateRange(stateData.sta6, 1, 8);

                // validate State type A Card Return Flag between 0 and 1
                resp = this.ValidateRange(stateData.sta7, 0, 1);

                // validate state type A No FIT match state does not exist
                resultData = this.ValidateStateNumber(stateData.sta8);
            }
        }
Exemplo n.º 14
0
        public List <DataTable> getRecord(string logKey, string logID, string projectKey, string recValue)
        {
            List <typeRec> typeList = new List <typeRec>();

            string[]         tmpTypes;
            int              recCount  = 0;
            string           recType   = "";
            DataTable        dataTable = new DataTable();
            List <DataTable> dts       = new List <DataTable>();

            foreach (string recordType in App.Prj.RecordTypes)
            {
                if (recValue.Contains(recordType))
                {
                    if (recCount == 0 || recCount == 1)
                    {
                        recType = recCount.ToString("00");
                    }
                    else
                    {
                        tmpTypes = recValue.Split((char)0x1c);

                        foreach (string subRecordType in App.Prj.SubRecordTypes)
                        {
                            if (tmpTypes[3] == subRecordType)
                            {
                                recType = subRecordType;
                                break;
                            }
                        }
                    }
                    break;
                }
                recCount++;
            }
            switch (recType)
            {
            case "00":
                TRec tr = new TRec();
                dts = tr.getRecord(logKey, logID, projectKey);
                break;

            case "01":
                TReply treply = new TReply();
                dts = treply.getRecord(logKey, logID, projectKey);
                break;

            case "11":
                screenRec scrRec = new screenRec();
                break;

            case "12":
                stateRec staRec = new stateRec();
                dts = staRec.getRecord(logKey, logID, projectKey);
                break;

            case "13":
                configParamsRec cpRec = new configParamsRec();
                break;

            case "15":
                FitRec fitRec = new FitRec();
                dts = fitRec.getRecord(logKey, logID, projectKey);
                break;

            case "16":
                ConfigIdRec cir = new ConfigIdRec();
                dts = cir.getRecord(logKey, logID, projectKey);
                break;

            case "1A":
                EnhancedParamsRec epRec = new EnhancedParamsRec();
                dts = epRec.getRecord(logKey, logID, projectKey);
                break;

            case "1B":
                //writeMAC(typeList);
                break;

            case "1C":
                DateAndTimeRec dt = new DateAndTimeRec();
                break;

            case "1E":
                //writeDispenser(typeList);
                break;

            case "42":
                ExtEncryptionRec xer = new ExtEncryptionRec();
                break;
            }
            return(dts);
        }
Exemplo n.º 15
0
        public virtual string getInfo(stateRec stRec)
        {
            string stateType = stRec.StateType;
            string stateNum  = stRec.StateNumber;



            DataTable dt           = new DataTable();
            stateRec  currentState = new stateRec();

            switch (stRec.StateType)
            {
            case "A":
                currentState = new StateA();
                dt           = currentState.getStateDescription(stRec.StateType);
                break;

            case "B":
                currentState = new StateB();
                dt           = currentState.getStateDescription(stRec.StateType);
                break;

            case "D":
                currentState = new StateD();
                dt           = currentState.getStateDescription(stRec.StateType);
                break;

            case "E":
                currentState = new StateE();
                dt           = currentState.getStateDescription(stRec.StateType);
                break;

            case "F":
                currentState = new StateF();
                dt           = currentState.getStateDescription(stRec.StateType);
                break;

            case "G":
                currentState = new StateG();
                dt           = currentState.getStateDescription(stRec.StateType);
                break;

            case "H":
                currentState = new StateH();
                dt           = currentState.getStateDescription(stRec.StateType);
                break;

            case "I":
                currentState = new StateI();
                dt           = currentState.getStateDescription(stRec.StateType);
                break;

            case "J":
                currentState = new StateJ();
                dt           = currentState.getStateDescription(stRec.StateType);
                break;

            case "K":
                currentState = new StateK();
                dt           = currentState.getStateDescription(stRec.StateType);
                break;

            case "M":
                currentState = new StateM();
                dt           = currentState.getStateDescription(stRec.StateType);
                break;

            case "N":
                currentState = new StateN();
                dt           = currentState.getStateDescription(stRec.StateType);
                break;

            case "W":
                currentState = new StateW();
                dt           = currentState.getStateDescription(stRec.StateType);
                break;

            case "X":
                currentState = new StateX();
                dt           = currentState.getStateDescription(stRec.StateType);
                break;

            case "Y":
                currentState = new StateY();
                dt           = currentState.getStateDescription(stRec.StateType);
                break;

            case "_":
                currentState = new State5F();
                dt           = currentState.getStateDescription(stRec.StateType);
                break;

            case "+":
                currentState = new State2B();
                dt           = currentState.getStateDescription(stRec.StateType);
                break;

            case "&":
                currentState = new State26();
                dt           = currentState.getStateDescription(stRec.StateType);
                break;

            case ",":
                currentState = new State2C();
                dt           = currentState.getStateDescription(stRec.StateType);
                break;

            case "-":
                currentState = new State2D();
                dt           = currentState.getStateDescription(stRec.StateType);
                break;

            case ".":
                currentState = new State2E();
                dt           = currentState.getStateDescription(stRec.StateType);
                break;

            case "/":
                currentState = new State2F();
                dt           = currentState.getStateDescription(stRec.StateType);
                break;

            case ";":
                currentState = new State3B();
                dt           = currentState.getStateDescription(stRec.StateType);
                break;

            case ">":
                currentState = new State3E();
                dt           = currentState.getStateDescription(stRec.StateType);
                break;

            case "?":
                currentState = new State3F();
                dt           = currentState.getStateDescription(stRec.StateType);
                break;

            case "k":
                currentState = new State6B();
                dt           = currentState.getStateDescription(stRec.StateType);
                break;

            case "w":
                currentState = new State77();
                dt           = currentState.getStateDescription(stRec.StateType);
                break;

            case "Z":
                currentState = new StateZ();
                string extensionFound = currentState.checkZExtensions(stRec);

                if (extensionFound.Length > 0)
                {
                    dt       = currentState.getStateDescription(extensionFound.Substring(3, extensionFound.Length - 3));
                    stateNum = extensionFound.Substring(0, 3);
                }
                break;

            default:
                break;
            }

            string stateTypetmp = "";

            if (dt.Rows.Count > 0)
            {
                stateTypetmp = dt.Rows[0]["subRecType"].ToString().Trim();


                string fieldData = dt.Rows[0][3].ToString().Trim() + ":\t" + stRec.StateNumber + System.Environment.NewLine;

                if (stateTypetmp == stRec.StateType)
                {
                    fieldData += dt.Rows[1][3].ToString().Trim() + ":\t" + stRec.StateType + System.Environment.NewLine;
                }
                else
                {
                    if (stateTypetmp.Length > 2)
                    {
                        stateTypetmp = stRec.StateType;
                    }
                    fieldData += dt.Rows[1][3].ToString().Trim() + ":\t" + stRec.StateType + " extension of " + stateTypetmp.Substring(0, 1) + " " + stateNum + System.Environment.NewLine;
                }
                fieldData += dt.Rows[2][3].ToString().Substring(0, 40) + " " + stRec.Val1 + insertDescription(dt.Rows[2][4].ToString());
                fieldData += dt.Rows[3][3].ToString().Substring(0, 40) + " " + stRec.Val2 + insertDescription(dt.Rows[3][4].ToString());
                fieldData += dt.Rows[4][3].ToString().Substring(0, 40) + " " + stRec.Val3 + insertDescription(dt.Rows[4][4].ToString());
                fieldData += dt.Rows[5][3].ToString().Substring(0, 40) + " " + stRec.Val4 + insertDescription(dt.Rows[5][4].ToString());
                fieldData += dt.Rows[6][3].ToString().Substring(0, 40) + " " + stRec.Val5 + insertDescription(dt.Rows[6][4].ToString());
                fieldData += dt.Rows[7][3].ToString().Substring(0, 40) + " " + stRec.Val6 + insertDescription(dt.Rows[7][4].ToString());
                fieldData += dt.Rows[8][3].ToString().Substring(0, 40) + " " + stRec.Val7 + insertDescription(dt.Rows[8][4].ToString());
                fieldData += dt.Rows[9][3].ToString().Substring(0, 40) + " " + stRec.Val8 + insertDescription(dt.Rows[9][4].ToString());
                fieldData += System.Environment.NewLine;

                // is there extension information on the val
                //

                stateRec stRecTmp = new stateRec();
                stRecTmp           = stRec;
                stRecTmp.StateType = dt.Rows[0]["subRecType"].ToString().Trim();
                currentState.checkExtensions(stRecTmp);
                return(fieldData);
            }
            else
            {
                return("");
            }
        }
Exemplo n.º 16
0
        public override string checkZExtensions(stateRec st)
        {
            // st holds the Z state

            string stateFound = "";

            foreach (stateRec state in App.Prj.ExtensionsLst)
            {
                // state holds the state waiting for extension
                //if (st.StateNumber == state.StateNumber)
                if (state.StateType == "D")
                {
                    if (state.Val8 == st.StateNumber)
                    {
                        // this is the extension
                        stateFound = state.stateNum + "D1";
                        break;
                    }
                }
                if (state.StateType == "J")
                {
                    if (state.Val8 == st.StateNumber)
                    {
                        // this is the extension
                        stateFound = state.stateNum + "J1";
                        break;
                    }
                }
                if (state.StateType == "J1")
                {
                    if (state.Val4 == st.StateNumber)
                    {
                        stateFound = state.stateNum + "J11";
                        break;
                    }
                }
                if (state.StateType == "J11")
                {
                    if (state.Val4 == st.StateNumber)
                    {
                        stateFound = state.stateNum + "J111";
                        break;
                    }
                }
                if (state.StateType == "Y")
                {
                    if (state.Val5 == st.StateNumber)
                    {
                        // this is the extension
                        stateFound = state.stateNum + "Y1";
                        break;
                    }
                    if (state.Val8 == st.StateNumber)
                    {
                        stateFound = state.stateNum + "Y2";
                        break;
                    }
                }
                if (state.StateType == "I")
                {
                    if (state.Val8 == st.StateNumber)
                    {
                        stateFound = state.stateNum + "I1";
                        break;
                    }
                }
                if (state.StateType == "I1")
                {
                    if (state.Val8 == st.StateNumber)
                    {
                        stateFound = state.stateNum + "I11";
                        break;
                    }
                }
                if (state.StateType == ".")
                {
                    if (state.Val2 == st.StateNumber)
                    {
                        // this is the extension
                        stateFound = state.stateNum + ".1";
                        break;
                    }
                    if (state.Val3 == st.StateNumber)
                    {
                        stateFound = state.stateNum + ".2";
                        break;
                    }
                    if (state.Val4 == st.StateNumber)
                    {
                        stateFound = state.stateNum + ".3";
                        break;
                    }
                }
                if (state.StateType == "/")
                {
                    if (state.Val4 == st.StateNumber)
                    {
                        stateFound = state.stateNum + "/1";
                        break;
                    }
                }
                if (state.StateType == "&")
                {
                    if (state.Val8 == st.StateNumber)
                    {
                        stateFound = state.stateNum + "&1";
                        break;
                    }
                }
                if (state.StateType == "&1")
                {
                    if (state.Val8 == st.StateNumber)
                    {
                        stateFound = state.stateNum + "&11";
                        break;
                    }
                }
                if (state.StateType == ">")
                {
                    if (state.Val5 == st.StateNumber)
                    {
                        // this is the extension
                        stateFound = state.stateNum + ">1";
                        break;
                    }
                    if (state.Val6 == st.StateNumber)
                    {
                        stateFound = state.stateNum + ">2";
                        break;
                    }
                    if (state.Val7 == st.StateNumber)
                    {
                        stateFound = state.stateNum + ">3";
                        break;
                    }
                }



                continue;
            }
            return(stateFound);
        }
Exemplo n.º 17
0
 public virtual void checkExtensions(stateRec st)
 {
 }
Exemplo n.º 18
0
 public virtual string checkZExtensions(stateRec st)
 {
     return(null);
 }