// GET: Role public ActionResult Index(int?page, ModelViewModel modelData) { if (ModelState.IsValid) { if (modelData.searchString != null) { page = 1; } else { modelData.ID_TYPE = modelData.ID_TYPE; } modelData.currentFilter = modelData.searchString; var models = modelRepository.GetAllList(); decimal searchDigit; bool isInt = Decimal.TryParse(modelData.searchString, out searchDigit); if (!String.IsNullOrEmpty(modelData.searchString)) { if (!isInt) { models = models.Where(s => s.NAME.Contains(modelData.searchString)).OrderBy(s => s.NAME); } } if (modelData.ID_TYPE != 0) { var type = typeRepository.GetAllList().First(m => m.ID.Equals(modelData.ID_TYPE)); models = models.Where(s => s.TYPE.NAME.Contains(type.NAME)).OrderBy(s => s.NAME); } int pageSize = 10; int pageNumber = (page ?? 1); List <ModelViewModel> modelList = new List <ModelViewModel>(); foreach (MODEL item in models) { modelList.Add(new ModelViewModel() { COMPONENT = item.COMPONENT, ID = item.ID, ID_TYPE = item.ID_TYPE, NAME = item.NAME, PRICE = item.PRICE, TYPE = item.TYPE, currentCoast = item.PRICE.Where(x => x.ID_MODEL.Equals(item.ID)) .OrderByDescending(x => x.DATE_ADD).FirstOrDefault().COAST }); } if (!String.IsNullOrEmpty(modelData.searchString)) { if (isInt) { modelList = modelList.FindAll(m => m.currentCoast.Equals(searchDigit)); } } ModelViewModel model = new ModelViewModel { modelList = modelList.ToPagedList(pageNumber, pageSize), typeList = getList.getTypeSelectList(), searchString = modelData.searchString, currentFilter = modelData.currentFilter, ID_TYPE = modelData.ID_TYPE }; return(View(model)); } Entities db = new Entities(); return(View(db.MODEL.ToList())); }
// GET: Index public ActionResult Index(int?page, ComponentViewModel modelData) { if (modelData.searchString != null) { page = 1; } else { modelData.ID_TYPE = modelData.ID_TYPE; } modelData.currentFilter = modelData.searchString; var components = componentRepository.GetAllList(); if (modelData.ID_TYPE != null) { components = components.Where(s => s.ID_TYPE.Equals(modelData.ID_TYPE)); } decimal searchDigit; bool isInt = Decimal.TryParse(modelData.searchString, out searchDigit); if (!String.IsNullOrEmpty(modelData.searchString)) { if (!isInt) { if (components.Where(m => m.TYPE.NAME.Contains(modelData.searchString)).Count() != 0) { components = components.Where(m => m.TYPE.NAME.Contains(modelData.searchString)); } if (components.Where(m => m.MODEL.NAME.Contains(modelData.searchString)).Count() != 0) { components = components.Where(s => s.MODEL.NAME.Contains(modelData.searchString)); } } } int pageSize = 10; int pageNumber = (page ?? 1); List <ComponentViewModel> componentList = new List <ComponentViewModel>(); foreach (COMPONENT item in components) { componentList.Add(new ComponentViewModel() { ID = item.ID, DATE_ADD = item.DATE_ADD, ID_MODEL = item.ID_MODEL, ID_SERIES = item.ID_SERIES, ID_TYPE = item.ID_TYPE, PARTNUMBER = item.PARTNUMBER, currentStatus = item.CURRENT_STATUS.Where(x => x.ID_COMPLECT.Equals(item.ID)) .OrderByDescending(x => x.DATE_STATUS).FirstOrDefault().STATUS.NAME, MODEL = item.MODEL, TYPE = item.TYPE, }); } if (!String.IsNullOrEmpty(modelData.searchString)) { if (isInt) { componentList = componentList.FindAll(m => m.currentCoast.Equals(searchDigit)); } } ComponentViewModel model = new ComponentViewModel { componentList = componentList.ToPagedList(pageNumber, pageSize), typeList = getList.getTypeSelectList(), searchString = modelData.searchString, currentFilter = modelData.currentFilter, statusList = getList.getStatusSelectList() }; return(View(model)); }