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 })); } }