public async Task <IEnumerable <dynamic> > GetReplyYesNo(string sourcemarket, string jobfamily, string positiontype, string criteria) { if (sourcemarket == "null") { sourcemarket = "ALL"; } if (jobfamily == "null") { jobfamily = "ALL"; } if (positiontype == "null") { positiontype = "ALL"; } string[] SourceMarkets = sourcemarket.Split(','); string[] JobFamilys = jobfamily.Split(','); string[] PositionTypes = positiontype.Split(','); var data = await _positionAssignRepo.GetReplyYesNo(SourceMarkets, sourcemarket, JobFamilys, jobfamily, PositionTypes, positiontype); var rawlist = data.ToList(); if (!string.IsNullOrEmpty(criteria)) { rawlist = FilterByCriteria(criteria, rawlist).ToList(); } var result = rawlist.GroupBy(x => x.Accept).Select (x => new { Accept = x.Key, Accepted = x.ToList().Select(n => new { mplID = n.MPLID, mplIDVersion = n.MPLIDVersion, title = n.Title, profile = n.Profile, destination = n.Destination, sourceMarket = n.MPLSourceMarket, positionType = n.PositionType, languages = n.Languages, education = n.Education, concepthotel = n.ConceptHotel, jobFamily = n.JobFamily, positionStartDate = n.PositionStartDate, positionEndDate = n.PositionEndDate, accept = n.Accept }).ToList() }); return(result); }