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)); } }
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); }
public static LabelReadByKeyRequest GetLabelReadByKeyRequest() { var request = new LabelReadByKeyRequest(CurrentUserId, StringOne); return(request); }