Beispiel #1
0
        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);
        }
Beispiel #2
0
        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);
        }