public ActionResult PurposesList(Guid id, string st, IList <FilterVM> filterVMs) { var charValueDTOList = new List <CharValueDTO>(); foreach (var i in filterVMs) { foreach (var j in i.ValuesList) { if (j.isApplied) { var buff = new CharValueDTO(); buff.Id = j.Id; buff.CharacteristicId = j.CharacteristicId; buff.IntVal = j.IntVal; buff.FloatVal = j.FloatVal; buff.StrVal = j.StrVal; charValueDTOList.Add(buff); } } } var purposes = _catalog.GetPurposesByCharValues((Guid)id, charValueDTOList); var purposeList = new List <CatalogPurposeVM>(); foreach (var curr in purposes) { CatalogPurposeVM buff = new CatalogPurposeVM(); buff.PurposeID = curr.PurposeID; buff.CategoryID = id; buff.Brand = curr.Brand; buff.Name = curr.Name; buff.Price = curr.Price; buff.Curency = curr.Curency; buff.Category = curr.CategoryName; purposeList.Add(buff); buff = null; } if (String.IsNullOrEmpty(st)) { st = "ByPrice"; } switch (st) { case "ByName": purposeList = purposeList.OrderBy(x => x.Name).Distinct().ToList(); break; case "ByPrice": purposeList = purposeList.OrderBy(x => x.Price).ToList(); break; case "ByBrand": purposeList = purposeList.OrderBy(x => x.Brand).ToList(); break; } return(View(purposeList)); }
public ActionResult PurposesList(Guid id, string st) { var purposeDTOList = _catalog.GetPurposesByCategoryID(id); var purposeVMList = Enumerable.Empty <CatalogPurposeVM>(); List <CatalogPurposeVM> pList = new List <CatalogPurposeVM>(); foreach (var i in purposeDTOList) { CatalogPurposeVM buff = new CatalogPurposeVM(); buff.PurposeID = i.PurposeID; buff.CategoryID = id; buff.Brand = i.Brand; buff.Name = i.Name; buff.Price = i.Price; buff.Curency = i.Curency; buff.Category = i.CategoryName; pList.Add(buff); buff = null; } purposeVMList = pList; if (String.IsNullOrEmpty(st)) { st = "ByPrice"; } switch (st) { case "ByName": purposeVMList = purposeVMList.OrderBy(x => x.Name).Distinct(); break; case "ByPrice": purposeVMList = purposeVMList.OrderBy(x => x.Price); break; case "ByBrand": purposeVMList = purposeVMList.OrderBy(x => x.Brand); break; } return(View(purposeVMList)); }