public ActionResult List(PagerRequest request,ProductPropertyValueSearchOption search) { int totalCount; var prodLinq = _userauthRepo.AuthFilter(_prodRepo.GetAll(), CurrentUser.CustomerId, CurrentUser.Role) as IQueryable<ProductEntity>; var linq = _prodpropertyvalRepo.Get(pv => pv.Status != (int)DataStatus.Deleted) .Join(_prodpropertyRepo.Get(p => p.Status != (int)DataStatus.Deleted), o => o.PropertyId, i => i.Id, (o, i) => new { PV = o, P = i }) .Join(prodLinq, o => o.P.ProductId, i => i.Id, (o, i) => new { PV = o.PV, P = o.P, T = i }) .Where(l => (string.IsNullOrEmpty(search.PropertyDesc) || l.P.PropertyDesc.StartsWith(search.PropertyDesc)) && (string.IsNullOrEmpty(search.ValueDesc) || l.PV.ValueDesc.StartsWith(search.ValueDesc)) && (!search.ProductId.HasValue || l.P.ProductId == search.ProductId.Value)); linq = linq.WhereWithPageSort( out totalCount , request.PageIndex , request.PageSize , e => { return e.OrderByDescending(l => l.P.ProductId).ThenByDescending(l => l.P.UpdateDate); }); var vo = new List<ProductPropertyViewModel>(); foreach (var l in linq) { var existProperty = vo.Find(t => t.ProductId == l.P.ProductId); var newValue = new TagPropertyValueViewModel().FromEntity<TagPropertyValueViewModel>(l.PV, p => { p.PropertyDesc = l.P.PropertyDesc; p.SortOrder = l.P.SortOrder??0; p.PropertyId = l.P.Id; p.ValueId = l.PV.Id; }); if (existProperty != null) { existProperty.Values.Add(newValue); } else { vo.Add(new ProductPropertyViewModel().FromEntity<ProductPropertyViewModel>(l.P, p => { p.ProductName = l.T.Name; p.Values = new List<TagPropertyValueViewModel>(); p.Values.Add(newValue); })); } } var v = new Pager<ProductPropertyViewModel>(request, totalCount) { Data =vo }; return View("List", v); }
public ActionResult List(PagerRequest request,TagPropertyValueSearchOption search) { int totalCount; var linq = _tagpropertyvalueRepo.Get(pv => pv.Status != (int)DataStatus.Deleted) .Join(_tagpropertyRepo.Get(p => p.Status != (int)DataStatus.Deleted), o => o.PropertyId, i => i.Id, (o, i) => new { PV = o, P = i }) .Join(_tagRepo.GetAll(), o => o.P.CategoryId, i => i.Id, (o, i) => new { PV = o.PV, P = o.P, T = i }) .Where(l => (!search.PId.HasValue || l.PV.Id == search.PId.Value) && (string.IsNullOrEmpty(search.PropertyDesc) || l.P.PropertyDesc.StartsWith(search.PropertyDesc)) && (string.IsNullOrEmpty(search.ValueDesc) || l.PV.ValueDesc.StartsWith(search.ValueDesc)) && (!search.CategoryId.HasValue || l.P.CategoryId == search.CategoryId.Value)); linq = linq.WhereWithPageSort( out totalCount , request.PageIndex , request.PageSize , e => { return e.OrderByDescending(l => l.P.CategoryId).ThenByDescending(l => l.P.CreatedDate); }); var vo = new List<TagPropertyViewModel>(); foreach (var l in linq) { var existProperty = vo.Find(t=>t.CategoryId == l.P.CategoryId); var newValue = new TagPropertyValueViewModel().FromEntity<TagPropertyValueViewModel>(l.PV,p=>{ p.PropertyDesc = l.P.PropertyDesc; p.SortOrder = l.P.SortOrder; p.PropertyId = l.P.Id; p.ValueId = l.PV.Id; }); if (existProperty != null) { existProperty.Values.Add(newValue); } else { vo.Add(new TagPropertyViewModel().FromEntity<TagPropertyViewModel>(l.P,p=>{ p.CategoryName = l.T.Name; p.Values = new List<TagPropertyValueViewModel>(); p.Values.Add(newValue); })); } } var v = new Pager<TagPropertyViewModel>(request, totalCount) { Data =vo }; return View("List", v); }
public ActionResult Edit(int id) { var entity = _prodpropertyvalRepo.Get(pv => pv.Status != (int)DataStatus.Deleted) .Join(_prodpropertyRepo.Get(p => p.Status != (int)DataStatus.Deleted && p.ProductId == id), o => o.PropertyId, i => i.Id, (o, i) => new { PV = o, P = i }); ProductPropertyViewModel vo = new ProductPropertyViewModel(); var prodEntity = _prodRepo.Find(id); vo.Values = new List<TagPropertyValueViewModel>(); vo.ProductId = prodEntity.Id; vo.ProductName = prodEntity.Name; foreach (var l in entity) { var newValue = new TagPropertyValueViewModel().FromEntity<TagPropertyValueViewModel>(l.PV, p => { p.PropertyDesc = l.P.PropertyDesc; p.SortOrder = l.P.SortOrder??0; p.PropertyId = l.P.Id; p.ValueId = l.PV.Id; }); vo.Values.Add(newValue); } return View(vo); }
public ActionResult Edit(int id) { var entity = _tagpropertyvalueRepo.Get(pv => pv.Status != (int)DataStatus.Deleted) .Join(_tagpropertyRepo.Get(p => p.Status != (int)DataStatus.Deleted && p.CategoryId == id), o => o.PropertyId, i => i.Id, (o, i) => new { PV = o, P = i }) .Join(_tagRepo.GetAll(), o => o.P.CategoryId, i => i.Id, (o, i) => new { PV = o.PV, P = o.P, T = i }); TagPropertyViewModel vo = new TagPropertyViewModel(); vo.Values = new List<TagPropertyValueViewModel>(); foreach (var l in entity) { vo.CategoryId = l.P.CategoryId; vo.CategoryName = l.T.Name; var newValue = new TagPropertyValueViewModel().FromEntity<TagPropertyValueViewModel>(l.PV, p => { p.PropertyDesc = l.P.PropertyDesc; p.SortOrder = l.P.SortOrder; p.PropertyId = l.P.Id; p.ValueId = l.PV.Id; }); vo.Values.Add(newValue); } return View(vo); }