public static List <User> GetAllUsersFromDirectorate(TGFCContext ctx, Directorate directorate) { return(ctx.User .Include(u => u.Activities).Include(u => u.Images) .Include(u => u.Department) .Where(u => u.Department.Directorate == directorate).ToList()); }
public RegisterView(TGFCContext _ctx) { Directorates = Queries.GetAllDirectorates(_ctx); foreach (var directorate in Directorates) { Departments[directorate] = Queries.GetAllDepartmentsOfDirectorate(_ctx, directorate); } }
public SettingsView(TGFCContext _ctx, IEnumerable <Claim> _claims) { CurrentUser = Queries.GetUserByClaims(_ctx, _claims); Directorates = Queries.GetAllDirectorates(_ctx); foreach (var directorate in Directorates) { Departments[directorate] = Queries.GetAllDepartmentsOfDirectorate(_ctx, directorate); } }
public static User GetUserByClaims(TGFCContext ctx, IEnumerable <Claim> claims) { Claim claim = claims.FirstOrDefault(c => c.Type == "UserId"); return(ctx.User .Include(u => u.Activities).Include(u => u.Images) .Include(u => u.Department).ThenInclude(d => d.Directorate) .FirstOrDefault(u => u.UserId == Convert.ToInt32(claim.Value))); }
public static List <Directorate> GetAllDirectorates(TGFCContext ctx) => ctx.Directorate .Include(d => d.Departments) .ToList();
public static Directorate GetDirectorateById(TGFCContext ctx, int id) => ctx.Directorate .Include(d => d.Departments) .FirstOrDefault(d => d.DirectorateId == id);
public static List <Discipline> GetAllDisciplines(TGFCContext ctx) => ctx.Discipline .Include(d => d.ActivityTypes) .ToList();
public HomeController(ILogger <HomeController> logger, TGFCContext context) { _logger = logger; _context = context; }
public CreateActivityView(TGFCContext _ctx, IEnumerable <Claim> _claims) { CurrentUser = Queries.GetUserByClaims(_ctx, _claims); Disciplines = Queries.GetAllDisciplines(_ctx); ActivityTypes = Queries.GetAllActivityTypes(_ctx); }
public static List <Image> GetAllImagesOfDirectorate(TGFCContext ctx, Directorate directorate) => ctx.Image .Include(i => i.User) .Where(i => i.User.Department.Directorate == directorate).ToList();
public static User GetUserById(TGFCContext ctx, int id) => ctx.User .Include(u => u.Activities).Include(u => u.Images).Include(u => u.Department) .FirstOrDefault(u => u.UserId == id);
public static User GetUserByEmail(TGFCContext ctx, string email) => ctx.User .Include(u => u.Activities).Include(u => u.Department).Include(u => u.Images) .FirstOrDefault(u => u.Email == email);
public ImagesView(TGFCContext _ctx, IEnumerable <Claim> _claims) { CurrentUser = Queries.GetUserByClaims(_ctx, _claims); Images = Queries.GetAllImagesOfDirectorate(_ctx, CurrentUser.Department.Directorate); Departments = Queries.GetAllDepartmentsOfDirectorate(_ctx, CurrentUser.Department.Directorate); }
public static Department GetDepartmentById(TGFCContext ctx, int id) => ctx.Department .Include(d => d.Directorate).Include(d => d.Users) .FirstOrDefault(d => d.DepartmentId == id);
public static Activity GetActivityById(TGFCContext ctx, int id) => ctx.Activity .Include(a => a.User).Include(a => a.ActivityType) .FirstOrDefault(a => a.ActivityId == id);
public static List <Department> GetAllDepartmentsOfDirectorate(TGFCContext ctx, Directorate directorate) => ctx.Department .Include(d => d.Directorate).Include(d => d.Users) .Where(d => d.Directorate == directorate).ToList();
public static List <Activity> GetActivitiesOfUser(TGFCContext ctx, User u) => ctx.Activity .Include(a => a.User).Include(a => a.ActivityType) .Where(a => a.User == u).ToList();
public static Image getImageById(TGFCContext ctx, int imageId) => ctx.Image .Include(i => i.User) .FirstOrDefault(i => i.ImageId == imageId);
public static List <ActivityType> GetAllActivityTypes(TGFCContext ctx) => ctx.ActivityType .Include(a => a.Discipline).Include(a => a.Activities) .ToList();
public AccountController(ILogger <AccountController> logger, TGFCContext context, IHostingEnvironment environment) { _logger = logger; _context = context; _environment = environment; }
public static Discipline GetDisciplineById(TGFCContext ctx, int id) => ctx.Discipline .Include(d => d.ActivityTypes) .FirstOrDefault(d => d.DisciplineId == id);
public AccountView(TGFCContext _ctx, IEnumerable <Claim> _claims) { CurrentUser = Queries.GetUserByClaims(_ctx, _claims); Disciplines = Queries.GetAllDisciplines(_ctx); ActivityTypes = Queries.GetAllActivityTypes(_ctx); if (CurrentUser.Department.Directorate.ChallengeStartDate == null || CurrentUser.Department.Directorate.ChallengeEndDate == null) { ChallengeStartDate = new DateTime(DateTime.Now.Year, DateTime.Now.Month, 1); ChallengeEndDate = ChallengeStartDate.AddMonths(1).AddMinutes(-1); } else { ChallengeStartDate = (DateTime)CurrentUser.Department.Directorate.ChallengeStartDate; ChallengeEndDate = (DateTime)CurrentUser.Department.Directorate.ChallengeEndDate; } List <DateTime> dates = GetDatesBetween(ChallengeStartDate, ChallengeEndDate); foreach (var date in dates) { LineChartLabels.Add($"{date.ToString("dd/MM/yy")}"); } TotalCalories = Calories.CalculateTotalCalories(CurrentUser.Activities.Where(a => a.StartTime >= ChallengeStartDate && a.EndTime <= ChallengeEndDate).ToList()); for (int i = 0; i < Disciplines.Count; i++) { PieChartData.Add(0); } List <int> allCounter = new List <int>(); for (int j = 0; j < dates.Count; j++) { allCounter.Add(0); } foreach (var dscpln in Disciplines) { List <int> temp; if (!LineChartData.TryGetValue(dscpln.NameNormalized, out temp)) { temp = new List <int>(); for (int j = 0; j < dates.Count; j++) { temp.Add(0); } } LineChartData[dscpln.NameNormalized] = temp; } foreach (var ac in CurrentUser.Activities.Where(a => a.StartTime >= ChallengeStartDate && a.EndTime <= ChallengeEndDate)) { List <int> temp; if (!LineChartData.TryGetValue(ac.ActivityType.Discipline.NameNormalized, out temp)) { temp = new List <int>(); for (int j = 0; j < dates.Count; j++) { temp.Add(0); } } int day = (ac.StartTime.Day - ChallengeStartDate.Day); int value = temp[day]; temp[day] = ++value; int value2 = allCounter[day]; allCounter[day] = ++value2; LineChartData[ac.ActivityType.Discipline.NameNormalized] = temp; int index = Disciplines.IndexOf(ac.ActivityType.Discipline); PieChartData[index] = PieChartData[index] + 1; } LineChartData["all"] = allCounter; foreach (var dscpln in Disciplines) { DisciplineNames.Add(dscpln.NameNormalized); PieChartLabels.Add(dscpln.Name); PieChartColors.Add(dscpln.Color); } DisciplineNames.Add("all"); }
public DepartmentsView(TGFCContext _ctx, IEnumerable <Claim> _claims) { CurrentUser = Queries.GetUserByClaims(_ctx, _claims); Disciplines = Queries.GetAllDisciplines(_ctx); Departments = Queries.GetAllDepartmentsOfDirectorate(_ctx, CurrentUser.Department.Directorate); ActivityTypes = Queries.GetAllActivityTypes(_ctx); if (CurrentUser.Department.Directorate.ChallengeStartDate == null || CurrentUser.Department.Directorate.ChallengeEndDate == null) { ChallengeStartDate = new DateTime(DateTime.Now.Year, DateTime.Now.Month, 1); ChallengeEndDate = ChallengeStartDate.AddMonths(1).AddMinutes(-1); } else { ChallengeStartDate = (DateTime)CurrentUser.Department.Directorate.ChallengeStartDate; ChallengeEndDate = (DateTime)CurrentUser.Department.Directorate.ChallengeEndDate; } foreach (var dep in Departments) { ActivitiesByDepartments[dep] = dep.Activities.Where(a => a.StartTime >= ChallengeStartDate && a.EndTime <= ChallengeEndDate).ToList(); } List <DateTime> dates = GetDatesBetween(ChallengeStartDate, ChallengeEndDate); foreach (var date in dates) { LineChartLabels.Add($"{date.ToString("dd/MM/yy")}"); } ChartHeaders.Add("Total Activities"); ChartHeaders.Add("Total Calories"); ChartHeaders.Add("Total Distance"); ChartHeaders.Add("Total Duration"); foreach (var dscpl in Disciplines) { ChartHeaders.Add($"{dscpl.Name} - Activities Overview"); } foreach (var department in Departments) { Dictionary <int, List <double> > tempDepartment; if (!LineChartData.TryGetValue(department.DepartmentId, out tempDepartment)) { tempDepartment = new Dictionary <int, List <double> >(); } for (int i = 0; i < ChartHeaders.Count; i++) { List <double> tempDataList; if (!tempDepartment.TryGetValue(i, out tempDataList)) { tempDataList = new List <double>(); } foreach (var date in dates) { tempDataList.Add(0); } tempDepartment[i] = tempDataList; } LineChartData[department.DepartmentId] = tempDepartment; } SetDataTotalActivities(); SetDataTotalCalories(); SetDataTotalDistance(); SetDataTotalDuration(); SetDataDisciplines(); RankingChartHeaders.Add("Total Activities"); RankingChartHeaders.Add("Total Calories"); RankingChartHeaders.Add("Total Distance"); RankingChartHeaders.Add("Total Duration"); UsersOfDirectorate = Queries.GetAllUsersFromDirectorate(_ctx, CurrentUser.Department.Directorate); for (int i = 0; i < 4; i++) { UserRankingData[i] = new List <User>(); } for (int i = 0; i < 4; i++) { GroupRankingData[i] = new List <Department>(); } for (int i = 0; i < 4; i++) { UserRankingChartData[i] = new List <LineChartDataSet>(); } for (int i = 0; i < 4; i++) { GroupRankingChartData[i] = new List <LineChartDataSet>(); } foreach (var user in UsersOfDirectorate) { if (user.TotalActivities > 0) { UserRankingData[0].Add(user); } } foreach (var user in UsersOfDirectorate) { if (user.TotalCalories > 0) { UserRankingData[1].Add(user); } } foreach (var user in UsersOfDirectorate) { if (user.TotalDistance > 0) { UserRankingData[2].Add(user); } } foreach (var user in UsersOfDirectorate) { if (user.TotalDuration.TotalMinutes > 0) { UserRankingData[3].Add(user); } } foreach (var dep in Departments) { if (dep.TotalActivities > 0) { GroupRankingData[0].Add(dep); } } foreach (var dep in Departments) { if (dep.TotalCalories > 0) { GroupRankingData[1].Add(dep); } } foreach (var dep in Departments) { if (dep.TotalDistance > 0) { GroupRankingData[2].Add(dep); } } foreach (var dep in Departments) { if (dep.TotalDuration.TotalMinutes > 0) { GroupRankingData[3].Add(dep); } } for (int i = 0; i < 4; i++) { foreach (var user in UserRankingData[i]) { UserRankingChartData[i].Add(new LineChartDataSet(CurrentUser, user, i)); } } for (int i = 0; i < 4; i++) { foreach (var dep in GroupRankingData[i]) { GroupRankingChartData[i].Add(new LineChartDataSet(CurrentUser, dep, i)); } } }