Esempio n. 1
0
        public static string ShowDDLMenuByType(string type, int langID, int selectID)
        {
            List <ListItem.Item> list = ListItem.List.GetList(WebMenuService.Instance, langID, type);
            int userId = CPLogin.CurrentUser.ID;
            CPUserRoleEntity userRole = CPUserRoleService.Instance.CreateQuery().Where(o => o.UserID == userId).ToSingle();
            CPRoleEntity     role     = null;

            if (userRole != null)
            {
                role = CPRoleService.Instance.CreateQuery().Where(o => o.ID == userRole.RoleID).ToSingle();
            }
            string s = string.Empty;

            for (int i = 0; list != null && i < list.Count; i++)
            {
                if (type == "News" && role != null && role.MenuIDs != null && role.MenuIDs.Contains(list[i].Value))
                {
                    s += "<option " + (list[i].Value == selectID.ToString() ? "selected" : string.Empty) + " value=\"" + list[i].Value + "\">&nbsp; " + list[i].Name + "</option>";
                }
                if (type != "News")
                {
                    s += "<option " + (list[i].Value == selectID.ToString() ? "selected" : string.Empty) + " value=\"" + list[i].Value + "\">&nbsp; " + list[i].Name + "</option>";
                }
            }

            return(s);
        }
Esempio n. 2
0
        public static string GetRoleByLoginName(string loginName)
        {
            string role = string.Empty;

            CPUserEntity u = CPUserService.Instance.CreateQuery().Where(o => o.Activity == true && o.LoginName == loginName).ToSingle();

            if (u == null)
            {
                return(role);
            }
            CPUserRoleEntity r = CPUserRoleService.Instance.CreateQuery().Where(o => o.UserID == u.ID).ToSingle();

            if (r == null)
            {
                return(role);
            }
            CPRoleEntity ur = CPRoleService.Instance.CreateQuery().Where(o => o.ID == r.RoleID).ToSingle();

            if (ur == null)
            {
                return(role);
            }
            role = ur.Code;

            return(role);
        }
Esempio n. 3
0
        public void ActionIndex(ModNewsModel model)
        {
            // sap xep tu dong
            string orderBy = AutoSort(model.Sort);

            int userId = CPLogin.CurrentUser.ID;
            CPUserRoleEntity userRole    = CPUserRoleService.Instance.CreateQuery().Where(o => o.UserID == userId).ToSingle();
            string           roleCode    = string.Empty;
            string           menuIds     = WebMenuService.Instance.GetChildIDForCP("News", model.MenuID, model.LangID);
            ArrayList        menuIdsTemp = new ArrayList();

            if (userRole != null)
            {
                var role = CPRoleService.Instance.CreateQuery().Where(o => o.ID == userRole.RoleID).ToSingle();
                if (role != null)
                {
                    roleCode = role.Code;
                    string   roleMenu = role.MenuIDs;
                    string[] menuArr  = menuIds.Split(',');
                    foreach (string m in menuArr)
                    {
                        if (!string.IsNullOrEmpty(roleMenu))
                        {
                            if (roleMenu.Contains(m))
                            {
                                menuIdsTemp.Add(m);
                            }
                        }
                    }
                    menuIds = string.Join(",", menuIdsTemp.ToArray());
                }
            }

            // tao danh sach
            if (!string.IsNullOrEmpty(menuIds))
            {
                var dbQuery = ModNewsService.Instance.CreateQuery()
                              .Where(!string.IsNullOrEmpty(model.SearchText), o => o.Name.Contains(model.SearchText))
                              .Where(model.State > 0, o => (o.State & model.State) == model.State)
                              .Where(roleCode == "NV", o => o.CreateUser == userId)
                              .Where(roleCode == "Admin" || roleCode == "GD", o => o.Activity1 == true)
                              .WhereIn(o => o.MenuID, menuIds)
                              .Take(model.PageSize)
                              .OrderBy(orderBy)
                              .Skip(model.PageIndex * model.PageSize);

                ViewBag.Data      = dbQuery.ToList();
                model.TotalRecord = dbQuery.TotalRecord;
            }
            ViewBag.Model = model;
        }
Esempio n. 4
0
        public void ActionAdd(ModNewsModel model)
        {
            int userId = CPLogin.CurrentUser.ID;
            CPUserRoleEntity userRole = CPUserRoleService.Instance.CreateQuery().Where(o => o.UserID == userId).ToSingle();
            string           roleCode = string.Empty;

            if (userRole != null)
            {
                var role = CPRoleService.Instance.CreateQuery().Where(o => o.ID == userRole.RoleID).ToSingle();
                if (role != null)
                {
                    roleCode = role.Code;
                }
            }
            ViewBag.RoleCode = roleCode;

            if (model.RecordID > 0)
            {
                entity = ModNewsService.Instance.GetByID(model.RecordID);

                // khoi tao gia tri mac dinh khi update
                entity.UpdateUser = CPLogin.CurrentUser.ID;
                entity.Updated    = DateTime.Now;
                if (!string.IsNullOrEmpty(roleCode) && roleCode == "NV" && (entity.Activity == false || entity.Activity1 == false))
                {
                    entity.Activity  = null;
                    entity.Activity1 = null;
                }
            }
            else
            {
                // khoi tao gia tri mac dinh khi insert
                entity = new ModNewsEntity
                {
                    MenuID      = model.MenuID,
                    WarnNews    = false,
                    WarnUserIDs = "",
                    CreateUser  = CPLogin.CurrentUser.ID,
                    Published   = DateTime.Now,
                    Activity1   = null,
                    Activity    = null,
                    Order       = GetMaxOrder(model)
                };
            }

            ViewBag.Data  = entity;
            ViewBag.Model = model;
        }
Esempio n. 5
0
        public override void ActionDelete(int[] arrID)
        {
            int userId = CPLogin.CurrentUser.ID;
            CPUserRoleEntity userRole = CPUserRoleService.Instance.CreateQuery().Where(o => o.UserID == userId).ToSingle();
            string           roleCode = string.Empty;

            if (userRole != null)
            {
                var role = CPRoleService.Instance.CreateQuery().Where(o => o.ID == userRole.RoleID).ToSingle();
                if (role != null)
                {
                    roleCode = role.Code;
                }
            }

            var arr = string.Join(",", arrID);
            List <ModNewsEntity> lst = new List <ModNewsEntity>();

            if (roleCode == "NV")
            {
                lst = ModNewsService.Instance.CreateQuery()
                      .WhereIn(o => o.ID, arr)
                      .Where(o => o.Activity == true || o.Activity1 == true)
                      .ToList();
                CPViewPage.Message.ListMessage.Add("Bài viết đã được Duyệt hoặc Sơ duyệt");
            }
            else if (roleCode == "TP")
            {
                lst = ModNewsService.Instance.CreateQuery()
                      .WhereIn(o => o.ID, arr)
                      .Where(o => o.Activity == true)
                      .ToList();
                CPViewPage.Message.ListMessage.Add("Bài viết đã được Duyệt");
            }

            if (lst != null && lst.Count > 0)
            {
                CPViewPage.Message.MessageType = Message.MessageTypeEnum.Error;
            }
            else
            {
                base.ActionDelete(arrID);
            }
        }
Esempio n. 6
0
        public void ActionIndex(ModThongKeBaoCaoModel model)
        {
            // sap xep tu dong
            string orderBy = AutoSort(model.Sort);

            int userId = CPLogin.CurrentUser.ID;
            CPUserRoleEntity userRole    = CPUserRoleService.Instance.CreateQuery().Where(o => o.UserID == userId).ToSingle();
            string           roleCode    = string.Empty;
            string           menuIds     = WebMenuService.Instance.GetChildIDForCP("News", model.MenuID, model.LangID);
            ArrayList        menuIdsTemp = new ArrayList();

            if (userRole != null)
            {
                var role = CPRoleService.Instance.CreateQuery().Where(o => o.ID == userRole.RoleID).ToSingle();
                if (role != null)
                {
                    roleCode = role.Code;
                    string   roleMenu = role.MenuIDs;
                    string[] menuArr  = menuIds.Split(',');
                    foreach (string m in menuArr)
                    {
                        if (!string.IsNullOrEmpty(roleMenu))
                        {
                            if (roleMenu.Contains(m))
                            {
                                menuIdsTemp.Add(m);
                            }
                        }
                    }
                    menuIds = string.Join(",", menuIdsTemp.ToArray());
                }
            }

            // tao danh sach
            if (!string.IsNullOrEmpty(menuIds))
            {
                var dbQuery = ModNewsService.Instance.CreateQuery()
                              .Where(!string.IsNullOrEmpty(model.SearchText), o => o.Name.Contains(model.SearchText))
                              .Where(model.State > 0, o => (o.State & model.State) == model.State)
                              .Where(roleCode == "NV", o => o.CreateUser == userId)
                              .Where(roleCode == "Admin" || roleCode == "GD", o => o.Activity1 == true)
                              .WhereIn(o => o.MenuID, menuIds)
                              .Take(model.PageSize)
                              .OrderBy(orderBy)
                              .Skip(model.PageIndex * model.PageSize);

                List <ModNewsEntity> lstNews = dbQuery.ToList();

                // Thống kê theo tác giả
                List <ReportResultLine> reportByAuthor = lstNews
                                                         .GroupBy(n => n.CreateUser)
                                                         .Select(cl => new ReportResultLine
                {
                    CreateUserId = cl.First().CreateUser,
                    NewsNumber   = cl.Count(),
                    ViewNumber   = cl.Sum(c => c.View)
                }).ToList();

                // Thống kê theo danh mục
                List <ReportResultLine> reportByMenuId = lstNews
                                                         .GroupBy(n => n.MenuID)
                                                         .Select(cl => new ReportResultLine
                {
                    MenuID     = cl.First().MenuID,
                    NewsNumber = cl.Count(),
                    ViewNumber = cl.Sum(c => c.View)
                }).ToList();


                ViewBag.ReportByAuthor = reportByAuthor;
                ViewBag.ReportByMenuId = reportByMenuId;
                ViewBag.TotalRecord    = dbQuery.TotalRecord;
            }
            ViewBag.Model = model;
        }