void CheckPlayAssignment()
        {
            string play = Request.QueryString[FramesetQueryParameter.PlayAssignment];

            if (play == "true")
            {
                AssignmentObjectsFromQueryString objects = new AssignmentObjectsFromQueryString();
                objects.LoadObjects(SPWeb);
                SharePointFileLocation fileLocation = Package.CreateFileLocation(SPWeb, objects.File);

                AssignmentProperties assignment = AssignmentProperties.LoadSelfAssignmentForLocation(fileLocation, SlkStore);

                if (assignment != null)
                {
                    LearnerAssignmentGuidId           = assignment.Results[0].LearnerAssignmentGuidId;
                    learnerAssignmentGuidIdHasBeenSet = true;
                }
                else
                {
                    // Create the self assignment so Frameset can load
                    int organizationIndex = 0;  // Assume only one organization
                    LearnerAssignmentGuidId           = AssignmentProperties.CreateSelfAssignment(SlkStore, SPWeb, fileLocation, organizationIndex);
                    learnerAssignmentGuidIdHasBeenSet = true;
                }
            }
        }
        void AssignToSelf(bool useReferrerSource)
        {
            try
            {
                string source = null;
                if (useReferrerSource)
                {
                    source = Request.UrlReferrer.ToString();
                }
                else
                {
                    source = SourceHidden.Value;
                }

                Guid   learnerAssignmentGuidId = AssignmentProperties.CreateSelfAssignment(SlkStore, SPWeb, package.Location, OrganizationIndex);
                string url = SlkUtilities.UrlCombine(SPWeb.ServerRelativeUrl, Constants.SlkUrlPath, "Lobby.aspx");
                url = String.Format(CultureInfo.InvariantCulture, "{0}?{1}={2}&{3}={4}",
                                    url, FramesetQueryParameter.LearnerAssignmentId, learnerAssignmentGuidId.ToString(),
                                    "Source", System.Web.HttpUtility.UrlEncode(source));

                Response.Redirect(url, true);
            }
            catch (ThreadAbortException)
            {
                // Calling Response.Redirect throws a ThreadAbortException which will
                // flag an error in the next step if we don't do this.
                throw;
            }
            catch (SafeToDisplayException e)
            {
                errorBanner.Clear();
                errorBanner.AddError(ErrorType.Error, e.Message);
            }
            catch (Exception ex)
            {
                contentPanel.Visible = false;
                errorBanner.AddException(SlkStore, ex);
            }
        }