Exemplo n.º 1
0
        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);
        }
Exemplo n.º 2
0
        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;
            }
        }
Exemplo n.º 3
0
        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;
            }
        }