public static void TransacoesWord(string nome, int id, float saldo)
        {
            List <TransacaoViewModel> transacoes = RepositorioTransacao.Listar();

            foreach (var iniciar in transacoes)
            {
                if (iniciar != null && iniciar.IdUsuario.Equals(id))
                {
                    Document  doc          = new Document();
                    Section   section      = doc.AddSection();
                    Paragraph Para         = section.AddParagraph();
                    float     inicio       = saldo;
                    string    nomeMaisculo = nome.ToUpper();
                    Para.AppendText($"                    LISTAGEM DAS TRANSAÇÕES DO USUÁRIO: {nomeMaisculo}\n\n\n");
                    Para.AppendText($"TRANSAÇÕES:\n\n");

                    foreach (var item in transacoes)
                    {
                        if (item != null && item.IdUsuario.Equals(id))
                        {
                            inicio += item.Valor;
                        }
                    }
                    foreach (var item in transacoes)
                    {
                        if (item != null && item.IdUsuario.Equals(id))
                        {
                            Para.AppendText($"---------------------------------------------------------------------------------------------------------------------------\n");
                            Para.AppendText($"Valor:                                                                 R$ {item.Valor}\n");
                            Para.AppendText($"Tipo:                                                                  {item.Tipo}\n");
                            Para.AppendText($"Descrição:                                                          {item.Descricao}\n");
                            Para.AppendText($"Data da Transação:                                            {item.DataTransacao}\n");
                            Para.AppendText($"---------------------------------------------------------------------------------------------------------------------------\n");
                            Para.AppendText($"\n                                                                                                             SALDO ATUAL: R$ {inicio -= item.Valor}\n\n");
                        }
                    }
                    Para.AppendText($"                                                                                                             SALDO FINAL: R$ {saldo}");
                    doc.SaveToFile("Transações.docx", FileFormat.Docx);
                    CoresUtils.MostrarMensagem("\nArquivo criado com sucesso!", TipoMensagemEnum.SUCESSO);
                    System.Console.WriteLine("Pressione ENTER para continuar");
                    Console.ReadLine();
                }
                else
                {
                    CoresUtils.MostrarMensagem("O arquivo não foi feito, já que não há transações em seu nome", TipoMensagemEnum.ALERTA);
                    System.Console.WriteLine("Clique ENTER para continuar");
                    Console.ReadLine();
                    break;
                }
            }
        }
Exemplo n.º 2
0
        public static UsuarioViewModel LoginUsuario()
        {
            int    i = 0;
            string email, senha;

            do
            {
                Console.Clear();
                if (i > 0)
                {
                    CoresUtils.MostrarMensagem("Digite um e-mail válido", TipoMensagemEnum.ERRO);
                    System.Console.WriteLine("Pressione ENTER para continuar");
                    Console.ReadLine();
                    Console.Clear();
                }
                System.Console.WriteLine("Digite seu e-mail:");
                email = Console.ReadLine();
                i++;
            } while (!email.Contains("@") && !email.Contains("."));

            i = 0;

            Console.Clear();
            do
            {
                if (i > 0)
                {
                    CoresUtils.MostrarMensagem("Digite uma senha válida", TipoMensagemEnum.ERRO);
                    System.Console.WriteLine("Pressione ENTER para continuar");
                    Console.ReadLine();
                    Console.Clear();
                }
                System.Console.WriteLine("Digite sua senha: (min. 8)");
                senha = Console.ReadLine();
                i++;
            } while (senha.Length < 8);

            UsuarioViewModel usuarioRecuperado = repositorioUsuario.BuscarUsuario(email, senha);

            return(usuarioRecuperado);
        }
Exemplo n.º 3
0
        public static void ExibirUsuarios()
        {
            List <UsuarioViewModel> usuarios = RepositorioUsuario.Listar();

            foreach (var item in usuarios)
            {
                if (item != null)
                {
                    System.Console.WriteLine($"----------------------------------------");
                    System.Console.WriteLine($"Id do Usuário: {item.Id}");
                    System.Console.WriteLine($"Nome: {item.Nome}");
                    System.Console.WriteLine($"E-mail: {item.Email}");
                    System.Console.WriteLine($"Senha: {item.Senha}");
                    System.Console.WriteLine($"Data de nascimento: {item.DataDeNascimento}");
                    System.Console.WriteLine($"Saldo: {item.Saldo}");
                    System.Console.WriteLine($"Tipo de Usuário: {item.Tipo}");
                    System.Console.WriteLine($"----------------------------------------");
                }
            }
            CoresUtils.MostrarMensagem("Fim dos usuários", TipoMensagemEnum.ERRO);
            System.Console.WriteLine("Clique ENTER para continuar");
            Console.ReadLine();
        }
        public UsuarioViewModel CadastrarTransacao(UsuarioViewModel recuperado)
        {
            string tipo, descricao;
            float  valor;
            int    i     = 0;
            string teste = "";

            Console.Clear();
            do
            {
                if (i > 0)
                {
                    CoresUtils.MostrarMensagem("Digite um tipo válido", TipoMensagemEnum.ERRO);
                    System.Console.WriteLine("Pressione ENTER para continuar");
                    Console.ReadLine();
                    Console.Clear();
                }
                System.Console.WriteLine("Digite o tipo da transação (Despesa / Receita): ");
                tipo = Console.ReadLine();
                i++;
            } while (!tipo.Contains("D") && !tipo.Contains("d") && !tipo.Contains("R") && !tipo.Contains("r"));

            i = 0;

            Console.Clear();
            do
            {
                if (i > 0)
                {
                    CoresUtils.MostrarMensagem("Digite um valor válido", TipoMensagemEnum.ERRO);
                    System.Console.WriteLine("Pressione ENTER para continuar");
                    Console.ReadLine();
                    Console.Clear();
                }
                System.Console.WriteLine("Digite o valor da transação:");
                teste = Console.ReadLine();
                i++;
            } while (!float.TryParse(teste, out valor) && valor <= 0);

            if (tipo.Contains("R") || tipo.Contains("r"))
            {
                valor = valor * -1;
            }

            if (valor <= recuperado.Saldo)
            {
                if (tipo.Contains("D") || tipo.Contains("d"))
                {
                    recuperado.Saldo = recuperado.Saldo - valor;
                    tipo             = "DESPESA";
                }
                else if (tipo.Contains("R") || tipo.Contains("r"))
                {
                    valor            = valor * -1;
                    recuperado.Saldo = recuperado.Saldo + valor;
                    tipo             = "RECEITA";
                }

                i = 0;

                Console.Clear();

                System.Console.WriteLine("Descreva a transação:");
                descricao = Console.ReadLine();

                Console.Clear();

                TransacaoViewModel transacaoTeste = new TransacaoViewModel();
                transacaoTeste.Tipo        = tipo;
                transacaoTeste.Valor       = valor;
                transacaoTeste.Descricao   = descricao;
                transacaoTeste.NomeUsuario = recuperado.Nome;
                transacaoTeste.IdUsuario   = recuperado.Id;

                RepositorioTransacao.Inserir(transacaoTeste);

                CoresUtils.MostrarMensagem("Transação concluída com sucesso!", TipoMensagemEnum.SUCESSO);
                System.Console.WriteLine("Clique ENTER para continuar");
                Console.ReadLine();

                return(recuperado);
            }
            else
            {
                CoresUtils.MostrarMensagem("\nNão há saldo suficiente para esta transação!!!", TipoMensagemEnum.ERRO);
                System.Console.WriteLine("Pressione ENTER para continuar");
                Console.ReadLine();
                Console.Clear();
                return(recuperado);
            }
        }
Exemplo n.º 5
0
        static void Main(string[] args)
        {
            bool querSair = false;
            TransacaoViewController transacaoViewController = new TransacaoViewController();
            var repositorioUsuario = new RepositorioUsuario();

            do
            {
                Console.Clear();
                MenuUtils.MenuDeslogado();
                string codigo = Console.ReadLine();
                switch (codigo)
                {
                case "1":
                    UsuarioViewController.CadastrarUsuario();
                    break;

                case "2":
                    UsuarioViewModel usuarioRecuperado = UsuarioViewController.LoginUsuario();
                    if (usuarioRecuperado != null)
                    {
                        if (usuarioRecuperado.Tipo.Equals("Comum"))
                        {
                            Console.Clear();
                            CoresUtils.MostrarMensagem($"   Bem-Vindo {usuarioRecuperado.Nome}", TipoMensagemEnum.SUCESSO);
                            System.Console.WriteLine("Pressione ENTER para continuar");
                            Console.ReadLine();
                            do
                            {
                                MenuUtils.MenuLogado();
                                codigo = Console.ReadLine();
                                switch (codigo)
                                {
                                case "1":
                                    transacaoViewController.CadastrarTransacao(usuarioRecuperado);
                                    repositorioUsuario.Editar(usuarioRecuperado);
                                    break;

                                case "2":
                                    TransacaoViewController.TransacoesWord(usuarioRecuperado.Nome);
                                    CoresUtils.MostrarMensagem("\nArquivo criado com sucesso!", TipoMensagemEnum.SUCESSO);
                                    System.Console.WriteLine("Pressione ENTER para continuar");
                                    break;

                                case "3":
                                    TransacaoViewController.ExibirTransacao(usuarioRecuperado.Nome);
                                    break;

                                case "0":
                                    CoresUtils.MostrarMensagem("Obrigado pela preferência", TipoMensagemEnum.SUCESSO);
                                    querSair = true;
                                    break;

                                default:
                                    CoresUtils.MostrarMensagem("Digite um valor válido!", TipoMensagemEnum.ALERTA);
                                    System.Console.WriteLine("Pressione ENTER para continuar");
                                    Console.ReadLine();
                                    break;
                                }
                            } while (!querSair);
                        }
                        else
                        {
                            Console.Clear();
                            CoresUtils.MostrarMensagem($"   Bem-Vindo {usuarioRecuperado.Nome}", TipoMensagemEnum.SUCESSO);
                            System.Console.WriteLine("   Pressione ENTER para continuar");
                            Console.ReadLine();
                            Console.Clear();
                            do
                            {
                                MenuUtils.MenuADM();
                                codigo = Console.ReadLine();
                                switch (codigo)
                                {
                                case "1":
                                    UsuarioViewController.ExibirUsuarios();
                                    break;

                                case "2":
                                    UsuarioViewController.UsuariosWord();
                                    CoresUtils.MostrarMensagem("\nArquivo criado com sucesso!", TipoMensagemEnum.SUCESSO);
                                    System.Console.WriteLine("Pressione ENTER para continuar");
                                    Console.ReadLine();
                                    break;

                                case "3":
                                    RepositorioUsuario.Zipar();
                                    CoresUtils.MostrarMensagem("\nArquivo criado com sucesso!", TipoMensagemEnum.SUCESSO);
                                    System.Console.WriteLine("Pressione ENTER para continuar");
                                    Console.ReadLine();
                                    break;

                                case "0":
                                    CoresUtils.MostrarMensagem("Obrigado pela preferência", TipoMensagemEnum.SUCESSO);
                                    querSair = true;
                                    break;

                                default:
                                    CoresUtils.MostrarMensagem("Digite um valor válido!", TipoMensagemEnum.ALERTA);
                                    System.Console.WriteLine("Pressione ENTER para continuar");
                                    Console.ReadLine();
                                    break;
                                }
                            } while (!querSair);
                        }
                    }
                    else
                    {
                        CoresUtils.MostrarMensagem("Usuário ou senha inválidos", TipoMensagemEnum.ALERTA);
                        System.Console.WriteLine("Pressione ENTER para continuar");
                        Console.ReadLine();
                    }
                    break;

                case "0":
                    CoresUtils.MostrarMensagem("Obrigado pela preferência", TipoMensagemEnum.SUCESSO);
                    querSair = true;
                    break;

                default:
                    CoresUtils.MostrarMensagem("Digite um valor válido!", TipoMensagemEnum.ALERTA);
                    System.Console.WriteLine("Pressione ENTER para continuar");
                    Console.ReadLine();

                    break;
                }
            } while (!querSair);
        }
Exemplo n.º 6
0
        public static void CadastrarUsuario()
        {
            string   nome = "", email = "", senha = "", teste = "", testesenha = "";
            DateTime nascimento;
            int      i            = 0;
            DateTime maiorDeIdade = DateTime.Parse("15/05/2001");
            int      verificacao  = 0;

            Console.Clear();
            do
            {
                if (i > 0)
                {
                    verificacao = 0;
                    CoresUtils.MostrarMensagem("Digite um nome diferente, já temos um usuário com este nome", TipoMensagemEnum.ERRO);
                    System.Console.WriteLine("Pressione ENTER para continuar");
                    Console.ReadLine();
                    Console.Clear();
                }
                System.Console.WriteLine("Digite seu nome: ");
                nome = Console.ReadLine();
                i++;
                UsuarioViewModel testador = repositorioUsuario.TestarNome(nome);
                if (testador != null)
                {
                    verificacao++;
                }
            } while (nome.Length < 4 || verificacao != 0);

            i = 0;

            Console.Clear();
            do
            {
                if (i > 0)
                {
                    verificacao = 0;
                    CoresUtils.MostrarMensagem("E-mail inválido ou já utilizado para cadastro", TipoMensagemEnum.ERRO);
                    System.Console.WriteLine("Pressione ENTER para continuar");
                    Console.ReadLine();
                    Console.Clear();
                }
                System.Console.WriteLine("Digite seu e-mail:");
                email = Console.ReadLine();
                i++;
                UsuarioViewModel testador = repositorioUsuario.TestarEmail(email);
                if (testador != null)
                {
                    verificacao++;
                }
            } while (!email.Contains("@") && !email.Contains(".") || verificacao != 0);

            i = 0;

            Console.Clear();
            do
            {
                if (i > 0)
                {
                    CoresUtils.MostrarMensagem("Senha inválida ou não corresponderam", TipoMensagemEnum.ERRO);
                    System.Console.WriteLine("Pressione ENTER para continuar");
                    Console.ReadLine();
                    Console.Clear();
                }
                System.Console.WriteLine("Digite sua senha: (min. 8)");
                senha = Console.ReadLine();
                System.Console.WriteLine("Digite sua senha novamente: (min. 8)");
                testesenha = Console.ReadLine();
                i++;
            } while (senha.Length < 8 || senha != testesenha);

            i = 0;

            Console.Clear();
            do
            {
                if (i > 0)
                {
                    CoresUtils.MostrarMensagem("Digite uma data válida", TipoMensagemEnum.ERRO);
                    System.Console.WriteLine("Pressione ENTER para continuar");
                    Console.ReadLine();
                    Console.Clear();
                }
                System.Console.WriteLine("Digite sua data de nascimento: (você precisa ser maior de idade)");
                teste = Console.ReadLine();
                i++;
            } while (!DateTime.TryParse(teste, out nascimento) || nascimento > maiorDeIdade);

            UsuarioViewModel usuarioTeste = new UsuarioViewModel();

            usuarioTeste.Nome             = nome;
            usuarioTeste.Email            = email;
            usuarioTeste.Senha            = senha;
            usuarioTeste.DataDeNascimento = nascimento;

            RepositorioUsuario.Inserir(usuarioTeste);

            CoresUtils.MostrarMensagem("Usuário cadastrado com sucesso!", TipoMensagemEnum.SUCESSO);
            System.Console.WriteLine("Clique ENTER para continuar");
            Console.ReadLine();
        }