public ObservableCollection <mAccount> Accountlist(int access) { var dbAccess = Data.Instances.DataA(); try { ObservableCollection <mAccount> _list = new ObservableCollection <mAccount>(); dbAccess.ClearParameters(); dbAccess.AddParameters("@Conta", access); string SelectUserByAcesso = @" SELECT Usuarios.*, Opcoes.Thema, Opcoes.Color, Contas.Conta FROM (Usuarios INNER JOIN Opcoes ON Usuarios.Identificador = Opcoes.Identificador) INNER JOIN Contas ON Usuarios.Identificador = Contas.Identificador WHERE (((Contas.Conta)<=@Conta) AND ((Usuarios.Ativo)=True)) ORDER BY Usuarios.Nome;"; foreach (DataRow dr in dbAccess.Read(SelectUserByAcesso).Rows) { mAccount acc = new mAccount(); acc.Identificador = dr["Identificador"].ToString(); acc.Nome = dr["Nome"].ToString().ToUpper(); acc.Email = dr["Email"].ToString().ToLower(); acc.Sexo = dr["Sexo"].ToString(); acc.Cadastro = (DateTime)dr["Cadastro"]; acc.Atualizado = (DateTime)dr["Atualizado"]; acc.Ativo = (bool)dr["Ativo"]; acc.Conta = new mContas() { Conta = (int)dr["Conta"], ContaAcesso = Convert.ToString((AccountAccess)dr["Conta"]) }; _list.Add(acc); } return(_list); } catch (Exception ex) { return(null); throw new Exception(ex.Message); } }
public mAccount User(string id) { var ac = new mAccount(); var dbAccess = Data.Instances.DataA(); try { dbAccess.ClearParameters(); dbAccess.AddParameters("@ID", id); foreach (DataRow dr in dbAccess.Read("SELECT * FROM Usuarios WHERE (Identificador = @ID)").Rows) { ac.Identificador = dr["Identificador"].ToString(); ac.Nome = dr["Nome"].ToString().ToUpper(); ac.Sexo = dr["Sexo"].ToString(); ac.Email = dr["Email"].ToString(); ac.Cadastro = (DateTime)dr["Cadastro"]; ac.Atualizado = (DateTime)dr["Atualizado"]; ac.Ativo = (bool)dr["Ativo"]; ac.Thema = "Light"; ac.Color = "#FF3399FF"; ac.Conta = new mContas() { Identificador = ac.Identificador, Indice = 0, ContaAcesso = AccountAccess.Normal.ToString().ToUpper(), Conta = (int)AccountAccess.Normal }; dbAccess.ClearParameters(); dbAccess.AddParameters("@id", id); foreach (DataRow ap in dbAccess.Read(@"SELECT Thema, Color FROM Opcoes WHERE (Identificador = @id)").Rows) { ac.Thema = (string)ap[0]; ac.Color = (string)ap[1]; } dbAccess.ClearParameters(); dbAccess.AddParameters("@id", id); foreach (DataRow ct in dbAccess.Read(@"SELECT * FROM Contas WHERE (Identificador = @id)").Rows) { ac.Conta.Indice = (int)ct[0]; ac.Conta.Identificador = (string)ct[1]; ac.Conta.Conta = (int)ct[2]; ac.Conta.ContaAcesso = Convert.ToString((AccountAccess)ct[2]); ac.Conta.Ativo = (bool)ct[3]; } #region Modulos dbAccess.ClearParameters(); dbAccess.AddParameters("@id", id); foreach (DataRow mdac in dbAccess.Read(@"SELECT * FROM Modulos WHERE (Identificador = @id) AND (Acesso = True) ORDER BY Modulo").Rows) { ac.Modulos.Add(new mModulos { Indice = (int)mdac[0], Identificador = (string)mdac[1], Modulo = (int)mdac[2], Acesso = (bool)mdac[3] }); } #endregion #region SubModulos dbAccess.ClearParameters(); dbAccess.AddParameters("@id", id); foreach (DataRow smac in dbAccess.Read(@"SELECT * FROM SubModulos WHERE (Identificador = @id) AND (Acesso > 0) ORDER BY SubModulo").Rows) { ac.SubModulos.Add(new mSubModulos { Indice = (int)smac[0], Identificador = (string)smac[1], SubModulo = (int)smac[2], Acesso = (int)smac[3] }); } #endregion } return(ac); } catch (Exception ex) { return(null); throw new Exception(ex.Message); } }
public mAccount AutenticarUsuario(string userid, string senha) { var loginDB = Sim.Data.Instances.DataA(); mAccount _acc = new mAccount(); var idmaster = new SecureString(); idmaster.AppendChar('s'); idmaster.AppendChar('i'); idmaster.AppendChar('m'); idmaster.AppendChar('.'); idmaster.AppendChar('m'); idmaster.AppendChar('a'); idmaster.AppendChar('s'); idmaster.AppendChar('t'); idmaster.AppendChar('e'); idmaster.AppendChar('r'); if (userid.ToLower() == new mString().SecureStringToString(idmaster) && senha.ToLower() == new mString().SecureStringToString(idmaster)) { _acc.Indice = 0; _acc.Identificador = "System"; _acc.Nome = "SIM MASTER"; _acc.Sexo = "M"; _acc.Email = "system.account"; _acc.Cadastro = new DateTime(2014, 01, 01); _acc.Atualizado = new DateTime(2014, 01, 01); _acc.Ativo = true; _acc.Thema = "Dark"; _acc.Color = "#FFE51400"; _acc.Conta.Conta = (int)AccountAccess.Master; _acc.Conta.ContaAcesso = AccountAccess.Master.ToString().ToUpper(); List <mModulos> md = new List <mModulos>(); md.Add(new mModulos { Indice = 0, Identificador = _acc.Identificador, Modulo = (int)Modulo.Governo, Acesso = true }); md.Add(new mModulos { Indice = 0, Identificador = _acc.Identificador, Modulo = (int)Modulo.Desenvolvimento, Acesso = true }); _acc.Modulos = md; List <mSubModulos> smd = new List <mSubModulos>(); smd.Add(new mSubModulos { Indice = 0, Identificador = _acc.Identificador, SubModulo = (int)SubModulo.Legislacao, Acesso = (int)SubModuloAccess.Administrador }); smd.Add(new mSubModulos { Indice = 0, Identificador = _acc.Identificador, SubModulo = (int)SubModulo.Portarias, Acesso = (int)SubModuloAccess.Administrador }); smd.Add(new mSubModulos { Indice = 0, Identificador = _acc.Identificador, SubModulo = (int)SubModulo.Contratos, Acesso = (int)SubModuloAccess.Administrador }); smd.Add(new mSubModulos { Indice = 0, Identificador = _acc.Identificador, SubModulo = (int)SubModulo.Denominacoes, Acesso = (int)SubModuloAccess.Administrador }); smd.Add(new mSubModulos { Indice = 0, Identificador = _acc.Identificador, SubModulo = (int)SubModulo.SalaEmpreendedor, Acesso = (int)SubModuloAccess.Administrador }); smd.Add(new mSubModulos { Indice = 0, Identificador = _acc.Identificador, SubModulo = (int)SubModulo.SebraeAqui, Acesso = (int)SubModuloAccess.Administrador }); _acc.SubModulos = smd; _acc.Registro.CodigoAcesso = CodigoAcesso().ToLower(); _acc.Autenticado = true; return(_acc); } else { try { loginDB.ClearParameters(); loginDB.AddParameters("@ID", userid); loginDB.AddParameters("@Senha", senha); DataTable dt = loginDB.Read(@"SELECT * FROM Usuarios WHERE (Identificador = @ID) AND (Senha = @Senha) AND (Ativo = True)"); //DataTable dt = loginDB.Read(@"SELECT * FROM Usuarios WHERE (Identificador = @ID) AND (Senha = @Senha)"); if (!dt.Rows.Count.Equals(1)) { throw new AggregateException("Senha incorreta!"); } foreach (DataRow dr in dt.Rows) { _acc.Indice = (int)dr[0]; _acc.Identificador = dr["Identificador"].ToString(); _acc.Nome = dr["Nome"].ToString().ToUpper(); _acc.Sexo = dr["Sexo"].ToString(); _acc.Email = dr["Email"].ToString(); _acc.Cadastro = (DateTime)dr["Cadastro"]; _acc.Atualizado = (DateTime)dr["Atualizado"]; _acc.Ativo = (bool)dr["Ativo"]; _acc.Thema = "Light"; _acc.Color = "#FF3399FF"; _acc.Conta.Conta = (int)AccountAccess.Normal; _acc.Conta.ContaAcesso = AccountAccess.Normal.ToString().ToUpper(); var dbAccess = Data.Instances.DataA(); dbAccess.ClearParameters(); dbAccess.AddParameters("@id", _acc.Identificador); foreach (DataRow ap in dbAccess.Read(@"SELECT Thema, Color FROM Opcoes WHERE (Identificador = @id)").Rows) { _acc.Thema = (string)ap[0]; _acc.Color = (string)ap[1]; } foreach (DataRow ac in dbAccess.Read(@"SELECT Conta FROM Contas WHERE (Identificador = @id)").Rows) { _acc.Conta.Conta = (int)ac[0]; _acc.Conta.ContaAcesso = Convert.ToString((AccountAccess)ac[0]).ToUpper(); } #region Modulos List <mModulos> md = new List <mModulos>(); foreach (DataRow mdac in dbAccess.Read(@"SELECT * FROM Modulos WHERE (Identificador = @id) AND (Acesso = True) ORDER BY Modulo").Rows) { md.Add(new mModulos { Indice = (int)mdac[0], Identificador = (string)mdac[1], Modulo = (int)mdac[2], Acesso = (bool)mdac[3] }); } _acc.Modulos = md; #endregion #region SubModulos List <mSubModulos> smd = new List <mSubModulos>(); foreach (DataRow smac in dbAccess.Read(@"SELECT * FROM SubModulos WHERE (Identificador = @id) AND (Acesso > 0) ORDER BY SubModulo").Rows) { smd.Add(new mSubModulos { Indice = (int)smac[0], Identificador = (string)smac[1], SubModulo = (int)smac[2], Acesso = (int)smac[3] }); } _acc.SubModulos = smd; #endregion string _codigo = CodigoAcesso(); if (_acc.Identificador.ToLower() != "System".ToLower()) { LogIN(_acc.Identificador, _codigo); } dbAccess.ClearParameters(); dbAccess.AddParameters("@codigo", _codigo); foreach (DataRow ra in dbAccess.Read("SELECT * FROM Registro_Acesso WHERE(Codigo = @codigo)").Rows) { _acc.Registro.Indice = (int)ra[0]; _acc.Registro.CodigoAcesso = (string)ra[1]; _acc.Registro.Identificador = (string)ra[2]; _acc.Registro.Data = (DateTime)ra[3]; _acc.Registro.HoraInicio = (DateTime)ra[4]; _acc.Registro.HoraFim = (DateTime)ra[5]; } if (_acc.Conta.Conta == (int)AccountAccess.Bloqueado) { _acc.Conta.Conta = (int)AccountAccess.Normal; _acc.Conta.ContaAcesso = AccountAccess.Normal.ToString().ToUpper(); md.Add(new mModulos { Indice = 0, Identificador = _acc.Identificador, Modulo = (int)Modulo.Governo, Acesso = true }); _acc.Modulos = md; smd.Add(new mSubModulos { Indice = 0, Identificador = _acc.Identificador, SubModulo = (int)SubModulo.Legislacao, Acesso = (int)SubModuloAccess.Consulta }); smd.Add(new mSubModulos { Indice = 0, Identificador = _acc.Identificador, SubModulo = (int)SubModulo.Portarias, Acesso = (int)SubModuloAccess.Consulta }); smd.Add(new mSubModulos { Indice = 0, Identificador = _acc.Identificador, SubModulo = (int)SubModulo.Contratos, Acesso = (int)SubModuloAccess.Consulta }); smd.Add(new mSubModulos { Indice = 0, Identificador = _acc.Identificador, SubModulo = (int)SubModulo.Denominacoes, Acesso = (int)SubModuloAccess.Consulta }); //_acc.Autenticado = false; //throw new AggregateException("Conta Bloqueada"); } _acc.Autenticado = true; } return(_acc); } catch (AggregateException ex) { return(null); throw new AggregateException(ex.Message); } } }