public async Task <JsonResult> Search([FromBody] SearchModel filter) { var result = new GetManyResult <TModel>(); try { var request = ConvertSearchModelToSearchFilter <TEntity> .Convert(filter); var response = await((IGenericService <TEntity>)_service).GetMany(request); if (response.Success) { result.Success = response.Success; result.Entities = Mapper.Map <IEnumerable <TEntity>, IEnumerable <TModel> >(response.Entities); result.TotalAmount = response.TotalAmount; result.Message = response.Message ?? null; result.StatusCode = response.StatusCode; result.Exception = response.Exception ?? null; } else { result.Success = false; result.Entities = response.Entities == null ? null : Mapper.Map <IEnumerable <TEntity>, IEnumerable <TModel> >(response.Entities); result.TotalAmount = response.TotalAmount <= 0 ? 0 : response.TotalAmount; result.Message = response.Message; result.StatusCode = response.StatusCode; result.Exception = response.Exception; } } catch (Exception ex) { result.Entities = null; result.TotalAmount = 0; result.Success = false; result.Message = ex.Message; result.StatusCode = 500; result.Exception = ex; } return(Json(result)); }
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)); }