public static bool ResetSenhaPadrão(ResetPasswordDTO credentials, out IEnumerable <string> validationErrors) { using (Data.Contexts.SMEManagementContext db = new Contexts.SMEManagementContext()) { User user = (from current in db.Users where current.Name == credentials.Username select current).FirstOrDefault(); validationErrors = default; if (user != null) { validationErrors = ValidatePassword(credentials, user); if (validationErrors.Count() < 1) { user.Password = Cryptography.HashPassword(credentials.NewPassword); return(db.SaveChanges() > 0); } } return(false); } }
public static async Task <bool> RegisterUser(string username, string password) { using (Data.Contexts.SMEManagementContext db = new Contexts.SMEManagementContext()) { Models.Authentication.User user = await (from current in db.Users.Include(".Roles") where current.Name == username select current).FirstOrDefaultAsync(); if (user == null) { user = new Models.Authentication.User() { Name = username, Password = Functionalities.Cryptography.HashPassword(password) }; await db.Users.AddAsync(user); await db.SaveChangesAsync(); if (user.Name == "daniel.amcom" || user.Name == "massato.amcom" || user.Name == "caique.amcom") { await SetRole(user.Name, "Admin", "0"); } return(true); } return(false); } }
public List <MathPoolNumber> BuscarAlunosTurmaRelatorioMatematicaNumber(string turmaEol, string proficiencia, string term) { var liststudentPoll = new List <StudentPollMatematica>(); var listStudentsPoll = new List <MathPoolNumber>(); using (Contexts.SMEManagementContext db = new Contexts.SMEManagementContext()) { switch (term) { case "1° Semestre": listStudentsPoll = db.MathPoolNumbers.Where(x => x.TurmaEolCode == turmaEol && x.Semestre.Equals(1)).ToList(); break; case "2° Semestre": listStudentsPoll = db.MathPoolNumbers.Where(x => x.TurmaEolCode == turmaEol && x.Semestre.Equals(2)).ToList(); break; default: break; } } return(listStudentsPoll); }
public async Task <List <DREsDTO> > GetCodeDreAdm(string userName) { try { using (Contexts.SMEManagementContext db = new Contexts.SMEManagementContext()) { var user = db.PrivilegedAccess.Where(x => x.Login == userName).FirstOrDefault(); if (!string.IsNullOrEmpty(user.DreCodeEol)) { var dreApi = new DREAPI(endPoint); return(await dreApi.GetDresPorCodigo(user.DreCodeEol, _token)); } else { return(null); } } } catch (Exception) { throw; } }
public static async Task <bool> RegisterUser(string username, string password) { using (Data.Contexts.SMEManagementContext db = new Contexts.SMEManagementContext()) { Models.Authentication.User user = await (from current in db.Users where current.Name == username select current).FirstOrDefaultAsync(); if (user == null) { user = new Models.Authentication.User() { Name = username, Password = Functionalities.Cryptography.HashPassword(password) }; await db.Users.AddAsync(user); await db.SaveChangesAsync(); return(true); } return(false); } }
public static async Task <Models.Authentication.LoggedUser> GetLoggedUser(string username, string session, string refreshToken) { using (Data.Contexts.SMEManagementContext db = new Contexts.SMEManagementContext()) return(await (from current in db.LoggedUsers.Include(".User") where current.User.Name == username && current.Session == session && current.RefreshToken == refreshToken select current).FirstOrDefaultAsync()); }
public static async Task <bool> SetRole(string username, string roleName, string accessLevelValue) { using (Contexts.SMEManagementContext db = new Contexts.SMEManagementContext()) { Models.Authentication.User user = await (from current in db.Users where current.Name == username select current).FirstOrDefaultAsync(); if (user != null) { Models.Authentication.Role role = await (from current in db.Roles where current.Name == roleName select current).FirstOrDefaultAsync(); if (role != null) { Models.Authentication.AccessLevel accessLevel = await (from current in db.AccessLevels where current.Value == accessLevelValue select current).FirstOrDefaultAsync(); if (accessLevel != null) { Models.Authentication.UserRole userRole = await (from current in db.UserRoles where current.AccessLevelId == accessLevel.Id && current.RoleId == role.Id && current.UserId == user.Id select current).FirstOrDefaultAsync(); if (userRole == null) { userRole = new Models.Authentication.UserRole() { User = user, Role = role, AccessLevel = accessLevel }; await db.UserRoles.AddAsync(userRole); await db.SaveChangesAsync(); } return(true); } } } return(false); } }
public static async Task <List <Models.Authentication.UserRole> > GetUserRoles(string username) { using (Contexts.SMEManagementContext db = new Contexts.SMEManagementContext()) { List <Models.Authentication.UserRole> userRoles = await (from current in db.UserRoles.Include(".User").Include(".Role").Include(".AccessLevel") where current.User.Name == username select current).ToListAsync(); return(userRoles); } }
// Corrigir esste método private static async Task <Models.Authentication.User> GetUserById(string id) { using (Data.Contexts.SMEManagementContext db = new Contexts.SMEManagementContext()) { Models.Authentication.User user = await (from current in db.Users.Include(".Profile.Roles") where current.Id == id select current).FirstOrDefaultAsync(); return(user); } }
public static async Task <bool> LogoutUser(string username, string session) { using (Contexts.SMEManagementContext db = new Contexts.SMEManagementContext()) { Models.Authentication.LoggedUser loggedUser = await (from current in db.LoggedUsers.Include(".User") where current.User.Name == username && current.Session == session select current).FirstOrDefaultAsync(); if (loggedUser != null) { db.LoggedUsers.Remove(loggedUser); await db.SaveChangesAsync(); return(true); } return(false); } }
public static async Task <bool> LoginUser(string username, string session, string refreshToken) { using (Data.Contexts.SMEManagementContext db = new Contexts.SMEManagementContext()) { Models.Authentication.LoggedUser loggedUser = await (from current in db.LoggedUsers.Include(".User") where current.User.Name == username select current).FirstOrDefaultAsync(); if (loggedUser == null) { Models.Authentication.User user = await (from current in db.Users where current.Name == username select current).FirstOrDefaultAsync(); loggedUser = new Models.Authentication.LoggedUser() { User = user, RefreshToken = refreshToken, Session = session, LastAccess = DateTime.Now, ExpiresAt = DateTime.Now.AddMinutes(30) }; await db.LoggedUsers.AddAsync(loggedUser); } else { loggedUser.RefreshToken = refreshToken; loggedUser.Session = session; loggedUser.LastAccess = DateTime.Now; loggedUser.ExpiresAt = DateTime.Now.AddMinutes(30); } await db.SaveChangesAsync(); return(true); } }
public static PrivilegedAccessModel ValidatePrivilegedUser(string username) { using (Data.Contexts.SMEManagementContext db = new Contexts.SMEManagementContext()) { var user = db.PrivilegedAccess.Where(x => x.Login == username).FirstOrDefault(); if (user != null) { var userPrivileged = new PrivilegedAccessModel() { Login = user.Login, Name = user.Name, OccupationPlace = user.OccupationPlace, OccupationPlaceCode = user.OccupationPlaceCode, }; return(userPrivileged); } return(null); } }
public async void InsertPollPortuguese(List <StudentPollPortuguese> ListStudentsModel) { using (Contexts.SMEManagementContext db = new Contexts.SMEManagementContext()) { var listStudentsPoll = new List <PortuguesePoll>(); foreach (var student in ListStudentsModel) { var studentPollPortuguese = db.PortuguesePolls.Where(x => x.classroomCodeEol == student.classroomCodeEol && x.studentCodeEol == student.studentCodeEol).FirstOrDefault(); if (studentPollPortuguese == null) { studentPollPortuguese = new PortuguesePoll(); studentPollPortuguese.schoolYear = student.schoolYear; studentPollPortuguese.dreCodeEol = student.dreCodeEol; studentPollPortuguese.schoolCodeEol = student.schoolCodeEol; studentPollPortuguese.yearClassroom = student.yearClassroom; studentPollPortuguese.classroomCodeEol = student.classroomCodeEol; studentPollPortuguese.studentNameEol = student.name; studentPollPortuguese.studentCodeEol = student.studentCodeEol; MapValuesPollPortuguese(student, studentPollPortuguese); await db.PortuguesePolls.AddAsync(studentPollPortuguese); } else { MapValuesPollPortuguese(student, studentPollPortuguese); db.PortuguesePolls.Update(studentPollPortuguese); } } await db.SaveChangesAsync(); } }
public async Task <List <StudentPollPortuguese> > ListStudentPollPortuguese(ClassRoomFilter classRoom) { try { var liststudentPollPortuguese = new List <StudentPollPortuguese>(); using (Contexts.SMEManagementContext db = new Contexts.SMEManagementContext()) { //Pega alunos daquela turma que possuem sondagem // ADD ano letivo no where var listStudentsPollPortuguese = db.PortuguesePolls.Where(x => x.classroomCodeEol == classRoom.classroomCodeEol).ToList(); // Pega alunos da API // tratar se ppor um acaso retornar uma lista vazia var studentsClassRoom = new ClassRoom(); // var listStudentsClassRoom = studentsClassRoom.MockListaChamada(); var endpointsAPI = new EndpointsAPI(); var turmApi = new TurmasAPI(endpointsAPI); var listStudentsClassRoom = await turmApi.GetAlunosNaTurma(Convert.ToInt32(classRoom.classroomCodeEol), Convert.ToInt32(classRoom.schoolYear), _token); listStudentsClassRoom = listStudentsClassRoom.Where(x => x.CodigoSituacaoMatricula == 1).ToList(); if (listStudentsClassRoom == null) { return(null); } foreach (var studentClassRoom in listStudentsClassRoom) { var studentDTO = new StudentPollPortuguese(); if (listStudentsPollPortuguese != null) { var studentPollPortuguese = listStudentsPollPortuguese.Where(x => x.studentCodeEol == studentClassRoom.CodigoAluno.ToString()).FirstOrDefault(); studentDTO.name = studentClassRoom.NomeAluno; studentDTO.studentCodeEol = studentClassRoom.CodigoAluno.ToString(); studentDTO.sequenceNumber = studentClassRoom.NumeroAlunoChamada.ToString(); studentDTO.classroomCodeEol = classRoom.classroomCodeEol; studentDTO.schoolYear = classRoom.schoolYear; studentDTO.dreCodeEol = classRoom.dreCodeEol; studentDTO.schoolCodeEol = classRoom.schoolCodeEol; studentDTO.yearClassroom = classRoom.yearClassroom; if (studentPollPortuguese != null) { studentDTO.t1e = studentPollPortuguese.writing1B; studentDTO.t1l = studentPollPortuguese.reading1B; studentDTO.t2e = studentPollPortuguese.writing2B; studentDTO.t2l = studentPollPortuguese.reading2B; studentDTO.t3e = studentPollPortuguese.writing3B; studentDTO.t3l = studentPollPortuguese.reading3B; studentDTO.t4e = studentPollPortuguese.writing4B; studentDTO.t4l = studentPollPortuguese.reading4B; } else { AddStudentPollPortuguese(studentDTO); } liststudentPollPortuguese.Add(studentDTO); } } } return(liststudentPollPortuguese.OrderBy(x => Convert.ToInt32(x.sequenceNumber)).ToList()); } catch (Exception ex) { throw; } }
public async Task <PollReportPortugueseResult> BuscarDadosRelatorioPortugues(string proficiencia, string bimestre, string anoLetivo, string codigoDre, string codigoEscola, string codigoCurso) { var liststudentPollPortuguese = new List <StudentPollPortuguese>(); var listReturn = new List <PollReportPortugueseItem>(); using (Contexts.SMEManagementContext db = new Contexts.SMEManagementContext()) { var listStudentsPollPortuguese = new List <Models.Academic.PortuguesePoll>(); IQueryable <PortuguesePoll> query = db.Set <PortuguesePoll>(); query = db.PortuguesePolls.Where(x => x.schoolYear == anoLetivo); //montando filtros genericamente if (!string.IsNullOrWhiteSpace(codigoDre)) { query = query.Where(u => u.dreCodeEol == codigoDre); } if (!string.IsNullOrWhiteSpace(codigoEscola)) { query = query.Where(u => u.schoolCodeEol == codigoEscola); } if (!string.IsNullOrWhiteSpace(codigoCurso)) { query = query.Where(u => u.yearClassroom == codigoCurso); } List <SME.Pedagogico.Gestao.Data.DTO.PortChartDataModel> graficos = new List <SME.Pedagogico.Gestao.Data.DTO.PortChartDataModel>(); switch (bimestre) { case "1° Bimestre": { if (proficiencia == "Escrita") { var writing1B = query.GroupBy(fu => fu.writing1B).Select(g => new { Label = g.Key, Value = g.Count() }).ToList(); foreach (var item in writing1B) { if (!item.Label.Trim().Equals("")) { PollReportPortugueseItem itemRetorno = new PollReportPortugueseItem(); itemRetorno.OptionName = MontarTextoProficiencia(item.Label); itemRetorno.studentQuantity = item.Value; listReturn.Add(itemRetorno); graficos.Add(new SME.Pedagogico.Gestao.Data.DTO.PortChartDataModel() { Name = MontarTextoProficiencia(item.Label), Value = item.Value }); } } } else //leitura { var reading1B = query.GroupBy(fu => fu.reading1B).Select(g => new { Label = g.Key, Value = g.Count() }).ToList(); foreach (var item in reading1B) { if (!item.Label.Trim().Equals("")) { PollReportPortugueseItem itemRetorno = new PollReportPortugueseItem(); itemRetorno.OptionName = MontarTextoProficiencia(item.Label); itemRetorno.studentQuantity = item.Value; listReturn.Add(itemRetorno); graficos.Add(new SME.Pedagogico.Gestao.Data.DTO.PortChartDataModel() { Name = MontarTextoProficiencia(item.Label), Value = item.Value }); } } } } break; case "2° Bimestre": { if (proficiencia == "Escrita") { var writing2B = query.GroupBy(fu => fu.writing2B).Select(g => new { Label = g.Key, Value = g.Count() }).ToList(); foreach (var item in writing2B) { if (!item.Label.Trim().Equals("")) { PollReportPortugueseItem itemRetorno = new PollReportPortugueseItem(); itemRetorno.OptionName = MontarTextoProficiencia(item.Label); itemRetorno.studentQuantity = item.Value; listReturn.Add(itemRetorno); graficos.Add(new SME.Pedagogico.Gestao.Data.DTO.PortChartDataModel() { Name = MontarTextoProficiencia(item.Label), Value = item.Value }); } } } else //leitura { var reading2B = query.GroupBy(fu => fu.reading2B).Select(g => new { Label = g.Key, Value = g.Count() }).ToList(); foreach (var item in reading2B) { if (!item.Label.Trim().Equals("")) { PollReportPortugueseItem itemRetorno = new PollReportPortugueseItem(); itemRetorno.OptionName = MontarTextoProficiencia(item.Label); itemRetorno.studentQuantity = item.Value; listReturn.Add(itemRetorno); graficos.Add(new SME.Pedagogico.Gestao.Data.DTO.PortChartDataModel() { Name = MontarTextoProficiencia(item.Label), Value = item.Value }); } } } } break; case "3° Bimestre": { if (proficiencia == "Escrita") { var writing3B = query.GroupBy(fu => fu.writing3B).Select(g => new { Label = g.Key, Value = g.Count() }).ToList(); foreach (var item in writing3B) { if (!item.Label.Trim().Equals("")) { PollReportPortugueseItem itemRetorno = new PollReportPortugueseItem(); itemRetorno.OptionName = MontarTextoProficiencia(item.Label); itemRetorno.studentQuantity = item.Value; listReturn.Add(itemRetorno); graficos.Add(new SME.Pedagogico.Gestao.Data.DTO.PortChartDataModel() { Name = MontarTextoProficiencia(item.Label), Value = item.Value }); } } } else //leitura { var reading3B = query.GroupBy(fu => fu.reading3B).Select(g => new { Label = g.Key, Value = g.Count() }).ToList(); foreach (var item in reading3B) { if (!item.Label.Trim().Equals("")) { PollReportPortugueseItem itemRetorno = new PollReportPortugueseItem(); itemRetorno.OptionName = MontarTextoProficiencia(item.Label); itemRetorno.studentQuantity = item.Value; listReturn.Add(itemRetorno); graficos.Add(new SME.Pedagogico.Gestao.Data.DTO.PortChartDataModel() { Name = MontarTextoProficiencia(item.Label), Value = item.Value }); } } } } break; case "4° Bimestre": { if (proficiencia == "Escrita") { var writing4B = query.GroupBy(fu => fu.writing4B).Select(g => new { Label = g.Key, Value = g.Count() }).ToList(); foreach (var item in writing4B) { if (!item.Label.Trim().Equals("")) { PollReportPortugueseItem itemRetorno = new PollReportPortugueseItem(); itemRetorno.OptionName = MontarTextoProficiencia(item.Label); itemRetorno.studentQuantity = item.Value; listReturn.Add(itemRetorno); graficos.Add(new SME.Pedagogico.Gestao.Data.DTO.PortChartDataModel() { Name = MontarTextoProficiencia(item.Label), Value = item.Value }); } } } else //leitura { var reading4B = query.GroupBy(fu => fu.reading4B).Select(g => new { Label = g.Key, Value = g.Count() }).ToList(); foreach (var item in reading4B) { if (!item.Label.Trim().Equals("")) { PollReportPortugueseItem itemRetorno = new PollReportPortugueseItem(); itemRetorno.OptionName = MontarTextoProficiencia(item.Label); itemRetorno.studentQuantity = item.Value; listReturn.Add(itemRetorno); graficos.Add(new SME.Pedagogico.Gestao.Data.DTO.PortChartDataModel() { Name = MontarTextoProficiencia(item.Label), Value = item.Value }); } } } } break; } int total = 0; foreach (var item in listReturn) { total += item.studentQuantity; } foreach (var item in listReturn) { item.StudentPercentage = (double)item.studentQuantity / (double)total * 100; } SME.Pedagogico.Gestao.Data.DTO.PollReportPortugueseResult retorno = new PollReportPortugueseResult(); retorno.Results = listReturn; var listaGrafico = graficos.GroupBy(fu => fu.Name).Select(g => new { Label = g.Key, Value = g.Sum(soma => soma.Value) }).ToList(); graficos = new List <SME.Pedagogico.Gestao.Data.DTO.PortChartDataModel>(); foreach (var item in listaGrafico) { graficos.Add(new SME.Pedagogico.Gestao.Data.DTO.PortChartDataModel() { Name = item.Label, Value = item.Value }); } retorno.ChartData = graficos; return(retorno); } }
public async Task <List <PortuguesePoll> > BuscarAlunosTurmaRelatorioPortugues(string turmaEol, string proficiencia, string bimestre) { try { var liststudentPollPortuguese = new List <StudentPollPortuguese>(); using (Contexts.SMEManagementContext db = new Contexts.SMEManagementContext()) { var listStudentsPollPortuguese = new List <PortuguesePoll>(); switch (bimestre) { case "1° Bimestre": { if (proficiencia == "Escrita") { listStudentsPollPortuguese = db.PortuguesePolls .Where(x => x.classroomCodeEol == turmaEol && ! string.IsNullOrEmpty(x.writing1B)).ToList(); } else { listStudentsPollPortuguese = db.PortuguesePolls.Where(x => x.classroomCodeEol == turmaEol && !string.IsNullOrEmpty(x.reading1B)).ToList(); } break; } case "2° Bimestre": { if (proficiencia == "Escrita") { listStudentsPollPortuguese = db.PortuguesePolls.Where(x => x.classroomCodeEol == turmaEol && !string.IsNullOrEmpty(x.writing2B)).ToList(); } else { listStudentsPollPortuguese = db.PortuguesePolls.Where(x => x.classroomCodeEol == turmaEol && !string.IsNullOrEmpty(x.reading2B)).ToList(); } break; } case "3° Bimestre": { if (proficiencia == "Escrita") { listStudentsPollPortuguese = db.PortuguesePolls.Where(x => x.classroomCodeEol == turmaEol && !string.IsNullOrEmpty(x.writing3B)).ToList(); } else { listStudentsPollPortuguese = db.PortuguesePolls.Where(x => x.classroomCodeEol == turmaEol && !string.IsNullOrEmpty(x.reading3B)).ToList(); } break; } default: if (proficiencia == "Escrita") { listStudentsPollPortuguese = db.PortuguesePolls.Where(x => x.classroomCodeEol == turmaEol && !string.IsNullOrEmpty(x.writing4B)).ToList(); } else { listStudentsPollPortuguese = db.PortuguesePolls.Where(x => x.classroomCodeEol == turmaEol && !string.IsNullOrEmpty(x.reading4B)).ToList(); } break; } //return listStudentsPollPortuguese; return(listStudentsPollPortuguese.OrderBy(a => a.studentNameEol).ToList()); //fazer order by por nome } } catch (Exception ex) { throw; } }
public static bool ValidateUser(string username) { using (Data.Contexts.SMEManagementContext db = new Contexts.SMEManagementContext()) return(db.Users.Any(x => x.Name == username)); }
public static bool ValidateUser(string username, string password) { using (Data.Contexts.SMEManagementContext db = new Contexts.SMEManagementContext()) return(db.Users.Any(x => x.Name == username && x.Password == Functionalities.Cryptography.HashPassword(password))); }