Exemple #1
0
 // Special constructor for tests
 public Admin(string FirstName, string LastName, string ID, TeacherAccess TeacherAccess, GroupAccess GroupAccess, SubjectAccess SubjectAccess) : base(FirstName, LastName)
 {
     adminID = ID;
     IoC.RegisterObject <ISubject, Subject>();
     IoC.RegisterObject <IGroup, Group>();
     teacherAccess = TeacherAccess;
     groupAccess   = GroupAccess;
     subjectAccess = SubjectAccess;
 }
Exemple #2
0
 public Admin(string FirstName, string LastName, string ID) : base(FirstName, LastName)
 {
     adminID = ID;
     IoC.RegisterObject <IDBAccess, DBAccess>();
     IoC.RegisterObject <ISubject, Subject>();
     IoC.RegisterObject <IGroup, Group>();
     dbAccess      = new DBAccess();
     teacherAccess = new TeacherAccess(dbAccess);
     groupAccess   = new GroupAccess(dbAccess);
     subjectAccess = new SubjectAccess(dbAccess);
     accountAccess = new AccountAccess(dbAccess);
     studentAccess = new StudentAccess(dbAccess);
 }
 public TeacherController(Teacher Teacher)
 {
     IoC.RegisterObject <IGroup, Group>();
     IoC.RegisterObject <IExam, Exam>();
     IoC.RegisterObject <IResult, Result>();
     IoC.RegisterObject <IDBAccess, DBAccess>();
     dbAccess      = new DBAccess();
     examAccess    = new ExamAccess(dbAccess);
     resultAccess  = new ResultAccess(dbAccess);
     studentAccess = new StudentAccess(dbAccess);
     groupAccess   = new GroupAccess(dbAccess);
     subjectAccess = new SubjectAccess(dbAccess);
     teacher       = Teacher;
 }
        protected GroupAccessesInfo BuildGroupAccessesInfo(GroupAccess access)
        {
            if (access == null)
            {
                throw new ArgumentNullException(nameof(access));
            }

            return(new GroupAccessesInfo
            {
                User = BuildShortUserInfo(access.User),
                AccessType = access.AccessType,
                GrantedBy = BuildShortUserInfo(access.GrantedBy),
                GrantTime = access.GrantTime
            });
        }
Exemple #5
0
        public void AdminCreateTeacherTest()
        {
            //Arrange
            bool isTeacherCreated = false;

            var teacherAccess = new Mock <TeacherAccess>(new DBAccess());

            teacherAccess.Setup(t => t.InsertTeacherToDB(It.IsAny <Teacher>())).Callback(() => isTeacherCreated = true);
            GroupAccess   groupAccess   = new GroupAccess(new DBAccess());
            SubjectAccess subjectAccess = new SubjectAccess(new DBAccess());

            Admin admin = new Admin("Admin", "Adminov", "adminId", teacherAccess.Object, groupAccess, subjectAccess);

            //Act
            admin.CreateTeacher("Petro", "Petrov", "ID", "petrov", "abc123");

            //Assert
            Assert.IsTrue(isTeacherCreated);
        }
        public async Task <IActionResult> Delete(int id)
        {
            bool hasPermission = await userHasRole("Admin");

            if (!hasPermission)
            {
                return(BadRequest());
            }

            GroupAccess groupAccess = new GroupAccess()
            {
                Id = id
            };

            _context.Entry(groupAccess).State = EntityState.Deleted;

            await _context.SaveChangesAsync();

            return(Ok());
        }
        public async Task <IActionResult> AddUserToGroup(AddUserToGroupViewModel model)
        {
            bool hasPermission = await userHasRole("Admin");

            if (!hasPermission)
            {
                return(BadRequest());
            }

            GroupAccess groupAccess = new GroupAccess
            {
                GroupId           = model.GroupId,
                ApplicationUserId = model.ApplicationUserId
            };

            _context.GroupAccess.Add(groupAccess);
            _context.SaveChanges();

            return(Ok());
        }
Exemple #8
0
        public void AdminCreateStudentTest()
        {
            //Arrange
            bool isStudentCreated = false;

            var groupMock = new Mock <Group>("TEST");

            groupMock.Setup(t => t.AddStudent(It.IsAny <Student>())).Callback(() => isStudentCreated = true);
            SubjectAccess subjectAccess = new SubjectAccess(new DBAccess());
            TeacherAccess teacherAccess = new TeacherAccess(new DBAccess());
            GroupAccess   groupAccess   = new GroupAccess(new DBAccess());

            Admin admin = new Admin("Admin", "Adminov", "adminId", teacherAccess, groupAccess, subjectAccess);

            //Act
            admin.CreateStudent("Ivan", "Ivanov", "Studak", "Zachotka", "Group", "ivanov", "ivanov");

            //Assert
            Assert.IsTrue(isStudentCreated);
        }
Exemple #9
0
        public void AdminCreateSubjectTest()
        {
            //Arrange
            bool isSubjectCreated = false;

            var subjectAccess = new Mock <SubjectAccess>(new DBAccess());

            subjectAccess.Setup(t => t.InsertSubjectToDB(It.IsAny <Subject>(), It.IsAny <string>())).Callback(() => isSubjectCreated = true);
            GroupAccess   groupAccess   = new GroupAccess(new DBAccess());
            TeacherAccess teacherAccess = new TeacherAccess(new DBAccess());

            Admin   admin   = new Admin("Admin", "Adminov", "adminId", teacherAccess, groupAccess, subjectAccess.Object);
            Teacher teacher = new Teacher("Petro", "Petrov", "ID", "petrov");

            //Act
            admin.CreateSubject("Subject", "ID");

            //Assert
            Assert.IsTrue(isSubjectCreated);
        }
Exemple #10
0
        public void AdminAssignSubjectToGroupTest()
        {
            //Arrange
            bool isSubjectAssigned = false;

            var groupMock = new Mock <Group>("TEST");

            groupMock.Setup(t => t.AssignSubject(It.IsAny <Subject>())).Callback(() => isSubjectAssigned = true);
            SubjectAccess subjectAccess = new SubjectAccess(new DBAccess());
            TeacherAccess teacherAccess = new TeacherAccess(new DBAccess());
            GroupAccess   groupAccess   = new GroupAccess(new DBAccess());

            Admin   admin   = new Admin("Admin", "Adminov", "adminId", teacherAccess, groupAccess, subjectAccess);
            Subject subject = new Subject("Subject");

            //Act
            admin.AssignSubjectToGroup(subject, groupMock.Object);

            //Assert
            Assert.IsTrue(isSubjectAssigned);
        }
Exemple #11
0
        /* Group accesses */

        public async Task <GroupAccess> GrantAccess(int groupId, string userId, GroupAccessType accessType, string grantedById)
        {
            var currentAccess = db.GroupAccesses.FirstOrDefault(a => a.GroupId == groupId && a.UserId == userId);

            if (currentAccess == null)
            {
                currentAccess = new GroupAccess
                {
                    GroupId = groupId,
                    UserId  = userId,
                };
                db.GroupAccesses.Add(currentAccess);
            }
            currentAccess.AccessType  = accessType;
            currentAccess.GrantedById = grantedById;
            currentAccess.GrantTime   = DateTime.Now;
            currentAccess.IsEnabled   = true;

            await db.SaveChangesAsync();

            return(db.GroupAccesses.Include(a => a.GrantedBy).Single(a => a.Id == currentAccess.Id));
        }
Exemple #12
0
        public void AssinExamTest()
        {
            //Arrange
            bool isExamAssigned = false;

            var examAccess = new Mock <ExamAccess>(new DBAccess());

            examAccess.Setup(t => t.AssignExam(It.IsAny <Exam>(), It.IsAny <string>())).Callback(() => isExamAssigned = true);
            GroupAccess groupAccess = new GroupAccess(new DBAccess());
            Exam        exam        = new Exam("Exam", 1, 3, 1);
            Student     student     = new Student("Ivan", "Ivanov", "Studak", "Zachotka", "TEST", "ivanov");

            Group group = new Group("TEST", examAccess.Object, groupAccess);

            group.AddStudent(student);

            //Act
            group.AssignExam(exam);

            //Assert
            Assert.IsTrue(isExamAssigned);
        }
Exemple #13
0
 // Constructor for unit-tests
 public Group(string Title, ExamAccess ExamAccess, GroupAccess GroupAccess)
 {
     title       = Title;
     examAccess  = ExamAccess;
     groupAccess = GroupAccess;
 }
Exemple #14
0
 public AddGroupCommandHandler(GroupAccess groupAccess,
                               IEventsBus eventsBus)
 {
     this.groupAccess = groupAccess;
     this.eventsBus   = eventsBus;
 }
 public RemoveGroupCommandHandler(GroupAccess groupAccess)
 {
     this.groupAccess = groupAccess;
 }
Exemple #16
0
 public bool InsertOrUpdate(GroupAccess GroupAccess)
 {
     return(_epr.InsertOrUpdate(GroupAccess));
 }
Exemple #17
0
 public void EditSync(
     int groupId , string title = "", string description = "", string screenName = "", string website = "", string email = "", string phone = "", string rss = "", DateTimeOffset? eventStartDate = null, DateTimeOffset? eventFinishDate = null, DateTimeOffset? eventGroupId = null, int? subject = null, int? publicCategory = null, int? publicSubcategory = null, GroupAccess? access = null, AccessType? wall = null, AccessType? topics = null, AccessType? photos = null, AccessType? video = null, AccessType? audio = null, Date? publicDate = null, bool? links = null, bool? events = null, bool? places = null,  bool? contacts = null
 ) {
     var task = _parent.Executor.ExecAsync(
             _parent._reqapi.Groups.Edit(
                 groupId,title,description,screenName,website,email,phone,rss,eventStartDate,eventFinishDate,eventGroupId,subject,publicCategory,publicSubcategory,access,wall,topics,photos,video,audio,publicDate,links,events,places,contacts
             )
         );
     task.Wait();
     
 }
 /// <summary>
 /// Class constructor
 /// </summary>
 /// <param name="data"></param>
 public ReportGroup(EMMADataSet.ReportGroupsRow data)
 {
     _name = data.Name.Trim();
     _id = data.ID;
     _public = data.PublicGroup;
     _accessLevel = ReportGroups.GetAccessLevel(UserAccount.Name, _id);
 }
Exemple #19
0
 public Group(string Title)
 {
     title       = Title;
     examAccess  = new ExamAccess(dbAccess);
     groupAccess = new GroupAccess(dbAccess);
 }
            public Request<bool> Edit(
                int groupId , string title = "", string description = "", string screenName = "", string website = "", string email = "", string phone = "", string rss = "", DateTimeOffset? eventStartDate = null, DateTimeOffset? eventFinishDate = null, DateTimeOffset? eventGroupId = null, int? subject = null, int? publicCategory = null, int? publicSubcategory = null, GroupAccess? access = null, AccessType? wall = null, AccessType? topics = null, AccessType? photos = null, AccessType? video = null, AccessType? audio = null, Date? publicDate = null, bool? links = null, bool? events = null, bool? places = null,  bool? contacts = null
            ) {
                var req = new Request<bool>{
                    MethodName = "groups.edit",
                    Parameters = new Dictionary<string, string> {

                        { "group_id", groupId.ToNCString()},
                        { "title", title},
                        { "description", description},
                        { "screen_name", screenName},
                        { "website", website},
                        { "email", email},
                        { "phone", phone},
                        { "rss", rss},
                        { "event_start_date", MiscTools.NullableString(eventStartDate?.ToUnixTimeSeconds())},
                        { "event_finish_date", MiscTools.NullableString(eventFinishDate?.ToUnixTimeSeconds())},
                        { "event_group_id", MiscTools.NullableString(eventGroupId?.ToUnixTimeSeconds())},
                        { "subject", MiscTools.NullableString(subject)},
                        { "public_category", MiscTools.NullableString(publicCategory)},
                        { "public_subcategory", MiscTools.NullableString(publicSubcategory)},
                        { "access", MiscTools.NullableString( (int?)access )},
                        { "wall", MiscTools.NullableString( (int?)wall )},
                        { "topics", MiscTools.NullableString( (int?)topics )},
                        { "photos", MiscTools.NullableString( (int?)photos )},
                        { "video", MiscTools.NullableString( (int?)video )},
                        { "audio", MiscTools.NullableString( (int?)audio )},
                        { "public_date", MiscTools.NullableString(publicDate)},
                        { "links", (links != null ? ( links.Value ? 1 : 0 ).ToNCString() : "")},
                        { "events", (events != null ? ( events.Value ? 1 : 0 ).ToNCString() : "")},
                        { "places", (places != null ? ( places.Value ? 1 : 0 ).ToNCString() : "")},
                        { "contacts", (contacts != null ? ( contacts.Value ? 1 : 0 ).ToNCString() : "")},

                    }
                };
                    req.Token = _parent.CurrentToken;
                return req;
            }
 public bool Save(GroupAccess GroupAccess)
 {
     _GroupAccessApp.InsertOrUpdate(GroupAccess);
     return(_connection.Save());
 }