Exemplo n.º 1
0
        public void AtualizarSelecao(ProcessoDeCotacaoDeMaterialSelecaoAtualizarVm processoDeCotacaoSelecaoAtualizarVm)
        {
            try
            {
                _unitOfWork.BeginTransaction();
                var         processoDeCotacao = (ProcessoDeCotacaoDeMaterial)_processosDeCotacao.BuscaPorId(processoDeCotacaoSelecaoAtualizarVm.IdProcessoCotacao).Single();
                string[]    codigosIva        = processoDeCotacaoSelecaoAtualizarVm.Cotacoes.Select(x => x.CodigoIva).ToArray();
                IList <Iva> ivasSelecionados  = _ivas.BuscaListaPorCodigo(codigosIva).List();
                foreach (var cotacaoSelecaoVm in processoDeCotacaoSelecaoAtualizarVm.Cotacoes)
                {
                    var ivaSelecionado = ivasSelecionados.Single(x => x.Codigo == cotacaoSelecaoVm.CodigoIva);
                    if (cotacaoSelecaoVm.Selecionada)
                    {
                        processoDeCotacao.SelecionarCotacao(cotacaoSelecaoVm.IdCotacao, processoDeCotacaoSelecaoAtualizarVm.IdProcessoCotacaoItem, cotacaoSelecaoVm.QuantidadeAdquirida ?? 0, ivaSelecionado);
                    }
                    else
                    {
                        processoDeCotacao.RemoverSelecaoDaCotacao(cotacaoSelecaoVm.IdCotacao, processoDeCotacaoSelecaoAtualizarVm.IdProcessoCotacaoItem, ivaSelecionado);
                    }
                }

                _processosDeCotacao.Save(processoDeCotacao);

                _unitOfWork.Commit();
            }
            catch (Exception)
            {
                _unitOfWork.RollBack();
                throw;
            }
        }
 public ActionResult SelecionarCotacoes(ProcessoDeCotacaoDeMaterialSelecaoAtualizarVm processoDeCotacaoSelecaoAtualizarVm)
 {
     try
     {
         _processoDeCotacaoSelecaoService.AtualizarSelecao(processoDeCotacaoSelecaoAtualizarVm);
         return(Json(new { Sucesso = true }));
     }
     catch (Exception ex)
     {
         return(Json(new { Sucesso = false, Mensagem = ex.Message }));
     }
 }