public static CalculoIrpf createInstance(TipoCalculo t, int cpf) { switch (t) { case TipoCalculo.SIMPLIFICADO: return(new CalculoIrpfSimplificado(cpf)); case TipoCalculo.COMPLETO: return(new CalculoIrpfCompleto(cpf)); } return(null); }
public static ITipoCalculoService Obter(TipoCalculo tipoCalculo) { switch (tipoCalculo) { case TipoCalculo.Capsula: return(new CapsulaService(new Preco(), new Validade())); case TipoCalculo.Creme: return(new CremeService(new Preco(), new Validade())); case TipoCalculo.Homeopatia: return(new HomeopatiaService(new PrecoHomeopatia(), new Validade())); default: throw new ArgumentException("Tipo de calculo nao encontrado"); } }
static void Main(string[] args) { // este valor es ingresado o obtenido de alguna forma TipoCalculo tipoCalculo = TipoCalculo.Resta; // suponiendo estos numeros los ingresa el usuario int numero1 = 2; int numero2 = 5; var contexto = new CalculadoraContext(tipoCalculo); var resultado = contexto.EjecutarCalculo(numero1, numero2); Console.WriteLine($"el resultado es: { resultado }"); Console.ReadLine(); }
public CalculadoraContext(TipoCalculo tipoCalculo) { switch (tipoCalculo) { case TipoCalculo.Suma: _calculoStrategy = new Suma(); break; case TipoCalculo.Resta: _calculoStrategy = new Resta(); break; case TipoCalculo.Multiplicacion: _calculoStrategy = null; break; default: break; } }
public IDescontoAcrescimoStrategy RecuperaEstrategia(TipoCalculo tipo, TipoAplicacao aplicacao) { IDescontoAcrescimoStrategy estrategia = null; switch (tipo) { case TipoCalculo.Acrescimo: estrategia = RecuperaEstrategiaAcrescimo(aplicacao); break; case TipoCalculo.Desconto: estrategia = RecuperaEstrategiaDesconto(aplicacao); break; case TipoCalculo.Comissao: estrategia = RecuperaEstrategiaComissao(aplicacao); break; } return(estrategia ?? SemAlteracaoStrategy.Instance); }
public double calcula(TipoCalculo t, String cpf) { Contribuinte contribuinte; try { contribuinte = cadContribuinte.buscar(cpf); } catch (DAOException ex) { throw new IrpfException("Erro: " + ex.Message); } if (contribuinte == null) { throw new IrpfException("CPF inexistente: " + cpf); } CalculoIrpf ir = CalculoIrpfFactory.createInstance(t); contribuinte.defineCalculo(ir); return(contribuinte.getImpostoDevido()); }
public bool ValidarCampos(string nome, string largura, string comprimento, string larguraEspacamento, string comprimentoEspacamento, TipoCalculo tipoCalculo) { if (string.IsNullOrEmpty(nome)) { MessageBox.Show("Erro nos campos", "O campo nome deve ser preenchido"); return(false); } double auxDouble; if (!double.TryParse(largura, out auxDouble)) { MessageBox.Show("Erro nos campos", "O campo largura deve ser preenchido corretamente"); return(false); } if (!double.TryParse(comprimento, out auxDouble)) { MessageBox.Show("Erro nos campos", "O campo comprimento deve ser preenchido corretamente"); return(false); } if (!double.TryParse(larguraEspacamento, out auxDouble)) { MessageBox.Show("Erro nos campos", "O campo largura espaçamento deve ser preenchido corretamente"); return(false); } if (!double.TryParse(comprimentoEspacamento, out auxDouble)) { MessageBox.Show("Erro nos campos", "O campo comprimento espaçamento deve ser preenchido corretamente"); return(false); } Nome = nome; Largura = double.Parse(largura); Comprimento = double.Parse(comprimento); LarguraEspacamento = double.Parse(larguraEspacamento); ComprimentoEspacamento = double.Parse(comprimentoEspacamento); TipoCalculo = tipoCalculo; return(true); }
public Manipulacao Calcular(TipoCalculo tipoCalculo, Manipulacao manipulacao) { if (tipoCalculo == TipoCalculo.Capsula) { new Capsula().CalcularComponentes(manipulacao); new Preco().Calcular(manipulacao); } if (tipoCalculo == TipoCalculo.Creme) { new Creme().CalcularComponentes(manipulacao); new Preco().Calcular(manipulacao); } if (tipoCalculo == TipoCalculo.Homeopatia) { new Homeopatia().CalcularComponentes(manipulacao); new PrecoHomeopatia().Calcular(manipulacao); } new Validade().Calcular(manipulacao); return(manipulacao); }
internal static CalculoIrpf createInstance(TipoCalculo t) { throw new NotImplementedException(); }
public string ObterTextoRecortes(string padrao, Posicao posicao, ValorPorComodo valorComodo, bool porMilimetros, TipoCalculo tipoCalculo) { var retorno = padrao; var recortes = new List <Recorte>(); recortes.AddRange(valorComodo.Recortes.Where(x => x.Posicao == posicao)); if (recortes.Count == 0) { return(""); } var recortesPrincipal = recortes.Where(x => x.TipoRecorte == TipoRecorte.CortePrincipal).ToList(); var recortesComplementares = recortes.Where(x => x.TipoRecorte == TipoRecorte.CorteComplementar).ToList(); if (tipoCalculo == TipoCalculo.SentidoUnico) { if (recortesComplementares.Count > 0 && recortesPrincipal.Count > 0) { recortesPrincipal.Add(recortesPrincipal.FirstOrDefault()); } recortesComplementares = new List <Recorte>(); } if (recortesPrincipal.Count > 0) { var recortePrincipal = recortesPrincipal.FirstOrDefault(); retorno += recortesPrincipal.Count + " peças: " + (porMilimetros ? recortePrincipal.TamanhoX : recortePrincipal.TamanhoX / 1000) + "x" + (porMilimetros ? recortePrincipal.TamanhoY : recortePrincipal.TamanhoY / 1000); if (recortesComplementares.Count > 0) { var recorteComplementar = recortesComplementares.FirstOrDefault(); retorno += " + complementar: " + (porMilimetros ? recorteComplementar.TamanhoX : recorteComplementar.TamanhoX / 1000) + "x" + (porMilimetros ? recorteComplementar.TamanhoY : recorteComplementar.TamanhoY / 1000); } } else if (recortesComplementares.Count > 0) { var recorteComplementar = recortesComplementares.FirstOrDefault(); retorno += recortesComplementares.Count + " peças: " + (porMilimetros ? recorteComplementar.TamanhoX : recorteComplementar.TamanhoX / 1000) + "x" + (porMilimetros ? recorteComplementar.TamanhoY : recorteComplementar.TamanhoY / 1000); } return(retorno); }