public MDashboard CreateGraph(List <Room> rooms) { var dashboard = new MDashboard(); var roomsCount = new List <dynamic>(); var roomsColor = new List <string>(); if (rooms.Any(r => r.CurrentState == (int)ERoomState.Building)) { dashboard.labels.Add("Salas em construção"); roomsCount.Add(rooms.Count(r => r.CurrentState == (int)ERoomState.Building)); roomsColor.Add("#139A43"); } if (rooms.Any(r => r.CurrentState == (int)ERoomState.Open)) { dashboard.labels.Add("Salas abertas"); roomsCount.Add(rooms.Count(r => r.CurrentState == (int)ERoomState.Open)); roomsColor.Add("#3454D1"); } if (rooms.Any(r => r.CurrentState == (int)ERoomState.Closed)) { dashboard.labels.Add("Salas finalizadas"); roomsCount.Add(rooms.Count(r => r.CurrentState == (int)ERoomState.Closed)); roomsColor.Add("#F2DC5D"); } dashboard.datasets.Add(new MDashboardDatasets { backgroundColor = roomsColor, data = roomsCount }); return(dashboard); }
public MDashboard CreateGraph(List <Activity> activities) { var dashboard = new MDashboard(); var acitiviesCount = new List <dynamic>(); var acitivitiesColor = new List <string>(); if (activities.Any(r => r.CurrentState == (int)EActivityState.Building)) { dashboard.labels.Add("Atividades em construção"); acitiviesCount.Add(activities.Count(r => r.CurrentState == (int)EActivityState.Building)); acitivitiesColor.Add("#2CEAA3"); } if (activities.Any(r => r.CurrentState == (int)EActivityState.InProgress)) { dashboard.labels.Add("Atividades em andamento"); acitiviesCount.Add(activities.Count(r => r.CurrentState == (int)EActivityState.InProgress)); acitivitiesColor.Add("#333333"); } if (activities.Any(r => r.CurrentState == (int)EActivityState.Done)) { dashboard.labels.Add("Atividades finalizadas"); acitiviesCount.Add(activities.Count(r => r.CurrentState == (int)EActivityState.Done)); acitivitiesColor.Add("#0E3F1D"); } dashboard.datasets.Add(new MDashboardDatasets { backgroundColor = acitivitiesColor, data = acitiviesCount }); return(dashboard); }
public MDashboard CreateGraph(List <Room> rooms) { var dashboard = new MDashboard(); if (!rooms.Any()) { return(dashboard); } dashboard.labels.Add("Sala"); foreach (var room in rooms) { var bgColor = ColorExtensions.RandomColorHex(); var dataset = new MDashboardDatasets { label = room.Name, backgroundColor = new List <string> { bgColor }, data = new List <dynamic> { room.NumberOfStudents } }; dashboard.datasets.Add(dataset); } return(dashboard); }
public MDashboard CreateGraph(List <Answer> answers) { var dashboard = new MDashboard(); var answersCount = new List <dynamic>(); var answersColor = new List <string>(); var rooms = _uRelStudentRoom.GetRoomByPerson(_person.Id); if (rooms.Any()) { var answeredAndDone = 0; var notAnsweredAndDone = 0; var answeredAndNotDone = 0; var notAnsweredAndNotDone = 0; foreach (var room in rooms) { var activities = _uActivity.GetByRoom(room.Id).Where(a => a.CurrentState != (int)EActivityState.Building); foreach (var activity in activities) { var alreadyAnswered = answers.FirstOrDefault(a => a.Activity.Id == activity.Id) != null; var isDone = activity.CurrentState == (int)EActivityState.Done; if (alreadyAnswered && isDone) { ++answeredAndDone; } else if (!alreadyAnswered && isDone) { ++notAnsweredAndDone; } else if (alreadyAnswered) { ++answeredAndNotDone; } else { ++notAnsweredAndNotDone; } } } if (answeredAndDone > 0) { dashboard.labels.Add("Atividades respondidas e finalizadas"); answersColor.Add(ColorExtensions.RandomColorHex()); answersCount.Add(answeredAndDone); } if (notAnsweredAndDone > 0) { dashboard.labels.Add("Atividades não respondidas e finalizadas"); answersColor.Add(ColorExtensions.RandomColorHex()); answersCount.Add(notAnsweredAndDone); } if (answeredAndNotDone > 0) { dashboard.labels.Add("Atividades respondidas e não finalizadas"); answersColor.Add(ColorExtensions.RandomColorHex()); answersCount.Add(answeredAndNotDone); } if (notAnsweredAndNotDone > 0) { dashboard.labels.Add("Atividades não respondidas e não finalizadas"); answersColor.Add(ColorExtensions.RandomColorHex()); answersCount.Add(notAnsweredAndNotDone); } } dashboard.datasets.Add(new MDashboardDatasets { backgroundColor = answersColor, data = answersCount }); return(dashboard); }