示例#1
0
        public IHttpActionResult GetByWhere(MenusDto menusDto)
        {
            var service = new MenusService();

            if (!string.IsNullOrEmpty(menusDto.ResNum) || !string.IsNullOrEmpty(menusDto.ResName))
            {
                var menusList = service.GetByWhere(menusDto.ResNum, menusDto.ResName);
                var result    = new
                {
                    list = menusList.Select(item => new
                    {
                        ID         = item.ID,
                        ResNum     = item.ResNum,
                        ResName    = item.ResName,
                        ParentNum  = item.ParentNum,
                        ResType    = item.ResType,
                        CssName    = item.CssName,
                        Sort       = item.Sort,
                        Url        = item.Url,
                        CreateTime = item.CreateTime.ToString("yyyy-MM-dd,hh:mm:ss"),
                    })
                };
                return(Json(result));
            }
            else
            {
                return(GetMenusList());
            }
        }
示例#2
0
        public async Task <CustomApiResponse> Put([FromBody] MenusDto entity)
        {
            var inputEntity = _mapper.Map <Menus>(entity);
            var result      = await _menuService.Update(inputEntity);

            return(new CustomApiResponse(entity.Id, result ? "Succeeded" : "Failed", !result));
        }
示例#3
0
        public async Task <IActionResult> PostMenus(MenusDto menusDto)
        {
            var menus = mapper.Map <Menus>(menusDto);

            uow.MenusRepository.addMenus(menus);
            await uow.SaveAsync();

            return(StatusCode(201));
        }
示例#4
0
 public string Update(MenusDto dto)
 {
     if (menu.ModifyAccess == true || menu.AdminAccess)
     {
         return(_menusService.Update(dto));
     }
     else
     {
         return(null);
     }
 }
示例#5
0
 public string Insert(MenusDto dto)
 {
     if (menu.WriteAccess == true || menu.AdminAccess)
     {
         return(_menusService.Insert(dto));
     }
     else
     {
         return(null);
     }
 }
示例#6
0
        public async Task <CustomApiResponse> Post([FromBody] MenusDto entity)
        {
            var inputEntity = _mapper.Map <Menus>(entity);
            //if (await _menuService.IsExisted(entity.Name))
            //{
            //	return new CustomApiResponse("MenuName đã tồn tại", true);
            //}
            var result = await _menuService.Add(inputEntity);

            return(new CustomApiResponse(result));
        }
示例#7
0
        public IActionResult Update(int id, [FromBody] MenusDto dto)
        {
            if (!_menusService.Exists(id))
            {
                return(NotFound());
            }
            var model  = Mapper.Map <Menus>(dto);
            var result = _menusService.Update(model);

            if (result)
            {
                return(Ok());
            }
            return(NotFound());
        }
示例#8
0
        public async Task <IActionResult> PutMenus(int id, MenusDto menusDto)
        {
            if (id != menusDto.Id)
            {
                return(BadRequest("Update not allowed"));
            }
            var menuFromDb = await uow.MenusRepository.findMenusAsync(id);

            if (menuFromDb == null)
            {
                return(BadRequest("Update not allowed"));
            }
            mapper.Map(menusDto, menuFromDb);
            await uow.SaveAsync();

            return(StatusCode(200));
        }
示例#9
0
        public async Task <ActionResult> AddModifyMenus(int?id)
        {
            if (menu.WriteAccess == true || menu.AdminAccess)
            {
                var menu = new MenusDto();
                if (id > 0)
                {
                    menu = await _menusService.GetMenusByIdAsync(Convert.ToInt32(id));
                }
                menu.GetParentMenus = await _menusService.GetParentMenusAsync();

                return(View(menu));
            }
            else
            {
                return(RedirectToAction("Logout", "Account"));
            }
        }
示例#10
0
        private List <MenusDto> getChildmenus(List <MenuItem> menuitems)
        {
            List <MenusDto> menus = new List <MenusDto>();

            foreach (var item in menuitems)
            {
                MenusDto md = new MenusDto();
                md.ParentId  = item.ParentId;
                md.id        = item.Id;
                md.Path      = item.Url;
                md.Component = item.Name;
                if (menuitems.Where(x => x.ParentId == item.MenuItemNo).Any())
                {
                    md.Child = getChildmenus(menuitems.Where(x => x.ParentId == item.MenuItemNo).ToList());
                }
                menus.Add(md);
            }
            return(menus);
        }
示例#11
0
        public static Menus ToEntity(this MenusDto dto)
        {
            if (dto == null)
            {
                return(null);
            }

            return(new Menus
            {
                MenuId = dto.MenuId,
                ParentMenuId = dto.ParentMenuId,
                MenuNameEnglish = dto.MenuNameEnglish?.Trim(),
                MenuNameNepali = dto.MenuNameNepali?.Trim(),
                CheckMenuName = dto.CheckMenuName?.Trim(),
                MenuLink = dto.MenuLink?.Trim(),
                MenuOrder = dto.MenuOrder,
                MenuIcon = dto.MenuIcon?.Trim(),
                Status = dto.Status,
            });
        }
示例#12
0
        public string Insert(MenusDto dto)
        {
            string message = "";

            //var con = _baseInterface.GetConnection();
            //var transaction = con.BeginTransaction();
            try
            {
                var entity = dto.ToEntity();
                int result = _menusRepository.Insert(entity);
                //await _menusRepository.MenuOrder(entity, con, transaction);
                message = _message.ShowSuccessMessage(result) + "+" + result;
            }
            catch (SqlException ex)
            {
                message = _message.ShowErrorMessage(string.Format("{0} ~ {1}", ex.Number.ToString(), ex.Message));
            }

            return(message);
        }
示例#13
0
        public string Update(MenusDto dto)
        {
            string message = "";

            //var con = _baseInterface.GetConnection();
            //var transaction = con.BeginTransaction();
            try
            {
                var entity = dto.ToEntity();
                int result = _menusRepository.Update(entity);
                message = _message.ShowSuccessMessage(result) + "+" + result;
                //transaction.Commit();
            }
            catch (SqlException ex)
            {
                message = _message.ShowErrorMessage(string.Format("{0} ~ {1}", ex.Number.ToString(), ex.Message));
                //transaction.Rollback();
            }

            return(message);
        }
示例#14
0
        //private Dictionary<long, string> GetMenusByUserId(string userid)
        //{
        //    return (from um in DbContext.UserMenuItems.Where(x => x.UserId == userid)
        //            join m in DbContext.MenuItems on um.MenuItemNo equals m.MenuItemNo
        //            select new KeyValuePair<long, string>(m.MenuItemNo, m.Name))
        //        .ToDictionary(x => x.Key, x => x.Value);
        //}

        private List <MenusDto> GetMenusByRoleId(string roleId)
        {
            var             menuitems   = DbContext.RoleMenuItems.Where(x => x.RoleId == roleId).Select(x => x.MenuItem);
            var             parentmenus = menuitems.Where(x => x.ParentId == 0);
            List <MenusDto> menus       = new List <MenusDto>();

            foreach (var item in parentmenus)
            {
                MenusDto md = new MenusDto();
                md.ParentId  = item.ParentId;
                md.id        = item.Id;
                md.Path      = item.Url;
                md.Component = item.Name;
                if (menuitems.Where(x => x.ParentId == item.MenuItemNo).Any())
                {
                    md.Child = getChildmenus(menuitems.Where(x => x.ParentId == item.MenuItemNo).ToList());
                }
                menus.Add(md);
            }

            return(menus);
        }
示例#15
0
        public async Task <MenusDto> Get(Param parameters)
        {
            PagedList <MenuDto> menuDtos = new PagedList <MenuDto>();

            var queryable = _unitOfWork.Menu.GetAll()
                            .Where(x => x.IsVisible == true);

            switch (parameters.SearchBy.ToLower())
            {
            case "description":
                queryable = queryable.Where(x => x.Title.Contains(parameters.SearchText));
                break;
            }

            switch (parameters.SortBy.ToLower())
            {
            case "description":
                switch (parameters.SortDirection.ToLower())
                {
                case "desc":
                    queryable = queryable.OrderByDescending(x => x.Title);
                    break;

                case "asc":
                    queryable = queryable.OrderBy(x => x.Title);
                    break;

                default:
                    queryable = queryable.OrderByDescending(x => x.CreatedDate);
                    break;
                }
                break;

            case "createddate":
                switch (parameters.SortDirection.ToLower())
                {
                case "desc":
                    queryable = queryable.OrderByDescending(x => x.CreatedDate);
                    break;

                case "asc":
                    queryable = queryable.OrderBy(x => x.CreatedDate);
                    break;

                default:
                    queryable = queryable.OrderByDescending(x => x.CreatedDate);
                    break;
                }
                break;
            }

            var pagedMenus = await PagedList <Menu> .CreateAsync(queryable, parameters.PageNumber, parameters.PageSize);

            if (pagedMenus != null)
            {
                foreach (var Menu in pagedMenus)
                {
                    MenuDto dto = _mapper.Map <MenuDto>(Menu);
                    menuDtos.Add(dto);
                }
            }

            MenusDto menus = new MenusDto();

            menus.Menus       = menuDtos;
            menus.CurrentPage = pagedMenus.CurrentPage;
            menus.PageSize    = pagedMenus.PageSize;
            menus.TotalCount  = pagedMenus.TotalCount;
            menus.TotalPages  = pagedMenus.TotalPages;
            return(menus);
        }
示例#16
0
        public async Task <MenusDto> Get(Param parameters)
        {
            PagedList <MenuDto> menuDtos = new PagedList <MenuDto>();

            var queryable = _unitOfWork.Menu.GetAll()
                            .Where(x => x.IsVisible == true);

            switch (parameters.SearchBy.ToLower())
            {
            case "description":
                queryable = queryable.Where(x => x.Title.Contains(parameters.SearchText));
                break;
            }

            switch (parameters.SortBy.ToLower())
            {
            case "description":
                switch (parameters.SortDirection.ToLower())
                {
                case "desc":
                    queryable = queryable.OrderByDescending(x => x.Title);
                    break;

                case "asc":
                    queryable = queryable.OrderBy(x => x.Title);
                    break;

                default:
                    queryable = queryable.OrderByDescending(x => x.CreatedDate);
                    break;
                }
                break;

            case "createddate":
                switch (parameters.SortDirection.ToLower())
                {
                case "desc":
                    queryable = queryable.OrderByDescending(x => x.CreatedDate);
                    break;

                case "asc":
                    queryable = queryable.OrderBy(x => x.CreatedDate);
                    break;

                default:
                    queryable = queryable.OrderByDescending(x => x.CreatedDate);
                    break;
                }
                break;
            }

            var pagedMenus = await PagedList <Menu> .CreateAsync(queryable, parameters.PageNumber, parameters.PageSize);

            if (pagedMenus != null)
            {
                foreach (var menu in pagedMenus)
                {
                    MenuDto dto = _mapper.Map <MenuDto>(menu);

                    if (!string.IsNullOrEmpty(menu.UserRoles))
                    {
                        var userRoleList = menu.UserRoles.Split(',').Select(int.Parse).ToList();
                        foreach (var item in userRoleList)
                        {
                            var role = await _unitOfWork.Role.Get(item);

                            dto.Roles.Add(_mapper.Map <RoleDto>(role));
                        }
                        ;
                    }

                    if (menu.MainMenuId > 0)
                    {
                        var mainMenu = await _unitOfWork.Menu.Get(menu.MainMenuId);

                        dto.MainMenuName = mainMenu.Title;
                    }

                    menuDtos.Add(dto);
                }
            }

            MenusDto menus = new MenusDto();

            menus.Menus       = menuDtos;
            menus.CurrentPage = pagedMenus.CurrentPage;
            menus.PageSize    = pagedMenus.PageSize;
            menus.TotalCount  = pagedMenus.TotalCount;
            menus.TotalPages  = pagedMenus.TotalPages;
            return(menus);
        }
示例#17
0
        public IActionResult Insert([FromBody] MenusDto dto)
        {
            var product = Mapper.Map <Menus>(dto);

            return(Ok(_menusService.Insert(product)));
        }