//[HttpGet]
        public ActionResult Logout()
        {
            if (HttpContext.User.Identity.IsAuthenticated)
            {
                #region save user LogOut
                ZhWebClassV3.UserData userData = ZhWebClassV3.UserHelper.GetUserData();
                ZhClass.Log.LogV1.A_SaveUserLog2(userData.actSerial, userData.sysUserId, ZhClass.Log.LogActType.LogOut, null, Request.UserHostAddress);
                #endregion
            }
            FormsAuthentication.SignOut();
            if (Request.Cookies[FormsAuthentication.FormsCookieName] != null)
            {
                //如果cookie還沒過期,既然已經登出當然要把它重新設定為過期啦!!
                HttpCookie myCookie = new HttpCookie(FormsAuthentication.FormsCookieName);
                myCookie.Expires = DateTime.Now.AddDays(-1d);
                Response.Cookies.Add(myCookie);
            }
            Session.RemoveAll();
            Session.Abandon();

            //// 建立一個同名的 Cookie 來覆蓋原本的 Cookie
            //HttpCookie cookie1 = new HttpCookie(FormsAuthentication.FormsCookieName, "");
            //cookie1.Expires = DateTime.Now.AddYears(-1);
            //Response.Cookies.Add(cookie1);

            //// 建立 ASP.NET 的 Session Cookie 同樣是為了覆蓋
            //HttpCookie cookie2 = new HttpCookie("ASP.NET_SessionId", "");
            //cookie2.Expires = DateTime.Now.AddYears(-1);
            //Response.Cookies.Add(cookie2);

            return(RedirectToAction("Login", "Home", null));
        }
        // GET: S00050
        public ActionResult S00050()
        {
            ZhWebClassV3.UserData userData = ZhWebClassV3.UserHelper.GetUserData();

            try
            {
                ZhWebClassSet.Log.LogSet.SaveUserLog(userData.actSerial, userData.sysUserId, ZhWebClassSet.Log.LogActType.OperFuncIn, funcId, Request.UserHostAddress, userData.userId);
            }
            catch { }

            selItem_cmb1 = new List <SelectListItem>();
            selItem_cmb1.Add(new SelectListItem()
            {
                Text = "使用者姓名", Value = "userName", Selected = true
            });
            selItem_cmb1.Add(new SelectListItem()
            {
                Text = "使用者代號", Value = "userId"
            });
            selItem_cmb1.Add(new SelectListItem()
            {
                Text = "手機", Value = "userPhone"
            });
            selItem_cmb1.Add(new SelectListItem()
            {
                Text = "電子郵件", Value = "userEmail"
            });
            ViewBag.selItem_cmb1 = selItem_cmb1;

            ViewBag.selItem_statusx   = ZhWebClassV3.CmnObjV3.Get_tbl_sysParameters_selItem(ZhConfig.IsAddIndexZero.Yes, "statusx");
            ViewBag.selItem_userGroup = ZhWebClassV3.CmnObjV3.Get_tbl_userGroup_selItem(ZhConfig.IsAddIndexZero.No);

            return(View());
        }
示例#3
0
        public ActionResult inputAnswer(string qId)
        {
            ZhWebClassV3.UserData userData = ZhWebClassV3.UserHelper.GetUserData();
            JObject jo = new JObject();

            try
            {
                DataTable tbl_Qu1 = ZhClass.SqlTool.GetDataTable(ZhConfig.GlobalSystemVar.StrConnection1, " SELECT ROW_NUMBER() OVER(ORDER BY qId)AS ROWID,topicType,answer from Q30_answer WHERE qId='" + qId + "' and creatUser='******' ", "tbl_Qu1");
                if (tbl_Qu1.Rows.Count > 0)
                {
                    JArray ja = new JArray();
                    foreach (DataRow dr in tbl_Qu1.Rows)
                    {
                        JObject itemObject = new JObject();
                        //itemObject.Add(dr[1].ToString() ,dr[2].ToString());
                        itemObject.Add("答案", dr[1].ToString() + ":" + dr[2].ToString());
                        ja.Add(itemObject);
                    }
                    jo.Add("status", "OK");
                    jo.Add("答案", ja);
                }
                return(Content(JsonConvert.SerializeObject(jo), "application/json"));
            }
            catch (Exception ex)
            {
                jo.Add("status", "OK");
                jo.Add("error", ex.Message);
                return(Content(JsonConvert.SerializeObject(jo), "application/json"));
            }
        }
        // GET: G00010
        public ActionResult G00010()
        {
            ZhWebClassV3.UserData userData = ZhWebClassV3.UserHelper.GetUserData();

            try
            {
                ZhWebClassSet.Log.LogSet.SaveUserLog(userData.actSerial, userData.sysUserId, ZhWebClassSet.Log.LogActType.OperFuncIn, funcId, Request.UserHostAddress, userData.userId);
            }
            catch { }

            selItem_cmb1 = new List <SelectListItem>();
            selItem_cmb1.Add(new SelectListItem()
            {
                Value = "objectId", Text = "填寫群組ID", Selected = true
            });
            selItem_cmb1.Add(new SelectListItem()
            {
                Value = "objectName", Text = "填寫群組名稱"
            });

            ViewBag.selItem_cmb1    = selItem_cmb1;
            ViewBag.selItem_statusx = ZhWebClassV3.CmnObjV3.Get_tbl_sysParameters_selItem(ZhConfig.IsAddIndexZero.Yes, "statusx");

            return(View());
        }
示例#5
0
        // GET: W00020
        public ActionResult W00020()
        {
            ZhWebClassV3.UserData userData = ZhWebClassV3.UserHelper.GetUserData();

            try
            {
                ZhWebClassSet.Log.LogSet.SaveUserLog(userData.actSerial, userData.sysUserId, ZhWebClassSet.Log.LogActType.OperFuncIn, funcId, Request.UserHostAddress, userData.userId);
            }
            catch { }
            ViewBag.selItem_year = ZhWebClassV3.CmnObjV3.Get_tbl_year_selItem(ZhConfig.IsAddIndexZero.Yes);
            return(View());
        }
        // GET: W00015
        public ActionResult W00015(string qId, string RowStatus, string seq)
        {
            ZhWebClassV3.UserData userData = ZhWebClassV3.UserHelper.GetUserData();
            string writeBtn = "", qTitle = "", rowStaus = "", rSeq = "";

            try
            {
                ZhWebClassSet.Log.LogSet.SaveUserLog(userData.actSerial, userData.sysUserId, ZhWebClassSet.Log.LogActType.OperFuncIn, funcId, Request.UserHostAddress, userData.userId);

                #region 判斷屬於 一般USER 或者 行政管理成員
                string type = "";
                if (userData.sysUserId.ToString() == "-1")
                {
                    type = "10";
                }
                else
                {
                    type = "20";
                }
                #endregion
                strSql.Clear();
                strSql.Append("spV_W00010 " + userData.USERSSN + "," + type + ", 1, 50 ");
                DataTable tbl_QueryData1 = ZhClass.SqlTool.GetDataTable(ZhConfig.GlobalSystemVar.StrConnection1, strSql.ToString(), "tbl_QueryData1");
                foreach (DataRow dr in tbl_QueryData1.Rows)
                {
                    DataTable tmp_Qu1 = ZhClass.SqlTool.GetDataTable(ZhConfig.GlobalSystemVar.StrConnection1, " select qId from Q30_answer where qId='" + dr["qId"].ToString() + "' and creatUser='******' and statusx=20 group by qId ", "tmp_Qu1");
                    if (tmp_Qu1.Rows.Count == 0 && dr["qId"].ToString() != qId)
                    {
                        DataTable tmp_rowstatu = ZhClass.SqlTool.GetDataTable(ZhConfig.GlobalSystemVar.StrConnection1, " SELECT statusx,seq from Q30_answer where creatUser='******' and qId='" + dr["qId"].ToString() + "' ", "tmp_rowstatu");
                        if (tmp_rowstatu.Rows.Count > 0 && tmp_rowstatu.Rows[0][0].ToString() == "10")
                        {
                            rowStaus += "M,"; rSeq += tmp_rowstatu.Rows[0][1].ToString() + ',';
                        }
                        else
                        {
                            rowStaus += ','; rSeq += ',';
                        }
                        writeBtn += dr["qId"].ToString() + ',';
                        qTitle   += dr["title"].ToString() + ',';
                    }
                }
            }
            catch { }

            ViewBag.rSeq      = rSeq;
            ViewBag.rowStaus  = rowStaus;
            ViewBag.writeBtn  = writeBtn;
            ViewBag.qTitle    = qTitle;
            ViewBag.qId       = qId;
            ViewBag.RowStatus = RowStatus;
            ViewBag.seq       = seq;
            return(View());
        }
示例#7
0
        // GET: B00010
        public ActionResult B00010()
        {
            ZhWebClassV3.UserData userData = ZhWebClassV3.UserHelper.GetUserData();

            try
            {
                ZhWebClassSet.Log.LogSet.SaveUserLog(userData.actSerial, userData.sysUserId, ZhWebClassSet.Log.LogActType.OperFuncIn, funcId, Request.UserHostAddress, userData.userId);
            }
            catch { }

            return(View());
        }
 public ActionResult Index()
 {
     if (HttpContext.User.Identity.IsAuthenticated)
     {
         ZhWebClassV3.UserData userData = ZhWebClassV3.UserHelper.GetUserData();
         ViewBag.UserInfo = "【使用者: " + userData.userName + "登入時間 :" + DateTime.Now.ToString("MMdd hh:mm:ss") + "】";
     }
     else
     {
         ViewBag.UserInfo = "";
     }
     return(View());
 }
        string funcId        = "S00020"; //
        #endregion
        // GET: S00020
        public ActionResult S00020()
        {
            ZhWebClassV3.UserData userData = ZhWebClassV3.UserHelper.GetUserData();

            try
            {
                ZhWebClassSet.Log.LogSet.SaveUserLog(userData.actSerial, userData.sysUserId, ZhWebClassSet.Log.LogActType.OperFuncIn, funcId, Request.UserHostAddress, userData.userId);
            }
            catch { }

            ViewBag.selItem_sysMenuId = ZhWebClassV3.CmnObjV3.Get_tbl_sysMenuId_selItem();

            return(View());
        }
示例#10
0
        public ActionResult GetGridJSON(int page, int rows, string sort, string order, string lbl_cmb1, string value_cmb1, string year)
        {
            ZhWebClassV3.UserData userData = ZhWebClassV3.UserHelper.GetUserData();

            #region Gen strSql by ROW_NUMBER
            string tableName = "u_" + funcId;
            string sortId    = "qId desc";

            if (!string.IsNullOrEmpty(sort))
            {
                sortId = sort;
            }
            if (!string.IsNullOrEmpty(order))
            {
                sortId = sort + " " + order;
            }

            //strSql.Remove(0, strSql.Length);

            #region strCond
            string strCond = " where 1=1 and writeUser='******' ";
            //string strCond = " where 1=1 and statusx in ('10','20') ";

            //if (!string.IsNullOrEmpty(lbl_cmb1) && !string.IsNullOrEmpty(value_cmb1))
            //{
            //    strCond += " and " + lbl_cmb1 + " like '%" + value_cmb1 + "%'";
            //}
            if (!string.IsNullOrEmpty(year))
            {
                strCond += " and qId like '" + year + "%'";
            }
            #endregion


            strSql.Append("SELECT  * FROM (SELECT  ROW_NUMBER() OVER (ORDER BY " + sortId + ") AS RowNum, * FROM " + tableName + strCond + ") AS NewTable ");
            strSql.Append(" WHERE RowNum >= " + ((page - 1) * rows + 1).ToString() + " AND RowNum <=" + page * rows);



            #endregion

            DataTable tbl_QueryData1 = ZhClass.SqlTool.GetDataTable(ZhConfig.GlobalSystemVar.StrConnection1, strSql.ToString(), tableName);

            int totalCount = Convert.ToInt32(ZhClass.SqlTool.GetOneDataValue("select count(*) from " + tableName + strCond));

            JObject jo = new JObject();
            jo.Add("total", totalCount);
            jo.Add("rows", getJsonForGrid(tbl_QueryData1));
            return(Content(JsonConvert.SerializeObject(jo), "application/json"));
        }
        // GET: Q00036
        public ActionResult Q00036(string qId, string RowStatus)
        {
            ZhWebClassV3.UserData userData = ZhWebClassV3.UserHelper.GetUserData();

            try
            {
                ZhWebClassSet.Log.LogSet.SaveUserLog(userData.actSerial, userData.sysUserId, ZhWebClassSet.Log.LogActType.OperFuncIn, funcId, Request.UserHostAddress, userData.userId);
            }
            catch { }

            ViewBag.qId       = qId;
            ViewBag.RowStatus = RowStatus;

            return(View());
        }
        // GET: W00010
        public ActionResult W00010(string jump)
        {
            ZhWebClassV3.UserData userData = ZhWebClassV3.UserHelper.GetUserData();

            try
            {
                ZhWebClassSet.Log.LogSet.SaveUserLog(userData.actSerial, userData.sysUserId, ZhWebClassSet.Log.LogActType.OperFuncIn, funcId, Request.UserHostAddress, userData.userId);
            }
            catch { }
            //判斷是否要跳進問卷內
            if (string.IsNullOrEmpty(jump))
            {
                jump = "true";
            }
            ViewBag.jump = jump;
            return(View());
        }
示例#13
0
        // GET: System
        //[Authorize]
        public ActionResult Index()
        {
            ZhWebClassV3.UserData userData = ZhWebClassV3.UserHelper.GetUserData();

            if (HttpContext.User.Identity.IsAuthenticated)
            {
                if (string.IsNullOrEmpty(userData.userName))
                {
                    userData.userName = userData.userId;
                }
                ViewBag.UserInfo = "【使用者: " + userData.userName + "  登入時間 :" + DateTime.Now.ToString("MMdd hh:mm:ss") + "】";
            }
            else
            {
                return(RedirectToAction("Login", "Home"));
            }
            return(View());
        }
示例#14
0
        public ActionResult getJSONUserData()
        {
            ZhWebClassV3.UserData userData = ZhWebClassV3.UserHelper.GetUserData();

            string tableName = "u_S00050";

            strSql.Clear();
            strSql.Append("select * from u_S00050 where sysUserId='" + userData.sysUserId + "' ");
            DataTable tbl_QueryData1 = ZhClass.SqlTool.GetDataTable(ZhConfig.GlobalSystemVar.StrConnection1, strSql.ToString(), tableName);

            JObject jo = new JObject();

            foreach (DataColumn dc in tbl_QueryData1.Columns)
            {
                jo.Add(dc.ColumnName, tbl_QueryData1.Rows[0][dc].ToString());
            }

            return(Content(JsonConvert.SerializeObject(jo), "application/json"));
        }
示例#15
0
        // GET: G00020
        public ActionResult G00020()
        {
            ZhWebClassV3.UserData userData = ZhWebClassV3.UserHelper.GetUserData();

            try
            {
                ZhWebClassSet.Log.LogSet.SaveUserLog(userData.actSerial, userData.sysUserId, ZhWebClassSet.Log.LogActType.OperFuncIn, funcId, Request.UserHostAddress, userData.userId);
            }
            catch { }

            selItem_cmb1 = new List <SelectListItem>();
            selItem_cmb1.Add(new SelectListItem()
            {
                Value = "objectId", Text = "填寫群組ID", Selected = true
            });
            selItem_cmb1.Add(new SelectListItem()
            {
                Value = "objectName", Text = "填寫群組名稱"
            });
            ViewBag.selItem_cmb1 = selItem_cmb1;

            //selItem_cmb2 = new List<SelectListItem>();
            //selItem_cmb2.Add(new SelectListItem() { Value = "學校", Text = "學校", Selected = true });
            //selItem_cmb2.Add(new SelectListItem() { Value = "USERID", Text = "使用者帳號" });
            ViewBag.selItem_cmb2 = ZhWebClassV3.CmnObjV3.Get_tbl_right_Type1_selItem(ZhConfig.IsAddIndexZero.Yes);

            //錯誤測試用
            //try
            //{
            //    ViewBag.test = "OK";
            //}
            //catch (Exception ex)
            //{
            //    ViewBag.test = ex.Message;
            //    ViewBag.selItem_cityId = selItem_cmb2;
            //}
            ViewBag.selItem_cityId = ZhWebClassV3.CmnObjV3.Get_tbl_cityId_selItem(ZhConfig.IsAddIndexZero.Yes);
            //ViewBag.selItem_sysObjectId = ZhWebClassV3.CmnObjV3.Get_tbl_objectId_selItem(ZhConfig.IsAddIndexZero.Yes, userData.sysUserId.ToString());
            return(View());
        }
示例#16
0
        public ActionResult checkQuesWriteDate()
        {
            JObject jo = new JObject();

            try
            {
                string errStr = "";
                ZhWebClassV3.UserData userData = ZhWebClassV3.UserHelper.GetUserData();
                if (userData.sysUserId.ToString() != "-1" && userData.sysUserId.ToString() != "-2")
                {
                    string    strSql         = "select t1.qId, t2.eDate from Q30_questionMaster t1 left join Q30_questionDate t2 on t2.qId=t1.qId and t2.eDate <> '' where t1.statusx='10' and t1.creatUser='******' ";
                    DataTable tbl_QueryData1 = ZhClass.SqlTool.GetDataTable(ZhConfig.GlobalSystemVar.StrConnection1, strSql.ToString(), "tbl_QueryData1");
                    if (tbl_QueryData1.Rows.Count > 0)
                    {
                        for (int i = 0; i < tbl_QueryData1.Rows.Count; i++)
                        {
                            if (DateTime.Parse(tbl_QueryData1.Rows[i]["eDate"].ToString()).AddDays(1) < DateTime.Now)
                            {
                                strSql = "upDate Q30_answer set statusx='20' where qId='" + tbl_QueryData1.Rows[i]["qId"].ToString() + "' and statusx='10' ";
                                errStr = SqlTool.ExecuteNonQuery(strSql.ToString());
                                if (errStr != "")
                                {
                                    throw new Exception(errStr);
                                }
                            }
                        }
                    }
                }
                jo.Add("status", "OK");
                return(Content(JsonConvert.SerializeObject(jo), "application/json"));
            }
            catch (Exception ex)
            {
                jo.Add("status", "error");
                jo.Add("error", ex.Message.ToString());
                return(Content(JsonConvert.SerializeObject(jo), "application/json"));
            }
        }
        //public ActionResult DeleteSingle(C10_zip delRec)
        public ActionResult ActRows(List <Models.ModelBase.Row_userGroupPermissions> addRows)
        {
            ZhWebClassV3.UserData userData = ZhWebClassV3.UserHelper.GetUserData();

            DataTable tbl_limit = ZhWebClassV3.CmnObjV3.Get_tbl_limit(ZhConfig.IsAddIndexZero.No);
            JObject   jo;

            //2010 6/25 應該改成 交易式處理全部成功 或是全部失敗
            foreach (Models.ModelBase.Row_userGroupPermissions actRow in addRows)
            {
                strSql.Remove(0, strSql.Length);
                string limitId = tbl_limit.Select("limitName='" + actRow.limitName.ToString() + "'")[0]["limitId"].ToString();

                switch (actRow.realRow.ToString())
                {
                case "0":    //新增
                {
                    actRow.creatUser = userData.userName;
                    actRow.creatTime = DateTime.Now;
                    //actRow.actUser = userData.userName;
                    //actRow.actTime = DateTime.Now;
                    strSql.Append("insert into S10_userGroupPermissions (sysUserGroupId,sysMenuId,limitId,creatUser,creatTime) values (@sysUserGroupId,@sysMenuId,@limitId,'" + userData.sysUserId + "',getdate())");
                }
                break;

                case "1":    //修改
                {
                    actRow.actUser = userData.userName;
                    actRow.actTime = DateTime.Now;

                    strSql.Append("update S10_userGroupPermissions set sysUserGroupId=@sysUserGroupId,sysMenuId=@sysMenuId,limitId=@limitId,actUser='******',actTime=getdate() where sysUserGroupId=@sysUserGroupId and sysMenuId=@sysMenuId");
                }
                break;
                }

                #region 設置 要傳入的 SqlParameter 資料

                SqlParameter[] param =
                {
                    new SqlParameter("sysUserGroupId", SqlDbType.Int,  4, ParameterDirection.Input, false, 0, 0, "", DataRowVersion.Proposed, actRow.sysUserGroupId),
                    new SqlParameter("sysMenuId",      SqlDbType.Int,  4, ParameterDirection.Input, false, 0, 0, "", DataRowVersion.Proposed, actRow.sysMenuId),
                    new SqlParameter("limitId",        SqlDbType.Char, 1, ParameterDirection.Input, false, 0, 0, "", DataRowVersion.Proposed, limitId),
                    new SqlParameter("creatUser",      SqlDbType.Int,  4, ParameterDirection.Input, false, 0, 0, "", DataRowVersion.Proposed, userData.sysUserId),
                    new SqlParameter("actUser",        SqlDbType.Int,  4, ParameterDirection.Input, false, 0, 0, "", DataRowVersion.Proposed, userData.sysUserId)
                    //new SqlParameter("creatUser", SqlDbType.Int, 4, ParameterDirection.Input, false, 0, 0, "", DataRowVersion.Proposed, actRow.creatUser),
                    //new SqlParameter("actUser", SqlDbType.Int, 4, ParameterDirection.Input, false, 0, 0, "", DataRowVersion.Proposed, actRow.actUser)
                };

                #endregion
                errStr = SqlTool.ExecuteNonQuery(strSql.ToString(), param);

                if (errStr != "")
                {
                    //return Json("ERROR", errStr, JsonRequestBehavior.DenyGet);
                    jo = new JObject();
                    jo.Add("status", "error");
                    jo.Add("error", errStr);
                    return(Content(JsonConvert.SerializeObject(jo), "application/json"));
                }
            }

            jo = new JObject();
            jo.Add("status", "OK");
            jo.Add("rows", getJsonForGrid(addRows));



            //return Json("OK", JsonConvert.SerializeObject(addRows), JsonRequestBehavior.DenyGet);
            return(Content(JsonConvert.SerializeObject(jo), "application/json"));
        }
示例#18
0
        public ActionResult GetTreeExpandAll()
        {
            DataTable tmpTable;

            ZhWebClassV3.UserData userData = ZhWebClassV3.UserHelper.GetUserData();

            if (System.Diagnostics.Debugger.IsAttached && userData.userId.ToUpper() == "ANGUSHSIAO")
            {
                tmpTable = ZhWebClassV3.CmnObjV3.Get_tbl_menus();
            }
            else
            {
                tmpTable = ZhWebClassV3.CmnObjV3.Get_tbl_menus(userData.sysUserGroupIds);
            }


            JArray ja = new JArray();



            //DataRow[] tmprows = tmpTable.Select("parentFuncId='000' ", "serialNo asc");
            //DataRow[] tmprows = tmpTable.Select("1=1 ", "sortValue asc");

            //for (int i = 0; i < tmprows.Length; i++)
            //{
            //    JObject itemObject;

            //    if (tmprows[i]["sysParentId"].ToString() == "1000")
            //    {
            //        itemObject = new JObject
            //        {
            //          {"id",tmprows[i]["sysMenuId"].ToString().Trim()},
            //          {"parentId",tmprows[i]["sysParentId"].ToString().Trim()},
            //          //{"name",tmprows[i]["menuId"].ToString().Trim()+':'+tmprows[i]["menuName"].ToString().Trim()},
            //          {"name",tmprows[i]["menuName"].ToString().Trim()},
            //          {"state","closed"},
            //          {"url",tmprows[i]["url"].ToString().Trim()}
            //        };
            //    }
            //    else
            //    {
            //        itemObject = new JObject
            //        {
            //          {"id",tmprows[i]["sysMenuId"].ToString().Trim()},
            //          {"parentId",tmprows[i]["sysParentId"].ToString().Trim()},
            //          {"name",tmprows[i]["menuId"].ToString().Trim()+':'+tmprows[i]["menuName"].ToString().Trim()},
            //          //{"name",tmprows[i]["menuName"].ToString().Trim()},
            //          {"state","closed"},
            //          {"url",tmprows[i]["url"].ToString().Trim()}
            //        };
            //    }


            //    ja.Add(itemObject);

            //}
            //return Content(JsonConvert.SerializeObject(ja), "application/json");

            ZhWebClass.ClsUtil obj = new ZhWebClass.ClsUtil();
            obj.GetTreeJsonByTable(tmpTable, "sortValue", "menuName", "url", "menuId", "menuParentId", "", "1");
            return(Content(obj.result.ToString(), "application/json"));
        }
        public ActionResult GetGridJSON(int page, int rows, string sort, string order, string year, string title) //, string value_statusx
        {
            ZhWebClassV3.UserData userData = ZhWebClassV3.UserHelper.GetUserData();

            #region Gen strSql by ROW_NUMBER
            //ZhWebClassV1.UserData userData = ZhWebClassV1.UserHelper.GetUserData();
            string tableName = "u_" + funcId;
            string sortId    = "qId";

            if (!string.IsNullOrEmpty(sort))
            {
                sortId = sort;
            }
            if (!string.IsNullOrEmpty(order))
            {
                sortId = sort + " " + order;
            }

            #region strCond
            string strCond = " WHERE 1=1 ";

            if (!string.IsNullOrEmpty(userData.sysUserId.ToString()))
            {
                strCond += " and sysUserId='" + userData.sysUserId.ToString() + "' ";
            }
            if (!string.IsNullOrEmpty(year))
            {
                strCond += " and year='" + year + "' ";
            }
            if (!string.IsNullOrEmpty(title))
            {
                strCond += " and title like '%" + title + "%' ";
            }
            #endregion

            strSql.Append("SELECT  * FROM (SELECT  ROW_NUMBER() OVER (ORDER BY " + sortId + ") AS RowNum, * FROM " + tableName + strCond + ") AS NewTable ");
            strSql.Append(" WHERE RowNum >= " + ((page - 1) * rows + 1).ToString() + " AND RowNum <=" + page * rows);
            #endregion

            DataTable tbl_QueryData1 = ZhClass.SqlTool.GetDataTable(ZhConfig.GlobalSystemVar.StrConnection1, strSql.ToString(), tableName);

            int totalCount = Convert.ToInt32(ZhClass.SqlTool.GetOneDataValue(" select count(*) from " + tableName + strCond));

            DataTable tbl_qObjects = ZhClass.SqlTool.GetDataTable(ZhConfig.GlobalSystemVar.StrConnection1, "select * from u_Q00010v2 ", tableName);

            foreach (DataRow dr in tbl_QueryData1.Rows)
            {
                DataRow[] tmpRows = tbl_qObjects.Select("qId='" + dr["qId"].ToString() + "'");

                string objectName  = "";
                string sysObjectId = "";
                foreach (DataRow dr2 in tmpRows)
                {
                    objectName  += dr2["objectName"].ToString() + ",";
                    sysObjectId += dr2["sysObjectId"].ToString() + ",";
                }

                if (objectName != "")
                {
                    objectName  = objectName.Substring(0, objectName.Length - 1);
                    sysObjectId = sysObjectId.Substring(0, sysObjectId.Length - 1);
                }

                dr["objectName"]  = objectName;
                dr["sysObjectId"] = sysObjectId;
            }

            JObject jo = new JObject();
            jo.Add("total", totalCount);

            #region Gen json rows data
            JArray ja = new JArray();
            foreach (DataRow dr in tbl_QueryData1.Rows)
            {
                var itemObject = new JObject();

                foreach (DataColumn dc in tbl_QueryData1.Columns)
                {
                    switch (dc.ColumnName)
                    {
                    case "RowNum":
                        continue;

                    case "sDate":
                    case "eDate":
                        itemObject.Add(dc.ColumnName, dr[dc].ToString() == "" ? "" : DateTime.Parse(dr[dc].ToString()).ToString("yyyy-MM-dd"));

                        break;

                    default:
                        itemObject.Add(dc.ColumnName, dr[dc].ToString());

                        break;
                    }
                }

                ja.Add(itemObject);
            }
            #endregion


            jo.Add("rows", ja);
            return(Content(JsonConvert.SerializeObject(jo), "application/json"));
        }
示例#20
0
        public ActionResult GetGridJSON(Models.question.W00016 actRow)
        {
            ZhWebClassV3.UserData userData = ZhWebClassV3.UserHelper.GetUserData();
            JObject jo = new JObject();

            try
            {
                #region ACall_checkIsDBNull
                actRow.qId       = ZhConfig.ZhIniObj.ACall_checkIsDBNull(actRow.qId);
                actRow.RowStatus = ZhConfig.ZhIniObj.ACall_checkIsDBNull(actRow.RowStatus);
                actRow.seq       = ZhConfig.ZhIniObj.ACall_checkIsDBNull(actRow.seq);
                #endregion

                #region 取得問卷的題目
                strSql.Clear();
                strSql.Append("select * from Q30_questionMaster where qId='" + actRow.qId.ToString() + "' ");
                DataTable tbl_QueryData1 = ZhClass.SqlTool.GetDataTable(ZhConfig.GlobalSystemVar.StrConnection1, strSql.ToString(), "tbl_QueryData1");

                //2018/05/14 edit By Ray
                strSql.Clear();
                strSql.Append("select top 1 * from Q30_questionDetail where qId='" + actRow.qId.ToString() + "' ");
                //strSql.Append("select * from Q30_questionDetail where qId='" + actRow.qId.ToString() + "' ");
                DataTable tbl_QueryData2 = ZhClass.SqlTool.GetDataTable(ZhConfig.GlobalSystemVar.StrConnection1, strSql.ToString(), "tbl_QueryData2");

                JArray jaQd = new JArray();

                for (int i = 0; i < tbl_QueryData2.Rows.Count; i++)
                {
                    strSql.Clear();
                    strSql.Append("select * from Q30_questionDD where qId='" + actRow.qId.ToString() + "' and seq='" + tbl_QueryData2.Rows[i]["seq"].ToString() + "'");
                    DataTable tbl_QueryData3 = ZhClass.SqlTool.GetDataTable(ZhConfig.GlobalSystemVar.StrConnection1, strSql.ToString(), "tbl_QueryData2");

                    JArray jaQdd = new JArray();
                    if (tbl_QueryData2.Rows[i]["topicType"].ToString() != "tx" && tbl_QueryData2.Rows[i]["topicType"].ToString() != "mt" && tbl_QueryData2.Rows[i]["topicType"].ToString() != "li")
                    {
                        for (int j = 0; j < tbl_QueryData3.Rows.Count; j++)
                        {
                            JObject joQdd = new JObject();
                            joQdd.Add("optionId", tbl_QueryData3.Rows[j]["optionId"].ToString());
                            joQdd.Add("optionName", tbl_QueryData3.Rows[j]["optionName"].ToString());
                            jaQdd.Add(joQdd);
                        }
                    }

                    JObject joQd = new JObject();
                    joQd.Add("seq", tbl_QueryData2.Rows[i]["seq"].ToString());
                    joQd.Add("qNbr", tbl_QueryData2.Rows[i]["qNbr"].ToString());
                    joQd.Add("topic", tbl_QueryData2.Rows[i]["topic"].ToString());
                    joQd.Add("topicType", tbl_QueryData2.Rows[i]["topicType"].ToString());
                    joQd.Add("required", tbl_QueryData2.Rows[i]["required"].ToString());
                    joQd.Add("memo", tbl_QueryData2.Rows[i]["memo"].ToString());
                    joQd.Add("mTitle", tbl_QueryData2.Rows[i]["memo1"].ToString());
                    joQd.Add("options", tbl_QueryData2.Rows[i]["options"].ToString());
                    joQd.Add("joQdds", jaQdd);
                    jaQd.Add(joQd);
                }
                #endregion

                JArray jaAn = new JArray();

                //if (actRow.RowStatus.ToString() == "M")
                //{
                //    strSql.Clear();
                //    strSql.Append("select answerId, answer, topicType from Q30_answer where qId='" + actRow.qId + "' and seq='" + actRow.seq + "' ");
                //    DataTable tbl_answer = ZhClass.SqlTool.GetDataTable(ZhConfig.GlobalSystemVar.StrConnection1, strSql.ToString(), "tbl_answer");
                //    if(tbl_answer.Rows.Count > 0)
                //    {
                //        for(int i = 0; i < tbl_answer.Rows.Count; i++)
                //        {
                //            JObject joAn = new JObject();
                //            joAn.Add("answerId", tbl_answer.Rows[i]["answerId"].ToString());
                //            joAn.Add("answer", tbl_answer.Rows[i]["answer"].ToString());
                //            joAn.Add("topicType", tbl_answer.Rows[i]["topicType"].ToString());
                //            jaAn.Add(joAn);

                //        }
                //    }
                //}

                #region 取得該題圖片說明
                string  savePath   = "~/Upload_Jpg/" + actRow.qId + "/" + tbl_QueryData2.Rows[0]["seq"].ToString();
                JArray  jaa        = new JArray();
                JObject itemObject = new JObject();
                int     count      = 0;
                string  img        = "";
                if (Directory.Exists(Server.MapPath(savePath))) //如果該題有圖片資料夾
                {
                    string[] files = System.IO.Directory.GetFiles(Server.MapPath(savePath), "*.*", System.IO.SearchOption.AllDirectories);
                    System.Collections.ArrayList dirlist = new System.Collections.ArrayList();/*用來儲存只有目錄名的集合*/
                    foreach (string item in files)
                    {
                        dirlist.Add(Path.GetFileNameWithoutExtension(item));//走訪每個元素只取得目錄名稱(不含路徑)並加入dirlist集合中
                        string fileName     = dirlist[count] + files[count].Substring(files[count].Length - 4, 4);
                        string imagePath    = Path.Combine(Server.MapPath(savePath), fileName);
                        byte[] imageBytes   = System.IO.File.ReadAllBytes(imagePath);
                        string base64string = Convert.ToBase64String(imageBytes);
                        img += "<div id=\"" + fileName.Substring(0, fileName.Length - 4) + "\" class='imgDiv'><a href='#' onclick=\"btnPhotoView('" + fileName + "')\"><img style='width:400px' class='imgcontent' id=\"" + fileName.Substring(0, fileName.Length - 4) + "src\" src=\"data:image/jpg;base64, " + base64string + "\" ></a><br/>" + fileName + "</div>";
                        count++;
                    }
                }
                itemObject.Add("img", img);
                jaa.Add(itemObject);
                jo.Add("dirImg", jaa); //圖片
                #endregion

                jo.Add("title", tbl_QueryData1.Rows[0]["title"].ToString());
                jo.Add("description", tbl_QueryData1.Rows[0]["description"].ToString());
                jo.Add("qNum", tbl_QueryData1.Rows[0]["qNum"].ToString());
                jo.Add("joQds", jaQd);
                jo.Add("joAns", jaAn);

                return(Content(JsonConvert.SerializeObject(jo), "application/json"));
            }
            catch (Exception ex)
            {
                jo = new JObject();
                jo.Add("status", "error");
                jo.Add("error", ex.Message);
                return(Content(JsonConvert.SerializeObject(jo), "application/json"));
            }
        }
        public ActionResult ActSingle(Models.question.Q00010 actRow)
        {
            ZhWebClassV3.UserData userData = ZhWebClassV3.UserHelper.GetUserData();
            JObject jo;

            try
            {
                #region ACall_checkIsDBNull
                actRow.qId       = ZhConfig.ZhIniObj.ACall_checkIsDBNull(actRow.qId);
                actRow.objectIds = ZhConfig.ZhIniObj.ACall_checkIsDBNull(actRow.objectIds);
                #endregion

                #region 先刪除目前的該問卷的對象
                strSql.Clear();
                strSql.Append("delete from Q30_questionObjects where qId='" + actRow.qId.ToString() + "' ");
                errStr = SqlTool.ExecuteNonQuery(strSql.ToString());
                if (errStr != "")
                {
                    throw new Exception(errStr);
                }
                #endregion

                #region 將目前選擇好的對象存入資料表中
                string[] sysObjectId = actRow.objectIds.ToString().Split(',');
                for (int i = 0; i < sysObjectId.Length; i++)
                {
                    if (sysObjectId[i] == "")
                    {
                        continue;
                    }
                    #region 設置 要傳入的 SqlParameter 資料

                    SqlParameter[] param =
                    {
                        new SqlParameter("qId",         SqlDbType.Char, 10, ParameterDirection.InputOutput, false, 0, 0, "", DataRowVersion.Proposed, actRow.qId),
                        new SqlParameter("sysObjectId", SqlDbType.Int,  -1, ParameterDirection.Input,       false, 0, 0, "", DataRowVersion.Proposed, sysObjectId[i]),
                        new SqlParameter("creatUser",   SqlDbType.Int,  -1, ParameterDirection.Input,       false, 0, 0, "", DataRowVersion.Proposed, userData.sysUserId),
                        new SqlParameter("actUser",     SqlDbType.Int,  -1, ParameterDirection.Input,       false, 0, 0, "", DataRowVersion.Proposed, userData.sysUserId),
                    };
                    #endregion

                    strSql.Clear();
                    strSql.Append("Insert into Q30_questionObjects (qId, sysObjectId, creatUser) values (@qId, @sysObjectId, @creatUser) ");
                    strSql.Append("UpDate Q30_questionMaster set actUser=@actUser, actTime=getDate() where qId=@qId ");
                    errStr = SqlTool.ExecuteNonQuery(strSql.ToString(), param);
                    if (errStr != "")
                    {
                        throw new Exception(errStr);
                    }
                }

                actRow.actUser = userData.userName;
                actRow.actTime = DateTime.Now;

                #region OperLog 修改問卷填寫對象
                if (Convert.ToBoolean(ZhConfig.GlobalSystemVar.tbl_OperLogFlag.Rows.Find(funcId)["isOperLogEnable"]) && errStr == "")
                {
                    #region Gen tbl_operLog1 Data (Add/Modify)
                    DataTable tbl_operLog1 = userData.Get_tbl_operLogPart1();
                    tbl_operLog1.Columns.Add("qId", typeof(string));

                    DataRow operLogRow = tbl_operLog1.NewRow();
                    //operLogRow["rowId"] =0;
                    operLogRow["actSerial"] = userData.actSerial;
                    operLogRow["sysUserId"] = userData.sysUserId;
                    operLogRow["actStatus"] = "M";
                    operLogRow["qId"]       = actRow.qId.ToString();


                    tbl_operLog1.Rows.Add(operLogRow);
                    #endregion

                    errStr = ZhWebClassSet.Log.LogSet.SaveOperLog(funcId, "Q30_questionObjects", tbl_operLog1);
                    if (errStr != "")
                    {
                        throw new Exception(errStr);
                    }
                }
                #endregion

                if (errStr == "")
                {
                    JArray ja = new JArray();

                    var itemObject = new JObject();

                    itemObject.Add("qId", actRow.qId.ToString());
                    itemObject.Add("actUser", actRow.actUser.ToString());
                    itemObject.Add("actTime", actRow.actTime.ToString());

                    ja.Add(itemObject);
                    jo = new JObject();
                    jo.Add("status", "OK");
                    jo.Add("row", ja);
                }
                else
                {
                    jo = new JObject();
                    jo.Add("status", "error");
                    jo.Add("error", errStr);
                }

                return(Content(JsonConvert.SerializeObject(jo), "application/json"));

                #endregion
            }
            catch (Exception ex)
            {
                jo = new JObject();
                jo.Add("status", "error");
                jo.Add("error", ex.Message);
                return(Content(JsonConvert.SerializeObject(jo), "application/json"));
            }
        }
示例#22
0
        public ActionResult ActSingle(Models.question.W00016_act actRow, string qNbr)
        {
            ZhWebClassV3.UserData userData = ZhWebClassV3.UserHelper.GetUserData();
            JObject jo;
            string  seq = "";

            try
            {
                DateTime dt = DateTime.Now;
                if (actRow.arrAns != null)
                {
                    #region 判斷目前為第幾位填答人數
                    seq = actRow.seq.ToString();
                    #endregion

                    foreach (Models.question.W00016_act_d arrAn in actRow.arrAns)
                    {
                        arrAn.answer = ZhConfig.ZhIniObj.ACall_checkIsDBNull(arrAn.answer);

                        if (arrAn.topicType.ToString() == "cb" && arrAn.answer.ToString() != null && arrAn.answer.ToString() != "")
                        {
                            arrAn.answer = arrAn.answer.ToString().Substring(0, arrAn.answer.ToString().Length - 1);
                        }

                        if (arrAn.topicType.ToString() == "lb")
                        {
                            arrAn.answer = "";
                        }

                        //DataTable tbl_answerId = ZhClass.SqlTool.GetDataTable(ZhConfig.GlobalSystemVar.StrConnection1, " select answerId from Q30_answer where qId='" + actRow.qId.ToString() + "' and creatUser='******' and answerId='"+qNbr+"' ", "tbl_answerId");
                        //if (tbl_answerId.Rows[0][0].ToString() != "") arrAn.answerId = qNbr;
                        arrAn.answerId = qNbr;

                        #region 設置 要傳入的 SqlParameter 資料
                        SqlParameter[] param2 =
                        {
                            new SqlParameter("qId",       SqlDbType.Char,     10, ParameterDirection.Input, false, 0, 0, "", DataRowVersion.Proposed, actRow.qId.ToString()),
                            new SqlParameter("seq",       SqlDbType.Int,       4, ParameterDirection.Input, false, 0, 0, "", DataRowVersion.Proposed, seq),
                            new SqlParameter("answerId",  SqlDbType.Int,       4, ParameterDirection.Input, false, 0, 0, "", DataRowVersion.Proposed, arrAn.answerId.ToString()),
                            new SqlParameter("answer",    SqlDbType.NVarChar, -1, ParameterDirection.Input, false, 0, 0, "", DataRowVersion.Proposed, arrAn.answer.ToString()),
                            new SqlParameter("topicType", SqlDbType.Char,      2, ParameterDirection.Input, false, 0, 0, "", DataRowVersion.Proposed, arrAn.topicType.ToString()),
                            new SqlParameter("statusx",   SqlDbType.Char,      2, ParameterDirection.Input, false, 0, 0, "", DataRowVersion.Proposed, "10"),
                            new SqlParameter("creatUser", SqlDbType.VarChar,  50, ParameterDirection.Input, false, 0, 0, "", DataRowVersion.Proposed, "填寫問卷-外部使用者"),
                            new SqlParameter("creatTime", SqlDbType.DateTime, 10, ParameterDirection.Input, false, 0, 0, "", DataRowVersion.Proposed, dt.ToString("yyyy-MM-dd HH:mm:ss"))
                        };
                        #endregion

                        strSql.Clear();
                        strSql.Append("Insert into Q30_answer (qId, seq, answerId, answer, topicType, statusx, creatUser, creatTime) values (@qId, @seq, @answerId, @answer, @topicType, @statusx, @creatUser, @creatTime) ");
                        errStr = SqlTool.ExecuteNonQuery(ZhConfig.GlobalSystemVar.StrConnection1, strSql.ToString(), param2);
                        if (errStr != "")
                        {
                            throw new Exception(errStr);
                        }
                    }

                    #region OperLog 填寫問卷
                    //if (Convert.ToBoolean(ZhConfig.GlobalSystemVar.tbl_OperLogFlag.Rows.Find(funcId)["isOperLogEnable"]) && errStr == "")
                    //{
                    //    string actStatus = ZhClass.SqlTool.GetOneDataValue(" SELECT top 1 statusx from Q30_answer where qId='" + actRow.qId + "' ").ToString();
                    //    switch (actStatus)
                    //    {
                    //        case "10":
                    //            actStatus = "M";
                    //            break;
                    //        case "20":
                    //            actStatus = "C";
                    //            break;
                    //        default:
                    //            actStatus = "A";
                    //            break;
                    //    }
                    //    #region Gen tbl_operLog1 Data (Add/Modify)
                    //    DataTable tbl_operLog1 = userData.Get_tbl_operLogPart1();
                    //    tbl_operLog1.Columns.Add("qId", typeof(string));
                    //    tbl_operLog1.Columns.Add("seq", typeof(string));
                    //    tbl_operLog1.Columns.Add("creatUser", typeof(string));

                    //    DataRow operLogRow = tbl_operLog1.NewRow();
                    //    //operLogRow["rowId"] =0;
                    //    operLogRow["actSerial"] = userData.actSerial;
                    //    operLogRow["sysUserId"] = 9;
                    //    operLogRow["actStatus"] = "P";
                    //    operLogRow["qId"] = actRow.qId.ToString();
                    //    operLogRow["seq"] = seq;
                    //    operLogRow["creatUser"] = "******";


                    //    tbl_operLog1.Rows.Add(operLogRow);
                    //    #endregion

                    //    errStr = ZhWebClassSet.Log.LogSet.SaveOperLog(funcId, "Q30_answer", tbl_operLog1);
                    //    if (errStr != "") throw new Exception(errStr);
                    //}
                    #endregion
                }



                //ja.Add(itemObject);
                jo = new JObject();
                jo.Add("status", "OK");
                //jo.Add("row", ja);

                return(Content(JsonConvert.SerializeObject(jo), "application/json"));
            }
            catch (Exception ex)
            {
                jo = new JObject();
                jo.Add("status", "error");
                jo.Add("error", ex.Message);
                return(Content(JsonConvert.SerializeObject(jo), "application/json"));
            }
        }
示例#23
0
        public ActionResult ActSubmit(string qId)
        {
            ZhWebClassV3.UserData userData = ZhWebClassV3.UserHelper.GetUserData();
            JObject jo = new JObject();

            try
            {
                strSql.Clear();
                strSql.Append("select seq from Q30_answer where qId='" + qId + "' and creatUser='******' group by seq ");
                DataTable tbl_QueryData1 = ZhClass.SqlTool.GetDataTable(ZhConfig.GlobalSystemVar.StrConnection1, strSql.ToString(), "tbl_QueryData1");

                if (tbl_QueryData1.Rows.Count == 0)
                {
                    errStr = "請先儲存填寫內容,再進行繳交。";
                    if (errStr != "")
                    {
                        throw new Exception(errStr);
                    }
                }

                #region 設置 要傳入的 SqlParameter 資料
                SqlParameter[] param2 =
                {
                    new SqlParameter("qId", SqlDbType.Char, 10, ParameterDirection.Input, false, 0, 0, "", DataRowVersion.Proposed, qId),
                    new SqlParameter("seq", SqlDbType.Int,  10, ParameterDirection.Input, false, 0, 0, "", DataRowVersion.Proposed, tbl_QueryData1.Rows[0]["seq"].ToString())
                };
                #endregion

                strSql.Clear();
                strSql.Append(" Update Q30_answer set statusx='20' where qId='" + qId + "' and creatUser='******' ");
                errStr = SqlTool.ExecuteNonQuery(ZhConfig.GlobalSystemVar.StrConnection1, strSql.ToString(), param2);
                if (errStr != "")
                {
                    throw new Exception(errStr);
                }

                #region OperLog 繳交問卷
                if (Convert.ToBoolean(ZhConfig.GlobalSystemVar.tbl_OperLogFlag.Rows.Find(funcId)["isOperLogEnable"]) && errStr == "")
                {
                    #region Gen tbl_operLog1 Data (Add/Modify)
                    DataTable tbl_operLog1 = userData.Get_tbl_operLogPart1();
                    tbl_operLog1.Columns.Add("qId", typeof(string));
                    tbl_operLog1.Columns.Add("seq", typeof(string));
                    tbl_operLog1.Columns.Add("creatUser", typeof(string));

                    DataRow operLogRow = tbl_operLog1.NewRow();
                    //operLogRow["rowId"] =0;
                    operLogRow["actSerial"] = userData.actSerial;
                    operLogRow["sysUserId"] = 9;
                    operLogRow["actStatus"] = "P";
                    operLogRow["qId"]       = qId;
                    operLogRow["seq"]       = tbl_QueryData1.Rows[0]["seq"].ToString();
                    operLogRow["creatUser"] = "******";


                    tbl_operLog1.Rows.Add(operLogRow);
                    #endregion

                    errStr = ZhWebClassSet.Log.LogSet.SaveOperLog(funcId, "Q30_answer", tbl_operLog1);
                    if (errStr != "")
                    {
                        throw new Exception(errStr);
                    }
                }
                #endregion

                jo = new JObject();
                jo.Add("status", "OK");

                return(Content(JsonConvert.SerializeObject(jo), "application/json"));
            }
            catch (Exception ex)
            {
                jo = new JObject();
                jo.Add("status", "error");
                jo.Add("error", ex.Message);
                return(Content(JsonConvert.SerializeObject(jo), "application/json"));
            }
        }
        public ActionResult ActSingle(Models.question.Q00035 actRow)
        {
            ZhWebClassV3.UserData userData = ZhWebClassV3.UserHelper.GetUserData();
            JObject jo;

            try
            {
                DateTime dt = DateTime.Now;

                #region 設置 要傳入的 SqlParameter 資料
                SqlParameter[] param =
                {
                    new SqlParameter("qId",         SqlDbType.Char,       10, ParameterDirection.Input, false, 0, 0, "", DataRowVersion.Proposed, actRow.qId.ToString()),
                    new SqlParameter("title",       SqlDbType.NVarChar,  255, ParameterDirection.Input, false, 0, 0, "", DataRowVersion.Proposed, actRow.title.ToString()),
                    new SqlParameter("description", SqlDbType.NVarChar, 1000, ParameterDirection.Input, false, 0, 0, "", DataRowVersion.Proposed, actRow.description.ToString()),
                    new SqlParameter("qNum",        SqlDbType.Int,         4, ParameterDirection.Input, false, 0, 0, "", DataRowVersion.Proposed, actRow.qNum.ToString()),
                    new SqlParameter("statusx",     SqlDbType.Char,        2, ParameterDirection.Input, false, 0, 0, "", DataRowVersion.Proposed, "00"),
                    new SqlParameter("actUser",     SqlDbType.Char,       10, ParameterDirection.Input, false, 0, 0, "", DataRowVersion.Proposed, userData.sysUserId),
                    new SqlParameter("actTime",     SqlDbType.DateTime,   10, ParameterDirection.Input, false, 0, 0, "", DataRowVersion.Proposed, dt.ToString("yyyy-MM-dd HH:mm:ss"))
                };
                #endregion

                //switch (actRow.RowStatus.ToString())
                //{
                //    case "A":
                //        strSql.Clear();
                //        strSql.Append("Insert into Q30_questionMaster (qId, title, description, qNum, statusx, creatTime) values (@qId, @title, @description, @qNum, @statusx, @creatTime) ");
                //        errStr = SqlTool.ExecuteNonQuery(ZhConfig.GlobalSystemVar.StrConnection1, strSql.ToString(), param);
                //        if (errStr != "") throw new Exception(errStr);
                //        break;
                //    case "M":

                //        break;
                //}

                strSql.Clear();
                strSql.Append(" delete from Q30_questionDD where qId='" + actRow.qId.ToString() + "' ");
                strSql.Append(" delete from Q30_questionDetail where qId='" + actRow.qId.ToString() + "' ");
                errStr = SqlTool.ExecuteNonQuery(ZhConfig.GlobalSystemVar.StrConnection1, strSql.ToString());
                if (errStr != "")
                {
                    throw new Exception(errStr);
                }

                strSql.Clear();
                strSql.Append(" update Q30_questionMaster set title=@title, description=@description, qNum=@qNum, actUser=@actUser, actTime=getDate() where qId=@qId ");
                errStr = SqlTool.ExecuteNonQuery(ZhConfig.GlobalSystemVar.StrConnection1, strSql.ToString(), param);
                if (errStr != "")
                {
                    throw new Exception(errStr);
                }


                if (actRow.arrQds != null)
                {
                    int qNbr = 0;
                    foreach (Models.question.Q00035_d arrQd in actRow.arrQds)
                    {
                        #region 提供題目題號
                        if (arrQd.topicType.ToString() != "lb")
                        {
                            qNbr++;
                        }
                        #endregion

                        string topicType = arrQd.topicType.ToString();

                        #region 設置 要傳入的 SqlParameter 資料
                        SqlParameter[] param2 =
                        {
                            new SqlParameter("qId",       SqlDbType.Char,       10, ParameterDirection.Input, false, 0, 0, "", DataRowVersion.Proposed, actRow.qId.ToString()),
                            new SqlParameter("seq",       SqlDbType.Int,         4, ParameterDirection.Input, false, 0, 0, "", DataRowVersion.Proposed, arrQd.seq.ToString()),
                            new SqlParameter("qNbr",      SqlDbType.Int,         4, ParameterDirection.Input, false, 0, 0, "", DataRowVersion.Proposed, qNbr),
                            new SqlParameter("topic",     SqlDbType.NVarChar, 1000, ParameterDirection.Input, false, 0, 0, "", DataRowVersion.Proposed, arrQd.topic.ToString()),
                            new SqlParameter("topicType", SqlDbType.Char,        2, ParameterDirection.Input, false, 0, 0, "", DataRowVersion.Proposed, arrQd.topicType.ToString()),
                            new SqlParameter("required",  SqlDbType.Bit,         1, ParameterDirection.Input, false, 0, 0, "", DataRowVersion.Proposed, arrQd.required.ToString()),
                            new SqlParameter("options",   SqlDbType.Int,         4, ParameterDirection.Input, false, 0, 0, "", DataRowVersion.Proposed, arrQd.options.ToString()),
                            new SqlParameter("creatUser", SqlDbType.Char,       10, ParameterDirection.Input, false, 0, 0, "", DataRowVersion.Proposed, userData.sysUserId),
                            new SqlParameter("creatTime", SqlDbType.DateTime,   10, ParameterDirection.Input, false, 0, 0, "", DataRowVersion.Proposed, dt.ToString("yyyy-MM-dd HH:mm:ss"))
                        };
                        #endregion

                        strSql.Clear();
                        if (arrQd.topicType.ToString() != "lb")  //判斷目前是否為 說明標題,若為是則提供不儲存題號
                        {
                            strSql.Append("Insert into Q30_questionDetail (qId, seq, qNbr, topic, topicType, required, options, creatTime, creatUser) values (@qId, @seq, @qNbr, @topic, @topicType, @required, @options, @creatTime, @creatUser) ");
                        }
                        else
                        {
                            strSql.Append("Insert into Q30_questionDetail (qId, seq, topic, topicType, required, options, creatTime, creatUser) values (@qId, @seq, @topic, @topicType, @required, @options, @creatTime, @creatUser) ");
                        }
                        errStr = SqlTool.ExecuteNonQuery(ZhConfig.GlobalSystemVar.StrConnection1, strSql.ToString(), param2);
                        if (errStr != "")
                        {
                            throw new Exception(errStr);
                        }

                        if (topicType != "mt" && topicType != "li")
                        {
                            foreach (Models.question.Q00035_dd arrQdd in arrQd.arrQdds)
                            {
                                if (arrQdd.optionName == null)
                                {
                                    arrQdd.optionName = "";
                                }
                                #region 設置 要傳入的 SqlParameter 資料
                                SqlParameter[] param3 =
                                {
                                    new SqlParameter("qId",        SqlDbType.Char,       10, ParameterDirection.Input, false, 0, 0, "", DataRowVersion.Proposed, actRow.qId.ToString()),
                                    new SqlParameter("seq",        SqlDbType.Int,         4, ParameterDirection.Input, false, 0, 0, "", DataRowVersion.Proposed, arrQd.seq.ToString()),
                                    new SqlParameter("optionId",   SqlDbType.Int,         4, ParameterDirection.Input, false, 0, 0, "", DataRowVersion.Proposed, arrQdd.optionId.ToString()),
                                    new SqlParameter("optionName", SqlDbType.NVarChar, 1000, ParameterDirection.Input, false, 0, 0, "", DataRowVersion.Proposed, arrQdd.optionName.ToString()),
                                    new SqlParameter("creatUser",  SqlDbType.Char,       10, ParameterDirection.Input, false, 0, 0, "", DataRowVersion.Proposed, userData.sysUserId),
                                    new SqlParameter("creatTime",  SqlDbType.DateTime,   10, ParameterDirection.Input, false, 0, 0, "", DataRowVersion.Proposed, dt.ToString("yyyy-MM-dd HH:mm:ss"))
                                };
                                #endregion

                                strSql.Clear();
                                strSql.Append("Insert into Q30_questionDD (qId, seq, optionId, optionName, creatTime, creatUser) values (@qId, @seq, @optionId, @optionName, @creatTime, @creatUser) ");
                                errStr = SqlTool.ExecuteNonQuery(ZhConfig.GlobalSystemVar.StrConnection1, strSql.ToString(), param3);
                                if (errStr != "")
                                {
                                    throw new Exception(errStr);
                                }
                            }
                        }
                    }
                }

                #region OperLog 異動問卷題項
                if (Convert.ToBoolean(ZhConfig.GlobalSystemVar.tbl_OperLogFlag.Rows.Find(funcId)["isOperLogEnable"]) && errStr == "")
                {
                    #region Gen tbl_operLog1 Data (Add/Modify)
                    DataTable tbl_operLog1 = userData.Get_tbl_operLogPart1();
                    tbl_operLog1.Columns.Add("qId", typeof(string));

                    DataRow operLogRow = tbl_operLog1.NewRow();
                    //operLogRow["rowId"] =0;
                    operLogRow["actSerial"] = userData.actSerial;
                    operLogRow["sysUserId"] = userData.sysUserId;
                    operLogRow["actStatus"] = actRow.RowStatus.ToString();
                    operLogRow["qId"]       = actRow.qId.ToString();


                    tbl_operLog1.Rows.Add(operLogRow);
                    #endregion

                    errStr = ZhWebClassSet.Log.LogSet.SaveOperLog(funcId, "Q30_questionMaster, Q30_questionDetail, Q30_questionDD", tbl_operLog1);
                    if (errStr != "")
                    {
                        throw new Exception(errStr);
                    }
                }
                #endregion

                //ja.Add(itemObject);
                jo = new JObject();
                jo.Add("status", "OK");
                //jo.Add("row", ja);

                return(Content(JsonConvert.SerializeObject(jo), "application/json"));
            }
            catch (Exception ex)
            {
                jo = new JObject();
                jo.Add("status", "error");
                jo.Add("error", ex.Message);
                return(Content(JsonConvert.SerializeObject(jo), "application/json"));
            }
        }
        //[ValidateAntiForgeryToken]
        public ActionResult Login2(Models.ModelBase.ZhLoginViewModel model)
        {
            JObject jo     = new JObject();
            string  errStr = "";

            try
            {
                if (!ModelState.IsValid)
                {
                    return(View(model));
                }

                string strSql = "";
                if (model.userType == "admin")
                {
                    strSql = "select sysUserId,userName, 'QD' as objectName, '' as USERSSN from S10_users where userId=@userId and userPassword=@userPassword and statusx='10'";
                }
                else
                {
                    strSql = "select sysUserId=-1,USERName as userName, USERSSN, '' as objectName from USERS where USERID=@userId and PW=@userPassword ";
                }

                SqlParameter[] param =
                {
                    new SqlParameter("userId",       model.userId),
                    new SqlParameter("userPassword", model.userPassword)
                };

                DataTable tmpTbl = new DataTable();

                if (model.userType == "admin")
                {
                    tmpTbl = SqlTool.GetDataTable(strSql, "users", param);
                }
                else
                {
                    tmpTbl = SqlTool.GetDataTable(ZhConfig.GlobalSystemVar.StrConnection2, strSql, "users", param);
                    if (tmpTbl.Rows.Count == 0)
                    {
                        strSql = "select sysUserId=-2, USERName as userName, 行政管理SN as USERSSN, '' as objectName from 行政管理成員 where USERID=@userId and PW=@userPassword ";
                        tmpTbl = SqlTool.GetDataTable(ZhConfig.GlobalSystemVar.StrConnection2, strSql, "users", param);
                    }
                }

                if (tmpTbl.Rows.Count >= 1) //可以登入
                {
                    strSql = "SELECT sysUserGroupId from S10_userVsGroup where sysUserId='" + tmpTbl.Rows[0]["sysUserId"].ToString() + "'";

                    #region 取得使用者群組
                    DataTable tmpTbl2 = SqlTool.GetDataTable(strSql, "userVsGroup");
                    //ZhWebClassV3.UserData userData = new ZhWebClassV3.UserData();

                    ZhWebClassV3.UserData userDataObj = new ZhWebClassV3.UserData();


                    userDataObj.actSerial = Convert.ToInt32(ZhClass.AutoSerialNoType2.A_GetAutoSerial("S90_userLog", "actSerial"));

                    userDataObj.sysUserId       = Convert.ToInt32(tmpTbl.Rows[0]["sysUserId"]);
                    userDataObj.userId          = model.userId;
                    userDataObj.userName        = tmpTbl.Rows[0]["userName"].ToString();
                    userDataObj.sysUserGroupIds = "";
                    userDataObj.objectName      = tmpTbl.Rows[0]["objectName"].ToString();
                    userDataObj.USERSSN         = tmpTbl.Rows[0]["USERSSN"].ToString();

                    foreach (DataRow dr in tmpTbl2.Rows)
                    {
                        userDataObj.sysUserGroupIds += dr["sysUserGroupId"].ToString() + ",";
                    }
                    if (userDataObj.sysUserGroupIds.Length > 0)
                    {
                        userDataObj.sysUserGroupIds = userDataObj.sysUserGroupIds.Substring(0, userDataObj.sysUserGroupIds.Length - 1);
                    }

                    string userData = JsonConvert.SerializeObject(userDataObj);


                    #endregion

                    #region save user 登入的 useLog

                    //todo: 取得 Client login IP
                    //string loginIp = null; //取得loginIP
                    errStr = ZhClass.Log.LogV1.A_SaveUserLog2(userDataObj.actSerial, userDataObj.sysUserId, ZhClass.Log.LogActType.LogIn, null, Request.UserHostAddress);
                    if (errStr != "")
                    {
                        ClsUtilObj.WriteErrorLog(System.Reflection.MethodInfo.GetCurrentMethod().ToString() + " @" + errStr);
                        //ModelState.AddModelError("", "登入嘗試失試。");
                        //return View(model);
                        throw new Exception("登入嘗試失試。");
                    }
                    #endregion

                    ////Session["userInfo"] = userData;

                    FormsAuthentication.SetAuthCookie(model.userId, false);
                    FormsAuthenticationTicket ticket = new FormsAuthenticationTicket(1, userDataObj.sysUserId.ToString(), DateTime.Now, DateTime.Now.AddMinutes(30), true,
                                                                                     JsonConvert.SerializeObject(userDataObj), FormsAuthentication.FormsCookieName);


                    string encTicket = FormsAuthentication.Encrypt(ticket);

                    var cookie = new HttpCookie(FormsAuthentication.FormsCookieName, encTicket);
                    cookie.HttpOnly = true;

                    Response.Cookies.Add(cookie);
                }
                else
                {
                    throw new Exception("登入嘗試失試。");
                    //ModelState.AddModelError("", "。");
                    //if (selItem_userType == null)
                    //{
                    //    selItem_userType = new List<SelectListItem>();
                    //    selItem_userType.Add(new SelectListItem() { Text = "一般帳戶", Value = "user", Selected = true });
                    //    selItem_userType.Add(new SelectListItem() { Text = "管理員", Value = "admin" });
                    //}
                    //ViewBag.selItem_userType = selItem_userType;
                    ////ViewBag.selItem_sysCorpId = ZhWebClass.CmnObj.Get_tbl_corps_selItem(ZhConfig.IsAddIndexZero.Yes);
                    //return View(model);
                }
                jo.Add("status", "OK");
            }
            catch (Exception ex)
            {
                jo.Add("status", "error");
                jo.Add("error", ex.Message);
            }
            return(Content(JsonConvert.SerializeObject(jo), "application/json"));
        }
示例#26
0
        public ActionResult ActSingle(Models.question.Q00030 actRow)
        {
            JObject jo;

            ZhWebClassV3.UserData userData = ZhWebClassV3.UserHelper.GetUserData();

            try
            {
                #region ACall_checkIsDBNull
                actRow.title       = ZhConfig.ZhIniObj.ACall_checkIsDBNull(actRow.title);
                actRow.description = ZhConfig.ZhIniObj.ACall_checkIsDBNull(actRow.description);
                #endregion

                #region 取得問卷單號
                string qId = getQId();
                #endregion
                #region 存入問卷主檔
                #region 設置 要傳入的 SqlParameter 資料
                SqlParameter[] param =
                {
                    new SqlParameter("qId",         SqlDbType.Char,       10, ParameterDirection.InputOutput, false, 0, 0, "", DataRowVersion.Proposed, qId),
                    new SqlParameter("title",       SqlDbType.NVarChar,  255, ParameterDirection.InputOutput, false, 0, 0, "", DataRowVersion.Proposed, actRow.title),
                    new SqlParameter("description", SqlDbType.NVarChar, 1000, ParameterDirection.Input,       false, 0, 0, "", DataRowVersion.Proposed, actRow.description),
                    new SqlParameter("qNum",        SqlDbType.Int,         4, ParameterDirection.Input,       false, 0, 0, "", DataRowVersion.Proposed,                  0),
                    new SqlParameter("statusx",     SqlDbType.Char,        2, ParameterDirection.Input,       false, 0, 0, "", DataRowVersion.Proposed, "00"),
                    new SqlParameter("creatUser",   SqlDbType.Char,       10, ParameterDirection.Input,       false, 0, 0, "", DataRowVersion.Proposed, userData.sysUserId.ToString())
                };
                #endregion


                strSql.Clear();
                strSql.Append("Insert into Q30_questionMaster (qId, title, description, qNum, statusx, creatUser, creatTime) values (@qId, @title, @description, @qNum, @statusx, @creatUser, getDate()) ");
                errStr = SqlTool.ExecuteNonQuery(strSql.ToString(), param);
                if (errStr != "")
                {
                    throw new Exception(errStr);
                }
                #endregion

                #region 存入問卷日期檔
                #region 設置 要傳入的 SqlParameter 資料
                SqlParameter[] param3 =
                {
                    new SqlParameter("qId",       SqlDbType.Char, 10, ParameterDirection.InputOutput, false, 0, 0, "", DataRowVersion.Proposed, qId),
                    new SqlParameter("creatUser", SqlDbType.Char, 10, ParameterDirection.Input,       false, 0, 0, "", DataRowVersion.Proposed, userData.sysUserId.ToString())
                };
                #endregion

                strSql.Clear();
                strSql.Append("Insert into Q30_questionDate (qId, creatUser, creatTime) values (@qId, @creatUser, getDate()) ");
                errStr = SqlTool.ExecuteNonQuery(strSql.ToString(), param3);
                if (errStr != "")
                {
                    throw new Exception(errStr);
                }
                #endregion

                #region OperLog 修改問卷
                if (Convert.ToBoolean(ZhConfig.GlobalSystemVar.tbl_OperLogFlag.Rows.Find(funcId)["isOperLogEnable"]) && errStr == "")
                {
                    #region Gen tbl_operLog1 Data (Add/Modify)
                    DataTable tbl_operLog1 = userData.Get_tbl_operLogPart1();
                    tbl_operLog1.Columns.Add("qId", typeof(string));

                    DataRow operLogRow = tbl_operLog1.NewRow();
                    //operLogRow["rowId"] =0;
                    operLogRow["actSerial"] = userData.actSerial;
                    operLogRow["sysUserId"] = userData.sysUserId;
                    operLogRow["actStatus"] = "A";
                    operLogRow["qId"]       = qId;


                    tbl_operLog1.Rows.Add(operLogRow);
                    #endregion

                    errStr = ZhWebClassSet.Log.LogSet.SaveOperLog(funcId, "Q30_questionMaster", tbl_operLog1);
                    if (errStr != "")
                    {
                        throw new Exception(errStr);
                    }
                }
                #endregion

                #region return Info
                jo = new JObject();
                jo.Add("status", "OK");
                jo.Add("qId", qId);

                return(Content(JsonConvert.SerializeObject(jo), "application/json"));

                #endregion
            }
            catch (Exception ex)
            {
                jo = new JObject();
                jo.Add("status", "error");
                jo.Add("error", ex.Message);
                return(Content(JsonConvert.SerializeObject(jo), "application/json"));
            }
        }
示例#27
0
        public ActionResult ActDelete(string qId)
        {
            ZhWebClassV3.UserData userData = ZhWebClassV3.UserHelper.GetUserData();
            JObject jo;

            try
            {
                strSql.Clear();
                strSql.Append("select count(*) as c from Q30_answer where qId='" + qId + "' ");
                DataTable tbl_QueryData1 = ZhClass.SqlTool.GetDataTable(ZhConfig.GlobalSystemVar.StrConnection1, strSql.ToString(), "tbl_QueryData1");

                if (tbl_QueryData1.Rows[0]["c"].ToString() != "0")
                {
                    errStr = "此問卷已有人填寫,無法刪除";
                    if (errStr != "")
                    {
                        throw new Exception(errStr);
                    }
                }

                #region 設置 要傳入的 SqlParameter 資料
                SqlParameter[] param =
                {
                    new SqlParameter("qId", SqlDbType.Char, 10, ParameterDirection.InputOutput, false, 0, 0, "", DataRowVersion.Proposed, qId)
                };
                #endregion


                strSql.Clear();
                strSql.Append("Update Q30_questionMaster set statusx='30' where qId=@qId ");
                errStr = SqlTool.ExecuteNonQuery(strSql.ToString(), param);
                if (errStr != "")
                {
                    throw new Exception(errStr);
                }

                #region OperLog 刪除問卷
                if (Convert.ToBoolean(ZhConfig.GlobalSystemVar.tbl_OperLogFlag.Rows.Find(funcId)["isOperLogEnable"]) && errStr == "")
                {
                    #region Gen tbl_operLog1 Data (Add/Modify)
                    DataTable tbl_operLog1 = userData.Get_tbl_operLogPart1();
                    tbl_operLog1.Columns.Add("qId", typeof(string));

                    DataRow operLogRow = tbl_operLog1.NewRow();
                    //operLogRow["rowId"] =0;
                    operLogRow["actSerial"] = userData.actSerial;
                    operLogRow["sysUserId"] = userData.sysUserId;
                    operLogRow["actStatus"] = "D";
                    operLogRow["qId"]       = qId;


                    tbl_operLog1.Rows.Add(operLogRow);
                    #endregion

                    errStr = ZhWebClassSet.Log.LogSet.SaveOperLog(funcId, "Q30_questionMaster", tbl_operLog1);
                    if (errStr != "")
                    {
                        throw new Exception(errStr);
                    }
                }
                #endregion


                #region return Info
                jo = new JObject();
                jo.Add("status", "OK");

                return(Content(JsonConvert.SerializeObject(jo), "application/json"));

                #endregion
            }
            catch (Exception ex)
            {
                jo = new JObject();
                jo.Add("status", "error");
                jo.Add("error", ex.Message);
                return(Content(JsonConvert.SerializeObject(jo), "application/json"));
            }
        }
示例#28
0
        public ActionResult ActSingle(Models.question.B00010 actRow)
        {
            ZhWebClassV3.UserData userData = ZhWebClassV3.UserHelper.GetUserData();
            JObject jo;

            try
            {
                #region ACall_checkIsDBNull
                actRow.sysUserId    = ZhConfig.ZhIniObj.ACall_checkIsDBNull(actRow.sysUserId);
                actRow.userName     = ZhConfig.ZhIniObj.ACall_checkIsDBNull(actRow.userName);
                actRow.userId       = ZhConfig.ZhIniObj.ACall_checkIsDBNull(actRow.userId);
                actRow.userPassword = ZhConfig.ZhIniObj.ACall_checkIsDBNull(actRow.userPassword);
                actRow.userEmail    = ZhConfig.ZhIniObj.ACall_checkIsDBNull(actRow.userEmail);
                actRow.userPhone    = ZhConfig.ZhIniObj.ACall_checkIsDBNull(actRow.userPhone);
                actRow.userTel      = ZhConfig.ZhIniObj.ACall_checkIsDBNull(actRow.userTel);
                actRow.memo         = ZhConfig.ZhIniObj.ACall_checkIsDBNull(actRow.memo);
                actRow.creatUser    = ZhConfig.ZhIniObj.ACall_checkIsDBNull(actRow.creatUser);
                actRow.actUser      = ZhConfig.ZhIniObj.ACall_checkIsDBNull(actRow.actUser);
                #endregion

                #region 設置 要傳入的 SqlParameter 資料

                SqlParameter[] param =
                {
                    new SqlParameter("sysUserId",    SqlDbType.Int,       4, ParameterDirection.InputOutput, false, 0, 0, "",          DataRowVersion.Proposed, actRow.sysUserId),
                    new SqlParameter("userName",     SqlDbType.NVarChar, -1, ParameterDirection.Input,       false, 0, 0, "",          DataRowVersion.Proposed, actRow.userName),
                    new SqlParameter("userId",       SqlDbType.VarChar,  -1, ParameterDirection.Input,       false, 0, 0, "",          DataRowVersion.Proposed, actRow.userId),
                    new SqlParameter("userPassword", SqlDbType.VarChar,  -1, ParameterDirection.Input,       false, 0, 0, "",          DataRowVersion.Proposed, actRow.userPassword),
                    new SqlParameter("userEmail",    SqlDbType.VarChar,  -1, ParameterDirection.Input,       false, 0, 0, "",          DataRowVersion.Proposed, actRow.userEmail),
                    new SqlParameter("userPhone",    SqlDbType.VarChar,  -1, ParameterDirection.Input,       false, 0, 0, "",          DataRowVersion.Proposed, actRow.userPhone),
                    new SqlParameter("userTel",      SqlDbType.VarChar,  -1, ParameterDirection.Input,       false, 0, 0, "",          DataRowVersion.Proposed, actRow.userTel),
                    new SqlParameter("memo",         SqlDbType.NVarChar, -1, ParameterDirection.Input,       false, 0, 0, "",          DataRowVersion.Proposed, actRow.memo),
                    new SqlParameter("creatUser",    SqlDbType.Int,       4, ParameterDirection.Input,       false, 0, 0, "",          DataRowVersion.Proposed, userData.sysUserId), //actRow.creatUser
                    new SqlParameter("actUser",      SqlDbType.Int,       4, ParameterDirection.Input,       false, 0, 0, "",          DataRowVersion.Proposed, userData.sysUserId), //actRow.actUser
                    new SqlParameter("pk_sysUserId", SqlDbType.Int,       4, ParameterDirection.Input,       false, 0, 0, "sysUserId", DataRowVersion.Original, actRow.sysUserId)
                };

                #endregion

                strSql.Append("update S10_users set userName=@userName,userId=@userId,userPassword=@userPassword,userEmail=@userEmail,userPhone=@userPhone,userTel=@userTel,memo=@memo,actUser=@actUser,actTime=getdate() where sysUserId=@pk_sysUserId");

                errStr = SqlTool.ExecuteNonQuery(strSql.ToString(), param);
                if (errStr != "")
                {
                    throw new Exception(errStr);
                }

                #region OperLog 修改基本資料
                if (Convert.ToBoolean(ZhConfig.GlobalSystemVar.tbl_OperLogFlag.Rows.Find(funcId)["isOperLogEnable"]) && errStr == "")
                {
                    #region Gen tbl_operLog1 Data (Add/Modify)
                    DataTable tbl_operLog1 = userData.Get_tbl_operLogPart1();
                    tbl_operLog1.Columns.Add("sysUserId1", typeof(string));

                    DataRow operLogRow = tbl_operLog1.NewRow();
                    //operLogRow["rowId"] =0;
                    operLogRow["actSerial"]  = userData.actSerial;
                    operLogRow["sysUserId"]  = userData.sysUserId;
                    operLogRow["actStatus"]  = "M";
                    operLogRow["sysUserId1"] = userData.sysUserId;


                    tbl_operLog1.Rows.Add(operLogRow);
                    #endregion

                    errStr = ZhWebClassSet.Log.LogSet.SaveOperLog(funcId, "Q10_users", tbl_operLog1);
                    if (errStr != "")
                    {
                        throw new Exception(errStr);
                    }
                }
                #endregion

                jo = new JObject();
                jo.Add("status", "OK");
                return(Content(JsonConvert.SerializeObject(jo), "application/json"));
            }
            catch (Exception ex)
            {
                jo = new JObject();
                jo.Add("status", "error");
                jo.Add("error", ex.Message);
                return(Content(JsonConvert.SerializeObject(jo), "application/json"));
            }
        }
示例#29
0
        public ActionResult GetGridJSON(int page, int rows, string sort, string order, string year, string title) //, string value_statusx
        {
            ZhWebClassV3.UserData userData = ZhWebClassV3.UserHelper.GetUserData();

            #region Gen strSql by ROW_NUMBER
            string tableName = "u_" + funcId;
            string sortId    = "qId";

            if (!string.IsNullOrEmpty(sort))
            {
                sortId = sort;
            }
            if (!string.IsNullOrEmpty(order))
            {
                sortId = sort + " " + order;
            }

            #region strCond
            string strCond = " WHERE 1=1 ";

            if (!string.IsNullOrEmpty(userData.sysUserId.ToString()))
            {
                strCond += " and sysUserId='" + userData.sysUserId.ToString() + "' ";
            }
            if (!string.IsNullOrEmpty(year))
            {
                strCond += " and year='" + year + "' ";
            }
            if (!string.IsNullOrEmpty(title))
            {
                strCond += " and title like '%" + title + "%' ";
            }
            #endregion

            strSql.Append("SELECT  * FROM (SELECT  ROW_NUMBER() OVER (ORDER BY " + sortId + ") AS RowNum, * FROM " + tableName + strCond + ") AS NewTable ");
            strSql.Append(" WHERE RowNum >= " + ((page - 1) * rows + 1).ToString() + " AND RowNum <=" + page * rows);
            #endregion

            DataTable tbl_QueryData1 = ZhClass.SqlTool.GetDataTable(ZhConfig.GlobalSystemVar.StrConnection1, strSql.ToString(), tableName);

            int totalCount = Convert.ToInt32(ZhClass.SqlTool.GetOneDataValue(" select count(*) from " + tableName + strCond));

            JObject jo = new JObject();
            jo.Add("total", totalCount);

            #region Gen json rows data
            JArray ja = new JArray();
            foreach (DataRow dr in tbl_QueryData1.Rows)
            {
                var itemObject = new JObject();

                foreach (DataColumn dc in tbl_QueryData1.Columns)
                {
                    switch (dc.ColumnName)
                    {
                    case "RowNum":
                        continue;

                    case "title":
                        itemObject.Add(dc.ColumnName, "<pre style=\"white-space: pre-wrap;word-wrap: break-word;width:250px;font-family:'Microsoft JhengHei';\">" + dr[dc].ToString() + "</pre>");
                        break;

                    case "description":
                        //itemObject.Add(dc.ColumnName, dr[dc].ToString().Replace("\n","<br />"));
                        itemObject.Add(dc.ColumnName, "<pre style=\"white-space: pre-wrap;word-wrap: break-word;width:350px;font-family:'Microsoft JhengHei';\">" + dr[dc].ToString() + "</pre>");
                        break;

                    default:
                        itemObject.Add(dc.ColumnName, dr[dc].ToString());
                        break;
                    }
                }

                ja.Add(itemObject);
            }
            #endregion


            jo.Add("rows", ja);
            return(Content(JsonConvert.SerializeObject(jo), "application/json"));
        }
示例#30
0
        public ActionResult ActDisable(Models.question.Q00030_ActPublish actRow)
        {
            ZhWebClassV3.UserData userData = ZhWebClassV3.UserHelper.GetUserData();
            JObject jo;

            try
            {
                #region ACall_checkIsDBNull
                actRow.qId = ZhConfig.ZhIniObj.ACall_checkIsDBNull(actRow.qId);
                #endregion

                #region 設置 要傳入的 SqlParameter 資料
                SqlParameter[] param =
                {
                    new SqlParameter("qId", SqlDbType.Char, 10, ParameterDirection.InputOutput, false, 0, 0, "", DataRowVersion.Proposed, actRow.qId.ToString())
                };
                #endregion

                strSql.Clear();
                strSql.Append("UPDATE Q30_questionMaster SET statusx='20', actTime=getDate() where qId=@qId");
                errStr = SqlTool.ExecuteNonQuery(strSql.ToString(), param);
                if (errStr != "")
                {
                    throw new Exception(errStr);
                }

                #region OperLog 停用問卷
                if (Convert.ToBoolean(ZhConfig.GlobalSystemVar.tbl_OperLogFlag.Rows.Find(funcId)["isOperLogEnable"]) && errStr == "")
                {
                    #region Gen tbl_operLog1 Data (Add/Modify)
                    DataTable tbl_operLog1 = userData.Get_tbl_operLogPart1();
                    tbl_operLog1.Columns.Add("qId", typeof(string));

                    DataRow operLogRow = tbl_operLog1.NewRow();
                    //operLogRow["rowId"] =0;
                    operLogRow["actSerial"] = userData.actSerial;
                    operLogRow["sysUserId"] = userData.sysUserId;
                    operLogRow["actStatus"] = "S";
                    operLogRow["qId"]       = actRow.qId.ToString();


                    tbl_operLog1.Rows.Add(operLogRow);
                    #endregion

                    errStr = ZhWebClassSet.Log.LogSet.SaveOperLog(funcId, "Q30_questionMaster", tbl_operLog1);
                    if (errStr != "")
                    {
                        throw new Exception(errStr);
                    }
                }
                #endregion

                DateTime actTime = DateTime.Now;

                #region return Info
                JArray ja         = new JArray();
                var    itemObject = new JObject();
                itemObject.Add("statusxName", "停用");
                itemObject.Add("statusx", "20");
                itemObject.Add("actTime", actTime.ToString());
                ja.Add(itemObject);

                jo = new JObject();
                jo.Add("status", "OK");
                jo.Add("row", ja);

                return(Content(JsonConvert.SerializeObject(jo), "application/json"));

                #endregion
            }
            catch (Exception ex)
            {
                jo = new JObject();
                jo.Add("status", "error");
                jo.Add("error", ex.Message);
                return(Content(JsonConvert.SerializeObject(jo), "application/json"));
            }
        }