/// <summary> /// Возвращает список связей /// </summary> /// <param name="id"></param> /// <returns></returns> public IEnumerable <EntityCollection <PersonConnectionModel> > GetConnection(int id) { var list = PersonModelHelper.GetConnectionModels(_personRepository.GetConnections(id)); foreach (var item in list) { item.LastChange = LogModelHelper.GetLastChangeModel(_logRepository.GetLastChangePersonConnection(item.id_Person, item.Id)); } var types = list.GroupBy(o => o.id_ConnectionType).Select(o => o.Key); return(types.Select(tp => new EntityCollection <PersonConnectionModel> { List = list.Where(o => o.id_ConnectionType == tp), Type = tp })); }
/// <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); }