public void Inseri_nova_venda_de_discos() { var venda = new Venda { Data = DateUtil.Now(), ItensVenda = new List <ItemVenda> { new ItemVenda { DiscoId = 1, Valor = 10.0, Cashback = 0.25 }, new ItemVenda { DiscoId = 10, Valor = 10.0, Cashback = 0.4 } } }; bool inserido = _vendaRepository.Insert(venda); Assert.IsTrue(inserido); var expected = 2; var actual = new List <ItemVenda>(); venda.ItensVenda.ForEach(itemVenda => { if (itemVenda.Id > 0) { actual.Add(itemVenda); } }); Assert.AreEqual(expected, actual.Count); }
public ActionResult <bool> Post([FromBody] Venda venda) { var calculadora = new CalculadoraCashback(); calculadora.Calcula(venda); return(_vendaRepository.Insert(venda)); }
static void Main(string[] args) { DbContextBFO ctx = new DbContextBFO(); IVendaRepository vendaRepository = new VendaRepository(ctx); var venda = CriarVenda(); vendaRepository.Insert(venda); // IParticipanteRepository participanteRepository = new ParticipanteRepository(ctx); // var participante = participanteRepository.GetAll(); }
public bool GravarVenda(List <Venda> vendas) { bool ret = true; try { var idVenda = Guid.NewGuid().ToString(); foreach (var venda in vendas) { var vendaGrav = new Venda(); decimal preco = _precoService.BuscarPreco(venda.KeyDisc); vendaGrav.IdVenda = idVenda; vendaGrav.DataVenda = DateTime.Today; vendaGrav.KeyDisc = venda.KeyDisc; vendaGrav.Quantidade = venda.Quantidade; vendaGrav.ValorVenda = preco; vendaGrav.ValorCashBack = this.CalcularCashBack(venda.KeyDisc, preco); vendaGrav.ValorVendaTotal = 0; vendaGrav.ValorCashBackTotal = 0; _vendaRepository.Insert(vendaGrav); } AtualizarVenda(idVenda); } catch (Exception ex) { string msg = ex.Message; ret = false; throw; } return(ret); }
public VendaModel Insert(VendaModel venda) { VendaRepository VendaRepository; try { VendaRepository = new VendaRepository(_loggerFactory, _config); if (venda.ID == 0) { venda = VendaRepository.Insert(venda); } else { throw new Exception("ID diferente de 0, avalie a utilização do PUT"); } } catch (Exception ex) { throw ex; } return(venda); }