Esempio n. 1
0
        internal int SaveSearchConfiguration(SearchAutomationSettings searchAutomationSettings)
        {
            try
            {
                List <KeyValuePair <string, object> > ParaMeterCollection = new List <KeyValuePair <string, object> >();

                ParaMeterCollection.Add(new KeyValuePair <string, object>("@SearchConfigurationID", searchAutomationSettings.SearchConfigurationID));
                ParaMeterCollection.Add(new KeyValuePair <string, object>("@PortalID", searchAutomationSettings.PortalID));
                ParaMeterCollection.Add(new KeyValuePair <string, object>("@ModuleName", searchAutomationSettings.ModuleName));
                ParaMeterCollection.Add(new KeyValuePair <string, object>("@TableName", searchAutomationSettings.TableName));
                ParaMeterCollection.Add(new KeyValuePair <string, object>("@SettingKey", searchAutomationSettings.SettingKey));
                ParaMeterCollection.Add(new KeyValuePair <string, object>("@SettingValue", searchAutomationSettings.SettingValue));
                ParaMeterCollection.Add(new KeyValuePair <string, object>("@ColumnNames", searchAutomationSettings.ColumnNames));
                ParaMeterCollection.Add(new KeyValuePair <string, object>("@ColumnUAS", searchAutomationSettings.ColumnUAS));

                string sp = "[dbo].[usp_AddUpdateSearchAutomationSettings]";

                SQLHandler sagesql = new SQLHandler();
                return(sagesql.ExecuteNonQuery(sp, ParaMeterCollection, Helper.OutputParam));
            }
            catch
            {
                return(-1);
            }
        }
        /// <summary>
        /// Save Automated Search Info [ SearchConfiguration , SearchSetting, SearchMapping, SearchQueryString ]
        /// </summary>
        /// <param name="automatedSearchInfo"></param>
        /// <returns></returns>
        public MessageCode SaveeSearchConfiguration(AutomatesSearchGatewayInfo gateWayInfo)
        {
            if (gateWayInfo != null)
            {
                if (gateWayInfo.ModuleName != null && gateWayInfo.ModuleName.Trim() != string.Empty)
                {
                    string moduleName = gateWayInfo.ModuleName.Trim();
                    string tableName  = gateWayInfo.TableName.Trim();

                    if (tableName == null || tableName == string.Empty)
                    {
                        return new MessageCode()
                               {
                                   Code = Helper.ErrorCode, Message = "Table name was not provided"
                               }
                    }
                    ;

                    string columnNames = string.Empty;
                    if (gateWayInfo.ChoosenColumns != null && gateWayInfo.ChoosenColumns.Length > 0)
                    {
                        columnNames = string.Join(",", gateWayInfo.ChoosenColumns);
                    }
                    else
                    {
                        columnNames = "";
                    }


                    string columnUAS = string.Empty;

                    if (gateWayInfo.ColumnAliasHeaders != null &&
                        gateWayInfo.ColumnAliasNames != null &&
                        gateWayInfo.ColumnAliasHeaders.Length > 0 &&
                        gateWayInfo.ColumnAliasNames.Length > 0)
                    {
                        for (int i = 0; i < gateWayInfo.ColumnAliasHeaders.Length; i++)
                        {
                            columnUAS += $"<Y><X>{gateWayInfo.ColumnAliasHeaders[i]}</X><X>{gateWayInfo.ColumnAliasNames[i]}</X><X>{i}</X></Y>";
                        }
                    }


                    SearchAutomationSettings searchSettings = new SearchAutomationSettings()
                    {
                        SearchConfigurationID = gateWayInfo.SearchConfigurationID,
                        PortalID     = gateWayInfo.PortalID,
                        ModuleName   = moduleName,
                        TableName    = tableName,
                        SettingKey   = Helper.QueryStringIdentifier,
                        SettingValue = (gateWayInfo.IsExtensionLess) ? "1" : "0",
                        ColumnNames  = columnNames,
                        ColumnUAS    = columnUAS,
                    };

                    AutomatedSearchProvider provider = new AutomatedSearchProvider();
                    int returnValue = provider.SaveSearchConfiguration(searchSettings);

                    if (returnValue != Helper.SuccessCode)
                    {
                        return new MessageCode()
                               {
                                   Code = Helper.ErrorCode, Message = "Error while updating search settings"
                               }
                    }
                    ;

                    return(new MessageCode()
                    {
                        Code = Helper.SuccessCode, Message = "Search Settings were updated"
                    });
                }
                else
                {
                    return new MessageCode()
                           {
                               Code = Helper.ErrorCode, Message = "Module Name could not be found"
                           }
                };
            }
            else
            {
                return new MessageCode()
                       {
                           Code = Helper.ErrorCode, Message = "Could not process the request"
                       }
            };
        }