public async Task <CategoryGetResponse> CategoryGet(CategoryGetRequest request) { CategoryGetResponse response = new CategoryGetResponse(); try { RCategory[] categories = await _categoryService.Get(request.LanguageCurrentId); if (categories.Length > 0) { if (!string.IsNullOrEmpty(request.Id)) { RCategory currentCategory = categories.FirstOrDefault(p => p.Id == request.Id); if (currentCategory != null) { categories = RCategory.RemoveCurrentTree(categories, currentCategory); } } response.Parents = categories?.Select(p => p.ToModel()).ToArray(); } RLanguage[] languages = await _languageService.Get(); if (languages.Length > 0) { response.Languages = languages.Select(p => p.ToKeyValueModel()).ToArray(); } if (!string.IsNullOrEmpty(request.Id)) { RCategory category = await _categoryService.Get(request.LanguageId, request.Id); if (category == null) { response.SetFail(BaseResponse.ErrorCodeEnum.CategoryNotFound); return(response); } response.Category = category.ToModel(); } else { response.Category = new CategoryModel(); } response.SetSucess(); } catch (Exception e) { response.SetFail(e); _logger.LogError(e, e.Message, request); } return(response); }
public async Task <IActionResult> Get([FromBody] CategoryGetRequest request) { try { var response = await _categoryAppService.CategoryGet(request); return(Json(response)); } catch (Exception e) { _logger.LogError(e, Common.Common.GetMethodName()); throw; } }