public IActionResult GetDisco([FromRoute] int id)
        {
            var disco = _discoAppService.FindById(id);

            if (disco == null)
            {
                return(NotFound());
            }

            return(Ok(disco));
        }
        public VendaViewModel AddCompleta(VendaViewModel venda)
        {
            foreach (var discoVenda in venda.DiscosDaVenda)
            {
                var disco = _discoAppService.FindById(discoVenda.DiscoId);
                venda.ValorTotalVenda    += disco.Valor * discoVenda.Qtde;
                venda.ValorTotalCashBack += disco.Valor * discoVenda.Qtde * _cashBackAppService.CalculaPercentCashBack(venda.DataVenda, disco.Genero);
            }
            var v = this.Add(venda);

            foreach (var discoVenda in venda.DiscosDaVenda)
            {
                var disco = _discoAppService.FindById(discoVenda.DiscoId);
                discoVenda.Valor         = disco.Valor * discoVenda.Qtde;
                discoVenda.ValorCashBack = disco.Valor * discoVenda.Qtde * _cashBackAppService.CalculaPercentCashBack(venda.DataVenda, disco.Genero);
                discoVenda.VendaId       = v.Id;
                discoVenda.Disco         = null;
            }
            _discoVendaAppService.AddRange(_mapper.Map <List <DiscoVendaViewModel> >(venda.DiscosDaVenda));

            return(_mapper.Map <VendaViewModel>(_service.FindByIdCompleta(v.Id)));
        }
 public IActionResult PostVenda([FromBody] List <DiscoVendaMinViewModel> discoVendas)
 {
     try
     {
         var discosVendas = _mapper.Map <List <DiscoVendaViewModel> >(discoVendas);
         var venda        = _vendaAppService.FindById(discoVendas[0].VendaId);
         foreach (var discoVenda in discosVendas)
         {
             var disco = _discoAppService.FindById(discoVenda.DiscoId);
             venda.ValorTotalVenda    += disco.Valor * discoVenda.Qtde;
             venda.ValorTotalCashBack += disco.Valor * discoVenda.Qtde * _cashBackAppService.CalculaPercentCashBack(venda.DataVenda, disco.Genero);
             discoVenda.Valor          = disco.Valor * discoVenda.Qtde;
             discoVenda.ValorCashBack  = disco.Valor * discoVenda.Qtde * _cashBackAppService.CalculaPercentCashBack(venda.DataVenda, disco.Genero);
         }
         _vendaAppService.Update(venda);
         _discoVendaAppService.AddRange(_mapper.Map <List <DiscoVendaViewModel> >(discosVendas));
         return(Ok(venda));
     }
     catch
     {
         return(Forbid());
     }
 }