public async Task <UserStateRequered> Login(string UserName, string Password) { var md5 = HashControl.GetMD5Hash(Password); var userModels = await this.biblioteContext.UserModels.Include(x => x.GruposModels) .ThenInclude(x => x.PermissoesModels) .AsNoTracking() .ToListAsync(); if (userModels.Count == 0) { return(new UserStateRequered { UserState = UserState.Invalid_First_Values, Models = null, }); } var result = userModels.FirstOrDefault(x => (x.UserName.ToUpper().Equals(UserName.ToUpper()) || x.UserName.ToUpper().Equals(UserName.ToUpper())) && x.Password.Equals(md5)); if (result == null) { return(new UserStateRequered { UserState = UserState.Invalid, Models = null, }); } else if (!result.IsValido) { return(new UserStateRequered { UserState = UserState.Standbay, Models = result, }); } else if (result.GruposModels == null) { return(new UserStateRequered { UserState = UserState.Invalid_Grpos, Models = result, }); } else if (result.GruposModels.PermissoesModels == null) { return(new UserStateRequered { UserState = UserState.Invalid_Permissoes, Models = result, }); } else { return(new UserStateRequered { UserState = UserState.IsValid, Models = result, }); } }
public async Task <bool> RecoveryUpdate(string user, string senha1, string senha2) { var testPassword = senha1.Split(',').FirstOrDefault(); var PinEncrip = ""; if (testPassword.Equals("MD5")) { PinEncrip = senha1.Split(',').LastOrDefault(); } else { PinEncrip = HashControl.GetMD5Hash(senha1); } var PinEncrip2 = HashControl.GetMD5Hash(senha2); var userSeach = await this.biblioteContext.UserModels.Include(x => x.GruposModels) .ThenInclude(x => x.PermissoesModels) .Where(x => (x.UserName.ToLower() == user.ToLower() || x.Email == user) && (x.Password == PinEncrip || x.Password == PinEncrip)) .FirstOrDefaultAsync(); if (userSeach != null) { userSeach.Password = PinEncrip2; this.biblioteContext.LogsModels.Add(new LogsModels { userModelsID = userSeach.ID, DateTime = DateTime.Now, Referencia = "Alteração da passwordo do utilizador (Acesso inicial)", }); biblioteContext.UserModels.Update(userSeach); return(await Salvar()); } else { return(false); } }
private async void GuardarDados() { if (Validacao()) { var codigo = string.IsNullOrWhiteSpace(IDTextEdit.Text) || IDTextEdit.Text.Equals("0"); var models = new UserModels { ID = codigo ? 0 : (int)IDTextEdit.EditValue, GruposModelsID = (int)GruposModelsLookUpEdit.EditValue, Password = HashControl.GetMD5Hash((string)PasswordTextEdit.EditValue), Email = (string)EmailTextEdit.EditValue, IsValido = (bool)IsValidoToggleSwitch.EditValue, Data = DataDateEdit.DateTime, UserName = UserNameTextEdit.Text, }; var result = await userRepository.Guardar(models); if (result) { XtraMessageBox.Show("Inserido com Exito", "Inserção", MessageBoxButtons.OK, MessageBoxIcon.Information); } } }