public static ProcessamentoFiltro Converter(int anoExercicio, TipoContribuinte tipo) { var filtro = new ProcessamentoFiltro() { AnoExercicio = anoExercicio, TipoContribuinte = tipo }; return(filtro); }
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); }
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(); }
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); } }
public PessoaFisica(string nome, double rendaAnual, TipoContribuinte tipoPessoa, double gastosSaude) : base(nome, rendaAnual, tipoPessoa) { GastosSaude = gastosSaude; }
public ResultadoTributacao(ITributavel produtoTributavel, Crt crtEmpresa, TipoContribuinte tipoContribuinte) { _produtoTributavel = produtoTributavel; CrtEmpresa = crtEmpresa; TipoContribuinte = tipoContribuinte; }
public PessoaJuridica(string nome, double rendaAnual, TipoContribuinte tipoPessoa, int numeroFuncionarios) : base(nome, rendaAnual, tipoPessoa) { NumeroFuncionarios = numeroFuncionarios; }
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); }
protected Contribuinte(string nome, double rendaAnual, TipoContribuinte tipoPessoa) { Nome = nome; RendaAnual = rendaAnual; TipoPessoa = tipoPessoa; }