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)); }
public static void GetIndex(byte pIndex, out VIndex pVIndex, out HIndex pHIndex) { pHIndex = (HIndex)(pIndex & 0x0f); pVIndex = (VIndex)(pIndex >> 4 & 0x0f); }
private byte GetIndex(VIndex pVIndex, HIndex pHIndex) { return((byte)((byte)pVIndex << 4 | (byte)pHIndex)); }