Beispiel #1
0
        public async Task <IActionResult> RevisionsData(Guid id)
        {
            var languageUid = id;

            if (languageUid.IsEmptyGuid())
            {
                return(NotFound());
            }

            var request = new LanguageRevisionReadListRequest(CurrentUser.Id, languageUid);

            var response = await _languageService.GetLanguageRevisions(request);

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

            var result = new DataResult();

            result.AddHeaders("revision", "revisioned_by", "revisioned_at", "language_name", "2_char_code", "3_char_code", "icon", "created_at", "");

            for (var i = 0; i < response.Items.Count; i++)
            {
                var revisionItem  = response.Items[i];
                var item          = revisionItem.Item;
                var stringBuilder = new StringBuilder();
                stringBuilder.Append($"{item.Uid}{DataResult.SEPARATOR}");
                stringBuilder.Append($"{revisionItem.Revision}{DataResult.SEPARATOR}");
                stringBuilder.Append($"{revisionItem.RevisionedByName}{DataResult.SEPARATOR}");
                stringBuilder.Append($"{GetDateTimeAsString(revisionItem.RevisionedAt)}{DataResult.SEPARATOR}");
                stringBuilder.Append($"{item.Name}{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($"{GetDateTimeAsString(item.CreatedAt)}{DataResult.SEPARATOR}");
                stringBuilder.Append($"{result.PrepareRestoreButton("restore", "/Language/Restore/", "/Language/Detail")}{DataResult.SEPARATOR}");

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

            return(Json(result));
        }
        public async Task <LanguageRevisionReadListResponse> GetLanguageRevisions(LanguageRevisionReadListRequest request)
        {
            var response = new LanguageRevisionReadListResponse();

            var currentUser = _cacheManager.GetCachedCurrentUser(request.CurrentUserId);

            var language = await _languageRepository.Select(x => x.Uid == request.LanguageUid);

            if (language.IsNotExist())
            {
                response.SetInvalid();
                response.ErrorMessages.Add("language_not_found");
                return(response);
            }

            var revisions = await _languageRepository.SelectRevisions(language.Id);

            for (int i = 0; i < revisions.Count; i++)
            {
                var revision = revisions[i];

                var revisionDto = new RevisionDto <LanguageDto>();
                revisionDto.Revision     = revision.Revision;
                revisionDto.RevisionedAt = revision.RevisionedAt;

                var user = _cacheManager.GetCachedUser(revision.RevisionedBy);
                revisionDto.RevisionedByUid  = user.Uid;
                revisionDto.RevisionedByName = user.Name;

                revisionDto.Item = _languageFactory.CreateDtoFromEntity(revision.Entity);

                response.Items.Add(revisionDto);
            }

            response.Status = ResponseStatus.Success;
            return(response);
        }
        public static LanguageRevisionReadListRequest GetLanguageRevisionReadListRequest()
        {
            var request = new LanguageRevisionReadListRequest(CurrentUserId, UidOne);

            return(request);
        }