Esempio n. 1
0
        public List <Tuple <string, int, double> > GetSoleExpertArtifactsForDeveloper(int developerId)
        {
            var developerExpertises = DeveloperExpertises.Include(de => de.Artifact).Include(de => de.DeveloperExpertiseValues).Where(de => de.DeveloperId == developerId && de.Artifact.DeveloperExpertises.Count < 2).AsNoTracking();
            var result = new List <Tuple <string, int, double> >();

            foreach (var developerExpertise in developerExpertises)
            {
                result.AddRange(developerExpertise.DeveloperExpertiseValues.Select(expertise => new Tuple <string, int, double>(developerExpertise.Artifact.Name, developerExpertise.ArtifactId, expertise.Value)));
            }

            return(result);
        }
Esempio n. 2
0
        public List <SimplifiedDeveloperExpertise> GetDevelopersForArtifactAndAlgorithm(int artifactId, int algorithmId)
        {
            var developerExpertises = DeveloperExpertises.Include(de => de.Developer).Include(de => de.DeveloperExpertiseValues).Where(de => de.ArtifactId == artifactId).AsNoTracking();
            var result = new List <SimplifiedDeveloperExpertise>();

            foreach (var developerExpertise in developerExpertises)
            {
                result.AddRange(from expertise in developerExpertise.DeveloperExpertiseValues where expertise.AlgorithmId == algorithmId select new SimplifiedDeveloperExpertise {
                    DeveloperName = developerExpertise.Developer.Name, DeveloperId = developerExpertise.DeveloperId, Expertise = expertise.Value
                });
            }

            return(result);
        }