private void ActivateStatus()
        {
            tournamentDetails.tournamentStatus = 2;
            List <Team>         team         = TeamHelper.GetTeam(tournamentDetails);
            List <GameOfficial> gameofficial = GameOfficialHelper.GetAllGameOfficial(tournamentDetails);
            List <Player>       player       = PlayerHelper.GetPlayer(tournamentDetails);
            List <Venue>        venue        = VenueHelper.GetVenue();

            /* if(tournamentDetails.ValidationOfActivation(team,gameofficial,player) != true)
             * {
             *   MessageBox.Show("Error Activating");
             *   return;
             * }
             */

            List <Match> match = Match.GenerateMatch(team, venue, tournamentDetails);

            foreach (Match m in match)
            {
                MatchHelper.SaveMatch(m);
            }

            if (TournamentHelper.UpdateTournamentStatus(tournamentDetails) == 0)
            {
                //report an error
                MessageBox.Show("Error activating tournament");
                this.DialogResult = System.Windows.Forms.DialogResult.Cancel;
            }
            this.DialogResult = System.Windows.Forms.DialogResult.OK;
        }
        private void ActivateStatus()
        {
            int si = 0;

            try
            {
                si = lvwTournaments.SelectedItems[0].Index;
            }
            catch { return; }

            Tournament selectedTournament = list[si];

            selectedTournament.tournamentStatus = 2;
            List <Team>         team         = TeamHelper.GetTeam(selectedTournament);
            List <GameOfficial> gameofficial = GameOfficialHelper.GetAllGameOfficial(selectedTournament);
            List <Player>       player       = PlayerHelper.GetPlayer(selectedTournament);
            List <Venue>        venue        = VenueHelper.GetVenue();

            if (selectedTournament.ValidationOfActivation(team, gameofficial, player) != true)
            {
                MessageBox.Show("Cannot Activate because you need follow the rules activating the tourmament[2 Teams] And [2 Game Official] require");
                return;
            }


            List <Match> match = Match.GenerateMatch(team, venue, selectedTournament);

            foreach (Match m in match)
            {
                MatchHelper.SaveMatch(m);
            }

            if (TournamentHelper.UpdateTournamentStatus(selectedTournament) == 0)
            {
                //report an error
                MessageBox.Show("Error activating tournament");
                this.DialogResult = System.Windows.Forms.DialogResult.Cancel;
            }
            lblStatus.Text               = "Activate";
            btnActivate.Visible          = false;
            btnPrint.Visible             = false;
            btnExportTeamRooster.Visible = true;
            btnClose.Visible             = true;
            displayTournament();
        }
示例#3
0
        public async Task <IActionResult> Edit(int?id)
        {
            if (id == null)
            {
                return(NotFound());
            }

            var liveShow = await _context.LiveShows.FindAsync(id);

            if (liveShow == null)
            {
                return(NotFound());
            }

            if (liveShow.EnteredBy != User.Identity.Name)
            {
                return(Unauthorized());
            }

            ViewData["Venues"] = await VenueHelper.GetVenuesAsync();

            return(View(liveShow));
        }
示例#4
0
        public async Task <IActionResult> Larsless()
        {
            var larlessErrors         = new Dictionary <string, string>();
            var ukprn                 = Session.GetInt32("UKPRN");
            var courseMigrationReport = await _courseService.GetCourseMigrationReport(ukprn.Value);

            if (!courseMigrationReport.IsSuccess)
            {
                throw new Exception(courseMigrationReport.Error + $"For UKPRN: {ukprn}");
            }

            var venues = await VenueHelper.GetVenueNames(courseMigrationReport.Value.LarslessCourses, _cosmosDbQueryDispatcher);

            var model = new LarslessViewModel
            {
                LarslessCourses = courseMigrationReport.Value
                                  .LarslessCourses
                                  .OrderBy(x => x.QualificationCourseTitle),
                Venues = venues
            };

            var errors         = new List <string>();
            var totalErrorList = new List <int>();

            var cachedQuals = new List <Lars>();

            foreach (var bulkUploadcourse in model.LarslessCourses)
            {
                if (!string.IsNullOrEmpty(bulkUploadcourse.LearnAimRef))
                {
                    var cachedResult = cachedQuals.FirstOrDefault(o => o.LearnAimRef == bulkUploadcourse.LearnAimRef);

                    List <Lars> results = null;

                    if (cachedResult == null)
                    {
                        results = _larsSearchClient.Search(new LarsLearnAimRefSearchQuery
                        {
                            LearnAimRef = bulkUploadcourse.LearnAimRef
                        }).GetAwaiter().GetResult().Items.Select(r => r.Record).ToList();

                        var qual = results.FirstOrDefault();

                        if (qual != null)
                        {
                            cachedQuals.Add(qual);
                        }
                    }
                    else
                    {
                        results = new List <Lars> {
                            cachedQuals.FirstOrDefault(o => o.LearnAimRef == bulkUploadcourse.LearnAimRef)
                        };
                    }

                    if (results.Count > 0)
                    {
                        if (results[0].CertificationEndDate != null && results[0].CertificationEndDate < DateTime.Now)
                        {
                            larlessErrors.Add(bulkUploadcourse.CourseId.Value.ToString(), "Expired LARS Code " + bulkUploadcourse.LearnAimRef);
                        }
                    }
                    else
                    {
                        larlessErrors.Add(bulkUploadcourse.CourseId.Value.ToString(), "Unrecognised LARS Code " + bulkUploadcourse.LearnAimRef);
                    }
                }
                else
                {
                    larlessErrors.Add(bulkUploadcourse.CourseId.Value.ToString(), "Missing LARS");
                }
            }

            model.Errors = larlessErrors;
            return(View("Report/larsless", model));
        }
        public async Task <IActionResult> Index(PublishMode publishMode, string notificationTitle, Guid?courseId, Guid?courseRunId, bool fromBulkUpload)
        {
            int?UKPRN = Session.GetInt32("UKPRN");

            if (!UKPRN.HasValue)
            {
                return(RedirectToAction("Index", "Home", new { errmsg = "Please select a Provider." }));
            }

            var coursesByUKPRN = (await _courseService.GetYourCoursesByUKPRNAsync(new CourseSearchCriteria(UKPRN))).Value;

            // Only display courses that have Lars and Qualification titles
            var courses = coursesByUKPRN.Value
                          .SelectMany(o => o.Value)
                          .SelectMany(i => i.Value)
                          .Where(c => !string.IsNullOrWhiteSpace(c.LearnAimRef) && !string.IsNullOrWhiteSpace(c.QualificationCourseTitle))
                          .ToList();

            courses = GetErrorMessages(courses, ValidationMode.MigrateCourse).ToList();

            PublishViewModel vm = new PublishViewModel();

            switch (publishMode)
            {
            case PublishMode.Migration:
                if (courses.Where(x => x.CourseRuns.Any(cr => cr.RecordStatus == RecordStatus.MigrationPending || cr.RecordStatus == RecordStatus.MigrationReadyToGoLive) && x.IsValid == false).Any())
                {
                    vm.PublishMode = PublishMode.Migration;

                    var migratedCourses           = courses.Where(x => x.CourseRuns.Any(cr => cr.RecordStatus == RecordStatus.MigrationPending || cr.RecordStatus == RecordStatus.MigrationReadyToGoLive));
                    var migratedCoursesWithErrors = GetErrorMessages(migratedCourses, ValidationMode.MigrateCourse).ToList();

                    vm.NumberOfCoursesInFiles = migratedCoursesWithErrors.SelectMany(s => s.CourseRuns.Where(cr => cr.RecordStatus == RecordStatus.MigrationPending ||
                                                                                                             cr.RecordStatus == RecordStatus.MigrationReadyToGoLive)).Count();

                    vm.Courses = migratedCoursesWithErrors.OrderBy(x => x.QualificationCourseTitle);
                    vm.AreAllReadyToBePublished = CheckAreAllReadyToBePublished(migratedCoursesWithErrors, PublishMode.Migration);
                    vm.Venues = VenueHelper.GetVenueNames(vm.Courses, _cosmosDbQueryDispatcher).Result;
                    break;
                }
                else
                {
                    return(View("../Migration/Complete/index"));
                }

            case PublishMode.BulkUpload:

                vm.PublishMode = PublishMode.BulkUpload;
                var bulkUploadedCourses = courses.Where(x => x.CourseRuns.Any(cr => cr.RecordStatus == RecordStatus.BulkUploadPending || cr.RecordStatus == RecordStatus.BulkUploadReadyToGoLive)).ToList();
                vm.NumberOfCoursesInFiles = bulkUploadedCourses.SelectMany(s => s.CourseRuns.Where(cr => cr.RecordStatus == RecordStatus.BulkUploadPending || cr.RecordStatus == RecordStatus.BulkUploadReadyToGoLive)).Count();
                vm.Courses = bulkUploadedCourses.OrderBy(x => x.QualificationCourseTitle);
                vm.AreAllReadyToBePublished = CheckAreAllReadyToBePublished(bulkUploadedCourses, PublishMode.BulkUpload);
                vm.Courses = GetErrorMessages(vm.Courses, ValidationMode.BulkUploadCourse);
                vm.Venues  = VenueHelper.GetVenueNames(vm.Courses, _cosmosDbQueryDispatcher).Result;
                break;

            case PublishMode.DataQualityIndicator:

                vm.PublishMode = PublishMode.DataQualityIndicator;
                var           validCourses         = courses.Where(x => x.IsValid && ((int)x.CourseStatus & (int)RecordStatus.Live) > 0);
                var           results              = _courseService.CourseValidationMessages(validCourses, ValidationMode.DataQualityIndicator).Value.ToList();
                var           invalidCoursesResult = results.Where(c => c.RunValidationResults.Any(cr => cr.Issues.Count() > 0));
                var           invalidCourses       = invalidCoursesResult.Select(c => (Course)c.Course).ToList();
                var           invalidCourseRuns    = invalidCourses.Select(cr => cr.CourseRuns.Where(x => x.StartDate < DateTime.Today));
                List <Course> filteredList         = new List <Course>();
                var           allRegions           = _courseService.GetRegions().RegionItems;
                foreach (var course in invalidCourses)
                {
                    var invalidRuns = course.CourseRuns.Where(x => x.StartDate < DateTime.Today);
                    if (invalidRuns.Any())
                    {
                        course.CourseRuns = invalidRuns;
                        filteredList.Add(course);
                    }
                }

                if (invalidCourseRuns.Count() == 0 && courseId != null && courseRunId != null)
                {
                    return(BadRequest());
                }

                vm.NumberOfCoursesInFiles = invalidCourses.Count();
                vm.Courses = filteredList.OrderBy(x => x.QualificationCourseTitle);
                vm.Venues  = VenueHelper.GetVenueNames(vm.Courses, _cosmosDbQueryDispatcher).Result;
                vm.Regions = allRegions;
                break;
            }

            vm.NotificationTitle = notificationTitle;
            vm.CourseId          = courseId;
            vm.CourseRunId       = courseRunId;

            if (vm.AreAllReadyToBePublished)
            {
                if (publishMode == PublishMode.BulkUpload)
                {
                    return(RedirectToAction("CoursesPublishFile", "Bulkupload", new { NumberOfCourses = courses.SelectMany(s => s.CourseRuns.Where(cr => cr.RecordStatus == RecordStatus.BulkUploadReadyToGoLive)).Count() })
                           .WithProviderContext(_providerContextProvider.GetProviderContext(withLegacyFallback: true)));
                }
            }
            else
            {
                if (publishMode == PublishMode.BulkUpload)
                {
                    var message = "";
                    if (fromBulkUpload)
                    {
                        var invalidCourseCount         = courses.Where(x => x.IsValid == false).Count();
                        var bulkUploadedPendingCourses = (courses.SelectMany(c => c.CourseRuns)
                                                          .Where(x => x.RecordStatus == RecordStatus.BulkUploadPending)
                                                          .Count());
                        message = "Your file contained " + bulkUploadedPendingCourses + @WebHelper.GetErrorTextValueToUse(bulkUploadedPendingCourses) + ". You must resolve all errors before your courses information can be published.";
                        return(RedirectToAction("WhatDoYouWantToDoNext", "Bulkupload", new { message = message }));
                    }
                }
            }

            return(View("Index", vm));
        }
 public DetailsModel(CovidTrackerContext db)
 {
     _uHelper = new UserHelper(db);
     _vHelper = new VenueHelper(db);
 }
示例#7
0
        public async Task <IActionResult> Create()
        {
            ViewData["Venues"] = await VenueHelper.GetVenuesAsync();

            return(View());
        }