Exemplo n.º 1
0
        public async Task <JsonResult> Delete(FormCollection fc)
        {
            string keyword = CommonHelper.GetValue(Request["keyword"]);
            int    pgnum   = CommonHelper.GetValue <int>(Request["pgnum"], 1);
            int    pgsize  = CommonHelper.GetValue <int>(Request["pgsize"], 0);
            string ids     = fc.Get("id[]");

            string[] idlist = ids.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries);

            string itemscount = null;

            ISession se = NHibernateHelper.CurrentSession;

            await DeleteReferences(se, idlist);

            await Task.Run(() =>
            {
                using (ITransaction tx = se.BeginTransaction())
                {
                    se.CreateQuery("delete from Department where id in (:idlist)")
                    .SetParameterList("idlist", idlist)
                    .ExecuteUpdate();
                    tx.Commit();
                }
            });

            itemscount = await DepartmentHelper.GetItemMessage(keyword, pgnum, pgsize);

            return(Json(new Dictionary <string, object>
            {
                { "success", 1 },
                { "itemscount", itemscount },
                { "message", string.Format("{0} Department(s) was successfully deleted.", idlist.Length) }
            },
                        JsonRequestBehavior.AllowGet));
        }