Пример #1
0
        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);
            }
        }
Пример #2
0
        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);
            }
        }
Пример #3
0
        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);
                }
            }
        }