// Public Methods public bool Load(OrderAddressSearchControlState objOrderAddressSearchControlState) { try { // Set the local variables _lstOrderSystemOfRecords = objOrderAddressSearchControlState.OrderSystemOfRecords; _lstMigrationStatuses = objOrderAddressSearchControlState.MigrationStatuses; _lstOrderAddressTypes = objOrderAddressSearchControlState.OrderAddressTypes; _dteOrderDate_Start = objOrderAddressSearchControlState.OrderDate_Start; _dteOrderDate_End = objOrderAddressSearchControlState.OrderDate_End; _dteCreatedDate_Start = objOrderAddressSearchControlState.DateCreated_Start; _dteCreatedDate_End = objOrderAddressSearchControlState.DateCreated_End; _strCustomerOrderNumber = objOrderAddressSearchControlState.CustomerOrderNumber; _strAddressLine1 = objOrderAddressSearchControlState.AddressLine1; _objOrderAddressSearchControlState = objOrderAddressSearchControlState; // Validate the input params supplied ValidateSearchParams(); // Build the WHERE Clause BuildWhereClause(); } catch (Exception ex) { _lstErrorMessages.Add(String.Concat("There was an unexepected ERROR while trying to retrieve the SEARCH results. Please adjust your search criteria and try again. Error Message [ ", ex.Message, "]")); } return((_lstErrorMessages.Count == 0) && (_lstValidationErrors.Count == 0)); }
private void SetSearchControlValues(string strJsonDecoded) { // Set the search controls OrderAddressSearchControlState objOrderAddressSearchControlStateUtil = OrderAddressSearchControlStateUtil.Deserialize(strJsonDecoded); // SORs for (int i = 0; i < objOrderAddressSearchControlStateUtil.OrderSystemOfRecords?.Count; i++) { if (ddlOrderSystemOfRecords.FindItemByValue(objOrderAddressSearchControlStateUtil.OrderSystemOfRecords[i].ToString()) != null) { ddlOrderSystemOfRecords.FindItemByValue(objOrderAddressSearchControlStateUtil.OrderSystemOfRecords[i].ToString()).Checked = true; ddlOrderSystemOfRecords.FindItemByValue(objOrderAddressSearchControlStateUtil.OrderSystemOfRecords[i].ToString()).Selected = true; } else { throw new Exception("Value not found in list. Your saved query is no longer valid."); } } // Migration Statuses for (int i = 0; i < objOrderAddressSearchControlStateUtil.MigrationStatuses?.Count; i++) { if (ddlMigrationStatuses.FindItemByValue(objOrderAddressSearchControlStateUtil.MigrationStatuses[i].ToString()) != null) { ddlMigrationStatuses.FindItemByValue(objOrderAddressSearchControlStateUtil.MigrationStatuses[i].ToString()).Checked = true; ddlMigrationStatuses.FindItemByValue(objOrderAddressSearchControlStateUtil.MigrationStatuses[i].ToString()).Selected = true; } else { throw new Exception("Value not found in list. Your saved query is no longer valid."); } } // Order Address Types for (int i = 0; i < objOrderAddressSearchControlStateUtil.OrderAddressTypes?.Count; i++) { if (ddlOrderAddressTypes.FindItemByValue(objOrderAddressSearchControlStateUtil.OrderAddressTypes[i].ToString()) != null) { ddlOrderAddressTypes.FindItemByValue(objOrderAddressSearchControlStateUtil.OrderAddressTypes[i].ToString()).Checked = true; ddlOrderAddressTypes.FindItemByValue(objOrderAddressSearchControlStateUtil.OrderAddressTypes[i].ToString()).Selected = true; } else { throw new Exception("Value not found in list. Your saved query is no longer valid."); } } // OrderAddress Date dteOrderDateStart.SelectedDate = objOrderAddressSearchControlStateUtil.OrderDate_Start; dteOrderDateEnd.SelectedDate = objOrderAddressSearchControlStateUtil.OrderDate_End; // Date Created dteDateCreatedStart.SelectedDate = objOrderAddressSearchControlStateUtil.DateCreated_Start; dteDateCreatedEnd.SelectedDate = objOrderAddressSearchControlStateUtil.DateCreated_End; // Customer Order Number txtCustomerOrderNumber.Text = objOrderAddressSearchControlStateUtil.CustomerOrderNumber; // Address Line 1 txtAddressLine1.Text = objOrderAddressSearchControlStateUtil.AddressLine1; }
// Button/Link Click Methods protected void btnSearch_Click(object sender, EventArgs e) { lblError.InnerText = String.Empty; // Order System of Records List <string> lstOrderSystemsOfRecord; if (ddlOrderSystemOfRecords.CheckedItems.Count() > 0) { lstOrderSystemsOfRecord = new List <string>(); lstOrderSystemsOfRecord.AddRange(ddlOrderSystemOfRecords.CheckedItems.ToList().Select(ddl => ddl.Value.ToString()).ToList()); } else { // Set to null, so that the search manager will return records for all SORs (ie - records are ONLY filtered OUT if one or more values are checked) lstOrderSystemsOfRecord = null; } // Migration Statuses List <string> lstMigrationStatuses; if (ddlMigrationStatuses.CheckedItems.Count() > 0) { lstMigrationStatuses = new List <string>(); lstMigrationStatuses.AddRange(ddlMigrationStatuses.CheckedItems.ToList().Select(ddl => ddl.Value.ToString()).ToList()); } else { // Set to null, so that the search manager will return records for all statuses (ie - records are ONLY filtered OUT if one or more values are checked) lstMigrationStatuses = null; } // Order Address Types List <string> lstOrderAddressTypes; if (ddlOrderAddressTypes.CheckedItems.Count() > 0) { lstOrderAddressTypes = new List <string>(); lstOrderAddressTypes.AddRange(ddlOrderAddressTypes.CheckedItems.ToList().Select(ddl => ddl.Value.ToString()).ToList()); } else { // Set to null, so that the search manager will return records for all trans types (ie - records are ONLY filtered OUT if one or more values are checked) lstOrderAddressTypes = null; } // Order Date DateTime?dteOrderAddressDate_Start = dteOrderDateStart.SelectedDate; DateTime?dteOrderAddressDate_End = dteOrderDateEnd.SelectedDate; // Date Created DateTime?dteDateCreated_Start = dteDateCreatedStart.SelectedDate; DateTime?dteDateCreated_End = dteDateCreatedEnd.SelectedDate; // Customer Order Number string strCustomerOrderNumber = txtCustomerOrderNumber.Text.Trim().ToUpper(); // Address Line 1 string strAddressLine1 = txtAddressLine1.Text.Trim().ToUpper(); OrderAddressSearchControlState objOrderAddressSearchControlState = new OrderAddressSearchControlState(); objOrderAddressSearchControlState.OrderSystemOfRecords = lstOrderSystemsOfRecord; objOrderAddressSearchControlState.MigrationStatuses = lstMigrationStatuses; objOrderAddressSearchControlState.OrderAddressTypes = lstOrderAddressTypes; objOrderAddressSearchControlState.OrderDate_Start = dteOrderAddressDate_Start; objOrderAddressSearchControlState.OrderDate_End = dteOrderAddressDate_End; objOrderAddressSearchControlState.DateCreated_Start = dteDateCreated_Start; objOrderAddressSearchControlState.DateCreated_End = dteDateCreated_End; objOrderAddressSearchControlState.CustomerOrderNumber = strCustomerOrderNumber; objOrderAddressSearchControlState.AddressLine1 = strAddressLine1; OrderAddressSearchManager objOrderAddressSearchManager = new OrderAddressSearchManager(); if (objOrderAddressSearchManager.Load(objOrderAddressSearchControlState)) { // Response Redirect or load the datagrid lblWhereClause.InnerText = objOrderAddressSearchManager.GetWhereClause() + " # Records = [" + objOrderAddressSearchManager.SearchResults.Count() + "]"; string strWhereClauseAsBase64 = objOrderAddressSearchManager.GetWhereClauseBase64Encoded(); string strJsonOrderAddressStateAsBase64 = objOrderAddressSearchManager.GetOrderAddressStateAsBase64EncodedJsonString(); string strQSParam = Server.UrlEncode(strWhereClauseAsBase64); string strQSParamJson = Server.UrlEncode(strJsonOrderAddressStateAsBase64); string strURL = HttpContext.Current.Request.Url.AbsoluteUri; if (strURL.Contains('?')) { string[] arrURLSplitFromQS = strURL.Split('?'); NameValueCollection nvcQueryString = System.Web.HttpUtility.ParseQueryString(arrURLSplitFromQS[1]); nvcQueryString[_strQSParamName] = strQSParam; nvcQueryString[_strQSParamNameJsonState] = strQSParamJson; strURL = arrURLSplitFromQS[0] + "?" + nvcQueryString.ToString(); } else { string strBaseUrl = strURL; NameValueCollection nvcQueryString = System.Web.HttpUtility.ParseQueryString(strBaseUrl); strURL = strURL + "?" + _strQSParamName + "=" + strQSParam + "&" + _strQSParamNameJsonState + "=" + strQSParamJson; } Response.Redirect(strURL); } else { lblError.InnerText = String.Concat("There was an error while trying to search the payments. ", String.Join(",", objOrderAddressSearchManager.ErrorMessages.ToArray()), String.Join(",", objOrderAddressSearchManager.ValidationErrors.ToArray())); } }