//[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()); }
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()); }
// 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()); }
// 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()); }
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()); }
// 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()); }
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")); }
// 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()); }
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")); }
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")); }
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")); } }
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")); } }
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")); }
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")); } }
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")); } }
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")); } }
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")); }
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")); } }