public IEnumerable <Tools.ModelView.ReportChartModel> ChartChash(IConnectionHandler connectionHandler, Guid congressId, string year = "", string month = "") { var list = new List <Tools.ModelView.ReportChartModel>(); var workShopUsers = new WorkShopUserBO().GetTransactionId(connectionHandler, congressId, year, month); var hotelUsers = new HotelUserBO().GetTransactionId(connectionHandler, congressId, year, month); var users = new UserBO().GetTransactionId(connectionHandler, congressId, year, month); var transactionId = new ArticleBO().GetTransactionId(connectionHandler, congressId, year, month); var enumerable = new UserBoothBO().GetTransactionId(connectionHandler, congressId, year, month); var reportChartModel = new Tools.ModelView.ReportChartModel { Count = (long)workShopUsers, Value = Resources.Congress.Workshop, StringFormat = "N0" }; list.Add(reportChartModel); var chartModel = new Tools.ModelView.ReportChartModel { Count = (long)hotelUsers, Value = Resources.Congress.Hotel, StringFormat = "N0" }; list.Add(chartModel); var model = new Tools.ModelView.ReportChartModel { Count = (long)enumerable, Value = Resources.Congress.booth, StringFormat = "N0" }; list.Add(model); var chartModel1 = new Tools.ModelView.ReportChartModel { Count = (long)users, Value = Resources.Congress.User, StringFormat = "N0" }; list.Add(chartModel1); var item = new Tools.ModelView.ReportChartModel { Count = (long)transactionId, Value = Resources.Congress.Article, StringFormat = "N0" }; list.Add(item); return(list); }
public IEnumerable <Tools.ModelView.ReportChartModel> ChartNumberArticleByReferee( IConnectionHandler connectionHandler, Guid congressId) { var models = new List <Tools.ModelView.ReportChartModel>(); var list = new RefereeCartableBO().GroupBy(connectionHandler, new Expression <Func <RefereeCartable, object> >[] { c => c.RefereeId }, new GroupByModel <RefereeCartable>[] { new GroupByModel <RefereeCartable>() { Expression = c => c.ArticleId, AggrigateFuntionType = AggrigateFuntionType.Count }, }, c => c.Referee.CongressId == congressId); var refList = new RefereeBO().Select(connectionHandler, new Expression <Func <Referee, object> >[] { x => x.Id, x => x.EnterpriseNode.RealEnterpriseNode.FirstName + " " + x.EnterpriseNode.RealEnterpriseNode.LastName }, x => x.CongressId == congressId); foreach (var o in refList) { if (!(o.FirstNameAndLastName is string)) { continue; } var model = new Tools.ModelView.ReportChartModel { Value = o.FirstNameAndLastName }; var firstOrDefault = list.FirstOrDefault(x => x.RefereeId == o.Id); if (firstOrDefault != null && firstOrDefault.CountArticleId is int) { model.Count = firstOrDefault.CountArticleId; } else { model.Count = 0; } models.Add(model); } return(models); }