public ActionResult GetPeople(string ids = "") { List <Person> chars = _starWarsService.GetPeople().Result; PeopleJsonModel model = _viewMapperHelper.PeopleMatchedMapper(chars, ids); var json = new JsonResult(model); json.StatusCode = 200; json.ContentType = "application/json"; return(json); }
public PeopleJsonModel PeopleMatchedMapper(List <Person> people, string ids = "") { List <string> urls = new List <string>(); if (ids != "") { urls = ids.Split(",").Select(u => u.Trim()).ToList(); people = people.Where(p => urls.Contains(p.Url)).ToList(); } var model = new PeopleJsonModel(); var config = new MapperConfiguration(cfg => cfg.CreateMap <Person, PersonDetailsJsonModel>() .ForMember(dest => dest.Eyes, opt => opt.MapFrom(src => src.EyeColor)) .ForMember(dest => dest.Hair, opt => opt.MapFrom(src => src.HairColor)) //.ForMember(dest => dest.DOB, opt => opt.MapFrom(src => src.BirthYear)) .ForMember(dest => dest.Weight, opt => opt.MapFrom(src => src.Mass)) ); var mapper = config.CreateMapper(); model.Characters = mapper.Map <List <PersonDetailsJsonModel> >(people); model.Characters = model.Characters.OrderBy(r => r.Name).ToList(); return(model); }