public KendoGridVm FornecedoresDoProduto(PaginacaoVm paginacaoVm, string codigoProduto) { Produto produto = _produtos.BuscaPeloCodigo(codigoProduto); if (produto == null) { return(new KendoGridVm { Registros = new List <ListagemVm>() }); } var kendoGrid = new KendoGridVm { QuantidadeDeRegistros = produto.Fornecedores.Count, Registros = _builderFornecedor.BuildList( produto.Fornecedores .Skip(paginacaoVm.Skip) .Take(paginacaoVm.Take) .ToList()) .Cast <ListagemVm>().ToList() }; return(kendoGrid); }
public void NovaRequisicao(RequisicaoDeCompraVm requisicaoDeCompraVm) { try { _unitOfWork.BeginTransaction(); Usuario criador = _usuarios.BuscaPorLogin(requisicaoDeCompraVm.Criador); Fornecedor fornecedorPretendido = _fornecedores.BuscaPeloCodigo(requisicaoDeCompraVm.FornecedorPretendido); Produto material = _produtos.BuscaPeloCodigo(requisicaoDeCompraVm.Material); UnidadeDeMedida unidadeDeMedida = _unidadesDeMedida.BuscaPeloCodigoInterno(requisicaoDeCompraVm.UnidadeMedida).Single(); var requisicaoDeCompra = new RequisicaoDeCompra(criador, requisicaoDeCompraVm.Requisitante, fornecedorPretendido, Convert.ToDateTime(requisicaoDeCompraVm.DataDeRemessa), Convert.ToDateTime(requisicaoDeCompraVm.DataDeLiberacao), Convert.ToDateTime(requisicaoDeCompraVm.DataDeSolicitacao), requisicaoDeCompraVm.Centro, unidadeDeMedida, requisicaoDeCompraVm.Quantidade, material, requisicaoDeCompraVm.Descricao, requisicaoDeCompraVm.NumeroItem, requisicaoDeCompraVm.NumeroRequisicao, requisicaoDeCompraVm.CodigoGrupoDeCompra, requisicaoDeCompraVm.Mrp.ToUpper().Equals("B")); //var processoDeCotacaoDeMaterial = requisicaoDeCompra.GerarProcessoDeCotacaoDeMaterial(); _requisicoesDeCompra.Save(requisicaoDeCompra); //_processosDeCotacao.Save(processoDeCotacaoDeMaterial); _unitOfWork.Commit(); } catch (Exception) { _unitOfWork.RollBack(); throw; } }
public int Salvar(ProcessoCotacaoFreteCadastroVm processoCotacaoFreteCadastroVm) { try { _unitOfWork.BeginTransaction(); UnidadeDeMedida unidadeDeMedida = _unidadesDeMedida.BuscaPeloCodigoInterno(processoCotacaoFreteCadastroVm.CodigoUnidadeMedida).Single(); Itinerario itinerario = _itinerarios.BuscaPeloCodigo(processoCotacaoFreteCadastroVm.CodigoItinerario).Single(); Produto produto = _produtos.BuscaPeloCodigo(processoCotacaoFreteCadastroVm.CodigoMaterial); ProcessoDeCotacaoDeFrete processo; if (processoCotacaoFreteCadastroVm.Id.HasValue) { processo = (ProcessoDeCotacaoDeFrete)_processosDeCotacao.BuscaPorId(processoCotacaoFreteCadastroVm.Id.Value).Single(); //processo.Atualizar(produto, processoCotacaoFreteCadastroVm.QuantidadeMaterial, // unidadeDeMedida, processoCotacaoFreteCadastroVm.Requisitos, processoCotacaoFreteCadastroVm.NumeroDoContrato, // Convert.ToDateTime(processoCotacaoFreteCadastroVm.DataLimiteRetorno), Convert.ToDateTime(processoCotacaoFreteCadastroVm.DataValidadeCotacaoInicial), // Convert.ToDateTime(processoCotacaoFreteCadastroVm.DataValidadeCotacaoFinal), itinerario); processo.Atualizar(processoCotacaoFreteCadastroVm.Requisitos, processoCotacaoFreteCadastroVm.NumeroDoContrato, Convert.ToDateTime(processoCotacaoFreteCadastroVm.DataLimiteRetorno), Convert.ToDateTime(processoCotacaoFreteCadastroVm.DataValidadeCotacaoInicial), Convert.ToDateTime(processoCotacaoFreteCadastroVm.DataValidadeCotacaoFinal), itinerario); processo.AtualizarItem(produto, processoCotacaoFreteCadastroVm.QuantidadeMaterial, unidadeDeMedida); } else { //processo = new ProcessoDeCotacaoDeFrete(produto, processoCotacaoFreteCadastroVm.QuantidadeMaterial, // unidadeDeMedida, processoCotacaoFreteCadastroVm.Requisitos,processoCotacaoFreteCadastroVm.NumeroDoContrato, // Convert.ToDateTime(processoCotacaoFreteCadastroVm.DataLimiteRetorno), Convert.ToDateTime(processoCotacaoFreteCadastroVm.DataValidadeCotacaoInicial), // Convert.ToDateTime(processoCotacaoFreteCadastroVm.DataValidadeCotacaoFinal), itinerario); _processoDeCotacaoFactory.AdicionarItem(produto, processoCotacaoFreteCadastroVm.QuantidadeMaterial, unidadeDeMedida); processo = _processoDeCotacaoFactory.CriarProcesso(processoCotacaoFreteCadastroVm.Requisitos, processoCotacaoFreteCadastroVm.NumeroDoContrato, Convert.ToDateTime(processoCotacaoFreteCadastroVm.DataLimiteRetorno), Convert.ToDateTime(processoCotacaoFreteCadastroVm.DataValidadeCotacaoInicial), Convert.ToDateTime(processoCotacaoFreteCadastroVm.DataValidadeCotacaoFinal), itinerario); } _processosDeCotacao.Save(processo); _unitOfWork.Commit(); return(processo.Id); } catch (Exception) { _unitOfWork.RollBack(); throw; } }
public void AtualizarFornecedoresDoProduto(string codigoProduto, string[] codigoDosFornecedores) { try { _unitOfWork.BeginTransaction(); Produto produto = _produtos.BuscaPeloCodigo(codigoProduto); //para carregar apenas os fornecedores que ainda não estão associados ao produto, remove do array os que já estão associados string[] codigoDosFornecedoresParaCarregar = codigoDosFornecedores.Except(produto.Fornecedores.Select(x => x.Codigo)).ToArray(); IList <Fornecedor> fornecedoresParaAdicionar = _fornecedores.BuscaListaPorCodigo(codigoDosFornecedoresParaCarregar).List(); produto.AdicionarFornecedores(fornecedoresParaAdicionar); _produtos.Save(produto); _unitOfWork.Commit(); } catch (Exception) { _unitOfWork.RollBack(); throw; } }