Click here to Skip to main content
15,891,896 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
See more:
i want to search the string which inside the list. from the code below, i want to search the column by column name-Locale which inside the LocalizedString list. check the line below highlighted(Underlined). Please help me out to search the Locale column from the LocalizedString list.

What I have tried:

HTML
namespace Akton.Controllers
{
    
    public class LocalizationStringDefaultController : Controller
    {
        private IUnitOfWork db = new UnitOfWork( );
        public Akton.Areas.Challenge.DAL.UnitOfWorkRepo.IUnitOfWork challenge=new Akton.Areas.Challenge.DAL.UnitOfWorkRepo.UnitOfWork();
        // GET: LocalizaionStringDefault
        public ActionResult Index ( string sortOrder, string currentFilter, string searchString, int? page )
        {
            ViewBag.LocaleSortParam = string.IsNullOrEmpty(sortOrder) ? "locale_desc" : "";
            List<localstringsviewmodel> localStrings = new List<localstringsviewmodel>( );
            List<stringdefault> defaultString = challenge.StringDefaultRepository.Get( ).ToList( );
            if ( defaultString.Count>0 && defaultString !=null )
            {
                foreach ( var item in defaultString )
                {
                    List<localizedstring> stringModel = new List<localizedstring>( );
                    var languagestring = challenge.LocalizedStringRepository.Get().Where(s => s.StringDefaultId == item.StringDefaultId).ToList( );
                    if ( languagestring.Count > 0 && languagestring != null )
                    {
                        foreach ( var languages in languagestring )
                        {
                            stringModel.Add(new LocalizedString
                            {
                                StringDefaults=languages.StringDefaults,
                                Locale=languages.Locale,
                                Value=languages.Value

                            });
                        }
                        
                    }
                    localStrings.Add(new LocalStringsViewModel
                    {
                        DefaultString=item.Value,
                        LocalizedString=stringModel,
                        
                        StringDefaultId=item.StringDefaultId
                    });
                   
                }
            }
            var stringList = localStrings.Distinct( );
            ViewBag.CurrentSort = sortOrder;
            if ( searchString != null )
            {
                page = 1;
            }
            else
            {
                searchString = currentFilter;
            }
            ViewBag.CurrentFilter = searchString;
            if ( !String.IsNullOrEmpty(searchString) )
            {
                stringList = stringList.Where(x=>x.Locale==searchString).Select(x=> x).ToList();
            }
            switch ( sortOrder )
            {
                case "locale_desc":
                stringList = stringList.OrderByDescending(s => s.Locale);
                break;
                case "Value":
                stringList = stringList.OrderBy(s => s.Value);
                break;
                default:
                stringList = stringList.OrderBy(s => s.StringDefaultId);
                break;
            }
            int pageSize = 12;
            int pageNumber = ( page ?? 1 );

            return View(stringList.ToPagedList(pageNumber, pageSize));

        }
    }
}</localizedstring></localizedstring></stringdefault></localstringsviewmodel></localstringsviewmodel>
Posted
Updated 18-Jul-16 7:05am
v2

1 solution

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900