public BasicStatsModel MoreUsedApp(string idcompany, DateTime fromdate, DateTime todate) { BasicStatsModel bm = new BasicStatsModel(); var query = (from e in MongoHelper.database.GetCollection <AutomaticTakeTimeModel>("TrackerTime").AsQueryable <AutomaticTakeTimeModel>() where e.IdEmpresa == idcompany && (e.Date <= todate && e.Date >= fromdate) select new AutomaticTakeTimeModel { Application = e.Application, Time = e.Activity, Date = e.Date }).Distinct().ToList(); foreach (var grouping in query.GroupBy(g => g.Application).ToList()) { var item = grouping; double?time = query.Where(t => t.Application == item.Key).Select(f => f.Time).Sum(); bm.labels.Add(item.Key); double?totalminutes = 0; if (time != null && time > 0) { totalminutes = (time / 60); } bm.data.Add(Math.Round(totalminutes.Value, 2)); } return(bm); }
public JsonResult MoreUsedApp() { var company = Request.RequestContext.HttpContext.Session["Company"].ToString(); OperationController opc = new OperationController(); DateTime fromdate = DateTime.Today.AddDays(-10); DateTime todate = DateTime.Today; BasicStatsModel bm = opc.MoreUsedApp(company, fromdate, todate); return(Json(bm, JsonRequestBehavior.AllowGet)); }