Exemple #1
0
        public ActionResult Update(Publication publication)
        {
            List <MySqlParameter> parameters = new List <MySqlParameter>();
            string TimeOfViewParam           = "@tov";

            if (publication.TimeOfView > 0)
            {
                parameters.Add(new MySqlParameter("@tov", publication.TimeOfView));
            }
            else
            {
                TimeOfViewParam = "default";
            }

            if (publication.ExpiryDate < DateTime.Now.Date)
            {
                ViewBag.Status        = false;
                ViewBag.StatusMessage = "Please input Expiry Date.";
                return(View());
            }

            parameters.Add(new MySqlParameter("@expdate", publication.ExpiryDate));
            bool rlt = Mysqldb.Update($"update publications set TimeOfView={TimeOfViewParam}, ExpiryDate=@expdate where ID={publication.ID}", parameters);

            if (rlt)
            {
                ViewBag.Status        = true;
                ViewBag.StatusMessage = "Publication Updated Successfully.";
                TempData["ID"]        = publication.ID;
                PublicationsOnChange(publication.GetHashCode());
            }
            return(View(publication));
        }
Exemple #2
0
        public ActionResult Index()
        {
            List <Publication> publications = new List <Publication>();
            bool rlt = false;

            if (Session["UserItem"] != null)
            {
                rlt = true;
            }

            DataSet ds = Mysqldb.Select($"select * from publications where ExpiryDate>='{DateTime.Now.Date:yyyy-MM-dd}' order by ExpiryDate");

            for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
            {
                Publication pub = new Publication();
                pub.ID         = Convert.ToInt32(ds.Tables[0].Rows[i]["ID"].ToString());
                pub.TimeOfView = Convert.ToInt32(ds.Tables[0].Rows[i]["TimeOfView"].ToString());
                pub.ExpiryDate = Convert.ToDateTime(ds.Tables[0].Rows[i]["ExpiryDate"].ToString());
                pub.ImageData  = (byte[])ds.Tables[0].Rows[i]["Image"];
                publications.Add(pub);
            }

            ViewBag.auth = rlt;
            return(View(publications));
        }
Exemple #3
0
        public ActionResult Index(User user)
        {
            if (user.Email == null || user.Pwd == null)
            {
                return(View());
            }

            string  email = user.Email;
            string  pwd   = user.Pwd;
            DataSet ds    = Mysqldb.Select("select * from users where Email='" + email + "'");

            if (ds.Tables[0] != null)
            {
                if (ds.Tables[0].Rows.Count > 0)
                {
                    int    dbid      = (int)ds.Tables[0].Rows[0][0];
                    string dbpwd     = ds.Tables[0].Rows[0][3].ToString();
                    string dbusrname = ds.Tables[0].Rows[0][1].ToString();
                    if (dbpwd == pwd)
                    {
                        user.ID             = dbid;
                        user.Username       = dbusrname;
                        Session.Timeout     = 30;
                        Session["UserItem"] = user;

                        return(RedirectToAction("Index", "Management"));
                    }
                }
            }
            return(View());
        }
Exemple #4
0
 private bool PublicationsOnChange(int ObjectHashCode)
 {
     using (SHA256 sha256 = SHA256.Create())
     {
         string hashedcode = Cryption.Encrypt(sha256, Convert.ToBase64String(BitConverter.GetBytes(ObjectHashCode)));
         return(Mysqldb.Update($"update tables_onchange set Value='{hashedcode}' where TableName='publications'"));
     }
 }
Exemple #5
0
        public ActionResult Delete(int id)
        {
            Mysqldb.Delete($"delete from publications where ID={id}");
            Publication pub = new Publication
            {
                ID = id
            };

            PublicationsOnChange(pub.GetHashCode());
            return(RedirectToAction("Index", "Management"));
        }
        public static List <Publication> GetPublications()
        {
            // This method gets only continues publications
            List <Publication> rlt = new List <Publication>();

            //This Get publications with sql query.
            DataSet ds = Mysqldb.Select($"select * from publications where ExpiryDate>='{DateTime.Now.Date:yyyy-MM-dd}'");

            //This Loop on dataset table rows.
            for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
            {
                //This Get image bytes.
                byte[] imgbyte = (byte[])ds.Tables[0].Rows[i]["Image"];

                //This create instance MemoryStream with give image bytes.
                using (MemoryStream ms = new MemoryStream(imgbyte))
                {
                    //This create new instance of BitmapImage and initialize image bytes.
                    var imageSource = new BitmapImage
                    {
                        CreateOptions = BitmapCreateOptions.PreservePixelFormat
                    };
                    imageSource.BeginInit();
                    imageSource.StreamSource = ms;
                    imageSource.CacheOption  = BitmapCacheOption.OnLoad;
                    imageSource.EndInit();

                    //This create new instance of publication and set properties.
                    Publication pub = new Publication
                    {
                        ID         = Convert.ToInt32(ds.Tables[0].Rows[i]["ID"]),
                        Image      = imageSource,
                        TimeOfView = Convert.ToInt32(ds.Tables[0].Rows[i]["TimeOfView"]),
                        ExpiryDate = Convert.ToDateTime(ds.Tables[0].Rows[i]["ExpiryDate"])
                    };

                    // Add to list to return
                    rlt.Add(pub);
                }
            }

            // Get Publications On Change Hashcode.
            PublicationBase.PublicationOnChange =
                Mysqldb.Select("select * from tables_onchange where TableName='publications'").Tables[0].Rows[0]["Value"].ToString();

            return(rlt);
        }
Exemple #7
0
        public ActionResult Create(Publication publication)
        {
            if (publication.Image != null)
            {
                using (Stream istream = publication.Image.InputStream)
                {
                    using (MemoryStream ms = new MemoryStream())
                    {
                        publication.Image.InputStream.CopyTo(ms);
                        byte[] image = ms.ToArray();

                        var    Parameters      = new List <MySqlParameter>();
                        string TimeOfViewParam = "default";
                        if (publication.TimeOfView > 0)
                        {
                            TimeOfViewParam = "@tov";
                            Parameters.Add(new MySqlParameter("@tov", publication.TimeOfView));
                        }

                        if (publication.ExpiryDate < DateTime.Now.Date)
                        {
                            ViewBag.Status        = false;
                            ViewBag.StatusMessage = "Please input Expiry Date.";
                            return(View());
                        }

                        Parameters.AddRange(new MySqlParameter[]
                        {
                            new MySqlParameter("@expdate", publication.ExpiryDate.Date.ToString("yyyy-MM-dd")),
                            new MySqlParameter("@image", image)
                        });
                        if (Mysqldb.Insert($"insert into publications(TimeOfView,ExpiryDate,Image) values({TimeOfViewParam},@expdate,@image)", Parameters))
                        {
                            ViewBag.Status        = true;
                            ViewBag.StatusMessage = "Publication Added Successfully.";
                            PublicationsOnChange(publication.GetHashCode());
                        }
                    }
                }
            }
            else
            {
                ViewBag.Status        = false;
                ViewBag.StatusMessage = "Publication adding failed.";
            }
            return(View());
        }
Exemple #8
0
        protected void login_Click(object sender, EventArgs e)
        {
            string sn   = userid.Text.Trim();
            string name = username.Text.Trim();
            string pwd  = password.Text.Trim();
            string sql  = null;

            useridValidator.Validate();
            usernameRequiredFieldValidator3.Validate();
            passwordCustomValidator.Validate();
            if (useridValidator.IsValid && usernameRequiredFieldValidator3.IsValid && passwordCustomValidator.IsValid)
            {
                try
                {
                    sql = "select * from user where sn = @sn and name = @name and password = @pwd";

                    Mysqldb         mysqldb    = new Mysqldb();
                    MySqlConnection connection = mysqldb.getConnection();
                    MySqlCommand    cmd        = mysqldb.getCommand(connection);
                    cmd.CommandText = sql;
                    cmd.Parameters.AddWithValue("@sn", sn);
                    cmd.Parameters.AddWithValue("@name", name);
                    cmd.Parameters.AddWithValue("@pwd", pwd);
                    MySqlDataReader reader = mysqldb.ExceSql_getDataReader(cmd, connection);
                    if (reader.HasRows)
                    {
                        //code here if the login is valid
                        mysqldb.Close();
                        // 将学生姓名、学号存储在 session 中
                        Session["sn"]       = sn;
                        Session["username"] = name;
                        Response.Redirect("Default.aspx");
                    }
                    else
                    {
                        login_result.Text = "<a class='error'>学号、姓名、密码错误或者不存在</a>";
                    }
                }
                catch (Exception error)
                {
                    //login_result.Text = "<a class='error'>服务器繁忙,请稍后重试</a>";
                    login_result.Text = error.ToString();
                    Console.WriteLine("An error occurred when connection trys to connect: '{0}'", error);
                }
            }
        }
Exemple #9
0
        protected void signup_Click(object sender, EventArgs e)
        {
            string sql      = null;
            string userid   = userid_sign.Text.Trim();
            string email    = email_sign.Text.Trim();
            string username = username_sign.Text.Trim();
            string pwd      = password_sign.Text.Trim();

            userid_signCustomValidator2.Validate();
            username_signRequiredFieldValidator1.Validate();
            email_signValidator1.Validate();
            passwordValidator.Validate();
            PasswordCompareValidator.Validate();
            if (userid_signCustomValidator2.IsValid && username_signRequiredFieldValidator1.IsValid && email_signValidator1.IsValid && passwordValidator.IsValid && PasswordCompareValidator.IsValid)
            {
                try
                {
                    sql = "insert into user (sn, name, password, email) values (@userid, @username, @pwd, @email)";
                    Mysqldb         mysqldb    = new Mysqldb();
                    MySqlConnection connection = mysqldb.getConnection();
                    MySqlCommand    cmd        = mysqldb.getCommand(connection);
                    cmd.CommandText = sql;
                    cmd.Parameters.AddWithValue("@userid", userid);
                    cmd.Parameters.AddWithValue("@username", username);
                    cmd.Parameters.AddWithValue("@pwd", pwd);
                    cmd.Parameters.AddWithValue("@email", email);
                    if (mysqldb.ExceSql(cmd, connection))
                    {
                        //成功插入,注册成功,重新登陆
                        mysqldb.Close();
                        this.RegisterStartupScript("hello", "<script>alert('注册成功,请登录!')</script>");
                    }
                    else
                    {
                        login_result.Text = "<a class='error'>注册失败,请稍后重试</a>";
                    }
                }
                catch (Exception error)
                {
                    //login_result.Text = "<a class='error'>服务器繁忙,请稍后重试</a>";
                    login_result.Text = error.ToString();
                    Console.WriteLine("An error occurred when connection trys to connect: '{0}'", error);
                }
            }
        }
Exemple #10
0
        public void GetHistory()
        {
            string          userId     = Session["sn"].ToString();
            string          sql        = "select id, examId, score, datetime from exam_record where userId = @userId";
            Mysqldb         mysqldb    = new Mysqldb();
            MySqlConnection connection = mysqldb.getConnection();
            MySqlCommand    cmd        = mysqldb.getCommand(connection);

            cmd.CommandText = sql;
            cmd.Parameters.AddWithValue("@userId", userId);
            MySqlDataAdapter da = new MySqlDataAdapter();

            connection.Open();
            da.SelectCommand = cmd;
            DataSet ds = new DataSet();

            da.Fill(ds, "history");
            GridView_Exam_History.DataSource = ds;
            GridView_Exam_History.DataBind();
            connection.Close();
        }
Exemple #11
0
        public ActionResult Update(int id = 0)
        {
            Publication pub = new Publication();

            TempData["ID"] = id;
            if (id > 0)
            {
                DataSet ds = Mysqldb.Select($"select * from publications where ID={id}");
                if (ds.Tables.Count > 0)
                {
                    pub.ID         = Convert.ToInt32(ds.Tables[0].Rows[0]["ID"].ToString());
                    pub.TimeOfView = Convert.ToInt32(ds.Tables[0].Rows[0]["TimeOfView"].ToString());
                    pub.ExpiryDate = Convert.ToDateTime(ds.Tables[0].Rows[0]["ExpiryDate"].ToString());
                    PublicationsOnChange(pub.GetHashCode());
                }

                return(View(pub));
            }

            return(View());
        }
        //This method check on change status.
        public static string OnChange()
        {
            string rlt = null;
            //Get publications table hashcode.
            DataSet ds = Mysqldb.Select("select * from tables_onchange where TableName='publications'");

            if (ds.Tables[0].Rows.Count > 0)
            {
                if (PublicationBase.PublicationOnChange == null)
                {
                    PublicationBase.PublicationOnChange = ds.Tables[0].Rows[0]["Value"].ToString();
                }
                else
                {
                    string poc = ds.Tables[0].Rows[0]["Value"].ToString();
                    if (poc != PublicationBase.PublicationOnChange)
                    {
                        rlt = poc;
                    }
                }
            }
            return(rlt);
        }
Exemple #13
0
        public MainWindow()
        {
            InitializeComponent();

            // Initialize mysql database connection.
            Mysqldb.Open();


            // Get publications list.
            publications = PublicationServices.GetPublications();

            // Check publications count bigger than 0.
            if (publications.Count > 0)
            {
                //Check first publication expiry date is expired or not.
                if (publications[0].ExpiryDate < DateTime.Now.Date)
                {
                    //Remove first publication from list
                    publications.RemoveAt(0);
                }

                //Set first index publication to image view.
                SlaytShow.Dispatcher.Invoke(() => { SlaytShow.Source = publications[0].Image; });
                //Set animation slider.
                InitProgressAnimation(publications[0].TimeOfView);
                pubIndx++;
            }
            else
            {
                // Set default image when no publications stored in db.
                SlaytShow.Source = GetDefaultImage();
                InitProgressAnimation(DefaultTimeOfView);
                SlaytShowProgress.Visibility = Visibility.Hidden;
                SlaytShow.Margin             = new Thickness(0, 0, 0, 0);
            }
        }
Exemple #14
0
        protected void Submit1_Click(object sender, EventArgs e)
        {
            if (count_total == 15)
            {
                Mysqldb         mysqldb                = new Mysqldb();
                MySqlConnection connection             = mysqldb.getConnection();
                MySqlCommand    cmd                    = mysqldb.getCommand(connection);
                ArrayList       questions_one_chosed   = null;
                ArrayList       questions_more_chosed  = null;
                ArrayList       questions_judge_chosed = null;

                ConnectMongo();

                int       score_total              = 0;
                string    userid                   = Session["sn"].ToString();
                Hashtable Question_Save            = (Hashtable)Session["Question_Save"];
                ArrayList question_one             = (ArrayList)Question_Save["questions_one"];
                ArrayList question_more            = (ArrayList)Question_Save["questions_more"];
                ArrayList question_judge           = (ArrayList)Question_Save["questions_judge"];
                Hashtable hashtable_question_one   = Exam_Drector.Get_Score(DataList_Questoin_One, question_one, "questions_one");
                Hashtable hashtable_question_more  = Exam_Drector.Get_Score(DataList_Questoin_More, question_more, "questions_more");
                Hashtable hashtable_question_judge = Exam_Drector.Get_Score(DataList_Questoin_Judge, question_judge, "questions_judge");
                score_total = Convert.ToInt32(hashtable_question_one["questions_one_score"]) + Convert.ToInt32(hashtable_question_more["questions_more_score"]) + Convert.ToInt32(hashtable_question_judge["questions_judge_score"]);
                Session["hashtable_question_one"]   = hashtable_question_one;
                Session["hashtable_question_more"]  = hashtable_question_more;
                Session["hashtable_question_judge"] = hashtable_question_judge;
                Session["score_total"] = score_total;
                count_total            = 0;                 // 对进度条清0
                // 存储这次考试记录
                DateTime datetime = DateTime.Now;
                string   exam_id  = userid.ToString() + "_" + datetime.ToString();
                string   sql      = "insert into exam_record (userId, examId, score, datetime) VALUES (@userid, @exam_id, @score_total, @datetime)";
                cmd.CommandText = sql;
                cmd.Parameters.AddWithValue("@userid", userid);
                cmd.Parameters.AddWithValue("@exam_id", exam_id);
                cmd.Parameters.AddWithValue("@score_total", score_total.ToString());
                cmd.Parameters.AddWithValue("@datetime", datetime.ToString());
                if (mysqldb.ExceSql(cmd, connection))
                {
                    //成功插入
                    mysqldb.Close();
                }
                else
                {
                    Response.Write("mysql 插入失败");
                }
                mysqldb.ExceSql(cmd, connection);
                // 将这次考试的试题信息,以及答题信息存储到 mongodb 中
                var document = new BsonDocument
                {
                    { "examId", exam_id },
                };
                // 用户题目 选择
                question_one   = ArraylistToObject(question_one);
                question_more  = ArraylistToObject(question_more);
                question_judge = ArraylistToObject(question_judge);

                questions_one_chosed   = (ArrayList)hashtable_question_one["questions_one_chosed"];
                questions_more_chosed  = (ArrayList)hashtable_question_more["questions_more_chosed"];
                questions_judge_chosed = (ArrayList)hashtable_question_judge["questions_judge_chosed"];

                var question_one_save = new List <ArrayList> {
                    question_one
                };
                var question_more_save = new List <ArrayList> {
                    question_more
                };
                var question_judge_save = new List <ArrayList> {
                    question_judge
                };

                var question_one_chosed_save = new List <ArrayList> {
                    questions_one_chosed
                };
                var question_more_chosed_save = new List <ArrayList> {
                    questions_more_chosed
                };
                var question_judge_chosed_save = new List <ArrayList> {
                    questions_judge_chosed
                };

                document.Add("question_one", new BsonArray(question_one_save));
                document.Add("question_more", new BsonArray(question_more_save));
                document.Add("question_judge", new BsonArray(question_judge_save));
                document.Add("questions_one_chosed", new BsonArray(question_one_chosed_save));
                document.Add("questions_more_chosed", new BsonArray(question_more_chosed_save));
                document.Add("questions_judge_chosed", new BsonArray(question_judge_chosed_save));

                //document.Add("question_chosed", new BsonArray(question_chosed));
                mongodb.GetCollection("exam");
                mongodb.Insert(document);
                Response.Redirect("~/Result.aspx");
            }
            else
            {
#pragma warning disable CS0618 // 类型或成员已过时
                this.RegisterStartupScript("hello", "<script>alert('还有题目未完成哦!')</script>");
#pragma warning restore CS0618 // 类型或成员已过时
            }
        }