Exemple #1
0
        public static ProcessamentoFiltro Converter(int anoExercicio, TipoContribuinte tipo)
        {
            var filtro = new ProcessamentoFiltro()
            {
                AnoExercicio     = anoExercicio,
                TipoContribuinte = tipo
            };

            return(filtro);
        }
Exemple #2
0
        public IQueryable <ProcessamentoDTO> Execute(int anoExercicio, TipoContribuinte tipo)
        {
            var consulta = from p in _db.Processamentos
                           let contribuintes = p.Contribuintes.FirstOrDefault()
                                               where (contribuintes != null ?
                                                      p.AnoExercicio == anoExercicio && contribuintes.TipoContribuinteId == (short)tipo :
                                                      p.AnoExercicio == anoExercicio)
                                               select new ProcessamentoDTO()
            {
                Id = p.Id
            };

            return(consulta);
        }
Exemple #3
0
        public static void Main(string[] args)
        {
            List <Contribuinte> contribuintes = new List <Contribuinte>();

            Console.Write("Números de contribuintes: ");
            int n = int.Parse(Console.ReadLine());

            for (int i = 0; i < n; i++)
            {
                Console.Write("Pessoa Física ou Pessoa Jurídica (PF/PJ): ");
                TipoContribuinte tipoContribuinte = (TipoContribuinte)Enum.Parse(typeof(TipoContribuinte), Console.ReadLine(), true);

                Console.WriteLine();

                Console.WriteLine($"Dados #{i + 1} contribuinte:");
                Console.Write("Nome: ");
                string nome = Console.ReadLine();

                Console.Write("Renda Anual: ");
                double rendaAnual = double.Parse(Console.ReadLine(), CultureInfo.InvariantCulture);

                switch (tipoContribuinte)
                {
                case TipoContribuinte.PF:
                    Console.Write("Gastos com saúde: ");
                    double gastosSaude = double.Parse(Console.ReadLine());
                    contribuintes.Add(new PessoaFisica(nome, rendaAnual, TipoContribuinte.PF, gastosSaude));
                    break;

                case TipoContribuinte.PJ:
                    Console.Write("Números de Funcionários: ");
                    int numeroFunc = int.Parse(Console.ReadLine());
                    contribuintes.Add(new PessoaJuridica(nome, rendaAnual, TipoContribuinte.PJ, numeroFunc));
                    break;
                }

                Console.WriteLine();
            }

            Console.WriteLine();
            Console.WriteLine("Impostos pagos:");

            foreach (Contribuinte c in contribuintes)
            {
                Console.WriteLine($"{c.Nome} - R$ {c.ImpostoAPagar()}");
            }

            Console.ReadKey();
        }
Exemple #4
0
        private static string BuscarCorpoPara(TipoContribuinte tipoContribuinte)
        {
            switch (tipoContribuinte)
            {
            case TipoContribuinte.FuncionarioCassi:
                return(ModeloEmail.NotificacaoFuncionarioCassi);

            case TipoContribuinte.PrestadorFornecedor:
                return(ModeloEmail.NotificacaoPrestadorFornecedor);

            case TipoContribuinte.Todos:
                return(ModeloEmail.NotificacaoFuncionarioCassi);

            default:
                return(ModeloEmail.NotificacaoFuncionarioCassi);
            }
        }
Exemple #5
0
 public PessoaFisica(string nome, double rendaAnual, TipoContribuinte tipoPessoa, double gastosSaude)
     : base(nome, rendaAnual, tipoPessoa)
 {
     GastosSaude = gastosSaude;
 }
Exemple #6
0
 public ResultadoTributacao(ITributavel produtoTributavel, Crt crtEmpresa, TipoContribuinte tipoContribuinte)
 {
     _produtoTributavel = produtoTributavel;
     CrtEmpresa         = crtEmpresa;
     TipoContribuinte   = tipoContribuinte;
 }
Exemple #7
0
 public PessoaJuridica(string nome, double rendaAnual, TipoContribuinte tipoPessoa, int numeroFuncionarios)
     : base(nome, rendaAnual, tipoPessoa)
 {
     NumeroFuncionarios = numeroFuncionarios;
 }
Exemple #8
0
        public static EstruturaEmail Notificacao(List <string> para, string nome, string link, TipoContribuinte tipoContribuinte, ProcessamentoComprovanteDTO arquivo)
        {
            var estrutura = new EstruturaEmail(para);

            var modelo = new StringBuilder(BuscarCorpoPara(tipoContribuinte));

            modelo.Replace("{DATA_COMPLETA}", DateTime.Now.ToString(@"dd \de MMMM \de yyyy"));
            modelo.Replace("{NOME}", nome);
            modelo.Replace("{ANO_EXERCICIO}", arquivo.AnoExercicio.ToString());
            modelo.Replace("{ANO_CALENDARIO}", arquivo.AnoCalendario.ToString());
            modelo.Replace("{LINKCOMPROVANTE}", link);

            estrutura.Assunto = "Comprovante do IR " + arquivo.AnoExercicio;
            estrutura.Corpo   = modelo.ToString();

            return(estrutura);
        }
Exemple #9
0
 protected Contribuinte(string nome, double rendaAnual, TipoContribuinte tipoPessoa)
 {
     Nome       = nome;
     RendaAnual = rendaAnual;
     TipoPessoa = tipoPessoa;
 }