Example #1
0
        public JsonResult Save(
            int id = 0,
            string _tenbaigiang = "",
            string[] _cacmonhoc = null,
            string _cactacgia   = "")
        {
            var stt    = false;
            var msg    = "";
            var strMon = ";";

            foreach (string m in _cacmonhoc)
            {
                strMon += m + ";";
            }
            strMon += ";";
            while (strMon.Contains(";;"))
            {
                strMon = strMon.Replace(";;", ";");
            }

            #region Phân tích request/submit form (nếu có)
            if (id < 1)
            {
                #region Thêm
                var exited = DBLibs.ExecuteScalar($"SELECT COUNT(*) FROM BaiGiang WHERE TenBaiGiang = N'{_tenbaigiang.Replace("'", "''").Trim()}'", _cnn);
                if (exited != null && int.Parse(exited.ToString()) > 0)
                {
                    return(Json(new
                    {
                        status = false,
                        message = "Tên bài giảng đã tồn tại!"
                    }));
                }
                var eff = DBLibs.ExecuteNonQuery($@"
                INSERT INTO dbo.BaiGiang
                (
	                TenBaiGiang ,
	                MonHoc ,
	                TacGia ,
                    idGvienChinh ,
	                created_at ,
	                updated_at 
                )
                VALUES
                (
	                N'{_tenbaigiang.Trim().Replace("'", "''")}' , -- TenDotThi - nvarchar(250)
	                N'{strMon.Trim().Replace("'", "''")}' , -- MonHoc - nvarchar(500)
	                N'{_cactacgia.Trim().Replace("'", "''")}' , -- TacGia - nvarchar(500)
	                {SysBaseInfor.GetCurrentUserTypeInfo().ToString()} , -- idGvienChinh - int
	                {CLibs.DatetimeToTimestampOrgin(DateTime.Now)} , -- created_at - int
	                {CLibs.DatetimeToTimestampOrgin(DateTime.Now)} -- updated_at - int
                )
                ", _cnn);
                if (eff > 0)
                {
                    stt = true;
                }
                else
                {
                    msg = "Không thêm dữ liệu vào được!";
                }
                #endregion
            }
            else
            {
                #region Kiem tra xem bai giang da duoc nop chua (bai giang nop roi thi ko cho update)
                var submit_at = DBLibs.ExecuteScalar($"SELECT submit_at FROM BaiGiang WHERE id = {id}", _cnn);
                if (submit_at != null)
                {
                    return(Json(new
                    {
                        status = false,
                        message = "Bài giảng đã nộp rồi, không được sửa!"
                    }));
                }
                #endregion
                #region Update
                var eff = DBLibs.ExecuteNonQuery($@"
                UPDATE BaiGiang 
                SET 
                    TenBaiGiang = N'{_tenbaigiang.Trim().Replace("'", "''")}' , -- TenBaiGiang - nvarchar(250)
	                MonHoc = N'{strMon.Trim().Replace("'", "''")}' , -- MonHoc - nvarchar(500)
	                TacGia = N'{_cactacgia.Trim().Replace("'", "''")}' , -- TacGia - nvarchar(500)
	                updated_at = {CLibs.DatetimeToTimestampOrgin(DateTime.Now)} -- updated_at - int
                WHERE
                    id = {Request["id"]}", _cnn);
                if (eff > 0)
                {
                    stt = true;
                }
                else
                {
                    msg = "Không cập nhật dữ liệu được!";
                }
                #endregion
            }
            #endregion

            return(Json(new
            {
                status = stt,
                message = msg
            }));
        }