/// <see cref="IPersonService.GetListDescriptions" /> public IEnumerable <PersonDescriptionModel> GetListDescriptions(int id) { var list = PersonModelHelper.GetDescriptionModels(_personRepository.GetDescriptions(id)); foreach (var item in list) { item.LastChange = LogModelHelper.GetLastChangeModel(_logRepository.GetLastChangePersonDescription(item.id_Person, item.Id)); } return(list); }
/// <see cref="IPersonService.GetFacts" /> public IEnumerable <PersonFactModel> GetFacts(int id) { var list = PersonModelHelper.GetFactModels(_personRepository.GetPersonFacts(id)); foreach (var item in list) { item.LastChange = LogModelHelper.GetLastChangeModel(_logRepository.GetLastChangePersonFact(item.id_Person, item.Id)); } //var types = list.GroupBy(o => o.id_FactType).Select(o => o.Key); //return types.Select(tp => new EntityCollection<PersonFactModel> { List = list.Where(o => o.id_FactType == tp), Type = tp }); return(list); }
/// <summary> /// Возвращает список моделей описаний /// </summary> /// <param name="id"></param> /// <returns></returns> public IEnumerable <EventDescriptionModel> GetDescriptions(int id) { var list = EventModelHelper.GetDescriptionModels(_eventRepository.GetDescriptions(id)); foreach (var item in list) { item.LastChange = LogModelHelper.GetLastChangeModel(_logRepository.GetLastChangeEventDescription(item.id_Event, item.Id)); } return(list); //var types = list.GroupBy(o => o.id_DescriptionType).Select(o => o.Key); //return types.Select(tp => new Models.Events.EntityCollection<EventDescriptionModel> { List = list.Where(o => o.id_DescriptionType == tp), Type = tp }); }
/// <summary> /// Возвращает список моделей описаний /// </summary> /// <param name="id"></param> /// <returns></returns> public IEnumerable <EntityCollection <PersonDescriptionModel> > GetDescriptions(int id) { var list = PersonModelHelper.GetDescriptionModels(_personRepository.GetDescriptions(id)); foreach (var item in list) { item.LastChange = LogModelHelper.GetLastChangeModel(_logRepository.GetLastChangePersonDescription(item.id_Person, item.Id)); } var types = list.GroupBy(o => o.id_DescriptionType).Select(o => o.Key); return(types.Select(tp => new EntityCollection <PersonDescriptionModel> { List = list.Where(o => o.id_DescriptionType == tp), Type = tp })); }
/// <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 })); }