/// <summary> /// Returns text/control lang data from Front-End database /// </summary> /// <param name="searchText"></param> /// <param name="pageOffset"></param> /// <param name="pageSize"></param> /// <param name="sortColumn"></param> /// <param name="sortOrder"></param> /// <returns></returns> /// <remarks></remarks> public DataSet TextSearch(string searchText, int pageOffset, int pageSize, string sortColumn = "TEXT_CODE", bool sortOrder = false) { TalentSystemDefaults.TalentDataAccess talentSqlAccessDetail = new TalentSystemDefaults.TalentDataAccess(); ErrorObj err = new ErrorObj(); DataSet textSearchData = new DataSet(); try { talentSqlAccessDetail.Settings = settings; talentSqlAccessDetail.CommandElements.CommandExecutionType = CommandExecution.ExecuteDataSet; talentSqlAccessDetail.CommandElements.CommandType = CommandType.StoredProcedure; talentSqlAccessDetail.CommandElements.CommandText = "usp_SearchText_GetData"; talentSqlAccessDetail.CommandElements.CommandParameter.Add(ConstructParameter("@searchText", searchText)); talentSqlAccessDetail.CommandElements.CommandParameter.Add(ConstructParameter("@sortColumn", sortColumn)); talentSqlAccessDetail.CommandElements.CommandParameter.Add(ConstructParameter("@sortOrder", sortOrder, SqlDbType.Bit)); talentSqlAccessDetail.CommandElements.CommandParameter.Add(ConstructParameter("@pageOffset", pageOffset, SqlDbType.Int)); talentSqlAccessDetail.CommandElements.CommandParameter.Add(ConstructParameter("@pageSize", pageSize, SqlDbType.Int)); err = talentSqlAccessDetail.SQLAccess(DestinationDatabase.SQL2005); if ((!(err.HasError)) && (!(talentSqlAccessDetail.ResultDataSet == null))) { textSearchData = talentSqlAccessDetail.ResultDataSet; } } catch (Exception) { throw; } finally { talentSqlAccessDetail = null; } return(textSearchData); }
/// <summary> /// Replaces the search-text passed with the replace text into the control/page text DB tables /// It is not in use anymore. /// </summary> /// <param name="searchString"></param> /// <param name="replaceString"></param> /// <returns></returns> /// <remarks></remarks> public bool ReplaceSearchText(string searchString, string replaceString) { TalentSystemDefaults.TalentDataAccess talentSqlAccessDetail = new TalentSystemDefaults.TalentDataAccess(); ErrorObj err = new ErrorObj(); string query = "UPDATE tbl_page_text_lang SET TEXT_CONTENT = CAST( REPLACE(CAST(TEXT_CONTENT as NVarchar(max)), @searchString, @replaceString) AS NText) WHERE TEXT_CONTENT LIKE @searchText AND TEXT_CONTENT NOT LIKE \'%<\' + @searchString + \'>%\'; " + "UPDATE tbl_control_text_lang SET CONTROL_CONTENT = CAST( REPLACE(CAST(CONTROL_CONTENT as NVarchar(max)), @searchString, @replaceString) AS NText) WHERE CONTROL_CONTENT LIKE @searchText AND CONTROL_CONTENT NOT LIKE \'%<\' + @searchString + \'>%\' ;"; try { talentSqlAccessDetail.Settings = settings; talentSqlAccessDetail.CommandElements.CommandExecutionType = CommandExecution.ExecuteNonQuery; talentSqlAccessDetail.CommandElements.CommandText = query; talentSqlAccessDetail.CommandElements.CommandParameter.Add(ConstructParameter("@searchText", "%" + searchString + "%")); talentSqlAccessDetail.CommandElements.CommandParameter.Add(ConstructParameter("@searchString", searchString)); talentSqlAccessDetail.CommandElements.CommandParameter.Add(ConstructParameter("@replaceString", replaceString)); err = talentSqlAccessDetail.SQLAccess(DestinationDatabase.SQL2005); if (!err.HasError) { return(true); } else { return(false); } } catch (Exception) { throw; } finally { talentSqlAccessDetail = null; } return(false); }
/// <summary> /// Updates text/control lang data into Front-End database /// </summary> /// <param name="modifiedRows"></param> /// <returns></returns> /// <remarks></remarks> public bool SaveTextSearchData(System.Collections.Generic.List <TextSearchEntity> modifiedRows, Dictionary <string, string> tableList) { TalentSystemDefaults.TalentDataAccess talentSqlAccessDetail = new TalentSystemDefaults.TalentDataAccess(); ErrorObj err = new ErrorObj(); System.Text.StringBuilder xmlData = new System.Text.StringBuilder(); System.Collections.Generic.List <TextSearchEntity> gridRows = new System.Collections.Generic.List <TextSearchEntity>(); //Dim tables As New List(Of String) int errorCode = 0; string errorMessage = string.Empty; try { talentSqlAccessDetail.Settings = settings; talentSqlAccessDetail.CommandElements.CommandExecutionType = CommandExecution.ExecuteNonQuery; talentSqlAccessDetail.CommandElements.CommandText = "usp_SearchText_SetData"; talentSqlAccessDetail.CommandElements.CommandType = CommandType.StoredProcedure; // get list of tables to be updated //tables = modifiedRows.Select(Function(x) x.TableName).Distinct().ToList() xmlData.AppendLine("<data>"); // mention tables to be updated xmlData.AppendLine("<tables>"); foreach (var pair in tableList) { xmlData.AppendLine(string.Format("<table id=\"{0}\">{1}</table>", pair.Value, pair.Key)); } xmlData.AppendLine("</tables>"); // mention rows to be updated xmlData.AppendLine("<rows>"); foreach (var row in modifiedRows) { xmlData.AppendLine(string.Format("<row tab=\"{0}\" id=\"{1}\">", row.TableName, row.ID.ToString())); if (row.Text_Code != string.Empty) { xmlData.AppendLine("<text_code>" + row.Text_Code + "</text_code>"); } if (row.Text_Content != string.Empty) { xmlData.AppendLine("<text_content>" + Utilities.GetHTMLEncodedStringForDB(System.Convert.ToString(row.Text_Content)).Replace("'", "''") + "</text_content>"); } xmlData.AppendLine("</row>"); } xmlData.AppendLine("</rows>"); xmlData.AppendLine("</data>"); talentSqlAccessDetail.CommandElements.CommandParameter.Add(ConstructParameter("@xml", xmlData.ToString(), SqlDbType.Xml)); talentSqlAccessDetail.CommandElements.CommandParameter.Add(ConstructParameter("@Error_Code", errorCode, SqlDbType.Int, ParameterDirection.Output)); talentSqlAccessDetail.CommandElements.CommandParameter.Add(ConstructParameter("@Error_Message", errorMessage, SqlDbType.VarChar, ParameterDirection.Output)); err = talentSqlAccessDetail.SQLAccess(DestinationDatabase.SQL2005); if (!err.HasError) { return(true); } else { // read the output error parameters errorCode = System.Convert.ToInt32(talentSqlAccessDetail.CommandElements.CommandParameter[1].ParamValue); errorMessage = System.Convert.ToString(talentSqlAccessDetail.CommandElements.CommandParameter[2].ParamValue); return(false); } } catch (Exception) { throw; } finally { talentSqlAccessDetail = null; } return(false); }