Ejemplo n.º 1
0
        public async Task <IActionResult> SelectData(Guid lastUid, int take = 100, string q = "")
        {
            var request = new LanguageReadListRequest();

            request.PagingInfo.Take = take;

            var searchTerm = q?.ToLowerInvariant();

            if (searchTerm.IsNotEmpty())
            {
                request.SearchTerm = searchTerm;
            }

            if (lastUid.IsNotEmptyGuid())
            {
                request.PagingInfo.LastUid = lastUid;
            }

            var items = new List <SelectResult>();

            var response = await _languageService.GetLanguages(request);

            if (response.Status.IsNotSuccess)
            {
                return(Json(items));
            }

            for (var i = 0; i < response.Items.Count; i++)
            {
                var item = response.Items[i];
                items.Add(new SelectResult(item.Uid.ToUidString(), item.Name, $"/images/flags/{item.IsoCode2}.png"));
            }

            return(Json(items));
        }
Ejemplo n.º 2
0
        public async Task <LanguageReadListResponse> GetLanguages(LanguageReadListRequest request)
        {
            var response = new LanguageReadListResponse();

            Expression <Func <Language, object> > orderByColumn = x => x.Id;

            Expression <Func <Language, bool> > filter = null;

            if (request.SearchTerm.IsNotEmpty())
            {
                filter = x => x.Name.Contains(request.SearchTerm) ||
                         x.IsoCode2Char.Contains(request.SearchTerm) ||
                         x.IsoCode3Char.Contains(request.SearchTerm) ||
                         x.OriginalName.Contains(request.SearchTerm);
            }

            List <Language> entities;

            if (request.PagingInfo.Skip < 1)
            {
                entities = await _languageRepository.SelectAfter(filter, request.PagingInfo.LastUid, request.PagingInfo.Take, orderByColumn, request.PagingInfo.IsAscending);
            }
            else
            {
                entities = await _languageRepository.SelectMany(filter, request.PagingInfo.Skip, request.PagingInfo.Take, orderByColumn, request.PagingInfo.IsAscending);
            }

            if (entities != null)
            {
                for (var i = 0; i < entities.Count; i++)
                {
                    var entity = entities[i];
                    var dto    = _languageFactory.CreateDtoFromEntity(entity);
                    response.Items.Add(dto);
                }
            }

            response.PagingInfo.Skip           = request.PagingInfo.Skip;
            response.PagingInfo.Take           = request.PagingInfo.Take;
            response.PagingInfo.LastUid        = request.PagingInfo.LastUid;
            response.PagingInfo.IsAscending    = request.PagingInfo.IsAscending;
            response.PagingInfo.TotalItemCount = await _languageRepository.Count(filter);

            response.Status = ResponseStatus.Success;
            return(response);
        }
Ejemplo n.º 3
0
        public async Task <IActionResult> ListData(int skip, int take)
        {
            var request = new LanguageReadListRequest();

            SetPaging(skip, take, request);

            var response = await _languageService.GetLanguages(request);

            if (response.Status.IsNotSuccess)
            {
                return(NotFound());
            }

            var result = new DataResult();

            result.AddHeaders("language_name", "2_char_code", "3_char_code", "icon", "");

            for (var i = 0; i < response.Items.Count; i++)
            {
                var item          = response.Items[i];
                var stringBuilder = new StringBuilder();
                stringBuilder.Append($"{item.Uid}{DataResult.SEPARATOR}");
                stringBuilder.Append($"{result.PrepareLink("/Language/Detail/" + item.Uid, item.Name, true)}{DataResult.SEPARATOR}");
                stringBuilder.Append($"{item.IsoCode2}{DataResult.SEPARATOR}");
                stringBuilder.Append($"{item.IsoCode3}{DataResult.SEPARATOR}");
                stringBuilder.Append($"{result.PrepareImage($"{item.IconPath}", item.OriginalName)}{DataResult.SEPARATOR}");
                stringBuilder.Append($"{result.PrepareLink("/Language/Edit/" + item.Uid, Localizer.Localize("edit"), true)}{DataResult.SEPARATOR}");

                result.Data.Add(stringBuilder.ToString());
            }

            result.PagingInfo      = response.PagingInfo;
            result.PagingInfo.Type = PagingInfo.PAGE_NUMBERS;

            return(Json(result));
        }
Ejemplo n.º 4
0
        public static LanguageReadListRequest GetLanguageReadListRequest()
        {
            var request = new LanguageReadListRequest();

            return(request);
        }