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); }