public ActionResult Add(tb_category_model model)
 {
     return this.Visit(Core.EnumUserRole.Admin, () =>
     {
         using (DbConn PubConn = DbConfig.CreateConn(Config.TaskConnectString))
         {
             PubConn.Open();
             tb_category_dal dal = new tb_category_dal();
             dal.Add(PubConn, model.categoryname);
             return RedirectToAction("index");
         }
     });
 }
 public JsonResult Update(tb_category_model model)
 {
     return this.Visit(Core.EnumUserRole.Admin, () =>
     {
         using (DbConn PubConn = DbConfig.CreateConn(Config.TaskConnectString))
         {
             PubConn.Open();
             tb_category_dal dal = new tb_category_dal();
             dal.Update(PubConn, model);
             return Json(new { code = 1, msg = "Success" });
         }
     });
 }
        //
        // GET: /Category/

        public ActionResult Index(string keyword)
        {
            return this.Visit(Core.EnumUserRole.Admin, () =>
            {
                using (DbConn PubConn = DbConfig.CreateConn(Config.TaskConnectString))
                {
                    PubConn.Open();
                    tb_category_dal dal = new tb_category_dal();
                    List<tb_category_model> model = dal.GetList(PubConn, keyword);
                    return View(model);
                }
            });
        }
 public JsonResult Delete(int id)
 {
     return this.Visit(Core.EnumUserRole.Admin, () =>
     {
         try
         {
             tb_category_dal dal = new tb_category_dal();
             using (DbConn PubConn = DbConfig.CreateConn(Config.TaskConnectString))
             {
                 PubConn.Open();
                 bool state = dal.DeleteOneNode(PubConn, id);
                 return Json(new { code = 1, state = state });
             }
         }
         catch (Exception ex)
         {
             return Json(new { code = -1, msg = ex.Message });
         }
     });
 }