public IEnumerable <Carga> ObterCargasDoPedido(int numPedido) { return(_repositorioCarga.ObterCargasDoPedido(numPedido)); }
public void AlterarValorCarga(Pedido pedido, string nomeUsuario) { // buscar todas as cargas do pedido var cargas = _repositorioCarga.ObterCargasDoPedido(pedido.Num_Pedido); if (cargas != null) { foreach (var carga in cargas) { // se foi alterado o cliente, trocar o cliente das cargas if (pedido.Cod_Cliente != carga.Cod_Cliente) { carga.Cod_Cliente = pedido.Cod_Cliente; } // Se fornecedor foi trocado o fornecedor, trocar nas cargas if (pedido.Cod_For != carga.Cod_For) { carga.Cod_For = pedido.Cod_For; } // Na carga o VALOR_PEDIDO = Pedido.Total_Liquido carga.Valor_Pedido = pedido.Total_Liquido; // Se Pedido.Total_Qtde for diferente do anterior // então carga.Qtde_Pedido = Pedido.Total_Qtde carga.Qtde_Pedido = pedido.Total_Qtde; // Se Pedido.ValorLucro <> do anterior // calcular Lucro _repositorioCarga.CalcularLucro(carga, true); //_repositorioCarga.Salvar(carga, nomeUsuario); // atualizar o Valor_Pagar = carga.valor_carrega das contas onde contas.NumPedido = Id_Carga a Tipo_Conta = 2 var contas = _repositorioConta.ObterPorPedido(pedido.Num_Pedido, pedido.Cod_Empresa, (int)TipoFinanceiro.tfReceber); if (contas != null) { foreach (var conta in contas) { conta.Valor_Pagar = carga.Valor_Carrega; _repositorioConta.Salvar(conta, null, nomeUsuario); } } // trocar o cliente do contas a receber tipo conta = 1 contas = _repositorioConta.ObterPorPedido(carga.Id_Carga, pedido.Cod_Empresa, (int)TipoFinanceiro.tfPedido); if (contas != null) { foreach (var conta in contas) { if (pedido.Cod_Cliente != conta.Cod_Cliente) { conta.Cod_Cliente = pedido.Cod_Cliente; _repositorioConta.Salvar(conta, null, nomeUsuario); } } } } } }