Esempio n. 1
0
        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);
        }
Esempio n. 2
0
        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>");
        }