コード例 #1
0
        public IActionResult Index()
        {
            if (!Middleware.CheckUserPermission(PermissionType.Admin, HttpContext))
            {
                return(RedirectToAction("Login", "User"));
            }

            List <Course> courses = CourseContainer.GetAll();

            // FIXME: Kan dit beter ?
            CourseListViewModel slvm = new CourseListViewModel();

            slvm.Courses = new List <CourseModel>();

            foreach (Course course in courses)
            {
                CourseModel temp = new CourseModel();

                temp.Id   = course.Id;
                temp.Name = course.Name;

                slvm.Courses.Add(temp);
            }

            return(View(slvm));
        }
コード例 #2
0
        public IActionResult Create(CourseModel courseModel)
        {
            if (!Middleware.CheckUserPermission(PermissionType.Admin, HttpContext))
            {
                return(RedirectToAction("Login", "User"));
            }

            CourseContainer.Save(courseModel);

            return(RedirectToAction("Index"));
        }
コード例 #3
0
        public IActionResult Remove(int id)
        {
            if (!Middleware.CheckUserPermission(PermissionType.Admin, HttpContext))
            {
                return(RedirectToAction("Login", "User"));
            }

            // TODO: Add validation message
            CourseContainer.Remove(id, SessionHandler.GetUserID(HttpContext));

            return(RedirectToAction("Index"));
        }
コード例 #4
0
        public IActionResult Edit(CourseModel courseModel)
        {
            if (!Middleware.CheckUserPermission(PermissionType.Admin, HttpContext))
            {
                return(RedirectToAction("Login", "User"));
            }

            if (CourseContainer.Update(courseModel))
            {
                return(RedirectToAction("Index"));
            }
            return(RedirectToAction("Edit", courseModel.Id));
        }
コード例 #5
0
        public IActionResult Edit(int id)
        {
            if (!Middleware.CheckUserPermission(PermissionType.Admin, HttpContext))
            {
                return(RedirectToAction("Login", "User"));
            }

            Course course = CourseContainer.GetCourseById(id);

            CourseModel courseModel = new CourseModel();

            courseModel.Id   = course.Id;
            courseModel.Name = course.Name;

            return(View(courseModel));
        }
コード例 #6
0
ファイル: View.ascx.cs プロジェクト: Jochumzen/CreateCourse
        protected void ReadFromControls(CourseContainer c, List <CourseItemEntity> cis)
        {
            string subjectStr = Page.Request.QueryString["s"];

            if (subjectStr != null)
            {
                int  subjectId;
                bool isNum = int.TryParse(subjectStr, out subjectId);
                if (isNum)
                {
                    c.TheCourse.SubjectId = subjectId;
                }
            }

            c.SetTitle(txtTitle.Text);
            c.CultureCode                = DDLanguage.SelectedValue;
            c.TheCourse.WhoCanEdit       = (EWhoCanEdit)Enum.Parse(typeof(EWhoCanEdit), rdbtnWhoCanEdit.SelectedValue);
            c.TheCourse.CreatedOnDate    = DateTime.Now;
            c.TheCourse.CreatedByUserId  = this.UserId;
            c.TheCourse.ModifiedOnDate   = DateTime.Now;;
            c.TheCourse.ModifiedByUserId = this.UserId;
            c.SetDescription(txtHtmlText.Text);

            // string is in form "44,45,48,52" holding PluggIDs
            string pluggtext = txtPluggs.Text.Trim();

            // Todo: Check that pluggtext is in the correct format before creating the Course

            CourseItemEntity ci;

            if (!string.IsNullOrEmpty(pluggtext))
            {
                string[] itempluggs = pluggtext.Split(',');

                for (int i = 0; i < itempluggs.Length; i++)
                {
                    ci          = new CourseItemEntity();
                    ci.ItemId   = Convert.ToInt32(itempluggs[i]);
                    ci.CIOrder  = i + 1;
                    ci.ItemType = ECourseItemType.Plugg;
                    ci.MotherId = 0;
                    cis.Add(ci);
                }
            }
        }
コード例 #7
0
ファイル: View.ascx.cs プロジェクト: Jochumzen/CreateCourse
        protected CourseContainer SaveCourse()
        {
            BaseHandler             bh  = new BaseHandler();
            CourseContainer         cc  = new CourseContainer(new Localization().CurrentCulture);
            List <CourseItemEntity> cis = new List <CourseItemEntity>();

            ReadFromControls(cc, cis);
            try
            {
                cc.TheCourse.CourseId = 0;
                bh.CreateCourse(cc);  //Create CoursePage, Course and CourseItems (only Pluggs)
            }
            catch (Exception ex)
            {
                lblError.Text = "Failed to create a Course: " + ex.Message;
                Exceptions.LogException(ex);
                cc.TheCourse.CourseId = 0;
            }

            return(cc);
        }
コード例 #8
0
        protected void Page_Load(object sender, EventArgs e)
        {
            try
            {
                Language = (Page as DotNetNuke.Framework.PageBase).PageCulture.Name;
                string courseStr = Page.Request.QueryString["c"];
                if (courseStr == null)
                {
                    HideButtons();
                    return;
                }
                bool isNum = int.TryParse(courseStr, out CourseId);
                if (!isNum)
                {
                    HideButtons();
                    return;
                }
                BaseHandler     bh = new BaseHandler();
                CourseContainer cc = new CourseContainer(Language, CourseId);
                if (cc.TheCourse == null)
                {
                    HideButtons();
                    return;
                }
                hlBackToCourse.NavigateUrl = DotNetNuke.Common.Globals.NavigateURL(cc.TheCourse.TabId, "", "");
                if (cc.TheCourse.CreatedInCultureCode != Language)
                {
                    hlIncorrectCC.Visible     = true;
                    hlIncorrectCC.NavigateUrl = DotNetNuke.Common.Globals.NavigateURL(TabId, "", "language=" + cc.TheCourse.CreatedInCultureCode, "c=" + CourseId);
                    HideButtons();
                    return;
                }
                string editStr      = Page.Request.QueryString["edit"];
                bool   IsAuthorized = ((this.UserId != -1 && cc.TheCourse.WhoCanEdit == EWhoCanEdit.Anyone) || cc.TheCourse.CreatedByUserId == this.UserId || (UserInfo.IsInRole("Administator")));

                if (!IsAuthorized)
                {
                    HideButtons();
                    BindTree();
                }
                if (editStr == "reorder")
                {
                    HideButtons();
                    btnSaveReordering.Visible   = true;
                    btnCancelReordering.Visible = true;
                    hdnSelectable.Value         = "true";
                    hdnDragAndDrop.Value        = "true";
                }
                if (editStr == "add")
                {
                    HideButtons();
                    hdnSelectable.Value  = "true";
                    pnlAddPluggs.Visible = true;
                }
                if (editStr == "remove")
                {
                    HideButtons();
                    hdnSelectable.Value            = "true";
                    btnRemoveSelectedPlugg.Visible = true;
                    btnCancelRemove.Visible        = true;
                }
                BindTree();
            }
            catch (Exception exc) //Module failed to load
            {
                Exceptions.ProcessModuleLoadException(this, exc);
            }
        }