using System; using System.Collections.Generic; using System.Linq; using System.Text; using SOH.Entities; using EAS.Services; using SOH.Data; using EAS.Data; using EAS.Data.ORM; using EAS.Data.Linq; using EAS.Data.Access; using Newtonsoft.Json; using System.Data; namespace SOH.BLL { [ServiceObject("权限相关业务")] [ServiceBind(typeof(IQuanXian))] public class QuanXian : IQuanXian { public List getAssList() { // throw new NotImplementedException(); using (DbEntities db = new DbEntities()) { return db.SYS_ASSs.ToList(); } } public List getModules(string guidkey) { throw new NotImplementedException(); } public Data.OperationResult addASS(Entities.SYS_ASS ass) { using (DbEntities db = new DbEntities()) { using (DbTransaction tran = db.CreateTransaction()) { OperationResult or = new OperationResult(); try { if (ass.id == 0) { ass.id = new BasicBll().GetMax(ass.DbTableName, 1); db.SYS_ASSs.Insert(ass); } else { db.SYS_ASSs.Update(ass); } foreach (modules m in ass.modules) { if (db.moduless.Where(t => t.guid == m.guid).Any()) { m.id = db.moduless.First(t => t.guid == m.guid).id; db.moduless.Update(m); } else { m.id = new BasicBll().GetMax(m.DbTableName, 1); m.assid = ass.id; db.moduless.Insert(m); } } tran.Commit(); } catch (System.Exception ex) { or.State = 0; or.Message = ex.Message; return or; } or.Message = "保存成功!"; or.State = 1; return or; } } } public SYS_ASS getAss(string assguid) { // throw new NotImplementedException(); using (DbEntities db = new DbEntities()) { return db.SYS_ASSs.FirstOrDefault(t => t.guid == assguid); } } public string getMunelist(byte lx) { //throw new NotImplementedException(); using (var db = new DbEntities()) { if (lx == 0) { var m = db.SYS_MENUs.Where(t => t.mtype == lx).Select(p => new { id = p.id, cdname = p.menuname, pid = p.pid, px = p.px }); return Newtonsoft.Json.JsonConvert.SerializeObject(m.ToList()); } else if (lx == 1) { var ls = db.SYS_MENUs.Where(t => t.mtype == 1).Join(db.moduless, t => t.modulesid, p => p.id, (t, p) => new { mid = t.id, mname = t.menuname, mkid = p.guid, mkname = p.typename, assid = p.assid, pid = t.pid, opentype = t.opentype, px = t.px }) .Join(db.SYS_ASSs, t => t.assid, inn => inn.id, (t, a) => new { mid = t.mid, mname = t.mname, mkid = t.mkid, mkname = t.mkname, pid = t.pid, opentype = t.opentype == 0 ? "窗口" : "对话框", assid = a.guid, assname = a.assname, px = t.px }); return Newtonsoft.Json.JsonConvert.SerializeObject(ls.ToList()); } else { var m = db.SYS_MENUs.Select(p => new { id = p.id, cdname = p.menuname, pid = p.pid, px = p.px }); return Newtonsoft.Json.JsonConvert.SerializeObject(m.ToList()); } } } public string getAssModuleList() { //throw new NotImplementedException(); using (var db = new DbEntities()) { var m = db.SYS_ASSs.Join(db.moduless, t => t.id, p => p.assid, (t, p) => new { assid = t.guid, assname = t.assname, mkid = p.guid, id = t.id, mkname = p.typename, mklm = p.FullName, mid = p.id }); return Newtonsoft.Json.JsonConvert.SerializeObject(m.ToList()); } } public OperationResult setMenu(SYS_MENU sm) { // throw new NotImplementedException(); using (var db = new DbEntities()) { OperationResult or = new OperationResult(); try { if (sm.id == 0) { sm.id = new BLL.BasicBll().GetMax(sm.DbTableName, 1); db.SYS_MENUs.Insert(sm); } else { if (sm.mtype == 1 && db.SYS_MENUs.Where(t => t.pid == sm.id).Count() > 0) { or.Message = "当前菜单有下级菜单不能修改为功能!"; or.State = 0; return or; } db.SYS_MENUs.Update(sm); } } catch (System.Exception ex) { or.State = 0; or.Message = ex.Message; return or; } or.Message = "操作成功!"; or.State = 1; or.Tag = JsonConvert.SerializeObject(sm); return or; } } public OperationResult deleteMune(int mid) { //throw new NotImplementedException(); OperationResult or = new OperationResult(); using (var db = new DbEntities()) { if (db.SYS_MENUs.Where(t => t.pid == mid).Count() > 0) { or.State = 0; or.Message = "你选择的菜单有下级菜单不能删除!"; } else { try { db.SYS_MENUs.Delete(t => t.id == mid); } catch (System.Exception ex) { or.State = 0; or.Message = ex.Message; return or; } or.State = 1; or.Message = "删除成功!"; } } return or; } //根据ID获取菜单 public SYS_MENU getMenu(int mid) { //throw new NotImplementedException(); using (var db = new DbEntities()) { return db.SYS_MENUs.FirstOrDefault(t => t.id == mid); } } public string getUserMenu(string p) { //throw new NotImplementedException(); using (var db = new DbEntities()) { //var czy=db.t_czygls.FirstOrDefault( var ls = db.t_czygls.Where(t=>t.czym== p).Join(db.czyroles, t => t.czym, r => r.czyid, (t, r) => new { r }).Join(db.RoleCDs, t => t.r.roleid, r => r.roleid, (t, r) => new { r }); if (!ls.Any()) return null; DataTable dt = new DataTable(); dt.Columns.Add("cdname", typeof(string)); dt.Columns.Add("cdlx", typeof(byte)); dt.Columns.Add("dkfs", typeof(byte)); dt.Columns.Add("px", typeof(int)); dt.Columns.Add("pid", typeof(int)); dt.Columns.Add("dll", typeof(string)); dt.Columns.Add("fullname", typeof(string)); dt.Columns.Add("assid", typeof(int)); dt.Columns.Add("cdid", typeof(int)); foreach (var m in ls.ToList()) { if (dt.Select("cdid=" + m.r.menu.id).Count() <= 0) { DataRow dr = dt.NewRow(); dr["cdname"] = m.r.menu.menuname; dr["cdlx"] = m.r.menu.mtype; dr["dkfs"] = m.r.menu.opentype; dr["px"] = m.r.menu.px; dr["pid"] = m.r.menu.pid; if (m.r.menu.mtype == 1) { dr["assid"] = m.r.menu.module.assid; dr["dll"] = m.r.menu.module.sys_ass.dllname; dr["fullname"] = m.r.menu.module.FullName; } dr["cdid"] = m.r.menu.id; dt.Rows.Add(dr); } } return Newtonsoft.Json.JsonConvert.SerializeObject(dt); } } public string getczylist(string fdid) { //throw new NotImplementedException(); using (var db = new DbEntities()) { var czy = db.t_czygls.Where(t => t.zhuxiao == 0).Join(db.t_ygzds, t => t.ygbm, p => p.bm, (t, p) => new { czy = t.czym, rname = p.xm, ssks = p.ssks, fddm = p.yydm ,zhuxiao=p.zhuxiao}) .Where(t=>t.zhuxiao==0).Join(db.keshis,t=>t.ssks,p=>p.ksbm,(t,p)=>new {czy=t.czy,rname=t.rname,ssks=p.ksmc,fddm=t.fddm}); if (!string.IsNullOrEmpty(fdid)) { int ifd = 0; int.TryParse(fdid, out ifd); czy = czy.Where(t => t.fddm == ifd); } return Newtonsoft.Json.JsonConvert.SerializeObject(czy.ToList()); } } public string getlrqx(string czy) { //throw new NotImplementedException(); using (var db = new DbEntities()) { var ks = db.t_czylrqxs.Where(t => t.czy == czy).Join(db.keshis, t => t.ksbm, p => p.ksbm, (t, p) => new { ksbm=p.ksbm, ksmc = p.ksmc, zxbz = p.zhuxiao == 0 ? "未注销" : "已注销" }); return Newtonsoft.Json.JsonConvert.SerializeObject(ks.ToList()); } } public OperationResult setuserksqx(string _czy, List ksbms) { //throw new NotImplementedException(); OperationResult or = new OperationResult(); using (var db = new DbEntities()) { var tran = db.CreateTransaction(); try { db.t_czylrqxs.Delete(t => t.czy == _czy); ksbms.ForEach(t => { t_czylrqx qx = new t_czylrqx(); qx.czy = _czy; qx.ksbm = (short)t; db.t_czylrqxs.Insert(qx); }); tran.Commit(); } catch (System.Exception ex) { tran.Rollback(); or.State = 0; or.Message = ex.Message; return or; } or.Message = "操作完成!"; or.State = 1; return or; } } } } //ts_dd kh ddfzd ddxmb t_kh -->t_ht