private void DiscoveryParametersForSearch(NpgsqlCommand command, SearchModuleInfo searchInfo, string queryFormat, SearchConditionInstance conditionIntance, List <SearchConditionInstance> staticConditionInstances) { //command.BindByName = true; var whereExtension = "1 = 1"; if (!string.IsNullOrEmpty(searchInfo.WhereExtension)) { whereExtension = BuildSearchExtension(searchInfo, conditionIntance); } BuildStaticConditions(searchInfo, command, staticConditionInstances); var whereCondition = "";// ModuleUtils.BuildSearchCondition(searchInfo, ref whereExtension, command, conditionIntance); if (string.IsNullOrEmpty(whereCondition)) { whereCondition = "1 = 1"; } command.CommandText = string.Format(queryFormat, whereCondition, whereExtension); if (searchInfo.ModuleID == STATICMODULE.UPFILE_MODID) { //command.CommandText = queryFormat + " and sessionskey = '" + Session.SessionKey + "'"; } }
private string BuildSearchExtension(SearchModuleInfo searchInfo, SearchConditionInstance conditionIntance) { var fields = FieldUtils.GetModuleFields(searchInfo.ModuleID); using (var conn = new NpgsqlConnection(ConnectionString)) { using (var comm = new NpgsqlCommand(searchInfo.WhereExtension, conn)) { conn.Open(); comm.CommandType = CommandType.StoredProcedure; PostgresqlHelper.DiscoveryParameters(comm); foreach (var field in fields.Where(field => field.WhereExtension == WebCore.CODES.DEFMODFLD.WHEREEXTENSION.YES)) { comm.Parameters[field.FieldName].Value = DBNull.Value; foreach (var condition in conditionIntance.SubCondition) { if (condition.ConditionID == field.FieldID && string.IsNullOrEmpty(condition.SQLLogic)) { comm.Parameters[field.FieldName].Value = condition.Operator; } } } comm.ExecuteNonQuery(); return(comm.Parameters["RETURN_VALUE"].Value.ToString()); } } }
public static void SetAsLookUpWindow(this SearchModuleInfo obj, string columnValue) { obj.ShowAsLookUpWindow = true; obj.ColumnValue = columnValue; obj.ColumnText = null; obj.UIType = WebCore.CODES.DEFMOD.UITYPE.POPUP; obj.ShowCheckBox = WebCore.CODES.MODSEARCH.SHOWCHECKBOX.YES; }
public void BuildStaticConditions(SearchModuleInfo searchInfo, NpgsqlCommand comm, List <SearchConditionInstance> staticConditionInstances) { var fields = FieldUtils.GetModuleFields(searchInfo.ModuleID, WebCore.CODES.DEFMODFLD.FLDGROUP.PARAMETER); if (fields == null || fields.Count == 0) { fields = PostgresqlHelper.ExecuteStoreProcedurePostgreSQL <ModuleFieldInfo>(ConnectionString, SYSTEM_STORE_PROCEDURES.LIST_FIELD_INFO_BY_MODID, searchInfo.ModuleID); if (AllCaches.ModuleFieldsInfo == null) { AllCaches.ModuleFieldsInfo = new List <ModuleFieldInfo>(); } AllCaches.ModuleFieldsInfo.AddRange(fields); } foreach (var field in fields) { switch (field.FieldName) { case CONSTANTS.ORACLE_SESSION_USER: //comm.Parameters.Add(":" + field.ParameterName, Session.Username); break; case CONSTANTS.ORACLE_CURSOR_OUTPUT: //comm.Parameters.Add(new OracleParameter(":" + field.ParameterName, OracleDbType.RefCursor)) // .Direction = ParameterDirection.Output; break; } } var parameter = new NpgsqlParameter(); fields = FieldUtils.GetModuleFields(searchInfo.ModuleID, WebCore.CODES.DEFMODFLD.FLDGROUP.SEARCH_CONDITION); foreach (var condition in staticConditionInstances) { foreach (var field in fields) { if (field.FieldID == condition.ConditionID) { if (string.IsNullOrEmpty(condition.Value)) { parameter.ParameterName = field.ParameterName; parameter.NpgsqlDbType = NpgsqlDbType.Text; parameter.Value = DBNull.Value; comm.Parameters.Add(parameter); //comm.Parameters.Add(":" + field.ParameterName, DBNull.Value); } else { parameter.ParameterName = ":" + field.ParameterName; parameter.NpgsqlDbType = NpgsqlDbType.Text; parameter.Value = condition.Value.Decode(field); comm.Parameters.Add(parameter); //comm.Parameters.Add(":" + field.ParameterName, condition.Value.Decode(field)); } } } } }
public ParramModuleQueryDynamicQuery() { LogicConditionModels = new List <LogicConditionModel>(); SearchModuleInfo = new SearchModuleInfo(); }
public SearchModSearch() { SearchInfo = new SearchModuleInfo(); StaticConditionInstances = new List <SearchConditionInstance>(); ModInfo = new ModuleInfo(); }