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));
        }
Exemple #2
0
        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);
        }
Exemple #3
0
        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);
        }