public void ConfirmarAtendimento() { try { this.AdicionarAcrescimo(); this.AdicionarDesconto(); DTOValoresAtendimento dto = this._fachada.ObterValoresAtendimento(); if (dto.ValorEntrada > 0) { if (this._visao.ReceberNoCaixa(dto.ValorEntrada)) { this._fachada.ReceberAtendimento(); } } this._fachada.Gravar(); this.VoltarParaCabecalho(); this._visaoPadrao.Avisar("Atendimento gravado com sucesso!"); this._visao.LimparAtendimento(); } catch (Exception ex) { this._visaoPadrao.ExibirErro(ex.Message); } }
public void PreencherValores(DTOValoresAtendimento dto) { // Itens this._visao.LimparItens(); foreach (DTOItem i in dto.Itens) { this._visao.AdicionarItem(i.IdServico, i.DescricaoServico, i.ValorUnitario, i.Quantidade, i.ValorItem); } // Totais dos itens this._visao.SetTotalValorUnitario(dto.TotalValorUnitario); this._visao.SetTotalQuantidade(dto.TotalQuantidade); this._visao.SetTotalValorItem(dto.TotalValorItens); // Acréscimos this._visao.SetPercentualAcrescimo(dto.PercentualAcrescimo); this._visao.SetAcrescimoFormaPagamento(dto.AcrescimoFormaPagamento); this._visao.SetAcrescimo(dto.Acrescimo); //Descontos this._visao.SetPercentualDesconto(dto.PercentualDesconto); this._visao.SetDescontoFormaPagamento(dto.DescontoFormaPagamento); this._visao.SetDesconto(dto.Desconto); // Total do pedido e valor da entrada this._visao.SetValorAtendimento(dto.ValorAtendimento); this._visao.SetValorEntrada(dto.ValorEntrada); }
public DTOValoresAtendimento ObterValoresAtendimento() { if (this._atendimento == null) { throw new ExcecaoCabecalhoNaoAdicionado(); } DTOValoresAtendimento dto = new DTOValoresAtendimento(); foreach (ItemAtendimento i in this._atendimento.Itens) { DTOItem dtoItem = new DTOItem(); dtoItem.IdServico = i.Servico.Id; dtoItem.DescricaoServico = i.Servico.Descricao; dtoItem.ValorUnitario = i.ValorUnitario; dtoItem.Quantidade = i.Quantidade; dtoItem.ValorItem = i.ValorItem; dto.AdicionarItem(dtoItem); } dto.Acrescimo = this._atendimento.Acrescimo; dto.Desconto = this._atendimento.Desconto; dto.AcrescimoFormaPagamento = this._atendimento.AcrescimoFormaPagamento; dto.DescontoFormaPagamento = this._atendimento.DescontoFormaPagamento; dto.PercentualAcrescimo = this._atendimento.FormaPagamento.PercentualAcrescimo; dto.PercentualDesconto = this._atendimento.FormaPagamento.PercentualDesconto; dto.NumeroItens = this._atendimento.NumeroTotalItens; dto.TotalQuantidade = this._atendimento.TotalQuantidade; dto.TotalValorItens = this._atendimento.TotalValorItem; dto.TotalValorUnitario = this._atendimento.TotalValorUnitario; dto.ValorAtendimento = this._atendimento.ValorAtendimento; dto.ValorEntrada = this.ObtemValorEntrada(); return(dto); }
public void Devo_Conseguir_Retornar_Os_Valores_Do_Atendimento() { var repositorioServico = new Mock <IServicoRepositorio>(); var formaPagamento = new Mock <FormaPagamento>(); formaPagamento.Setup(f => f.Id).Returns(1); formaPagamento.Setup(f => f.PercentualAcrescimo).Returns(10); formaPagamento.Setup(f => f.PercentualDesconto).Returns(20); formaPagamento.Setup(f => f.Tipo).Returns(TipoFormaPagamento.Prazo); formaPagamento.Setup(f => f.Parcelamento).Returns(new ParcelamentoFormaPagamento(TipoParcelamentoFormaPagamento.ComEntrada, 3, 30)); var repositorioFormaPagamento = new Mock <IFormaPagamentoRepositorio>(); repositorioFormaPagamento.Setup(r => r.Obter(1)).Returns(formaPagamento.Object); IFachadaAtendimento fachada = new FachadaAtendimento(null, this._repositorioPessoa, repositorioFormaPagamento.Object, repositorioServico.Object); fachada.CriaNovoAtendimento(this._dtoCabecalho); #region Item 1 DTOItem dto1 = new DTOItem(); dto1.IdServico = 1; dto1.ValorUnitario = 15m; dto1.Quantidade = 1; Servico servico1 = ServicoStub.GetInstance(1, "Serviço 1", 1); repositorioServico.Setup(r => r.Obter(1)) .Returns(servico1); fachada.AdicionarItem(dto1); repositorioServico.Verify(r => r.Obter(It.IsAny <long>())); #endregion #region Item 2 DTOItem dto2 = new DTOItem(); dto2.IdServico = 2; dto2.ValorUnitario = 10m; dto2.Quantidade = 2; Servico servico2 = ServicoStub.GetInstance(2, "Serviço 2", 1); repositorioServico.Setup(r => r.Obter(2)) .Returns(servico2); fachada.AdicionarItem(dto2); repositorioServico.Verify(r => r.Obter(It.IsAny <long>())); #endregion #region Item 3 DTOItem dto3 = new DTOItem(); dto3.IdServico = 2; dto3.ValorUnitario = 10m; dto3.Quantidade = 2; Servico servico3 = ServicoStub.GetInstance(2, "Serviço 2", 1); repositorioServico.Setup(r => r.Obter(2)) .Returns(servico3); fachada.AdicionarItem(dto3); repositorioServico.Verify(r => r.Obter(It.IsAny <long>())); #endregion #region Item 4 DTOItem dto4 = new DTOItem(); dto4.IdServico = 4; dto4.ValorUnitario = 12m; dto4.Quantidade = 1; Servico servico4 = ServicoStub.GetInstance(4, "Serviço 4", 1); repositorioServico.Setup(r => r.Obter(4)) .Returns(servico4); fachada.AdicionarItem(dto4); repositorioServico.Verify(r => r.Obter(It.IsAny <long>())); #endregion #region Acréscimos e Descontos fachada.AdicionarAcrescimo(10); fachada.AdicionarDesconto(15); #endregion DTOValoresAtendimento dto = fachada.ObterValoresAtendimento(); foreach (DTOItem i in dto.Itens) { switch (i.IdServico) { case 1: Assert.AreEqual(15m, i.ValorUnitario); Assert.AreEqual(1, i.Quantidade); Assert.AreEqual(15, i.ValorItem); Assert.AreEqual("SERVIÇO 1", i.DescricaoServico); break; case 2: Assert.AreEqual(10m, i.ValorUnitario); Assert.AreEqual(2, i.Quantidade); Assert.AreEqual(20, i.ValorItem); Assert.AreEqual("SERVIÇO 2", i.DescricaoServico); break; case 4: Assert.AreEqual(12m, i.ValorUnitario); Assert.AreEqual(1, i.Quantidade); Assert.AreEqual(12, i.ValorItem); Assert.AreEqual("SERVIÇO 4", i.DescricaoServico); break; } } Assert.AreEqual(10m, dto.PercentualAcrescimo); Assert.AreEqual(20m, dto.PercentualDesconto); Assert.AreEqual(10m, dto.Acrescimo); Assert.AreEqual(15m, dto.Desconto); Assert.AreEqual(3m, dto.NumeroItens); Assert.AreEqual(37m, dto.TotalValorUnitario); Assert.AreEqual(4m, dto.TotalQuantidade); Assert.AreEqual(47m, dto.TotalValorItens); Assert.AreEqual(4.7m, dto.AcrescimoFormaPagamento); Assert.AreEqual(9.4m, dto.DescontoFormaPagamento); Assert.AreEqual(37.3m, dto.ValorAtendimento); Assert.AreEqual(12.43m, dto.ValorEntrada); }