Example #1
0
 //Removes a connection
 public bool RemoveCollaborator(string Username, int?ProjectID)
 {
     if (ProjectID.HasValue && Username != "")
     {
         UserService getUser     = new UserService(null);
         var         SharedUsers = getUser.GetSharedUsersFromProject(ProjectID);
         var         RemoveUser  = SharedUsers.Where(x => x.Username == Username).FirstOrDefault();
         if (RemoveUser != null)
         {
             ProjectShare DeleteShare = (from x in DB.ProjectShares where x.ShareUser.Username == Username &&
                                         x.ShareProject.ID == ProjectID select x).FirstOrDefault();
             if (DeleteShare != null)
             {
                 DB.ProjectShares.Remove(DeleteShare);
                 DB.SaveChanges();
                 return(true);
             }
         }
     }
     return(false);
 }
Example #2
0
        //Shares Project with specific ID with user with specific Username. Returns true if connection is made, otherwise false
        public bool AddCollaborator(string Username, int?ProjectID)
        {
            if (ProjectID.HasValue && Username != "")
            {
                var CollaboratorAlreadyExists = DB.ProjectShares.Where(x => x.ShareUser.Username == Username && //If the User getting project shared with has project
                                                                       x.ShareProject.ID == ProjectID).SingleOrDefault(); //already shared with him or is owner it is saved in either of those variables
                var Owner = (from x in DB.Projects where x.ID == ProjectID select x.Owner).SingleOrDefault();
                if (CollaboratorAlreadyExists == null && Username != Owner.Username)                                      //if user with specific username did not have access to project the new connection is made
                {
                    ProjectShare NewConnection = new ProjectShare();
                    NewConnection.ShareUser    = DB.UsersInfo.Where(x => x.Username == Username).SingleOrDefault();
                    NewConnection.ShareProject = DB.Projects.Where(x => x.ID == ProjectID).SingleOrDefault();

                    if (NewConnection.ShareUser != null)
                    {
                        DB.ProjectShares.Add(NewConnection);
                        DB.SaveChanges();
                        return(true);
                    }
                }
            }
            return(false);
        }
Example #3
0
        public void Initialize()
        {
            var MockDb = new MockDatabase();


            var U1 = new UserInfo
            {
                ID       = 1,
                Name     = "Patti",
                Username = "******"
            };

            MockDb.UsersInfo.Add(U1);

            var U2 = new UserInfo
            {
                ID          = 2,
                Name        = "Alex",
                Username    = "******",
                Country     = "Iceland",
                Email       = "*****@*****.**",
                DateCreated = DateTime.Now
            };

            MockDb.UsersInfo.Add(U2);

            var U3 = new UserInfo
            {
                ID       = 3,
                Name     = "Joey",
                Username = "******"
            };

            MockDb.UsersInfo.Add(U3);

            var U4 = new UserInfo
            {
                ID       = 4,
                Name     = "Nonni",
                Username = "******"
            };

            MockDb.UsersInfo.Add(U4);

            var P1 = new Project
            {
                ID    = 1,
                Owner = U1
            };

            MockDb.Projects.Add(P1);

            var P2 = new Project
            {
                ID    = 2,
                Owner = U1
            };

            MockDb.Projects.Add(P2);

            var P3 = new Project
            {
                ID    = 3,
                Owner = U2
            };

            MockDb.Projects.Add(P3);

            var PS1 = new ProjectShare
            {
                ID           = 1,
                ShareProject = P1,
                ShareUser    = U2
            };

            MockDb.ProjectShares.Add(PS1);

            var PS2 = new ProjectShare
            {
                ID           = 2,
                ShareProject = P1,
                ShareUser    = U3
            };

            MockDb.ProjectShares.Add(PS2);

            var PS3 = new ProjectShare
            {
                ID           = 3,
                ShareProject = P1,
                ShareUser    = U4
            };

            MockDb.ProjectShares.Add(PS3);

            var PS4 = new ProjectShare
            {
                ID           = 4,
                ShareProject = P3,
                ShareUser    = U4
            };

            MockDb.ProjectShares.Add(PS4);

            Service = new UserService(MockDb);
        }