public double Desconta(Orcamento orcamento) { if (orcamento.Valor > 500) return orcamento.Valor * 0.07; return ProximoDesconto.Desconta(orcamento); }
private bool aconteceuVendaCasada(Orcamento orcamento) { if (existe("CANETA", orcamento) && existe("LAPIS", orcamento)) return true; return false; }
private bool AlgumItemMaiorQue100(Orcamento orcamento) { foreach (var i in orcamento.Itens) if (i.Valor > 100.0) { return true; } return false; }
public double Desconta(Orcamento orcamento) { if (orcamento.Itens.Count > 5) return orcamento.Valor * 0.1; return ProximoDesconto.Desconta(orcamento); }
public List<ContaHospitalarDTO> TransformarProducao(Orcamento orcamento) { Contract.Requires(orcamento != null, "Orcamento não informado."); Contract.Requires(orcamento.Servicos != null, "Serviços não informado."); Contract.Requires(orcamento.Servicos.All(s => s.Valores != null && s.Valores.Count == 12), "Valores não podem ser nulos."); List<ContaHospitalarDTO> contasDTO = new List<ContaHospitalarDTO>(); foreach (var servico in orcamento.Servicos) { ContaHospitalarDTO conta = new ContaHospitalarDTO(); conta.Conta = servico.Conta.Nome; conta.Setor = servico.Setor.NomeSetor; conta.Subsetor = servico.SubSetor.NomeSetor; conta.IdServico = servico.Id; conta.Valores = new List<ValorContaDTO>(); conta.ContaID = servico.Conta.Id; conta.ContasAxenadas = new List<int>(); foreach (var contaAnexada in servico.Conta.ContasAnexadas) { conta.ContasAxenadas.Add(contaAnexada.Id); } foreach (var valor in servico.Valores) { conta.Valores.Add(new ValorContaDTO() { Mes = valor.Mes, TipoValor = servico.Conta.TipoValorContaEnum, Valor = valor.Valor, ValorID = valor.Id, Calculado = servico.Conta.Calculado, ContaId = servico.Conta.Id }); } contasDTO.Add(conta); } return contasDTO; }
public bool TemDoisItensComMenosNome(Orcamento orcamento) { int count = 0; for (int i = 0; i == orcamento.Itens.Count; i++) { for (int j = i; j == orcamento.Itens.Count; j++) { if (orcamento.Itens[j].Equals(orcamento.Itens[i])) { count++; } if (count == 2) { return true; } else { count = 0; } } } return false; }
public double CalcularImposto(Orcamento orcamento) { if (DeveUsarMaximaTaxacao(orcamento)) return MaximaTaxacao(orcamento); return MinimaTaxacao(orcamento); }
public double Desconta(Orcamento orcamento) { if(aconteceuVendaCasada(orcamento)) { return orcamento.Valor * 0.05; } return ProximoDesconto.Desconta(orcamento); }
public OrcamentoHospitalar(Orcamento orcamentoASerClonado) { this.Ano = orcamentoASerClonado.Ano; this.Setor = orcamentoASerClonado.Setor; AdicionarServicos(orcamentoASerClonado); AdicionarFatores(orcamentoASerClonado); }
// salva um carro public static void Create(Orcamento pOrcamento) { dataBase db = getDataBase(); db.Orcamento.InsertOnSubmit(pOrcamento); db.SubmitChanges(); }
private bool existe(string nomeDoItem, Orcamento orcamento) { foreach (Item item in orcamento.Itens) { if (nomeDoItem.Equals(item.Nome)) return true; } return false; }
public void AplicarDesconto(Orcamento o) { if (o.contadorDesconto > 0) { throw new Exception("O orçamento ja teve o valor descontado"); } o.Valor -= o.Valor * 0.02; }
public double CalcularImposto(Orcamento orcamento) { if (DeveAplicarTaxacaoMaxima(orcamento)) { return AplicarTaxacaoMaxima(orcamento); } return AplicarTaxacaoMinima(orcamento); }
protected double CalcularImpostoAgregado(Orcamento orc) { if (OutroImposto == null) { return 0; } return OutroImposto.CalcularImposto(orc); }
private bool Existe(String nomeDoItem, Orcamento orcamento) { foreach (var item in orcamento.Itens) { if (item.Nome.Equals(nomeDoItem)) return true; } return false; }
protected override bool DeveAplicarTaxacaoMaxima(Orcamento orcamento) { foreach (Itens i in orcamento.itens) { if (i.Valor > 500) return true; } return false; }
private bool TemItemMaiorQue100Reais(Orcamento orcamento) { foreach (Item item in orcamento.Itens) { if (item.Valor > 100) return true; } return false; }
public void AplicaDescontaoExtra(Orcamento orcamento) { if (this.JaAplicado) { throw new Exception("O desconto já aplicado dutante esta estado!!"); } orcamento.Descontar(orcamento.Valor * 0.02); this.JaAplicado = true; }
private bool DoisItensComMesmoNome(Orcamento orcamento) { List<string> lista = new List<string>(); foreach (var i in orcamento.Itens) if (lista.Contains(i.Nome)) { return true; } else { lista.Add(i.Nome); } return false; }
public static void DecoratorImpostos() { Orcamento orcamento = new Orcamento(5000d); ClsImposto pis = new Pis(new Acpp(new TaxVeryHigh(new Ikcv(new ICPP())))); double valor = pis.Calcula(orcamento); Console.WriteLine(valor); Console.ReadKey(); }
// salva um carro public static void Delete(Orcamento pOrcamento) { dataBase db = getDataBase(); var query = from o in db.Orcamento where o.IdOrcamento == pOrcamento.IdOrcamento select o; db.Orcamento.DeleteOnSubmit(query.ToList()[0]); db.SubmitChanges(); }
private VersaoDeDespesaDTO DesnormalizarVersao(Orcamento orcamento) { return new VersaoDeDespesaDTO { Id = orcamento.Id, CentroDeCusto = orcamento.CentroDeCusto.Nome, Versao = orcamento.VersaoFinal ? "Versão Final" : orcamento.NomeOrcamento, ValorTotal = orcamento.Despesas.Sum(d => d.ValorTotal) }; }
public virtual void InformarNomeOrcamento(List<Orcamento> Orcamentos, Orcamento orcamento, Departamento setor, CentroDeCusto centroDeCusto, TipoOrcamentoEnum tipo) { var orcamentos = Orcamentos.Where(o => o.Tipo == tipo && o.Setor.Id == setor.Id && o.CentroDeCusto.Id == centroDeCusto.Id).ToList(); int nomeid = 1; foreach (var orcamentoGerencial in orcamentos) { orcamentoGerencial.NomeOrcamento ="Versão" + (nomeid).ToString(); nomeid++; } }
public override double Calcula(Orcamento orcamento) { if (DeveUsarMaximaTaxacao(orcamento)) { return MaximaTaxacao(orcamento); } else { return MinimaTaxacao(orcamento); } }
public double Calcula(Orcamento orcamento) { IDesconto descontoPorCincoItens = new DescontoPorCincoItens(); IDesconto descontoPorMaisDeQuinhentosReais = new DescontoPorMaisDeQuinhentosReais(); IDesconto semDesconto = new SemDesconto(); descontoPorCincoItens.Proximo = descontoPorMaisDeQuinhentosReais; descontoPorMaisDeQuinhentosReais.Proximo = semDesconto; return descontoPorCincoItens.Desconta(orcamento); }
public override double Calcula(Orcamento orcamento) { if (DeveUsarMaiorTaxacao(orcamento)) { return MaiorTaxacao(orcamento) + ValorOutroImposto(orcamento); } else { return MenorTaxacao(orcamento) + ValorOutroImposto(orcamento); } }
public static void ChainDescontos() { CalculaDeDescontos calculador = new CalculaDeDescontos(); Orcamento orcamento = new Orcamento(100d); orcamento.AdicionaItem(new Item("Lapis", 150)); orcamento.AdicionaItem(new Item("Caneta", 250)); var deconto = calculador.Calcula(orcamento); Console.WriteLine(deconto); Console.ReadKey(); }
public double CalculaDesconto(Orcamento orcamento) { var d1 = new DescontoParaMaisDe5Itens(); var d2 = new DescontoParaValorMaiorQue500Reais(); var d3 = new DescontoPorVendaCasada(); var d4 = new SemDesconto(); d1.ProximoDesconto = d2; d2.ProximoDesconto = d3; d3.ProximoDesconto = d4; return d1.Desconta(orcamento); }
public double Desconta(Orcamento orcamento) { if (Existe("Lapis", orcamento) && Existe("Caneta", orcamento)) { Console.WriteLine("VendaCasada"); return orcamento.Valor * 0.05; } return Proximo.Desconta(orcamento); }
static void Main(string[] args) { IImposto iss = new ISS(); IImposto icms = new ICMS(); var orcamento = new Orcamento(500.0); var calculador = new CalculadorDeImpostos(); calculador.RealizaCalculo(orcamento, iss); calculador.RealizaCalculo(orcamento, icms); }
public override double Calcula(Orcamento orcamento) { return(orcamento.Valor * 0.6 + CalculoDoOutroImposto(orcamento)); }
public void addOrcamento(Orcamento O) { con.orcamento.Add(O); con.SaveChanges(); }
public void PropostaOrcamento(Orcamento orcamento) { throw new NotImplementedException(); }
public static OrcamentoDao ToApp(this Orcamento orcamento) { var orcamentoDao = new OrcamentoDao(); orcamentoDao.OrcamentoID = orcamento.OrcamentoID; orcamentoDao.DataOrcamento = orcamento.DataOrcamento; orcamentoDao.Observacao = orcamento.Observacao; orcamentoDao.Ativo = orcamento.Ativo; orcamentoDao.Desconto = orcamento.Desconto; if (orcamento.Pedido != null) { orcamentoDao.PedidoDao = new PedidoDao() { PedidoID = orcamento.Pedido.PedidoID }; } orcamentoDao.NomeCliente = orcamento.NomeCliente; orcamentoDao.TelefoneCliente = orcamento.TelefoneCliente; //orcamentoDao.ClienteDao = new ClienteDao() //{ // ClienteID = orcamento.Cliente.ClienteID, // Nome = orcamento.Cliente.Nome, // Email = orcamento.Cliente.Email, // DataNascimento = orcamento.Cliente.DataNascimento, // Cpf = string.IsNullOrEmpty(orcamento.Cliente.Cpf) ? string.Empty : Convert.ToUInt64(orcamento.Cliente.Cpf).ToString(@"000\.000\.000\-00"), // Cnpj = string.IsNullOrEmpty(orcamento.Cliente.Cnpj) ? string.Empty : Convert.ToUInt64(orcamento.Cliente.Cnpj).ToString(@"00\.000\.000\/0000\-00"), // NomeFantasia = orcamento.Cliente.NomeFantasia, // RazaoSocial = orcamento.Cliente.RazaoSocial, // TelefoneResidencial = string.IsNullOrEmpty(orcamento.Cliente.TelefoneResidencial) ? string.Empty : orcamento.Cliente.TelefoneResidencial.Length > 10 ? Convert.ToInt64(orcamento.Cliente.TelefoneResidencial).ToString("(##) #####-####") : Convert.ToInt64(orcamento.Cliente.TelefoneResidencial).ToString("(##) ####-####"), // TelefoneResidencial2 = string.IsNullOrEmpty(orcamento.Cliente.TelefoneResidencial2) ? string.Empty : orcamento.Cliente.TelefoneResidencial2.Length > 10 ? Convert.ToInt64(orcamento.Cliente.TelefoneResidencial2).ToString("(##) #####-####") : Convert.ToInt64(orcamento.Cliente.TelefoneResidencial2).ToString("(##) ####-####"), // TelefoneCelular = string.IsNullOrEmpty(orcamento.Cliente.TelefoneCelular) ? string.Empty : orcamento.Cliente.TelefoneCelular.Length > 10 ? Convert.ToInt64(orcamento.Cliente.TelefoneCelular).ToString("(##) #####-####") : Convert.ToInt64(orcamento.Cliente.TelefoneCelular).ToString("(##) ####-####"), // TelefoneCelular2 = string.IsNullOrEmpty(orcamento.Cliente.TelefoneCelular2) ? string.Empty : orcamento.Cliente.TelefoneCelular2.Length > 10 ? Convert.ToInt64(orcamento.Cliente.TelefoneCelular2).ToString("(##) #####-####") : Convert.ToInt64(orcamento.Cliente.TelefoneCelular2).ToString("(##) ####-####"), // EstadoDao = { new EstadoDao() { EstadoID = orcamento.Cliente.Estado.EstadoID, Nome = orcamento.Cliente.Estado.Nome, Sigla = orcamento.Cliente.Estado.Sigla } }, // Cidade = orcamento.Cliente.Cidade, // Logradouro = orcamento.Cliente.Logradouro, // Numero = orcamento.Cliente.Numero, // PontoReferencia = orcamento.Cliente.PontoReferencia, // Complemento = orcamento.Cliente.Complemento, // Bairro = orcamento.Cliente.Bairro, // Cep = orcamento.Cliente.Cep //}; orcamentoDao.ConsultorDao.Add(new ConsultorDao() { FuncionarioID = orcamento.Funcionario.FuncionarioID, Numero = orcamento.Funcionario.Numero, Nome = orcamento.Funcionario.Nome, Email = orcamento.Funcionario.Email, Telefone = string.IsNullOrEmpty(orcamento.Funcionario.Telefone) ? string.Empty : orcamento.Funcionario.Telefone.Length > 10 ? Convert.ToInt64(orcamento.Funcionario.Telefone).ToString("(##) #####-####") : Convert.ToInt64(orcamento.Funcionario.Telefone).ToString("(##) ####-####"), }); orcamentoDao.LojaDao.Add(new LojaDao() { LojaID = orcamento.Loja.LojaID, Cnpj = string.IsNullOrEmpty(orcamento.Loja.Cnpj) ? string.Empty : Convert.ToUInt64(orcamento.Loja.Cnpj).ToString(@"00\.000\.000\/0000\-00"), NomeFantasia = orcamento.Loja.NomeFantasia, RazaoSocial = orcamento.Loja.RazaoSocial, Telefone = string.IsNullOrEmpty(orcamento.Loja.Telefone) ? string.Empty : orcamento.Loja.Telefone.Length > 10 ? Convert.ToInt64(orcamento.Loja.Telefone).ToString("(##) #####-####") : Convert.ToInt64(orcamento.Loja.Telefone).ToString("(##) ####-####"), }); foreach (var orcamentoProduto in orcamento.OrcamentoProduto) { var orcamentoProdutoDao = new OrcamentoProdutoDao(); orcamentoProdutoDao.OrcamentoProdutoID = orcamentoProduto.OrcamentoProdutoID; orcamentoProdutoDao.OrcamentoID = orcamentoProduto.OrcamentoID; orcamentoProdutoDao.ProdutoID = orcamentoProduto.ProdutoID; orcamentoProdutoDao.Quantidade = orcamentoProduto.Quantidade; orcamentoProdutoDao.Medida = orcamentoProduto.Medida; orcamentoProdutoDao.Preco = orcamentoProduto.Preco; orcamentoProdutoDao.ProdutoDao = new ProdutoDao() { ProdutoID = orcamentoProduto.ProdutoID, Descricao = orcamentoProduto.Produto.Descricao, Numero = orcamentoProduto.Produto.Numero, MedidaDao = new MedidaDao() { MedidaID = orcamentoProduto.Produto.Medida.MedidaID, Descricao = string.IsNullOrEmpty(orcamentoProduto.Medida) ? orcamentoProduto.Produto.Medida.Descricao : orcamentoProduto.Medida }, CategoriaDao = new List <CategoriaDao>() { new CategoriaDao() { CategoriaID = orcamentoProduto.Produto.Categoria.CategoriaID, Descricao = orcamentoProduto.Produto.Categoria.Descricao } }, Preco = orcamentoProduto.Produto.Preco }; orcamentoDao.OrcamentoProdutoDao.Add(orcamentoProdutoDao); } foreach (var orcamentoHistorico in orcamento.OrcamentoHistorico) { var orcamentoHistoricoDao = new OrcamentoHistoricoDao(); orcamentoHistoricoDao.OrcamentoHistoricoID = orcamentoHistorico.OrcamentoHistoricoID; orcamentoHistoricoDao.OrcamentoID = orcamentoHistorico.OrcamentoID; orcamentoHistoricoDao.Observacao = orcamentoHistorico.Observacao; orcamentoHistoricoDao.DataCadastro = orcamentoHistorico.DataCadastro; orcamentoDao.OrcamentoHistoricoDao.Add(orcamentoHistoricoDao); } return(orcamentoDao); }
public ActionResult Create(Orcamento orcamento) { context.Orcamentos.Add(orcamento); context.SaveChanges(); return(RedirectToAction("Index")); }
/// <summary> /// apenas devo definir as regras que serão utilizadas para realizar o calculo da taxa. /// </summary> /// <param name="orcamento"></param> /// <returns></returns> public override bool DeveUsarMaiorTaxacao(Orcamento orcamento) { return(orcamento.Valor > 500 && TemItemMaiorQue100Reais(orcamento)); }
public double Calcula(Orcamento orcamento) => orcamento.Valor * 0.06;
protected override double TaxacaoMaxima(Orcamento orcamento) { return((orcamento.Valor * 0.13) + 100); }
protected abstract double MinTaxa(Orcamento orcamento);
public override bool DeveUsarMaximaTaxacao(Orcamento orcamento) { return(orcamento.Valor > 500 & ItemMaiorQue100(orcamento)); }
public decimal Desconta(Orcamento orcamento) { return(orcamento.Itens.Count > 5 ? orcamento.Valor * 0.1m : Proximo.Desconta(orcamento)); }
public void Reprova(Orcamento orcamento) { throw new Exception("Orcamentos já está em modo Reprovado"); }
public override double MenorTaxacao(Orcamento orcamento) { return(orcamento.Valor * 0.05); }
public decimal Desconta(Orcamento orcamento) { return(decimal.Zero); }
public void Finalizar(Orcamento o) { throw new Exception("Não é possivel finalizar um orçamento Em Aprovação."); }
public static string SalvarOrcamento(Orcamento orcamentoEntrada) { try { using (ConsultorioContext ctx = new ConsultorioContext()) { string msg = ""; //Para novos orçamentos if (orcamentoEntrada.Id == 0) { ctx.Orcamentos.Add(orcamentoEntrada); //orcamentoEntrada.Id = RecuperarIdOrcamento(orcamentoEntrada); // Caso de procedimento esteja com itens if (orcamentoEntrada.OrcamentosParaProcedimentos.Count != 0) { foreach (var item in orcamentoEntrada.OrcamentosParaProcedimentos) { item.Procedimento = ctx.Procedimentos.Find(item.Procedimento.Id); item.Orcamento = ctx.Orcamentos.Find(item.Orcamento.Id); //Feito assim para conseguir alterar a chave etrangeira do ator sem maior complicaçoes item.ColaboradorAlterou = ctx.Atores.Find(item.ColaboradorAlterou.Id); item.ColaboradorAlterouID = item.ColaboradorAlterou.Id; ctx.OrcamentosParaProcedimentos.Add(item); } } msg = "Novo orçamento salvo"; } //fim Caso de procedimento esteja com itens // fim Para novos orçamentos else // Orcamento sendo atualizado { var a = ctx.Orcamentos.Find(orcamentoEntrada.Id); a.Obs = orcamentoEntrada.Obs; //Include para nao duplicar no banco foreach (var item in orcamentoEntrada.OrcamentosParaProcedimentos) { item.Procedimento = ctx.Procedimentos.Find(item.Procedimento.Id); item.Orcamento = ctx.Orcamentos.Find(item.Orcamento.Id); //Feito assim para conseguir alterar a chave etrangeira do ator sem maior complicaçoes item.ColaboradorAlterou = ctx.Atores.Find(item.ColaboradorAlterou.Id); item.ColaboradorAlterouID = item.ColaboradorAlterou.Id; } foreach (var itemDoBanco in ctx.OrcamentosParaProcedimentos.Where(c => c.OrcamentoID == orcamentoEntrada.Id)) { bool flagEncontrado = false; foreach (var itemDeEntrada in orcamentoEntrada.OrcamentosParaProcedimentos) { if (itemDeEntrada.ProcedimentoID == itemDoBanco.ProcedimentoID) { flagEncontrado = true; break; } } if (flagEncontrado == false) { ctx.OrcamentosParaProcedimentos.Remove(itemDoBanco); } } if (orcamentoEntrada.OrcamentosParaProcedimentos.Count != 0) { foreach (var item in orcamentoEntrada.OrcamentosParaProcedimentos) { var teste = ctx.Atores.Find(item.ColaboradorAlterouID); item.ColaboradorAlterouID = teste.Id; ctx.OrcamentosParaProcedimentos.AddOrUpdate(item); } } msg = "Orçamento alterado!"; } ctx.SaveChanges(); return(msg); } } catch (Exception e) { Console.WriteLine(e.Message); return(e.Message); } }
public void Finaliza(Orcamento orcamento) { orcamento.EstadoAtual = new Finalizado(); }
public void Aprova(Orcamento orcamento) { throw new Exception("Orcamentos não podem ir para estado de Aprovado, pois já está reprovado"); }
public void Reprova(Orcamento orcamento) { throw new Exception("Este já é o estado do orçamento."); }
public void AplicaDescontoExtra(Orcamento orcamento) { throw new System.Exception("Orçamentos reprovados não recebem desconto extra"); }
public void Aprova(Orcamento orcamento) { throw new Exception("O orçamento já foi reprovado."); }
public void Reprovar(Orcamento o) { o.EstadoAtual = new Reprovado(); }
protected override double MinimaTaxacao(Orcamento orcamento) { return((orcamento.Valor * 0.01) * orcamento.Itens.Count); }
public void Aprova(Orcamento orcamento) { throw new System.Exception("Orçamento já está reprovado"); }
public abstract double Calcula(Orcamento orcamento);
public Proposta() { this.orcamento = new Orcamento(); }
public double Calcula(Orcamento orcamento) { return(orcamento.Valor * 0.1); }
public double Calcula(Orcamento orcamento) { return(orcamento.valor * 0.06); }
protected abstract bool UsarTaxaMax(Orcamento orcamento);
public override double MinimaTaxacao(Orcamento orcamento) { return(orcamento.Valor * 0.6); }