Пример #1
0
        public FullResearcher(DatabaseLibrary.DatabaseModel.Researcher researcher, IUnitOfWork unitOfWork)
        {
            HIndex   hIndex   = new HIndex();
            I10Index i10Index = new I10Index();

            ResearcherId = researcher.ResearcherId;
            FullName     = researcher.LastName + " " + researcher.FirstName + " " + researcher.MiddleName;
            GoogleHIndex = hIndex.GetIndex(unitOfWork.Publications.Find(item => item.AccountPublications
                                                                        .Any(publication => publication.Account.TypeId == 3 && publication.Account.ResearcherAccounts
                                                                             .Any(item1 => item1.ResearcherId == ResearcherId))).Select(item => item.CitationCount));

            GoogleHIndex5 = i10Index.GetIndex(unitOfWork.Publications.Find(item => item.AccountPublications
                                                                           .Any(publication => publication.Account.TypeId == 3 && publication.Account.ResearcherAccounts
                                                                                .Any(item1 => item1.ResearcherId == ResearcherId))).Select(item => item.CitationCount));

            PublonsHIndex = hIndex.GetIndex(unitOfWork.Publications.Find(item => item.AccountPublications
                                                                         .Any(publication => publication.Account.TypeId == 2 && publication.Account.ResearcherAccounts
                                                                              .Any(item1 => item1.ResearcherId == ResearcherId))).Select(item => item.CitationCount));

            PublonsHIndex5 = i10Index.GetIndex(unitOfWork.Publications.Find(item => item.AccountPublications
                                                                            .Any(publication => publication.Account.TypeId == 2 && publication.Account.ResearcherAccounts
                                                                                 .Any(item1 => item1.ResearcherId == ResearcherId))).Select(item => item.CitationCount));

            ScopusHIndex = hIndex.GetIndex(unitOfWork.Publications.Find(item => item.AccountPublications
                                                                        .Any(publication => publication.Account.TypeId == 1 && publication.Account.ResearcherAccounts
                                                                             .Any(item1 => item1.ResearcherId == ResearcherId))).Select(item => item.CitationCount));

            ScopusHIndex5 = i10Index.GetIndex(unitOfWork.Publications.Find(item => item.AccountPublications
                                                                           .Any(publication => publication.Account.TypeId == 1 && publication.Account.ResearcherAccounts
                                                                                .Any(item1 => item1.ResearcherId == ResearcherId))).Select(item => item.CitationCount));
        }
Пример #2
0
 public static void GetIndex(byte pIndex, out VIndex pVIndex, out HIndex pHIndex)
 {
     pHIndex = (HIndex)(pIndex & 0x0f);
     pVIndex = (VIndex)(pIndex >> 4 & 0x0f);
 }
Пример #3
0
 private byte GetIndex(VIndex pVIndex, HIndex pHIndex)
 {
     return((byte)((byte)pVIndex << 4 | (byte)pHIndex));
 }