/// <summary> /// Возвращает список моделей антропометрических характеристик /// </summary> /// <param name="id"></param> /// <returns></returns> public IList <PersonAntroModel> GetPersonAntros(int id) { var result = PersonModelHelper.GetPersonAntroModels(_personRepository.GetPersonAntros(id)); foreach (var item in result) { item.LastChange = LogModelHelper.GetLastChangeModel(_logRepository.GetLastChangePersonAntro(item.IdPerson, item.Id)); item.Links = new LinksModel { PersonLinks = PersonModelHelper.GetPersonModels(_personRepository.GetAntroPersonLinks(item.Id)), EventLinks = EventModelHelper.GetEventModels(_personRepository.GetAntroEventLinks(item.Id)) }; } return(result); }
/// <summary> /// Воозвращает всех Persons /// </summary> /// <returns></returns> public IList <PersonModel> GetAll() { var persons = _personRepository.FindAllPerson(); var listPerson = PersonModelHelper.GetPersonModels(persons); foreach (var item in listPerson) { var models = _personRepository.GetConnections(item.Id); item.Connections = PersonModelHelper.GetConnectionModels(models); var con = item.Connections.FirstOrDefault(o => o.Event != null); item.EventName = con?.Event?.Name; item.EventType = con?.Event?.EventCategory; item.LastChange = LogModelHelper.GetLastChangeModel(_logRepository.GetLastChangePerson(item.Id)); } return(listPerson); }
/// <summary> /// Возвращает страницу списка Persons с учетом параметров поиска <paramref name="searchParams"/> /// </summary> /// <param name="pageNumber"></param> /// <param name="pageSize"></param> /// <param name="searchParams"></param> /// <returns></returns> public IList <PersonModel> GetPersons(int pageNumber, int pageSize, PersonSearchParams searchParams = null) { var page = new PageInfo(pageNumber, pageSize); var sex = searchParams?.SexId; var persons = _personRepository.FindPerson(page, searchParams?.Alphabetically, sex); var listPerson = PersonModelHelper.GetPersonModels(persons); foreach (var item in listPerson) { var models = _personRepository.GetConnections(item.Id); item.Connections = PersonModelHelper.GetConnectionModels(models); var con = item.Connections.FirstOrDefault(o => o.Event != null); item.EventName = con?.Event?.Name; item.EventType = con?.Event?.EventCategory; item.LastChange = LogModelHelper.GetLastChangeModel(_logRepository.GetLastChangePerson(item.Id)); } return(listPerson); }
/// <summary> /// Возвращает список моделей медиа /// </summary> /// <param name="id"></param> /// <returns></returns> public IEnumerable <EntityCollection <PersonMediaModel> > GetMedia(int id) { var list = PersonModelHelper.GetMediaModels(_personRepository.GetMedia(id)); foreach (var item in list) { item.LastChange = LogModelHelper.GetLastChangeModel(_logRepository.GetLastChangePersonMedia(item.id_Person, item.Id)); item.Tags = TagModelHelper.GeTagModels(_tagRepository.GetPersonMediaTags(item.Id)); item.Links = new LinksModel { PersonLinks = PersonModelHelper.GetPersonModels(_personRepository.GetMediaPersonLinks(item.Id)), EventLinks = EventModelHelper.GetEventModels(_personRepository.GetMediaEventLinks(item.Id)) }; } var types = list.GroupBy(o => o.id_MediaType).Select(o => o.Key); return(types.Select(tp => new EntityCollection <PersonMediaModel> { List = list.Where(o => o.id_MediaType == tp), Type = tp })); }