public IEnumerable<Course> GetCourses(User owner)
 {
     using (var db = new CourseManagementDbConext())
     {
         return db.Courses.Where(i => i.Owner == owner.Username && i.Deleted == false);
     }
 }
Exemple #2
0
        public void CalculateSumAndMaxTest()
        {
            IUDICO.Common.Models.User usr = new IUDICO.Common.Models.User()
            {
                Username = "******"
            };
            IUDICO.Common.Models.Theme thm = new IUDICO.Common.Models.Theme()
            {
                Name = "Theme One"
            };
            IUDICO.Common.Models.Shared.Statistics.AttemptResult AR = new IUDICO.Common.Models.Shared.Statistics.AttemptResult(1, usr, thm, IUDICO.Common.Models.Shared.Statistics.CompletionStatus.Completed, IUDICO.Common.Models.Shared.Statistics.AttemptStatus.Completed, IUDICO.Common.Models.Shared.Statistics.SuccessStatus.Passed, DateTime.Now, 0.5f);
            ThemeResult themeRes = new ThemeResult(usr, thm);
            List <IUDICO.Common.Models.Shared.Statistics.AttemptResult> ARL = new List <IUDICO.Common.Models.Shared.Statistics.AttemptResult>();

            ARL.Add(AR);
            themeRes.AttemptResults = ARL;
            themeRes.GetThemeResultScore();

            CurriculumResult target = new CurriculumResult();

            target.ThemeResult.Add(themeRes);

            Curriculum curr = null;

            target.CalculateSumAndMax(usr, curr);

            double?SumExpected = 50.0;
            double?MaxExpected = 100.0;

            Assert.AreEqual(SumExpected, target.Sum);
            Assert.AreEqual(MaxExpected, target.Max);
        }
        public void CalculateSpecializedResultTest()
        {
            IUDICO.Common.Models.User usr = new IUDICO.Common.Models.User() { Username = "******" };
            IUDICO.Common.Models.Theme thm = new IUDICO.Common.Models.Theme() { Name = "Theme One" };
            IUDICO.Common.Models.Shared.Statistics.AttemptResult AR = new IUDICO.Common.Models.Shared.Statistics.AttemptResult(1, usr, thm, IUDICO.Common.Models.Shared.Statistics.CompletionStatus.Completed, IUDICO.Common.Models.Shared.Statistics.AttemptStatus.Completed, IUDICO.Common.Models.Shared.Statistics.SuccessStatus.Passed, DateTime.Now, 0.5f);

            ThemeResult themeRes = new ThemeResult(usr, thm);
            List<AttemptResult> ARL = new List<AttemptResult>();
            ARL.Add(AR);
            themeRes.AttemptResults = ARL;
            themeRes.GetThemeResultScore();

            CurriculumResult currRes = new CurriculumResult();
            currRes.ThemeResult.Add(themeRes);
            Curriculum curr = null;
            currRes.CalculateSumAndMax(usr, curr);

            SpecializedResult target = new SpecializedResult();
            target.CurriculumResult.Add(currRes);
            target.CalculateSpecializedResult(usr);

            double? ExpectedSum = 50.0;
            double? ExpectedMax = 100.0;
            double? ExpectedPercent = 50.0;
            char ExpextedECTS = 'F';

            Assert.AreEqual(ExpectedSum, target.Sum);
            Assert.AreEqual(ExpectedMax, target.Max);
            Assert.AreEqual(ExpectedPercent, target.Percent);
            Assert.AreEqual(ExpextedECTS, target.ECTS);
        }
Exemple #4
0
 public void ActivateUserSuccess()
 {
     User temp = new User { Username = "******", Email = "*****@*****.**", Password = "******" };
     _Tests.MockStorage.Setup(s => s.GetCurrentUser()).Returns(_Tests.Storage.GetUser(u => u.Username == "panza"));
     _Tests.Storage.CreateUser(temp);
     System.Guid gg = _Tests.Storage.GetUser(u => u.Username == "ippe").Id;
     _Tests.Storage.ActivateUser(gg);
     Assert.AreEqual(_Tests.Storage.GetUser(u => u.Username == "ippe").IsApproved, true);
 }
        public void AddUserToGroup(Group group, User user)
        {
            var db = GetDbContext();

            var groupUser = new GroupUser {GroupRef = group.Id, UserRef = user.Id};

            db.GroupUsers.InsertOnSubmit(groupUser);
            db.SubmitChanges();
        }
Exemple #6
0
 public void EditUser()
 {
     User temp = new User { Username = "******", Email = "*****@*****.**", Password = "******" };
     User expected = new User { Username = "******", Email = "*****@*****.**", Password = "******", Id = temp.Id , OpenId = "openid" };
     _Tests.MockStorage.Setup(s => s.GetCurrentUser()).Returns(_Tests.Storage.GetUser(u => u.Username == "panza"));
     _Tests.Storage.CreateUser(temp);
     var model = new EditUserModel(expected);
     _Tests.Storage.EditUser(temp.Id, model);
     //Assert.AreEqual(expected, _Tests.Storage.GetUser(u => u.Username == "ipvep"));
 }
Exemple #7
0
 public void ChangePasswordSuccess()
 {
     var model = new ChangePasswordModel {OldPassword = "******", ConfirmPassword = "******", NewPassword = "******"};
     User temp = new User { Username = "******", Email = "*****@*****.**", Password = "******" };
     _Tests.MockStorage.Setup(s => s.GetCurrentUser()).Returns(_Tests.Storage.GetUser(u => u.Username == "panza"));
     _Tests.Storage.CreateUser(temp);
     _Tests.MockStorage.Setup(s => s.GetCurrentUser()).Returns(_Tests.Storage.GetUser(u => u.Username == "ipepp"));
     _Tests.Storage.ChangePassword(model);
     Assert.AreEqual(_Tests.Storage.GetUser(u => u.Username == "ipepp").Password, _Tests.Storage.EncryptPassword("321"));
 }
Exemple #8
0
 public DetailsModel(User user)
 {
     Id = user.Id;
     Username = user.Username;
     Name = user.Name;
     OpenId = user.OpenId;
     Email = user.Email;
     Groups = user.Groups;
     Roles = user.Roles;
     UserID = user.UserID;
 }
Exemple #9
0
        public void AddUserToRole()
        {
            User temp = new User { Username = "******", Email = "*****@*****.**", Password = "******" };
            _Tests.MockStorage.Setup(s => s.GetCurrentUser()).Returns(_Tests.Storage.GetUser(u => u.Username == "panza"));
            _Tests.Storage.CreateUser(temp);

            var role = Role.Teacher;
            _Tests.Storage.AddUserToRole(role, temp);
            List<Role> roles = new List<Role>();
            roles.Add(role);
            //Assert.AreEqual(1, _Tests.Storage.GetUser(u => u.Username == "icpe").UserRoles.Count);
        }
Exemple #10
0
 public IndexModel(ILmsService iLmsService)
 {
     IEnumerable<Curriculum> allowedCurriculums;
     User teacherUser;
     teacherUser = iLmsService.FindService<IUserService>().GetCurrentUser();
     allowedCurriculums = iLmsService.FindService<ICurriculumService>().GetCurriculumsWithThemesOwnedByUser(teacherUser);
     //
     if (allowedCurriculums != null & allowedCurriculums.Count() != 0)
         _AllowedCurriculums = allowedCurriculums;
     else
         _AllowedCurriculums = null;
     _TeacherUser = teacherUser;
 }
Exemple #11
0
        public ActionResult Create()
        {
            var user = new User
                           {
                               /*RolesList =
                                   _Storage.GetRoles().AsQueryable().Select(
                                       r =>
                                       new SelectListItem
                                           {Text = IUDICO.UserManagement.Localization.getMessage(r.ToString()), Value = ((int) r).ToString(), Selected = false}
                                    )*/
                           };

            return View(user);
        }
Exemple #12
0
        public IEnumerable<AttemptResult> GetResults(User user, Theme theme)
        {
            var results = new List<AttemptResult>
                              {
                                  new AttemptResult(0, user, theme, CompletionStatus.Unknown, AttemptStatus.Suspended,
                                                    SuccessStatus.Unknown, DateTime.Now, 0.21f),
                                  new AttemptResult(1, user, theme, CompletionStatus.NotAttempted, AttemptStatus.Active,
                                                    SuccessStatus.Unknown, DateTime.Now, null),
                                  new AttemptResult(2, user, theme, CompletionStatus.Completed, AttemptStatus.Completed,
                                                    SuccessStatus.Passed, DateTime.Now, 0.98f),
                                  new AttemptResult(3, user, theme, CompletionStatus.Incomplete, AttemptStatus.Completed,
                                                    SuccessStatus.Failed, DateTime.Now, 0.04f)
                              };

            return results;
        }
Exemple #13
0
        public void CalculateSpecializedResult(User user)
        {
            _Sum = 0.0;
            _Max = 0.0;
            _Percent = 0.0;
            _User = user;

            foreach (CurriculumResult curr in _CurriculumResult)
            {
                _Sum += curr.Sum;
                _Max += curr.Max;
            }

            _Percent = _Sum / _Max * 100.0;
            _ECTS = Ects(_Percent);
        }
Exemple #14
0
        private ThemeInfoModel() 
        {
            List<AttemptResult> testAttemptList = new List<AttemptResult>();
            List<User> testUserList = new List<User>();
            List<Theme> testThemeList = new List<Theme>();
            float? attemptScore;
            AttemptResult testAttempt;

            User testUser1 = new User();
            testUser1.Name = "user1";
            Theme testTheme1 = new Theme();
            testTheme1.Name = "theme1";
            User testUser2 = new User();
            testUser2.Name = "user2";
            Theme testTheme2 = new Theme();
            testTheme2.Name = "theme2";

            attemptScore = (float?)0.55;
            testAttempt = new AttemptResult(1, testUser1, testTheme1, new CompletionStatus(), new AttemptStatus(), new SuccessStatus(), DateTime.Now, attemptScore);
            testAttemptList.Add(testAttempt);
            
            attemptScore = (float?)0.65;
            testAttempt = new AttemptResult(1, testUser1, testTheme2, new CompletionStatus(), new AttemptStatus(), new SuccessStatus(), null, attemptScore);
            testAttemptList.Add(testAttempt);

            attemptScore = (float?)0.85;
            testAttempt = new AttemptResult(1, testUser2, testTheme1, new CompletionStatus(), new AttemptStatus(), new SuccessStatus(), DateTime.Now, attemptScore);
            testAttemptList.Add(testAttempt);

            attemptScore = (float?)0.95;
            testAttempt = new AttemptResult(1, testUser2, testTheme2, new CompletionStatus(), new AttemptStatus(), new SuccessStatus(), null, attemptScore);
            testAttemptList.Add(testAttempt);

            testUserList.Add(testUser1);
            testThemeList.Add(testTheme1);
            testUserList.Add(testUser2);
            testThemeList.Add(testTheme2);

            this._LastAttempts = testAttemptList;
            this.SelectGroupStudents = testUserList;
            this.SelectCurriculumThemes = testThemeList;
        }
        public void CalculateSpecializedResultTest()
        {
            IUDICO.Common.Models.User usr = new IUDICO.Common.Models.User()
            {
                Username = "******"
            };
            IUDICO.Common.Models.Theme thm = new IUDICO.Common.Models.Theme()
            {
                Name = "Theme One"
            };
            IUDICO.Common.Models.Shared.Statistics.AttemptResult AR = new IUDICO.Common.Models.Shared.Statistics.AttemptResult(1, usr, thm, IUDICO.Common.Models.Shared.Statistics.CompletionStatus.Completed, IUDICO.Common.Models.Shared.Statistics.AttemptStatus.Completed, IUDICO.Common.Models.Shared.Statistics.SuccessStatus.Passed, DateTime.Now, 0.5f);

            ThemeResult          themeRes = new ThemeResult(usr, thm);
            List <AttemptResult> ARL      = new List <AttemptResult>();

            ARL.Add(AR);
            themeRes.AttemptResults = ARL;
            themeRes.GetThemeResultScore();

            CurriculumResult currRes = new CurriculumResult();

            currRes.ThemeResult.Add(themeRes);
            Curriculum curr = null;

            currRes.CalculateSumAndMax(usr, curr);

            SpecializedResult target = new SpecializedResult();

            target.CurriculumResult.Add(currRes);
            target.CalculateSpecializedResult(usr);

            double?ExpectedSum     = 50.0;
            double?ExpectedMax     = 100.0;
            double?ExpectedPercent = 50.0;
            char   ExpextedECTS    = 'F';

            Assert.AreEqual(ExpectedSum, target.Sum);
            Assert.AreEqual(ExpectedMax, target.Max);
            Assert.AreEqual(ExpectedPercent, target.Percent);
            Assert.AreEqual(ExpextedECTS, target.ECTS);
        }
        public MembershipCreateStatus CreateUser(string username, string password, string email, string openId, bool isApproved)
        {
            try
            {
                var user = new User
                {
                    Username = username,
                    Password = password,
                    Email = email,
                    IsApproved = isApproved
                };

                _UserStorage.CreateUser(user);

                return MembershipCreateStatus.Success;
            }
            catch (Exception)
            {
                return MembershipCreateStatus.ProviderError;
            }
        }
        public User GetCurrentUser()
        {
            if (HttpContext.Current.User == null)
            {
                var user = new User {RoleId = (int) Role.None};

                return user;
            }

            var identity = HttpContext.Current.User.Identity;

            if (!identity.IsAuthenticated)
            {
                return null;
            }

            using (var db = new UserManagementDBContext())
            {
                return db.Users.Where(u => u.Username == identity.Name).FirstOrDefault();
            }
        }
        public virtual User GetCurrentUser()
        {
            if (HttpContext.Current == null || HttpContext.Current.User == null)
            {
                var userrole = new UserRole {RoleRef = (int)Role.None};
                var user = new User();

                user.UserRoles.Add(userrole);

                return user;
            }

            var identity = HttpContext.Current.User.Identity;

            if (!identity.IsAuthenticated)
            {
                return null;
            }

            var db = GetDbContext();

            return db.Users.Where(u => u.Username == identity.Name).FirstOrDefault();
        }
Exemple #19
0
        public ActionResult Create(User user)
        {
            if (user.OpenId == null)
            {
                user.OpenId = string.Empty;
            }
            
            if (ModelState.IsValid)
            {
                if (!_Storage.UsernameExists(user.Username))
                {
                    _Storage.CreateUser(user);

                    return RedirectToAction("Index");
                }
                
                ModelState.AddModelError("Username", "User with such username already exists.");
            }

            user.Password = null;
            //user.RolesList = _Storage.GetRoles().AsQueryable().Select(r => new SelectListItem { Text = IUDICO.UserManagement.Localization.getMessage(r.ToString()), Value = ((int)r).ToString(), Selected = false });

            return View(user);
        }
        public void CalculateSumAndMaxTest()
        {
            IUDICO.Common.Models.User usr = new IUDICO.Common.Models.User() { Username = "******" };
            IUDICO.Common.Models.Theme thm = new IUDICO.Common.Models.Theme() { Name = "Theme One" };
            IUDICO.Common.Models.Shared.Statistics.AttemptResult AR = new IUDICO.Common.Models.Shared.Statistics.AttemptResult(1,usr,thm, IUDICO.Common.Models.Shared.Statistics.CompletionStatus.Completed, IUDICO.Common.Models.Shared.Statistics.AttemptStatus.Completed,IUDICO.Common.Models.Shared.Statistics.SuccessStatus.Passed, DateTime.Now, 0.5f);
            ThemeResult themeRes = new ThemeResult(usr, thm);
            List<IUDICO.Common.Models.Shared.Statistics.AttemptResult> ARL = new List<IUDICO.Common.Models.Shared.Statistics.AttemptResult>();
            ARL.Add(AR);
            themeRes.AttemptResults = ARL;
            themeRes.GetThemeResultScore();

            CurriculumResult target = new CurriculumResult();

            target.ThemeResult.Add(themeRes);

            Curriculum curr = null;
            target.CalculateSumAndMax(usr, curr);

            double? SumExpected = 50.0;
            double? MaxExpected = 100.0;

            Assert.AreEqual(SumExpected, target.Sum);
            Assert.AreEqual(MaxExpected, target.Max);
        }
Exemple #21
0
 public double GetStudentResultForTheme(User selectStudent, Theme selectTheme)
 {
     if (_LastAttempts.Count != 0)
     {
         if (_LastAttempts.Single(x => x.User == selectStudent & x.Theme == selectTheme).Score.ToPercents() != null)
         {
             double? result =_LastAttempts.Single(x => x.User == selectStudent & x.Theme == selectTheme).Score.ToPercents();
             if (result.HasValue == true)
                 return Math.Round((double)result,2);
             else
                 return 0;
         }
         else
             return 0;
     }
     else
         return 0;
 }
Exemple #22
0
 public IEnumerable<Group> GetGroupsByUser(User user)
 {
     throw new NotImplementedException();
 }
Exemple #23
0
 public IEnumerable<AttemptResult> GetResults(User user, Theme theme)
 {
     IEnumerable<AttemptResult> result = MlcProxy.GetResults(user, theme);
     return result;
 }
Exemple #24
0
 public IEnumerable<Course> GetCourses(User owner)
 {
     return GetDbContext().Courses.Where(i => i.Owner == owner.Username && i.Deleted == false);
 }
Exemple #25
0
 public IEnumerable<Course> GetCourses(User owner)
 {
     return courses.Where(item => item.Owner == owner.Username);
 }
 public IEnumerable<Curriculum> GetCurriculumsWithThemesOwnedByUser(User user)
 {
     IEnumerable<int> courseIds = GetCoursesOwnedByUser(user)
         .Select(item => item.Id)
         .ToList();
     return GetCurriculums()
         .Where(item => GetThemesByCurriculumId(item.Id)
                      .Any(theme => courseIds.Contains(theme.CourseRef)));
 }
Exemple #27
0
 public long GetAttempId(User selectStudent, Theme selectTheme)
 {
     AttemptResult res = _LastAttempts.Find(x => x.User == selectStudent & x.Theme == selectTheme);
     if (res != null)
         return res.AttemptId;
     return -1;
 }
Exemple #28
0
 public bool NoData(User selectStudent, Theme selectTheme)
 {
     AttemptResult res = _LastAttempts.Find(x => x.User == selectStudent & x.Theme == selectTheme);
     if (res != null)
         return false;
     return true;
 }
Exemple #29
0
        public double GetStudentResultForAllThemesInSelectedCurriculum(User selectStudent)
        {
            double result = 0;

            if (_LastAttempts.Count != 0)
            {
                foreach (Theme theme in SelectCurriculumThemes)
                {                    
                    if (_LastAttempts.Count(x => x.User == selectStudent & x.Theme == theme) != 0)
                    {
                        double? value = _LastAttempts.First(x => x.User == selectStudent & x.Theme == theme).Score.ToPercents();
                        if (value.HasValue == true)
                            result += Math.Round((double)value, 2);
                    }
                }
            }

            return result;
        }
 public IEnumerable<Group> GetGroupsByUser(User user)
 {
     return _LmsService.FindService<IUserService>().GetGroupsByUser(user);
 }
        public IEnumerable<ThemeDescription> GetThemesAvailableForUser(User user)
        {
            IEnumerable<Group> groups = GetGroupsByUser(user).ToList(); //get groups for user
            DateTime dateTime = DateTime.Now;
            List<ThemeDescription> result = new List<ThemeDescription>();

            var curriculumAssignments = groups.SelectMany(group => GetCurriculumAssignmentsByGroupId(group.Id)) //get curriculum assignments
                   .Where(curriculumAssignment => GetCurriculumAssignmentTimelines(curriculumAssignment.Id) //select those curriculum assignments,
                   .Any(timeline => dateTime.IsIn(timeline))); //for which specified date is in any of the curriculum assignment timelines

            foreach (CurriculumAssignment curriculumAssignment in curriculumAssignments)
            {
                //get stages
                foreach (Stage stage in GetStages(curriculumAssignment.CurriculumRef))
                {
                    var stageTimelines = GetStageTimelines(stage.Id, curriculumAssignment.Id)
                                        .ToList();
                    //select those stages, which doesn't have stage timelines or for which specified date is in any of the stage timelines
                    if (stageTimelines.Count() == 0 || stageTimelines.Any(timeline => dateTime.IsIn(timeline)))
                    {
                        //get themes
                        //result.AddRange(GetThemesByStageId(stage.Id));
                        foreach (Theme theme in GetThemesByStageId(stage.Id))
                        {
                            result.Add(new ThemeDescription()
                            {
                                Theme = theme,
                                Stage = stage,
                                Curriculum = stage.Curriculum,
                                Timelines = stageTimelines.Count() == 0 ?
                                    GetCurriculumAssignmentTimelines(curriculumAssignment.Id)
                                        .Where(timeline => dateTime.IsIn(timeline)).ToList() :
                                    stageTimelines
                                        .Where(timeline => dateTime.IsIn(timeline)).ToList()
                            });
                        }
                    }
                };
            }

            return result;
        }
Exemple #32
0
 /// <summary>
 /// Gets AttemptResult (result) by user, theme using method GetResults(User user, Theme theme) from IUserService .
 /// </summary>
 /// <param name="user">IUDICO.Common.Models.User Selected user .</param>
 /// <param name="theme">IUDICO.Common.Models.Theme Selected theme .</param>
 /// <returns>IEnumerable<AttemptResult> User theme results .</returns>
 public IEnumerable<AttemptResult> GetResults(User user, Theme theme)
 {
     return _LmsService.FindService<ITestingService>().GetResults(user, theme);
 }