Exemple #1
0
        public int Insert(SiteMenusInfo model)
        {
            model.Id = Guid.NewGuid();

            _db.SiteMenus.Insert(model);

            return(1);
        }
Exemple #2
0
        public IList <SiteMenusInfo> GetList(int pageIndex, int pageSize, out int totalRecords, string sqlWhere, params SqlParameter[] cmdParms)
        {
            StringBuilder sb = new StringBuilder(500);

            sb.Append(@"select count(*) from SiteMenus ");
            if (!string.IsNullOrEmpty(sqlWhere))
            {
                sb.AppendFormat(" where 1=1 {0} ", sqlWhere);
            }
            totalRecords = (int)SqlHelper.ExecuteScalar(SqlHelper.AspnetDbConnString, CommandType.Text, sb.ToString(), cmdParms);

            if (totalRecords == 0)
            {
                return(new List <SiteMenusInfo>());
            }

            sb.Clear();
            int startIndex = (pageIndex - 1) * pageSize + 1;
            int endIndex   = pageIndex * pageSize;

            sb.Append(@"select * from(select row_number() over(order by Sort) as RowNumber,
			          ApplicationId,Id,ParentId,IdStep,Title,Url,Descr,Sort,LastUpdatedDate
					  from SiteMenus "                    );
            if (!string.IsNullOrEmpty(sqlWhere))
            {
                sb.AppendFormat(" where 1=1 {0} ", sqlWhere);
            }
            sb.AppendFormat(@")as objTable where RowNumber between {0} and {1} ", startIndex, endIndex);

            IList <SiteMenusInfo> list = new List <SiteMenusInfo>();

            using (SqlDataReader reader = SqlHelper.ExecuteReader(SqlHelper.AspnetDbConnString, CommandType.Text, sb.ToString(), cmdParms))
            {
                if (reader != null && reader.HasRows)
                {
                    while (reader.Read())
                    {
                        SiteMenusInfo model = new SiteMenusInfo();
                        model.ApplicationId   = reader.GetGuid(1);
                        model.Id              = reader.GetGuid(2);
                        model.ParentId        = reader.GetGuid(3);
                        model.IdStep          = reader.GetString(4);
                        model.Title           = reader.GetString(5);
                        model.Url             = reader.GetString(6);
                        model.Descr           = reader.GetString(7);
                        model.Sort            = reader.GetInt32(8);
                        model.LastUpdatedDate = reader.GetDateTime(9);

                        list.Add(model);
                    }
                }
            }

            return(list);
        }
        public List <SiteMenusInfo> GetMenusAccess(Guid appId, Guid accessId, bool isAdministrators)
        {
            var list   = new List <SiteMenusInfo>();
            var maInfo = new SiteMenusAccess().GetModel(appId, accessId);
            List <SiteMenusAccessItemInfo> maitems = null;

            if (maInfo != null)
            {
                maitems = JsonConvert.DeserializeObject <List <SiteMenusAccessItemInfo> >(maInfo.OperationAccess);
            }

            var cmdText = "select m.Id,m.ParentId,m.Title,m.Url,m.Descr from SiteMenus m where m.ApplicationId = @ApplicationId ";
            var parm    = new SqlParameter("@ApplicationId", appId);

            using (SqlDataReader reader = SqlHelper.ExecuteReader(SqlHelper.AspnetDbConnString, CommandType.Text, cmdText, parm))
            {
                if (reader != null && reader.HasRows)
                {
                    while (reader.Read())
                    {
                        var model = new SiteMenusInfo();
                        model.Id       = reader.GetGuid(0);
                        model.ParentId = reader.GetGuid(1);
                        model.Title    = reader.GetString(2);
                        model.Url      = reader.GetString(3);
                        model.Descr    = reader.GetString(4);

                        if (isAdministrators)
                        {
                            model.IsView   = true;
                            model.IsAdd    = true;
                            model.IsEdit   = true;
                            model.IsDelete = true;
                        }
                        else
                        {
                            if (maitems != null)
                            {
                                var maitemInfo = maitems.FirstOrDefault(m => Guid.Parse(m.MenuId.ToString()).Equals(model.Id));
                                model.IsView   = maitemInfo == null ? false : maitemInfo.IsView;
                                model.IsAdd    = maitemInfo == null ? false : maitemInfo.IsAdd;
                                model.IsEdit   = maitemInfo == null ? false : maitemInfo.IsEdit;
                                model.IsDelete = maitemInfo == null ? false : maitemInfo.IsDelete;
                            }
                        }

                        list.Add(model);
                    }
                }
            }

            return(list);
        }
        public IList <SiteMenusInfo> GetListByParentName(string parentName)
        {
            StringBuilder sb = new StringBuilder(500);

            sb.Append(@"select m.ApplicationId,m.Id,m.ParentId,m.IdStep,m.Title,m.Url,m.Descr,m.Sort,m.LastUpdatedDate
                        from SiteMenus m 
                        join SiteMenus m2 on CHARINDEX(convert(varchar(36),m2.Id),m.IdStep) > 0
                        and m2.Title = @Title
                        order by m.Sort 
                        ");

            SqlParameter[] parms =
            {
                new SqlParameter("@Title", SqlDbType.NVarChar, 20)
            };
            parms[0].Value = parentName;

            var list = new List <SiteMenusInfo>();

            using (SqlDataReader reader = SqlHelper.ExecuteReader(SqlHelper.AspnetDbConnString, CommandType.Text, sb.ToString(), parms))
            {
                if (reader != null && reader.HasRows)
                {
                    while (reader.Read())
                    {
                        SiteMenusInfo model = new SiteMenusInfo();
                        model.ApplicationId   = reader.GetGuid(0);
                        model.Id              = reader.GetGuid(1);
                        model.ParentId        = reader.GetGuid(2);
                        model.IdStep          = reader.GetString(3);
                        model.Title           = reader.GetString(4);
                        model.Url             = reader.GetString(5);
                        model.Descr           = reader.GetString(6);
                        model.Sort            = reader.GetInt32(7);
                        model.LastUpdatedDate = reader.GetDateTime(8);

                        list.Add(model);
                    }
                }
            }

            return(list);
        }
        protected override SiteMapNode GetRootNodeCore()
        {
            SiteMenusInfo rootNode = null;

            if (HttpContext.Current.User.Identity.IsAuthenticated)
            {
                rootNode = list.FirstOrDefault(m => m.Title == EnumData.EnumMenuName.首页.ToString() && !m.Url.Contains(FormsAuthentication.DefaultUrl.Replace("~", "")));
            }
            else
            {
                rootNode = list.FirstOrDefault(m => m.Url.Contains(FormsAuthentication.DefaultUrl.Replace("~", "")));
            }

            if (rootNode == null)
            {
                throw new Exception(MC.M_NotConfigError);
            }

            var temp = new SiteMapNode(this, rootNode.Id.ToString(), rootNode.Url, rootNode.Title, rootNode.Descr);

            return(temp);
        }
Exemple #6
0
        public IList <SiteMenusInfo> GetList(string sqlWhere, params SqlParameter[] cmdParms)
        {
            StringBuilder sb = new StringBuilder(500);

            sb.Append(@"select ApplicationId,Id,ParentId,IdStep,Title,Url,Descr,Sort,LastUpdatedDate
                        from SiteMenus ");
            if (!string.IsNullOrEmpty(sqlWhere))
            {
                sb.AppendFormat(" where 1=1 {0} ", sqlWhere);
            }
            sb.Append("order by Sort ");

            IList <SiteMenusInfo> list = new List <SiteMenusInfo>();

            using (SqlDataReader reader = SqlHelper.ExecuteReader(SqlHelper.AspnetDbConnString, CommandType.Text, sb.ToString(), cmdParms))
            {
                if (reader != null && reader.HasRows)
                {
                    while (reader.Read())
                    {
                        SiteMenusInfo model = new SiteMenusInfo();
                        model.ApplicationId   = reader.GetGuid(0);
                        model.Id              = reader.GetGuid(1);
                        model.ParentId        = reader.GetGuid(2);
                        model.IdStep          = reader.GetString(3);
                        model.Title           = reader.GetString(4);
                        model.Url             = reader.GetString(5);
                        model.Descr           = reader.GetString(6);
                        model.Sort            = reader.GetInt32(7);
                        model.LastUpdatedDate = reader.GetDateTime(8);

                        list.Add(model);
                    }
                }
            }

            return(list);
        }
Exemple #7
0
        public SiteMenusInfo GetModel(Guid id)
        {
            SiteMenusInfo model = null;

            StringBuilder sb = new StringBuilder(300);

            sb.Append(@"select top 1 ApplicationId,Id,ParentId,IdStep,Title,Url,Descr,Sort,LastUpdatedDate 
			            from SiteMenus
						where Id = @Id "                        );
            SqlParameter[] parms =
            {
                new SqlParameter("@Id", SqlDbType.UniqueIdentifier)
            };
            parms[0].Value = id;

            using (SqlDataReader reader = SqlHelper.ExecuteReader(SqlHelper.AspnetDbConnString, CommandType.Text, sb.ToString(), parms))
            {
                if (reader != null)
                {
                    if (reader.Read())
                    {
                        model = new SiteMenusInfo();
                        model.ApplicationId   = reader.GetGuid(0);
                        model.Id              = reader.GetGuid(1);
                        model.ParentId        = reader.GetGuid(2);
                        model.IdStep          = reader.GetString(3);
                        model.Title           = reader.GetString(4);
                        model.Url             = reader.GetString(5);
                        model.Descr           = reader.GetString(6);
                        model.Sort            = reader.GetInt32(7);
                        model.LastUpdatedDate = reader.GetDateTime(8);
                    }
                }
            }

            return(model);
        }
Exemple #8
0
        public ResResultModel SaveMenus(MenusModel model)
        {
            try
            {
                if (!HttpContext.Current.User.IsInRole("Administrators"))
                {
                    throw new ArgumentException(MC.Role_InvalidError);
                }

                if (model == null)
                {
                    return(ResResult.Response(false, MC.Request_Params_InvalidError));
                }
                if (string.IsNullOrWhiteSpace(model.Title))
                {
                    return(ResResult.Response(false, MC.Request_Params_InvalidError));
                }
                var Id       = Guid.Empty;
                var parentId = Guid.Empty;
                if (model.Id != null && !string.IsNullOrWhiteSpace(model.Id.ToString()))
                {
                    Guid.TryParse(model.Id.ToString(), out Id);
                }
                if (model.ParentId != null && !string.IsNullOrWhiteSpace(model.ParentId.ToString()))
                {
                    Guid.TryParse(model.ParentId.ToString(), out parentId);
                }

                var appBll = new Applications();
                var appId  = appBll.GetAspnetAppId(Membership.ApplicationName);

                var bll    = new SiteMenus();
                int effect = 0;

                var modelInfo = new SiteMenusInfo(Guid.Parse(appId.ToString()), Id, parentId, model.IdStep, model.Title, model.Url, model.Descr, model.Sort, DateTime.Now);

                if (Id.Equals(Guid.Empty))
                {
                    //MenusDataProxy.ValidateAccess((int)EnumData.EnumOperationAccess.新增, true);

                    modelInfo.Id     = Guid.NewGuid();
                    modelInfo.IdStep = (modelInfo.Id + "," + modelInfo.IdStep).Trim(',');
                    effect           = bll.InsertByOutput(modelInfo);
                }
                else
                {
                    //MenusDataProxy.ValidateAccess((int)EnumData.EnumOperationAccess.编辑, true);
                    var oldInfo = bll.GetModel(Id);
                    effect = bll.Update(modelInfo);
                }
                if (effect < 1)
                {
                    return(ResResult.Response(false, "操作失败,数据库操作异常"));
                }

                return(ResResult.Response(true, "操作成功", modelInfo.Id));
            }
            catch (Exception ex)
            {
                return(ResResult.Response(false, "操作异常:" + ex.Message + ""));
            }
        }
        public IList <SiteMenusInfo> GetMenusAccess(string appName, string[] accessIds, bool isAdministrators)
        {
            var list  = new List <SiteMenusInfo>();
            var appId = new Applications().GetAspnetAppId(appName);
            IList <SiteMenusAccessInfo> maList = null;

            if (!isAdministrators)
            {
                var sbIn = new StringBuilder(300);
                foreach (var item in accessIds)
                {
                    sbIn.AppendFormat("'{0}',", item);
                }
                var sqlWhere = string.Format("and ApplicationId = '{1}' and AccessId in ({0}) ", sbIn.ToString().Trim(','), appId);
                maList = new SiteMenusAccess().GetList(sqlWhere, null);
            }

            var cmdText = "select m.Id,m.ParentId,m.Title,m.Url,m.Descr from SiteMenus m where m.ApplicationId = @ApplicationId order by Sort ";
            var parm    = new SqlParameter("@ApplicationId", appId);

            using (SqlDataReader reader = SqlHelper.ExecuteReader(SqlHelper.AspnetDbConnString, CommandType.Text, cmdText, parm))
            {
                if (reader != null && reader.HasRows)
                {
                    while (reader.Read())
                    {
                        var model = new SiteMenusInfo();
                        model.Id       = reader.GetGuid(0);
                        model.ParentId = reader.GetGuid(1);
                        model.Title    = reader.GetString(2);
                        model.Url      = reader.GetString(3);
                        model.Descr    = reader.GetString(4);

                        if (isAdministrators)
                        {
                            model.IsView   = true;
                            model.IsAdd    = true;
                            model.IsEdit   = true;
                            model.IsDelete = true;
                        }
                        else
                        {
                            #region 权限控制

                            if (maList != null && maList.Count > 0)
                            {
                                List <SiteMenusAccessItemInfo> maitems = null;

                                var qrmaList = maList.Where(m => m.AccessType == "Roles");
                                if (qrmaList != null && qrmaList.Count() > 0)
                                {
                                    foreach (var item in qrmaList)
                                    {
                                        maitems = JsonConvert.DeserializeObject <List <SiteMenusAccessItemInfo> >(item.OperationAccess);
                                        var maitemInfo = maitems.FirstOrDefault(m => Guid.Parse(m.MenuId.ToString()).Equals(model.Id));
                                        model.IsView   = maitemInfo == null ? false : maitemInfo.IsView;
                                        model.IsAdd    = maitemInfo == null ? false : maitemInfo.IsAdd;
                                        model.IsEdit   = maitemInfo == null ? false : maitemInfo.IsEdit;
                                        model.IsDelete = maitemInfo == null ? false : maitemInfo.IsDelete;
                                    }
                                }

                                var qumaInfo = maList.FirstOrDefault(m => m.AccessType == "Users");
                                if (qumaInfo != null)
                                {
                                    maitems = JsonConvert.DeserializeObject <List <SiteMenusAccessItemInfo> >(qumaInfo.OperationAccess);
                                    var maitemInfo = maitems.FirstOrDefault(m => Guid.Parse(m.MenuId.ToString()).Equals(model.Id));
                                    if (maitemInfo != null)
                                    {
                                        if (maitemInfo.IsView)
                                        {
                                            model.IsView = false;
                                        }
                                        if (maitemInfo.IsAdd)
                                        {
                                            model.IsAdd = false;
                                        }
                                        if (maitemInfo.IsEdit)
                                        {
                                            model.IsEdit = false;
                                        }
                                        if (maitemInfo.IsDelete)
                                        {
                                            model.IsDelete = false;
                                        }
                                    }
                                }
                            }

                            #endregion
                        }

                        if (model.IsView)
                        {
                            list.Add(model);
                        }
                    }
                }
            }

            return(list);
        }
Exemple #10
0
 public int Update(SiteMenusInfo model)
 {
     return(dal.Update(model));
 }
Exemple #11
0
 public int InsertByOutput(SiteMenusInfo model)
 {
     return(dal.InsertByOutput(model));
 }
Exemple #12
0
        public int Update(SiteMenusInfo model)
        {
            _db.SiteMenus.Update(model);

            return(1);
        }
Exemple #13
0
        public int InsertByOutput(SiteMenusInfo model)
        {
            _db.SiteMenus.Insert(model);

            return(1);
        }