Ejemplo n.º 1
0
        public void SendRequestToProject(string username, int projectId)
        {
            using (EducationSystemDbContext db = new EducationSystemDbContext())
            {
                var user    = db.Users.Include(x => x.RequestedProjects).FirstOrDefault(x => x.UserName == username);
                var project = db.Projects.Include(x => x.ReceivedRequests).FirstOrDefault(x => x.Id == projectId);
                if (user != null && project != null)
                {
                    var userRequest = new RequestedProjectRequest()
                    {
                        AccountId = user.Id,
                        ProjectId = projectId
                    };

                    var projectRequest = new ReceivedProjectRequest()
                    {
                        ProjectId = projectId,
                        AccountId = user.Id
                    };

                    user.RequestedProjects.Add(userRequest);
                    project.ReceivedRequests.Add(projectRequest);

                    db.SaveChanges();
                }
            }
        }
Ejemplo n.º 2
0
        public void AcceptProject(int projectId, string username)
        {
            using (EducationSystemDbContext db = new EducationSystemDbContext())
            {
                var user    = db.Users.Include(x => x.ReceivedProjectRequests).FirstOrDefault(x => x.UserName == username);
                var project = db.Projects.Include(x => x.RequestedDevelopers).FirstOrDefault(x => x.Id == projectId);
                if (user != null && project != null)
                {
                    var userRequest = user.ReceivedProjectRequests
                                      .FirstOrDefault(x => x.ProjectId == projectId && x.Account.UserName == username);

                    var projectRequest = project.RequestedDevelopers
                                         .FirstOrDefault(x => x.ProjectId == projectId && x.Account.UserName == username);

                    user.ReceivedProjectRequests.Remove(userRequest);
                    project.RequestedDevelopers.Remove(projectRequest);

                    user.AcceptedProjects.Add(new AcceptedProjectRequest()
                    {
                        AccountId = userRequest.AccountId,
                        ProjectId = userRequest.ProjectId
                    });

                    project.AcceptedDevelopers.Add(new AcceptedProjectRequest()
                    {
                        AccountId = projectRequest.AccountId,
                        ProjectId = projectRequest.ProjectId
                    });

                    db.SaveChanges();
                }
            }
        }
Ejemplo n.º 3
0
        public void AcceptUser(int projectId, string username)
        {
            var project = new Project();
            var user    = new ApplicationUser();

            using (EducationSystemDbContext db = new EducationSystemDbContext())
            {
                project = db.Projects.Include(p => p.ReceivedRequests)
                          .FirstOrDefault(p => p.Id == projectId);
                user = db.Users.Include(u => u.RequestedProjects)
                       .FirstOrDefault(u => u.UserName == username);

                if (project != null)
                {
                    var receivedRequest = project.ReceivedRequests.Where(u => u.Account != null).
                                          FirstOrDefault(u => u.Account.UserName == username);

                    var receivedRequestForDelete = db.Entry(receivedRequest);
                    receivedRequestForDelete.State = EntityState.Deleted;

                    var requestedProject = user.RequestedProjects.
                                           FirstOrDefault(u => u.ProjectId == projectId);

                    var requestedProjectForDelete = db.Entry(requestedProject);
                    requestedProjectForDelete.State = EntityState.Deleted;

                    user.AcceptedProjects.Add(new AcceptedProjectRequest
                    {
                        AccountId = requestedProject.AccountId, ProjectId = requestedProject.ProjectId
                    });

                    db.SaveChanges();
                }
            }
        }
Ejemplo n.º 4
0
 public Project GetById(int id)
 {
     using (EducationSystemDbContext db = new EducationSystemDbContext())
     {
         var project = db.Projects.FirstOrDefault(p => p.Id == id);
         return(project);
     }
 }
Ejemplo n.º 5
0
 public ICollection <Project> GetByName(string name)
 {
     using (EducationSystemDbContext db = new EducationSystemDbContext())
     {
         var project = db.Projects.Where(p => p.Name.Contains(name)).ToList();
         return(project);
     }
 }
Ejemplo n.º 6
0
 public string GetIdByUsername(string username)
 {
     using (EducationSystemDbContext db = new EducationSystemDbContext())
     {
         var user = db.Users.FirstOrDefault(x => x.UserName == username);
         return(user.Id);
     }
 }
Ejemplo n.º 7
0
 public ApplicationUser GetByUsername(string Username)
 {
     using (EducationSystemDbContext db = new EducationSystemDbContext())
     {
         var user = db.Users.FirstOrDefault(x => x.UserName == Username);
         return(user);
     }
 }
Ejemplo n.º 8
0
 public Feedback GetById(int id)
 {
     using (EducationSystemDbContext db = new EducationSystemDbContext())
     {
         var feedback = db.Feedbacks.FirstOrDefault(p => p.Id == id);
         return(feedback);
     }
 }
Ejemplo n.º 9
0
        public ICollection <Project> GetOpenedProjects()
        {
            using (EducationSystemDbContext db = new EducationSystemDbContext())
            {
                var projects = db.Projects.Where(p => p.StartDate == null).ToList();

                return(projects);
            }
        }
Ejemplo n.º 10
0
 public ICollection <Feedback> GetByUser(string userName)
 {
     using (EducationSystemDbContext db = new EducationSystemDbContext())
     {
         var feedbacks = db.Feedbacks.Include(f => f.User)
                         .Where(p => p.User.UserName == userName)
                         .ToList();
         return(feedbacks);
     }
 }
Ejemplo n.º 11
0
 public ICollection <Feedback> GetByProject(int projectId)
 {
     using (EducationSystemDbContext db = new EducationSystemDbContext())
     {
         var feedbacks = db.Projects.Include(p => p.Feedbacks)
                         .Where(p => p.Id == projectId)
                         .FirstOrDefault()
                         .Feedbacks.ToList();
         return(feedbacks);
     }
 }
Ejemplo n.º 12
0
 public ICollection <Project> GetAllAcceptedByUser(string username)
 {
     using (EducationSystemDbContext db = new EducationSystemDbContext())
     {
         var requestedProjects = db.AcceptedProjectRequests
                                 .Where(ap => ap.Account.UserName == username).Include(ap => ap.Project)
                                 .Select(ap => ap.Project)
                                 .ToList();
         return(requestedProjects);
     }
 }
Ejemplo n.º 13
0
        public void Create(CreateProjectDTO projectDto)
        {
            using (EducationSystemDbContext db = new EducationSystemDbContext())
            {
                var userId  = db.Users.FirstOrDefault(u => u.Email == projectDto.UserEmail).Id;
                var project = GenerateModel(userId, projectDto);

                db.Projects.Add(project);
                db.SaveChanges();
            }
        }
Ejemplo n.º 14
0
        public ICollection <Project> GetProjectsInProgress()
        {
            using (EducationSystemDbContext db = new EducationSystemDbContext())
            {
                var projects = db.Projects
                               .Where(p => p.StartDate != null && p.EndDate == null)
                               .ToList();

                return(projects);
            }
        }
Ejemplo n.º 15
0
        public ICollection <Project> GetAllCreatedByUser(string username)
        {
            var projects = new List <Project>();

            using (EducationSystemDbContext db = new EducationSystemDbContext())
            {
                projects = db.Projects.Include(p => p.ProductOwner)
                           .Where(p => p.ProductOwner.UserName == username).ToList();
            }

            return(projects);
        }
Ejemplo n.º 16
0
        public ICollection <ApplicationUser> GetAllUsersBySkill(int skillType, double minumRank = 2)
        {
            var usersWithSkill = new List <ApplicationUser>();

            using (EducationSystemDbContext db = new EducationSystemDbContext())
            {
                usersWithSkill = db.Users.Where(u => u.Skills.Any(s => s.Type == (SkillType)skillType)).ToList();
            }
            List <ApplicationUser> targetUsers = GetUsersWithMatchingRank(skillType, minumRank, usersWithSkill);

            return(targetUsers);
        }
Ejemplo n.º 17
0
        public ICollection <Project> GetBySkillTypes(List <int> skillIds)
        {
            using (EducationSystemDbContext db = new EducationSystemDbContext())
            {
                var projects = db.Projects.Include(p => p.SkillsNeeded)
                               .Where(p => p.SkillsNeeded
                                      .Any(s => skillIds.Contains(Convert.ToInt32(s.Type))))
                               .ToList();

                return(projects);
            }
        }
Ejemplo n.º 18
0
        public ICollection <Project> GetAllNotOwnedByUser(string email)
        {
            using (EducationSystemDbContext db = new EducationSystemDbContext())
            {
                if (String.IsNullOrEmpty(email))
                {
                    return(db.Projects.Include(p => p.ProductOwner).ToList());
                }
                var projects = db.Projects.Where(p => p.ProductOwner.Email != email).ToList();

                return(projects);
            }
        }
Ejemplo n.º 19
0
        public ICollection <ApplicationUser> GetRequestedDevelopers(int projectId)
        {
            var project = new Project();

            using (EducationSystemDbContext db = new EducationSystemDbContext())
            {
                project = db.Projects.Include(p => p.RequestedDevelopers).FirstOrDefault(p => p.Id == projectId);
            }

            var participants = project.RequestedDevelopers?.Select(d => d.Account).ToList();

            return(participants);
        }
Ejemplo n.º 20
0
        public void AddSkill(SkillDto skillDto)
        {
            using (EducationSystemDbContext db = new EducationSystemDbContext())
            {
                var user = db.Users.Include(x => x.Skills).FirstOrDefault(x => x.UserName == skillDto.UserName);

                var skill = new Skill()
                {
                    Type = skillDto.GetSkillType()
                };

                user.Skills.Add(skill);
                db.SaveChanges();
            }
        }
Ejemplo n.º 21
0
        public void RateUserByItsProject(int projectId, string username, int rate, string comment)
        {
            using (EducationSystemDbContext db = new EducationSystemDbContext())
            {
                var user     = db.Users.FirstOrDefault(x => x.UserName == username);
                var feedback = new Feedback()
                {
                    UserId  = user.Id,
                    Comment = comment,
                    Rating  = (FeedbackRating)rate
                };

                var project = db.Projects.Include(x => x.Feedbacks).FirstOrDefault(x => x.Id == projectId);
                project.Feedbacks.Add(feedback);
            }
        }
Ejemplo n.º 22
0
        public void Edit(ProjectFilter filter)
        {
            using (EducationSystemDbContext db = new EducationSystemDbContext())
            {
                var project = db.Projects.FirstOrDefault(p => p.Id == filter.Id);
                project.Name         = filter.Name;
                project.GitHubUrl    = filter.GitHubUrl;
                project.StartDate    = filter.StartDate;
                project.EndDate      = filter.EndDate;
                project.Description  = filter.Description;
                project.Requirements = filter.Requirements;
                project.IsTeamFormed = filter.StartDate != null ? true : false;
                project.Resources    = filter.Resources;
                project.SkillsNeeded = filter.SkillsNeeded;

                db.SaveChanges();
            }
        }
Ejemplo n.º 23
0
 public FeedbackService()
 {
     ctx = new EducationSystemDbContext();
 }
 public CategoryService(EducationSystemDbContext db)
 {
     this.db = db;
 }
Ejemplo n.º 25
0
 public ProjectService()
 {
     ctx = new EducationSystemDbContext();
 }
Ejemplo n.º 26
0
 public UserService()
 {
     ctx = new EducationSystemDbContext();
 }