Example #1
0
        public static IEnumerable <ProfilePreviewData> GetProfilePackPreview(UserGroup group, string packTitle)
        {
            ProblemsPack pack = group.ProblemsPacks.Find(e => e.Title == packTitle);

            return(group.Users
                   .Select(user => new ProfilePreviewData(user.Username, pack.GetResults(user).SumOfPoint)));
        }
Example #2
0
        public static void SaveToExcel(ProblemsPack pack, List <LimpUser> users, string fileName)
        {
            using (var excel = new ExcelPackage(new FileInfo(fileName)))
            {
                var ws = excel.Workbook.Worksheets.Add("StudentGroup");
                int i  = 2;
                foreach (Problem problem in pack.Problems)
                {
                    ws.Cells[1, i].Value = problem.Title;
                    i++;
                }
                i = 2;
                foreach (LimpUser user in users)
                {
                    int k = 2;
                    ws.Cells[i, 1].Value = user.Username;
                    foreach (Problem problem in pack.Problems)
                    {
                        ws.Cells[i, k].Value = problem.GetUserResult(user);
                        k++;
                    }
                    i++;
                }

                excel.Save();
            }
        }
Example #3
0
        public void DeleteProblem(string userGroupTitle, ProblemsPack problemsPack, Problem problem)
        {
            UserGroup userGroup = _userGroupRepository.Read(userGroupTitle);

            userGroup.ProblemsPacks.Find(e => e.Title == problemsPack.Title).Problems.RemoveAll(e => e.Title == problem.Title);
            _userGroupRepository.Update(userGroup);
        }
 public ProblemPackSettings(UserGroup group, ProblemsPack pack, Action updateParentView)
 {
     InitializeComponent();
     _pack             = pack;
     _updateParentView = updateParentView;
     _group            = group;
     Update();
 }
Example #5
0
        private void CardTitle_OnClick(object sender, RoutedEventArgs e)
        {
            string       packTitle       = CardTitle.DataContext.ToString();
            ProblemsPack pack            = _group.ProblemsPacks.Find(p => p.Title == packTitle);
            var          resultGridBlock = new ResultGridBlock(_group.Users, pack);

            _navigateService.AddToViewList(CardTitle.DataContext.ToString(), resultGridBlock);
            _navigateService.OpenView(resultGridBlock);
        }
Example #6
0
        public ResultGridBlock(List <LimpUser> users, ProblemsPack pack)
        {
            InitializeComponent();
            _pack  = pack;
            _users = users;
            DataTable table = InitDataTable();

            ResGrid.ItemsSource = table.DefaultView;
        }
Example #7
0
 public ProblemSettingsControl(UserGroup group, ProblemsPack pack, Problem problem, Action updateUi)
 {
     InitializeComponent();
     Title.Content = problem.Title;
     _group        = group;
     _pack         = pack;
     _problem      = problem;
     _updateUI     = updateUi;
 }
Example #8
0
        public void Create(string userGroupTitle, ProblemsPack problemsPack)
        {
            UserGroup userGroup = _userGroupRepository.Read(userGroupTitle);

            if (userGroup.ProblemsPacks.Any(p => p.Title == problemsPack.Title))
            {
                throw new LimpStatsException("Pack with title already exist");
            }

            userGroup.ProblemsPacks.Add(problemsPack);
            _userGroupRepository.Update(userGroup);
        }
Example #9
0
        public void Delete(string userGroupTitle, ProblemsPack problemsPack)
        {
            UserGroup userGroup = _userGroupRepository.Read(userGroupTitle);

            int removedElementCount = userGroup.ProblemsPacks.RemoveAll(p => p.Title == problemsPack.Title);

            if (removedElementCount == 0)
            {
                throw new LimpStatsException("Group not found in json");
            }

            _userGroupRepository.Update(userGroup);
        }
        public ProblemPackWindow(ProblemsPack pack, UserGroup group)
        {
            InitializeComponent();
            Group     = group;
            PackTitle = pack.Title;
            IsUpdPack = true;
            var num = "";

            foreach (var problem in pack.Problems)
            {
                Panel.Children.Add(new ProblemTaskPreview(this, problem, num = Core.Tools.Tools.GenerateNextNumber(num)));
            }
            Panel.Children.Add(new ProblemTaskPreview(this, Core.Tools.Tools.GenerateNextNumber(num)));
        }
Example #11
0
 public void Update(string userGroupTitle, ProblemsPack problemsPack)
 {
     Delete(userGroupTitle, problemsPack);
     Create(userGroupTitle, problemsPack);
 }