public async Task <JsonResult> Count([FromBody] SearchModel filter) { var result = new GetCountResult <TModel>(); try { var request = ConvertSearchModelToSearchFilter <TEntity> .Convert(filter); var response = await((IGenericService <TEntity>)_service).Count(request); if (response.Success) { result.Success = response.Success; result.Amount = response.Amount; result.Message = response.Message ?? null; result.StatusCode = response.StatusCode; result.Exception = response.Exception ?? null; } else { result.Success = false; result.Amount = response.Amount <= 0 ? 0 : response.Amount; result.Message = response.Message; result.StatusCode = response.StatusCode; result.Exception = response.Exception; } } catch (Exception ex) { result.Amount = 0; result.Success = false; result.Message = ex.Message; result.StatusCode = 500; result.Exception = ex; } return(Json(result)); }
public virtual async Task <GetCountResult <TEntity> > Count(GetManyFilter <TEntity> filter) { var result = new GetCountResult <TEntity>(); try { var response = await _repository.Count(filter); if (response.Success) { result.Amount = response.Amount; result.Success = true; result.Message = "OK"; result.StatusCode = 200; result.Exception = null; } else { result.Amount = null; result.Success = false; result.Message = response.Message == "Bad Request" ? "Bad Request" : response.Message; result.StatusCode = response.StatusCode == 400 ? 400 : response.StatusCode; result.Exception = response.Exception ?? null; } } catch (Exception ex) { result.Amount = null; result.Success = false; result.Message = ex.Message; result.StatusCode = 500; result.Exception = ex; } return(result); }
protected async Task <GetCountResult <TEntity> > Counter(IQueryable <TEntity> query) { var result = new GetCountResult <TEntity>(); try { var amount = await query.AsNoTracking().CountAsync(); result.Amount = amount; result.Success = true; result.Message = "OK"; result.StatusCode = 200; result.Exception = null; } catch (Exception ex) { result.Amount = null; result.Success = false; result.Message = ex.Message; result.StatusCode = 500; result.Exception = ex; } return(result); }