Exemplo n.º 1
0
        public IActionResult Get([FromQuery] MenuRequestModel requestModel)
        {
            Expression <Func <Menu, bool> > where = x => true;
            DateTime dateFrom, dateTo;

            if (!string.IsNullOrWhiteSpace(requestModel.Name))
            {
                where = ExpressionHelpers.CombineAnd(where, a => a.Name.Contains(requestModel.Name));
            }
            if ((requestModel.DateFrom.IsNotNullOrEmpty()))
            {
                dateFrom = requestModel.DateFrom.ToDateTime();
                where    = ExpressionHelpers.CombineAnd(where, a => a.CreatedDate >= dateFrom);
            }
            if ((requestModel.DateTo.IsNotNullOrEmpty()))
            {
                dateTo = requestModel.DateTo.ToDateTime().AddDays(1);
                where  = ExpressionHelpers.CombineAnd(where, a => a.CreatedDate <= dateTo);
            }
            var services = _menuService.GetPagedList(where, x => x.Sequence, true, requestModel.Page - 1, requestModel.Count);

            if (services == null)
            {
                return(RespondFailure());
            }

            List <MenuModel> serviceModels = services.Select(x => x.ToModel(requestModel.LanguageId)).ToList();

            return(RespondSuccess(serviceModels, services.TotalCount));
        }
        public IActionResult GetTreeview([FromQuery] NewsCategoryRequestModel requestModel)
        {
            #region predicate
            Expression <Func <NewsCategory, bool> > where = x => true;

            if (!string.IsNullOrWhiteSpace(requestModel.Name))
            {
                where = a => a.Name.Contains(requestModel.Name);
            }


            if (requestModel.IsGetParent.HasValue && requestModel.IsGetParent.Value)
            {
                where = ExpressionHelpers.CombineAnd <NewsCategory>(where, x => x.ParentId == null || x.ParentId == 0);
            }
            bool ascending = false;
            if (requestModel.Ascending.HasValue)
            {
                ascending = requestModel.Ascending.Value;
            }

            #endregion

            var categories = _newsCategoryService.GetPagedList(
                where,
                null,
                ascending,
                requestModel.Page - 1,
                requestModel.Count);

            var newsCategoryModels = categories.ToList().ToParentModels();

            return(RespondSuccess(newsCategoryModels, newsCategoryModels.Count));
        }
        public async Task <IActionResult> GetById([FromQuery] NewsItemRequestModel requestModel)
        {
            #region predicate


            Expression <Func <NewsItem, bool> > where = x => true;

            where = ExpressionHelpers.CombineAnd(where, x => x.Id == requestModel.Id);

            #endregion

            var article = await _newsItemService.FirstOrDefaultAsync(
                where,
                x => x.NewsItemCategories,
                x => x.NewsItemTags);

            if (article == null)
            {
                VerboseReporter.ReportError("Không tìm thấy tin tức này", "get");
                return(RespondFailure());
            }

            var model = article.ToModel(requestModel.LanguageId);

            //GetLocales(article, model);

            return(RespondSuccess(model));
        }
Exemplo n.º 4
0
        public IActionResult Get(RootRequestModel requestModel)
        {
            #region predicate
            Expression <Func <EmailMessage, bool> > where = x => true;

            if (!string.IsNullOrWhiteSpace(requestModel.Name))
            {
                where = ExpressionHelpers.CombineAnd(where, a => a.To.Contains(requestModel.Name));
            }


            #endregion

            var allEmailMessage = _emailService.GetPagedList(
                where,
                null,
                false,
                requestModel.Page - 1,
                requestModel.Count);
            if (allEmailMessage == null)
            {
                return(RespondFailure());
            }
            var model = allEmailMessage;

            return(RespondSuccess(model, model.TotalCount));
        }
Exemplo n.º 5
0
        public IActionResult Get(RootRequestModel requestModel)
        {
            #region predicate
            Expression <Func <EmailAccount, bool> > where = x => true;

            if (!string.IsNullOrWhiteSpace(requestModel.Name))
            {
                where = ExpressionHelpers.CombineAnd(where, a => a.Username.Contains(requestModel.Name));
            }


            #endregion

            var emailAccounts = _emailAccountService.GetPagedList(
                where,
                null,
                false,
                requestModel.Page - 1,
                requestModel.Count);
            if (emailAccounts == null)
            {
                return(RespondFailure());
            }

            var model = emailAccounts;//.Select(x => x.ToModel());

            return(RespondSuccess(model, emailAccounts.TotalCount));
        }
        public IActionResult Get(RootRequestModel requestModel)
        {
            #region predicate
            Expression <Func <LocalizedProperty, bool> > where = x => true;

            if (!string.IsNullOrWhiteSpace(requestModel.Name))
            {
                where = ExpressionHelpers.CombineAnd <LocalizedProperty>(where, a => a.LocaleKey.Contains(requestModel.Name));
            }

            if (!string.IsNullOrWhiteSpace(requestModel.Content))
            {
                where = ExpressionHelpers.CombineAnd <LocalizedProperty>(where, a => a.LocaleValue.Contains(requestModel.Content));
            }

            #endregion

            var allLocalizedProperty = _localizedPropertyService.GetPagedList(
                where,
                x => x.Id,
                false,
                requestModel.Page - 1,
                requestModel.Count);
            if (allLocalizedProperty == null)
            {
                return(RespondFailure());
            }
            var model = allLocalizedProperty;

            return(RespondSuccess(model, model.TotalCount));
        }
Exemplo n.º 7
0
        private Expression <Func <T, bool> > AppendSoftDeletableCondition(Expression <Func <T, bool> > where)
        {
            if (typeof(ISoftDeletable).IsAssignableFrom(typeof(T)))
            {
                //the parameter
                var param        = Expression.Parameter(typeof(T), "x");
                var deletedWhere =
                    Expression.Lambda <Func <T, bool> >(
                        Expression.Equal(Expression.Property(param, "Deleted"), Expression.Constant(false)), param);

                //combine these to create a single expression
                where = ExpressionHelpers.CombineAnd <T>(where, deletedWhere);
            }
            return(where);
        }
        public async Task <IActionResult> GetById(int id)
        {
            #region predicate
            Expression <Func <NewsCategory, bool> > where = x => true;


            where = ExpressionHelpers.CombineAnd(where, x => x.Id == id);
            #endregion

            var newsCategory = await _newsCategoryService.FirstOrDefaultAsync(where);

            if (newsCategory == null)
            {
                return(RespondFailure());
            }

            return(RespondSuccess(newsCategory.ToModel()));
        }
Exemplo n.º 9
0
        public IActionResult GetParents([FromQuery] MenuRequestModel requestModel)
        {
            #region predicate
            Expression <Func <Menu, bool> > where = x => true;

            if (!string.IsNullOrWhiteSpace(requestModel.Name))
            {
                where = ExpressionHelpers.CombineAnd(where, a => a.Name.Contains(requestModel.Name));
            }

            if (requestModel.PositionId.HasValue)
            {
                where = ExpressionHelpers.CombineAnd(where, x => x.PositionId == requestModel.PositionId);
            }
            if (requestModel.ParentId.HasValue)
            {
                where = ExpressionHelpers.CombineAnd(where, x => x.ParentId == requestModel.ParentId);
            }
            if (requestModel.Active.HasValue)
            {
                where = ExpressionHelpers.CombineAnd(where, x => x.Active == requestModel.Active);
            }
            #endregion

            var menus = _menuService.Get(
                where).ToList();

            #region get permissions
            // TODO fix menus null exception
            //foreach (var userRole in CurrentUser.UserRoles)
            //{
            //    var permissions = _permissionRecordService.GetPermissionRecords(userRole.Role);
            //    foreach (var permission in permissions)
            //    {
            //        menus = menus.Where(x => x.Url.Contains(permission.Category)).ToList();

            //    }
            //}

            #endregion
            List <MenuModel> menuModelParents = menus.ToParentModels(requestModel.LanguageId);

            return(RespondSuccess(menuModelParents, menuModelParents.Count));
        }
Exemplo n.º 10
0
        public IActionResult Get([FromQuery] RootRequestModel requestModel)
        {
            #region predicate
            Expression <Func <NewsLetterSubscription, bool> > where = x => true;
            DateTime dateFrom, dateTo;

            if (!string.IsNullOrWhiteSpace(requestModel.Name))
            {
                where = a => a.Name.Contains(requestModel.Name);
            }

            if (!string.IsNullOrWhiteSpace(requestModel.Email))
            {
                where = ExpressionHelpers.CombineAnd <NewsLetterSubscription>(where, a => a.Email.Contains(requestModel.Email));
            }

            if (!string.IsNullOrWhiteSpace(requestModel.Mobile))
            {
                where = ExpressionHelpers.CombineAnd <NewsLetterSubscription>(where, a => a.Mobile.Contains(requestModel.Mobile));
            }

            if ((requestModel.DateFrom.IsNotNullOrEmpty()))
            {
                dateFrom = requestModel.DateFrom.ToDateTime();
                where    = ExpressionHelpers.CombineAnd <NewsLetterSubscription>(where, a => a.CreatedOnUtc >= dateFrom);
            }
            if ((requestModel.DateTo.IsNotNullOrEmpty()))
            {
                dateTo = requestModel.DateTo.ToDateTimeAddOneDay();
                where  = ExpressionHelpers.CombineAnd <NewsLetterSubscription>(where, a => a.CreatedOnUtc <= dateTo);
            }
            #endregion

            var newsLetterSubscriptions = _newsLetterSubscriptionService.GetPagedList(
                where,
                null,
                false,
                requestModel.Page - 1,
                requestModel.Count);
            return(RespondSuccess(newsLetterSubscriptions, newsLetterSubscriptions.TotalCount));
        }
Exemplo n.º 11
0
        public async Task <IActionResult> Get([FromQuery] RootRequestModel requestModel)
        {
            #region predicate

            Expression <Func <NewsItem, bool> > where = x => true;
            DateTime dateFrom, dateTo;

            if (!string.IsNullOrWhiteSpace(requestModel.Name))
            {
                where = a => a.Name.Contains(requestModel.Name);
            }
            if ((requestModel.DateFrom.IsNotNullOrEmpty()))
            {
                dateFrom = requestModel.DateFrom.ToDateTime();
                where    = ExpressionHelpers.CombineAnd <NewsItem>(where, a => a.CreatedOnUtc >= dateFrom);
            }
            if ((requestModel.DateTo.IsNotNullOrEmpty()))
            {
                dateTo = requestModel.DateTo.ToDateTime().AddDays(1);
                where  = ExpressionHelpers.CombineAnd <NewsItem>(where, a => a.CreatedOnUtc <= dateTo);
            }


            if (requestModel.CategoryId.HasValue)
            {
                where = ExpressionHelpers.CombineAnd <NewsItem>(where,
                                                                a => a.NewsItemCategories.Any(x => x.NewsCategoryId == requestModel.CategoryId.Value));
            }
            #endregion


            var newsItems = await _newsItemService.GetPagedListAsync(
                where,
                x => x.StartDateUtc,
                false,
                requestModel.Page - 1,
                requestModel.Count);

            return(RespondSuccess(newsItems.Select(x => x.ToModel()), newsItems.TotalCount));
        }
Exemplo n.º 12
0
        public async Task <IActionResult> GetById([FromRoute] int id)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }
            #region predicate
            Expression <Func <Category, bool> > where = x => true;


            where = ExpressionHelpers.CombineAnd(where, x => x.Id == id);
            #endregion

            var category = await _categoryService.FirstOrDefaultAsync(where);

            if (category == null)
            {
                return(RespondFailure());
            }

            return(RespondSuccess(category.ToModel()));
        }
Exemplo n.º 13
0
        public async Task <IActionResult> Get([FromQuery] RootRequestModel requestModel)
        {
            if (requestModel == null)
            {
                return(BadRequest());
            }

            if (requestModel.Page < 1)
            {
                requestModel.Page = 1;
            }
            if (requestModel.Count < 1)
            {
                requestModel.Count = 10;
            }

            Expression <Func <Order, bool> > where = x => true;

            if (!string.IsNullOrWhiteSpace(requestModel.Name))
            {
                where = ExpressionHelpers.CombineAnd(where, a => a.BuyerId.Contains(requestModel.Name));
            }

            var orders = await _orderService.GetPagedListAsync(
                where,
                x => x.OrderDate,
                true,
                requestModel.Page - 1,
                requestModel.Count);

            if (orders == null)
            {
                return(RespondFailure());
            }
            var model = orders;//.Select(x => x.ToModel());

            return(RespondSuccess(model, orders.TotalCount));
        }
Exemplo n.º 14
0
        /// <summary>
        /// Gets all languages
        /// </summary>
        /// <param name="showHidden">A value indicating whether to show hidden records</param>
        /// <returns>Languages</returns>
        public virtual IList <Language> GetAllLanguages(bool showHidden = false)
        {
            string key       = string.Format(ConstantKey.LANGUAGES_ALL_KEY, showHidden);
            var    languages = _cacheService.Get(key, () =>
            {
                Expression <Func <Language, bool> > where = x => true;

                if (!showHidden)
                {
                    where = ExpressionHelpers.CombineAnd <Language>(where, l => l.Published);
                }

                var query = Repository.Get(where);
                if (!showHidden)
                {
                    query = query.Where(l => l.Published);
                }
                query = query.OrderBy(l => l.DisplayOrder).ThenBy(l => l.Id);
                return(query.ToList());
            });

            return(languages);
        }
Exemplo n.º 15
0
        public IActionResult Get([FromQuery] RootRequestModel requestModel)
        {
            Expression <Func <Language, bool> > where = x => true;

            if (!string.IsNullOrWhiteSpace(requestModel.Name))
            {
                where = ExpressionHelpers.CombineAnd <Language>(where, a => a.Name.Contains(requestModel.Name));
            }

            var languages = _languageService.GetPagedList(
                where,
                null,
                false,
                requestModel.Page - 1,
                requestModel.Count);

            if (languages == null)
            {
                return(RespondFailure());
            }
            var model = languages;

            return(RespondSuccess(model, model.TotalCount));
        }
        public async Task <IActionResult> Get([FromQuery] NewsCategoryRequestModel requestModel)
        {
            #region predicate
            if (requestModel == null)
            {
                return(BadRequest());
            }

            if (requestModel.Page < 1)
            {
                requestModel.Page = 1;
            }
            if (requestModel.Count < 1)
            {
                requestModel.Count = 10;
            }
            Expression <Func <NewsCategory, bool> > where = x => true;

            if (!string.IsNullOrWhiteSpace(requestModel.Name))
            {
                where = a => a.Name.Contains(requestModel.Name);
            }

            if (requestModel.IsGetParent.HasValue)
            {
                where = ExpressionHelpers.CombineAnd <NewsCategory>(where, x => x.ParentId == null || x.ParentId == 0);
            }

            bool ascending = true;

            if (requestModel.Ascending.HasValue)
            {
                ascending = requestModel.Ascending.Value;
            }
            #endregion

            IPagedList <NewsCategory> categories;

            switch (requestModel.OrderBy)
            {
            case "Name":
                categories = await _newsCategoryService.GetPagedListAsync(
                    where,
                    x => x.Name,
                    ascending,
                    requestModel.Page - 1,
                    requestModel.Count);

                break;

            default:
                categories = await _newsCategoryService.GetPagedListAsync(
                    where,
                    x => x.DisplayOrder,
                    ascending,
                    requestModel.Page - 1,
                    requestModel.Count);

                break;
            }


            var model = categories.Select(x => x.ToModel()).ToList();


            return(RespondSuccess(model, categories.TotalCount));
        }