public async Task <IHttpActionResult> FindActivityReviewStatistics(int activityId) { try { Expression <Func <Review, bool> > Filter = x => !x.IsDeleted; Filter = Filter.And(x => x.ActivityId == activityId); var TotalReviews = await Mgr.Count_Async(Filter); if (TotalReviews == 0) { return(Ok(false)); } var TotalRate = Mgr.FindActivityTotalRate(Filter); var res = new { TotalReviews = TotalReviews, AvgRate = Math.Round(TotalRate / TotalReviews, 2) }; return(Ok(res)); } catch (Exception ex) { Unit.LogError(ex, this.ToString(), this.ActionContext.ActionArguments.ToList()); return(InternalServerError(ex)); } }