public ActionResult ProcessSearch() { var searchType = Request.Params["type"]; string result = string.Empty; switch (searchType) { case nameof(UserRecord.SearchOptions.None): { var search = new UserRecordsSearch <int> { SearchType = searchType }; Session["UserRecordSearch"] = null; var list = ProcessSearch(search); return(PartialView("_UserList", list.ToList())); } case nameof(UserRecord.SearchOptions.Email): { int data = Int32.Parse(Request.Params["value"]); var search = new UserRecordsSearch <int> { SearchType = searchType, Value = data }; Session["UserRecordSearch"] = search; var users = ProcessSearch(search); if (users != null && users.Count() > 0) { return(PartialView("_UserList", users.ToList())); } else { return new ContentResult() { Content = "No records found" } }; } case nameof(UserRecord.SearchOptions.PayPalEmail): { int data = Int32.Parse(Request.Params["value"]); var search = new UserRecordsSearch <int> { SearchType = searchType, Value = data }; Session["UserRecordSearch"] = search; var users = ProcessSearch(search); if (users != null && users.Count() > 0) { return(PartialView("_UserList", users.ToList())); } else { return new ContentResult() { Content = "No records found" } }; } case nameof(UserRecord.SearchOptions.PhoneNumber): { string data = Request.Params["value"]; var search = new UserRecordsSearch <string> { SearchType = searchType, Value = data }; Session["UserRecordSearch"] = search; var users = ProcessSearch(search); if (users != null && users.Count() > 0) { return(PartialView("_UserList", users.ToList())); } else { return new ContentResult() { Content = "No records found" } }; } case nameof(UserRecord.SearchOptions.Name): { string data = Request.Params["value"]; var search = new UserRecordsSearch <string> { SearchType = searchType, Value = data }; Session["UserRecordSearch"] = search; data = data.ToUpper(); var users = ProcessSearch(search); if (users != null && users.Count() > 0) { return(PartialView("_UserList", users.ToList())); } else { return new ContentResult() { Content = "No records found" } }; } } return(null); }
public string SearchOptions() { var searchType = Request.Params["type"]; var loadSession = bool.Parse(Request.Params["LoadSession"]); string result = string.Empty; switch (searchType) { case nameof(UserRecord.SearchOptions.Email): { int id = 0; if (loadSession) { UserRecordsSearch <int> session = Session["UserRecordSearch"] as UserRecordsSearch <int>; id = session.Value; } var list = db.UserRecords.Where(u => (u.UserType & UserRecord.UserTypes.Seller) == UserRecord.UserTypes.Seller).Select(r => new { r.PreferredEmail.EmailAddress, r.PreferredEmailId }).OrderBy(o => o.EmailAddress); result = "<select class=\"form-control\" data-val=\"true\" id=\"" + searchType + "\" name=\"" + searchType + "\">"; var duplicates = new List <string>(); string selected; foreach (var item in list) { selected = id == item.PreferredEmailId ? "selected" : string.Empty; if (!duplicates.Contains(item.EmailAddress)) { result += string.Format("<option value = \"{0}\" {2}>{1}</ option >", item.PreferredEmailId, item.EmailAddress, selected); duplicates.Add(item.EmailAddress); } } result += "</select>"; return(result); } case nameof(UserRecord.SearchOptions.PayPalEmail): { int id = 0; if (loadSession) { UserRecordsSearch <int> session = Session["UserRecordSearch"] as UserRecordsSearch <int>; id = session.Value; } var list = db.UserRecords.Where(u => (u.UserType & UserRecord.UserTypes.Seller) == UserRecord.UserTypes.Seller).Select(r => new { r.PayPalEmail.EmailAddress, r.PayPalEmailId }).OrderBy(o => o.EmailAddress); result = "<select class=\"form-control\" data-val=\"true\" id=\"" + searchType + "\" name=\"" + searchType + "\">"; var duplicates = new List <string>(); string selected; foreach (var item in list) { selected = id == item.PayPalEmailId ? "selected" : string.Empty; if (!duplicates.Contains(item.EmailAddress)) { result += string.Format("<option value = \"{0}\" {2}>{1}</ option >", item.PayPalEmailId, item.EmailAddress, selected); duplicates.Add(item.EmailAddress); } } result += "</select>"; return(result); } case nameof(UserRecord.SearchOptions.PhoneNumber): { string value = string.Empty; if (loadSession) { UserRecordsSearch <string> session = Session["UserRecordSearch"] as UserRecordsSearch <string>; value = string.Format("value='{0}'", session.Value); } return("<input class=\"form-control text-box single-line valid\" data-val=\"true\" data-val-number=\"The field Cart must be a number.\" data-val-required=\"The Cart field is required.\" id=\"" + searchType + "\" name=\"" + searchType + "\" type=\"number\" " + value + " >"); } case nameof(UserRecord.SearchOptions.Name): { string value = string.Empty; if (loadSession) { UserRecordsSearch <string> session = Session["UserRecordSearch"] as UserRecordsSearch <string>; value = string.Format("value='{0}'", session.Value); } return("<input class=\"form-control text-box single-line\" data-val=\"true\" id=\"" + searchType + "\" name=\"" + searchType + "\" type=\"text\"" + value + " >"); } case nameof(UserRecord.SearchOptions.None): return(""); } return("<label>" + searchType + "</label>"); }