Exemple #1
0
        //Initializes transaction fields with intial field values from the database.
        public Dictionary <string, IfsField> InitializeFields(Dictionary <string, IfsField> initialFields)
        {
            Dictionary <string, IfsField> fields = new Dictionary <string, IfsField>();

            foreach (KeyValuePair <string, IfsField> initialField in initialFields)
            {
                IfsField field = new IfsField();

                field.Hierarchy        = initialField.Value.Hierarchy;
                field.FieldID          = initialField.Value.FieldID;
                field.Prompt           = initialField.Value.Prompt;
                field.FieldName        = initialField.Value.FieldName;
                field.DefaultValue     = initialField.Value.DefaultValue;
                field.MaxLength        = initialField.Value.MaxLength;
                field.ReadOnly         = initialField.Value.ReadOnly;
                field.Uppercase        = initialField.Value.Uppercase;
                field.HasUom           = initialField.Value.HasUom;
                field.Lov              = initialField.Value.Lov;
                field.LovPrompt        = initialField.Value.LovPrompt;
                field.LovOnEntry       = initialField.Value.LovOnEntry;
                field.LovReadOnly      = initialField.Value.LovReadOnly;
                field.Table            = initialField.Value.Table;
                field.Configurable     = initialField.Value.Configurable;
                field.Enabled          = initialField.Value.Enabled;
                field.Transaction      = initialField.Value.Transaction;
                field.TransactionTitle = initialField.Value.TransactionTitle;
                field.API              = initialField.Value.API;
                field.Value            = initialField.Value.Value;

                fields.Add(field.FieldID, field);
            }

            //Set iteration values
            FirstFieldID = initialFields.Values.Single(x => x.Hierarchy.Equals(1)).FieldID;
            LastFieldID  = initialFields.Values.Single(x => x.Hierarchy.Equals(FieldCount)).FieldID;

            return(fields);
        }
Exemple #2
0
        //Constructor to create an initializer based on IFS transaction field values in the database and then sets
        //the transaction fields to these values
        public IfsFields(OracleConnection connection, string transaction, IfsProperties ifsProperties)
        {
            Hierarchy  = new List <string>();
            Initalizer = new Dictionary <string, IfsField>();
            Fields     = new Dictionary <string, IfsField>();

            //Build a query to get transaction fields
            OracleQueryBuilder fieldsQuery = new OracleQueryBuilder(ifsProperties.AppOwner);

            //Add Table to Select From
            fieldsQuery.AddFrom("ESI_SW_TRANSACTION_SYSTEM");

            //Add Fields to Select
            fieldsQuery.AddSelect("FIELD_ID", "", "", "ESI_SW_TRANSACTION_SYSTEM", "");      //0
            fieldsQuery.AddSelect("PROMPT", "", "", "ESI_SW_TRANSACTION_SYSTEM", "");        //1
            fieldsQuery.AddSelect("FIELD_NAME", "", "", "ESI_SW_TRANSACTION_SYSTEM", "");    //2
            fieldsQuery.AddSelect("DEFAULT_VALUE", "", "", "ESI_SW_TRANSACTION_SYSTEM", ""); //3
            fieldsQuery.AddSelect("MAX_LENGTH", "", "", "ESI_SW_TRANSACTION_SYSTEM", "");    //4
            fieldsQuery.AddSelect("READ_ONLY", "", "", "ESI_SW_TRANSACTION_SYSTEM", "");     //5
            fieldsQuery.AddSelect("UPPERCASE", "", "", "ESI_SW_TRANSACTION_SYSTEM", "");     //6
            fieldsQuery.AddSelect("HAS_UOM", "", "", "ESI_SW_TRANSACTION_SYSTEM", "");       //7
            fieldsQuery.AddSelect("LOV", "", "", "ESI_SW_TRANSACTION_SYSTEM", "");           //8
            fieldsQuery.AddSelect("LOV_PROMPT", "", "", "ESI_SW_TRANSACTION_SYSTEM", "");    //9
            fieldsQuery.AddSelect("LOV_ON_ENTRY", "", "", "ESI_SW_TRANSACTION_SYSTEM", "");  //10
            fieldsQuery.AddSelect("LOV_READ_ONLY", "", "", "ESI_SW_TRANSACTION_SYSTEM", ""); //11
            fieldsQuery.AddSelect("CONFIGURABLE", "", "", "ESI_SW_TRANSACTION_SYSTEM", "");  //12
            fieldsQuery.AddSelect("LOOKUP_TABLE", "", "", "ESI_SW_TRANSACTION_SYSTEM", "");  //13
            fieldsQuery.AddSelect("ENABLED", "", "", "ESI_SW_TRANSACTION_SYSTEM", "");       //14
            fieldsQuery.AddSelect("TRANSACTION", "", "", "ESI_SW_TRANSACTION_SYSTEM", "");   //15
            fieldsQuery.AddSelect("TITLE", "", "", "ESI_SW_TRANSACTION_SYSTEM", "");         //16
            fieldsQuery.AddSelect("API", "", "", "ESI_SW_TRANSACTION_SYSTEM", "");           //17

            //Add Query Criteria
            fieldsQuery.AddWhere("TRANSACTION", transaction, "=", "ESI_SW_TRANSACTION_SYSTEM", false, "");

            //Add Query Sorting
            fieldsQuery.AddOrder("HIERARCHY", "ESI_SW_TRANSACTION_SYSTEM", "");

            //Execute the query
            OracleDataReader results = fieldsQuery.Execute(connection);

            while (results.Read())
            {
                if (!results.IsDBNull(0))
                {
                    FieldCount++;

                    //Add each row to the Hierarchy in order
                    Hierarchy.Add(results.GetString(0));

                    //Create a field to store the values for each row
                    IfsField field = new IfsField();

                    //Set the field hierarchy to the value from the hierarchy
                    //                   field.Hierarchy = Hierarchy.IndexOf(results.GetString(0));

                    //Add row values to the field
                    field.Hierarchy        = FieldCount;
                    field.FieldID          = GetSafeDBString(results, 0) ?? "";
                    field.Prompt           = GetSafeDBString(results, 1) ?? "";
                    field.FieldName        = GetSafeDBString(results, 2) ?? "";
                    field.DefaultValue     = GetSafeDBString(results, 3) ?? "";
                    field.MaxLength        = GetSafeDBString(results, 4) ?? "-1";
                    field.ReadOnly         = results.GetString(5) == "Y" ? true : false;
                    field.Uppercase        = results.GetString(6) == "Y" ? true : false;
                    field.HasUom           = results.GetString(7) == "Y" ? true : false;
                    field.Lov              = GetSafeDBString(results, 8) ?? "";
                    field.LovPrompt        = GetSafeDBString(results, 9) ?? "";
                    field.LovOnEntry       = results.GetString(10) == "Y" ? true : false;
                    field.LovReadOnly      = results.GetString(11) == "Y" ? true : false;
                    field.Configurable     = results.GetString(12) == "Y" ? true : false;
                    field.Table            = GetSafeDBString(results, 13) ?? "";
                    field.Enabled          = results.GetString(14) == "Y" ? true : false;
                    field.Transaction      = GetSafeDBString(results, 15) ?? "";
                    field.TransactionTitle = GetSafeDBString(results, 16) ?? "";
                    field.API              = GetSafeDBString(results, 17) ?? "";
                    field.Value            = "";

                    //Add each field to the initializer
                    Initalizer.Add(field.FieldID, field);
                }
            }

            //Initalize the transaction fields to the intializer values
            Fields = InitializeFields(Initalizer);
        }