//---------------------------------------------------------------------------------------------------------- public IEnumerable <IdeaForShowDto> FilterSerchingIdea(FilterIdeaRequestDto searchItem) { IEnumerable <IdeaForShowDto> res = null; using (_db = new IdeaManagmentDatabaseEntities()) { IQueryable <IDEA> ideas = _db.IDEAS; if (searchItem.OnlyshowMyIdea.HasValue && searchItem.OnlyshowMyIdea.Value == true) { ideas = ideas.Where(x => x.USERNAME == searchItem.MyUsername); } else { if (searchItem.Username != null && searchItem.Username.Trim().Length > 0) { ideas = ideas.Where(x => x.USERNAME.Contains(searchItem.Username.Trim())); } if (searchItem.FullName != null && searchItem.FullName.Trim().Length > 0) { if (searchItem.FullName.Trim().Contains(" ")) { var firstName = searchItem.FullName.Trim().Substring(0, searchItem.FullName.Trim().IndexOf(" ")); var lastName = searchItem.FullName.Trim().Substring(searchItem.FullName.Trim().IndexOf(" ") + 1); ideas = ideas.Where(u => u.USER.FIRST_NAME.Contains(firstName.Trim()) && u.USER.LAST_NAME.Contains(lastName.Trim())); } else { ideas = ideas.Where(u => u.USER.FIRST_NAME.Contains(searchItem.FullName.Trim()) || u.USER.LAST_NAME.Contains(searchItem.FullName.Trim())); } } } if (searchItem.Title != null && searchItem.Title.Trim().Length > 0) { ideas = ideas.Where(x => x.TITLE.Contains(searchItem.Title.Trim())); } if (searchItem.StatusId.HasValue) //check shavad { ideas = ideas.Where(x => x.STATUS_ID == searchItem.StatusId.Value); } ideas = _filterYearAndMonth(ideas, searchItem.Year, searchItem.Month); res = ideas.OrderByDescending(x => x.SAVE_DATE).Select(x => new IdeaForShowDto() { Id = x.ID, FullName = x.USER.FIRST_NAME + " " + x.USER.LAST_NAME, Title = x.TITLE, Status = x.IDEA_STATUS.TITLE, StatusId = x.STATUS_ID, Username = x.USERNAME, TotalPoints = x.IDEA_POINTS.Any()? x.IDEA_POINTS.Sum(w => w.POINT):0 }).ToList(); foreach (var row in res) { row.SaveDate = Persia.Calendar.ConvertToPersian(_db.IDEAS.First(z => z.ID == row.Id).SAVE_DATE).Simple; } } return(res); }
public IEnumerable <IdeaForShowDto> FilterSerchingIdea(FilterIdeaRequestDto searchItem) { return(_Repository.FilterSerchingIdea(searchItem)); }
public IEnumerable <IdeaForShowDto> FilterSerchingIdea(FilterIdeaRequestDto searchItem) { return(_business.FilterSerchingIdea(searchItem)); }