tieuquyngok1995 / ToolSupportUchida

1 stars 1 forks source link

main5 #13

Closed tieuquyngok1995 closed 3 years ago

tieuquyngok1995 commented 3 years ago

private void handledSelectCaseString(string strSQL, string strCase) { try { Dictionary<string, string> listDicCase = new Dictionary<string, string>(); listDicCase.Add(CONSTANTS.CONST_STRING_COLUMNS_SQL, strSQL); ;

            string[] arrCase = strCase.Split(CONSTANTS.CONST_CHAR_LINE_BREAK);
            string strSelectCaseName = string.Empty;
            string strCaseName = string.Empty;

            bool isCaseElse = false;

            foreach (string item in arrCase)
            {
                if (item.Contains(CONSTANTS.CONST_STRING_IS_SELECT_CASE))
                {
                    strSelectCaseName = item.Replace(CONSTANTS.CONST_STRING_IS_SELECT_CASE, CONSTANTS.CONST_STRING_CHECK_SELECT_CASE);
                }
                else if (Regex.IsMatch(item.Trim(), CONSTANTS.CONST_REGEX_CASE_ELSE_ERROR) || isCaseElse)
                {
                    if (!isCaseElse)
                    {
                        row = dataSQL.NewRow();
                        row[CONSTANTS.CONST_STRING_COLUMNS_ID] = strCaseName;
                        row[CONSTANTS.CONST_STRING_COLUMNS_SQL] = listDicCase[strCaseName];
                        dataSQL.Rows.Add(row);
                    }
                    isCaseElse = true;
                    continue;
                }
                else if (item.Contains(CONSTANTS.CONST_STRING_CHECK_CASE) || item.Contains(CONSTANTS.CONST_STRING_CHECK_END_SELECT))
                {
                    if (!string.IsNullOrEmpty(strCaseName))
                    {
                        row = dataSQL.NewRow();
                        row[CONSTANTS.CONST_STRING_COLUMNS_ID] = strCaseName;
                        row[CONSTANTS.CONST_STRING_COLUMNS_SQL] = listDicCase[strCaseName];
                        dataSQL.Rows.Add(row);
                    }
                    strCaseName = strSelectCaseName + CONSTANTS.CONST_STRING_SPACE + item.Trim();
                    listDicCase.Add(strCaseName, strSQL);
                }
                else
                {
                    listDicCase[strCaseName] = listDicCase[strCaseName] + item.Trim() + CONSTANTS.CONST_CHAR_LINE_BREAK;
                }
            }
        }
        catch(Exception ex)
        {
            MessageBox.Show("An abnormal error occurs in the function: HandledSelectCaseString\nError content: " + ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
        }
    }

    #endregion