Пример #1
0
        public async Task <IActionResult> Detail(string id)
        {
            if (id.IsUid())
            {
                Guid.TryParse(id, out var uid);
                var labelUid = uid;
                if (labelUid.IsEmptyGuid())
                {
                    return(RedirectToHome());
                }

                var request  = new LabelReadRequest(CurrentUser.Id, labelUid);
                var response = await _labelService.GetLabel(request);

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

                var model = LabelMapper.MapLabelDetailModel(response.Item);

                return(View(model));
            }
            else
            {
                var labelKey = id;
                if (labelKey.IsEmpty())
                {
                    return(RedirectToHome());
                }

                var request  = new LabelReadByKeyRequest(CurrentUser.Id, labelKey);
                var response = await _labelService.GetLabelByKey(request);

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

                var model = LabelMapper.MapLabelDetailModel(response.Item);

                return(View(model));
            }
        }
Пример #2
0
        public async Task <LabelReadByKeyResponse> GetLabelByKey(LabelReadByKeyRequest request)
        {
            var response = new LabelReadByKeyResponse();

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

            var label = await _labelRepository.Select(x => x.OrganizationId == currentUser.OrganizationId &&
                                                      x.Key == request.LabelKey);

            if (label.IsNotExist())
            {
                response.SetInvalidBecauseEntityNotFound();
                return(response);
            }

            response.Item   = _labelFactory.CreateDtoFromEntity(label);
            response.Status = ResponseStatus.Success;
            return(response);
        }
Пример #3
0
        public static LabelReadByKeyRequest GetLabelReadByKeyRequest()
        {
            var request = new LabelReadByKeyRequest(CurrentUserId, StringOne);

            return(request);
        }