Exemplo n.º 1
0
        protected void Page_LoadComplete(object sender, EventArgs e)
        {
            if (ViewState["YCSId"] == null)
            {
                ReloadYCSId(null, null);
            }

            MySQLDatabase db        = new MySQLDatabase();
            var           teacherId = new UserTable <ApplicationUser>(db).GetUserId(User.Identity.Name);

            #region Load Mark
            int teacherSubjectId = Convert.ToInt32(
                db.QueryValue("getTeacherSubjectId",
                              new Dictionary <string, object>()
            {
                { "@TUN", User.Identity.Name },
                { "@ycsid", ViewState["YCSId"] },
                { "@psubjectid", ddlSubject.SelectedValue }
            },
                              true));
            var res2 = db.Query("getMarkPortionIdByTSId", new Dictionary <string, object>()
            {
                { "@TSId", teacherSubjectId }
            }, true);

            marks.Controls.Clear();
            //ViewState["clicks"] = new List<MarkPortion>();
            foreach (var item in res2)
            {
                MarkPortion markPortion = LoadControl("~/User Control/MarkPortion.ascx") as MarkPortion;
                markPortion.PortionName   = item["portionname"];
                markPortion.MarkPortionId = Convert.ToInt32(item["markportionid"]);
                var resMark = db.Query("getMarkByMPIdSIdTid",
                                       new Dictionary <string, object>()
                {
                    { "@MPId", item["markportionid"] },
                    { "@SId", ddlStudent.SelectedValue },
                    { "@Tid", ddlTerm.SelectedValue }
                }, true);
                if (resMark.Count == 0)
                {
                    markPortion.Mark   = null;
                    markPortion.MarkId = null;
                }
                else
                {
                    markPortion.Mark   = Convert.ToInt32(resMark[0]["mark"]);
                    markPortion.MarkId = Convert.ToInt32(resMark[0]["markid"]);
                }
                markPortion.SubmitClick += MarkPortion_SubmitClick;
                //AsyncPostBackTrigger trigger = new AsyncPostBackTrigger() { ControlID = markPortion.ID, EventName = "SubmitClick" };
                //up.Triggers.Add(trigger);
                //(ViewState["clicks"] as List<MarkPortion>).Add(markPortion);
                marks.Controls.Add(markPortion);
            }
            #endregion
        }
Exemplo n.º 2
0
        private void MarkPortion_SubmitClick(object sender, EventArgs e)
        {
            MySQLDatabase db        = new MySQLDatabase();
            var           teacherId = new UserTable <ApplicationUser>(db).GetUserId(User.Identity.Name);
            int           mark;
            MarkPortion   mp = (sender as MarkPortion);

            if (mp.MarkId == null)
            {
                if (int.TryParse(mp.Mark.ToString(), out mark))
                {
                    int SYCSRId = Convert.ToInt32(db.QueryValue("getSYCSRIdByYCSIdSId",
                                                                new Dictionary <string, object>()
                    {
                        { "@YCSId", ViewState["YCSId"] },
                        { "@SId", ddlStudent.SelectedValue }
                    },
                                                                true));

                    db.Execute("addMark", new Dictionary <string, object>()
                    {
                        { "@MPId", mp.MarkPortionId },
                        { "@SYCSRId", SYCSRId },
                        { "@termid", ddlTerm.SelectedValue },
                        { "@mark", mark },
                        { "@TUId", teacherId }
                    }, true);
                }
            }
            else
            {
                db.Execute("updateMark",
                           new Dictionary <string, object>()
                {
                    { "@pid", mp.MarkId },
                    { "@mark", mp.Mark }
                }, true);
            }
        }