Beispiel #1
0
        public override OperationResult Create(RoleInfo info)
        {
            OperationResult result = new OperationResult(OperationResultType.Error, "操作失败,请稍后重试!");
            using (var DbContext = new UCDbContext())
            {
                Role entity = new Role();
                DESwap.RoleDTE(info, entity);
                RoleRpt.Insert(DbContext, entity);

                /*关联权限是否为空*/
                if (info.RoleFacilityInfoList != null)
                {
                    /*****新增列表*********/
                    List<RoleFacility> insertlist = new List<RoleFacility>();
                    /*****删除列表*********/
                    List<RoleFacility> deletelist = new List<RoleFacility>();

                    /*原有列表*/
                    var existlist = (from i in DbContext.RoleFacility
                                     where i.RoleId.Equals(info.Id)
                                     select i).ToList();

                    /*************如果为选中且没有关联表id则为新增******************/
                    foreach (var rfinfo in info.RoleFacilityInfoList)
                    {
                        if (string.IsNullOrEmpty(rfinfo.Id) && rfinfo.Selected)
                        {
                            /*************如果为选中且没有关联表id则为新增******************/
                            rfinfo.Id = System.Guid.NewGuid().ToString();
                            rfinfo.RoleId = info.Id;
                            RoleFacility roleFacility = new RoleFacility();
                            DESwap.RoleFacilityDTE(rfinfo, roleFacility);
                            insertlist.Add(roleFacility);
                        }
                        else if (!string.IsNullOrEmpty(rfinfo.Id) && rfinfo.Selected == false)
                        {
                            /*************如果为未选中且有关联表id则为删除******************/
                            var roleFacility = existlist.Where(x => x.Id.Equals(rfinfo.Id)).FirstOrDefault();
                            if (roleFacility == null)
                            {
                                deletelist.Add(roleFacility);
                            }
                        }
                    }

                    RoleFacilityRpt.Insert(DbContext, insertlist);
                    RoleFacilityRpt.Delete(DbContext, deletelist);
                }
                DbContext.SaveChanges();

                result.ResultType = OperationResultType.Success;
                result.Message = "操作成功!";
                return result;
            }
        }
Beispiel #2
0
 public virtual OperationResult Create(RoleInfo info)
 {
     OperationResult result = new OperationResult(OperationResultType.Error, "操作失败,请稍后重试!");
     using (var DbContext = new UCDbContext())
     {
       Role entity = new Role();
       DESwap.RoleDTE(info, entity);
       RoleRpt.Insert(DbContext, entity);
       DbContext.SaveChanges();
     }
     result.ResultType = OperationResultType.Success;
     result.Message = "操作成功!";
     return result;
 }
Beispiel #3
0
 public JsonResult UpdateRoleValid(string key, string validstatus)
 {
     RoleInfo info = new RoleInfo();
     if (!string.IsNullOrEmpty(key) && !string.IsNullOrEmpty(validstatus))
     {
         info.Id = key;
         info.SYS_IsValid = int.Parse(validstatus);
         OperationResult opr = RoleService.Modify(info);
         return Json(new JsonResultHelper(opr.Message));
     }
     else
     {
         return Json(new JsonResultHelper(false, "选择的记录无效", ""));
     }
 }
Beispiel #4
0
        public ActionResult SaveRole(RoleInfo info)
        {
            OperationResult opr = new OperationResult(OperationResultType.Success);
            try
            {
                if (string.IsNullOrEmpty(info.Id))
                {
                    info.Id = System.Guid.NewGuid().ToString();
                    opr = RoleService.Create(info);
                }
                else
                {
                    opr = RoleService.Modify(info);

                }

                ViewBag.DicApp = PublicMethod.ListAllAppInfo(AppService, null);

                ViewBag.PromptMsg = opr.Message;
            }
            catch (Exception err)
            {
                ViewBag.PromptMsg = err.Message;
            }

            return View("RoleForm", info);
        }
Beispiel #5
0
        public ViewResult RoleForm(string key)
        {
            ViewBag.Title = "RoleForm";
            ViewBag.DicApp = PublicMethod.ListAllAppInfo(AppService, null);

            /*所有权限*/
            NameValueCollection nvc = new NameValueCollection();
            nvc.Add("isvalid", "1");
            NameValueCollection orderby = new NameValueCollection();
            orderby.Add("facilityname", "asc");
            List<FacilityInfo> rdatalist = FacilityService.ListAllByCondition(nvc, orderby);

            if (string.IsNullOrEmpty(key))
            {
                RoleInfo info = new RoleInfo();

                var rfdatalist = new List<RoleFacilityInfo>();
                var datalist = (from f in rdatalist
                                join ff in rfdatalist on f.Id equals ff.FacilityId into templist
                                from tp in templist.DefaultIfEmpty()
                                select new RoleFacilityInfo()
                                {
                                    Id = tp == null ? "" : tp.Id,
                                    RoleId = tp == null ? "" : tp.RoleId,
                                    AccessScope = tp == null ? 0 : tp.AccessScope,
                                    FacilityId = f.Id,
                                    FacilityName = f.FacilityName,
                                    Selected = tp == null ? false : true

                                }).ToList();
                info.RoleFacilityInfoList = datalist;
                return View(info);
            }
            else
            {
                RoleInfo info = RoleService.Load(key);
                var datalist = (from f in rdatalist
                                join ff in info.RoleFacilityInfoList on f.Id equals ff.FacilityId into templist
                                from tp in templist.DefaultIfEmpty()
                                select new RoleFacilityInfo()
                                {
                                    Id = tp == null ? "" : tp.Id,
                                    RoleId = tp == null ? "" : tp.RoleId,
                                    AccessScope = tp == null ? 0 : tp.AccessScope,
                                    FacilityId = f.Id,
                                    FacilityName = f.FacilityName,
                                    Selected = tp == null ? false : true

                                }).ToList();
                info.RoleFacilityInfoList = datalist;
                return View(info);
            }
        }
Beispiel #6
0
 public JsonResult DeleteRole(string key)
 {
     RoleInfo info = new RoleInfo();
     if (!string.IsNullOrEmpty(key))
     {
         info.Id = key;
         OperationResult opr = RoleService.Remove(key);
         return Json(new JsonResultHelper(opr.Message));
     }
     else
     {
         return Json(new JsonResultHelper(false, "选择的记录无效", ""));
     }
 }
Beispiel #7
0
        public virtual List<RoleInfo> ListAllByCondition(NameValueCollection searchCondtionCollection, NameValueCollection sortCollection)
        {
            List<Role> list = null;

            using (var DbContext = new UCDbContext())
            {
            var query = from i in DbContext.Role
                        select i;

            #region 条件
            foreach (string key in searchCondtionCollection)
            {
                string condition = searchCondtionCollection[key];
                switch (key.ToLower())
                {
                    case "isvalid":
                        int value = Convert.ToInt32(condition);
                        query = query.Where(x => x.SYS_IsValid.Equals(value));
                        break;
                    default:
                        break;
                }
            }
            #endregion

            #region 排序
            foreach (string sort in sortCollection)
            {
                string direct = string.Empty;
                switch (sort.ToLower())
                {
                    case "createtime":
                        if (direct.ToLower().Equals("asc"))
                        {
                            query = query.OrderBy(x => new { x.SYS_CreateTime });
                        }
                        else
                        {
                            query = query.OrderByDescending(x => new { x.SYS_CreateTime });
                        }
                        break;
                    default:
                        query = query.OrderByDescending(x => new { x.SYS_OrderSeq });
                        break;
                }
            }
               list = query.ToList();
            }
            #endregion
            #region linq to entity
            List<RoleInfo> ilist = new List<RoleInfo>();
            list.ForEach(x =>
            {
                RoleInfo info = new RoleInfo();
                DESwap.RoleETD(x, info);
                ilist.Add(info);
            });
            #endregion

            return ilist;;
        }
Beispiel #8
0
 public virtual RoleInfo Load(string key)
 {
     RoleInfo info = new RoleInfo();
     using (var DbContext = new UCDbContext())
     {
     Role entity = RoleRpt.Get(DbContext, key);
     DESwap.RoleETD(entity,info);
     }
     return info;
 }
Beispiel #9
0
        public static void RoleETD(Role entity, RoleInfo info)
        {
            info.Id = entity.Id;
               info._IdIsDirty = 0;

               info.RoleCode = entity.RoleCode;
               info._RoleCodeIsDirty = 0;

               info.RoleName = entity.RoleName;
               info._RoleNameIsDirty = 0;

               info.AppId = entity.AppId;
               info._AppIdIsDirty = 0;

               info.SYS_OrderSeq = entity.SYS_OrderSeq;
               info._SYS_OrderSeqIsDirty = 0;

               info.SYS_IsValid = entity.SYS_IsValid;
               info._SYS_IsValidIsDirty = 0;

               info.SYS_IsDeleted = entity.SYS_IsDeleted;
               info._SYS_IsDeletedIsDirty = 0;

               info.SYS_Remark = entity.SYS_Remark;
               info._SYS_RemarkIsDirty = 0;

               info.SYS_StaffId = entity.SYS_StaffId;
               info._SYS_StaffIdIsDirty = 0;

               info.SYS_StationId = entity.SYS_StationId;
               info._SYS_StationIdIsDirty = 0;

               info.SYS_DepartmentId = entity.SYS_DepartmentId;
               info._SYS_DepartmentIdIsDirty = 0;

               info.SYS_CompanyId = entity.SYS_CompanyId;
               info._SYS_CompanyIdIsDirty = 0;

               info.SYS_AppId = entity.SYS_AppId;
               info._SYS_AppIdIsDirty = 0;

               info.SYS_CreateTime = entity.SYS_CreateTime;
               info._SYS_CreateTimeIsDirty = 0;

               info.SYS_ModifyTime = entity.SYS_ModifyTime;
               info._SYS_ModifyTimeIsDirty = 0;

               info.SYS_DeleteTime = entity.SYS_DeleteTime;
               info._SYS_DeleteTimeIsDirty = 0;
        }
Beispiel #10
0
        /// <summary>
        /// 重载读取权限信息内容,加载关联的功能列表
        /// </summary>
        /// <param name="key"></param>
        /// <returns></returns>
        public override RoleInfo Load(string key)
        {
            RoleInfo info = new RoleInfo();
            using (var DbContext = new UCDbContext())
            {
                Role entity = RoleRpt.Get(DbContext, key);
                if (info != null)
                {
                    DESwap.RoleETD(entity, info);

                    /*******查询关联权限*******/
                    var fflist = (from i in DbContext.RoleFacility
                                  where i.RoleId.Equals(info.Id)
                                  select i).ToList();
                    info.RoleFacilityInfoList = new List<RoleFacilityInfo>();
                    fflist.ForEach(x =>
                    {
                        RoleFacilityInfo rfinfo = new RoleFacilityInfo();
                        DESwap.RoleFacilityETD(x, rfinfo);
                        info.RoleFacilityInfoList.Add(rfinfo);
                    });
                }

            }
            return info;
        }