private void AlterarCarga(Conta conta) { if (conta.Tipo_Conta == 2) { var carga = _repositorioCarga.First(x => x.Cod_Empresa == conta.Cod_Empresa && x.Num_Pedido == conta.Num_Pedido); if (carga != null) { string situacao = "A"; if (conta.Situacao == "P") { situacao = "E"; } carga.Situacao = situacao; carga.Financeiro = situacao; _repositorioCarga.Update(carga); } } }
public int Salvar(Carga carga, string nomeUsuario) { if (carga.Cod_Cliente == 0) { throw new Exception("O cliente é obrigatório!"); } if (carga.Cod_For == 0) { throw new Exception("O fornecedor é obrigatório!"); } if (carga.Num_Pedido == 0) { throw new Exception("O número do pedido é obrigatório!"); } if (carga.Num_Carga <= 0) { throw new Exception("O número da carga é obrigatório!"); } if (carga.Valor_Frete <= 0) { throw new Exception("O valor do frete é obrigatório!"); } if (carga.Qtde <= 0) { throw new Exception("A quantidade é obrigatório!"); } if (carga.Cod_Contato == 0) { throw new Exception("O contato é obrigatório!"); } if (_repositorioCarga.GetList(x => x.Cod_Empresa == carga.Cod_Empresa && x.Num_Carga == carga.Num_Carga && x.Letra == carga.Letra && x.Id_Carga != carga.Id_Carga).Any()) { throw new Exception("Número da carga ja existe, escolha outro número"); } bool incluindo = (carga.Id_Carga == 0); if (carga.Id_Carga > 0) { if (ParcelaCargaIguais(carga) == false) { throw new Exception("Valor da carga difere do valor das parcelas. Verifique as parcelas!"); } } CalcularLucro(carga, true); try { if (carga.Id_Carga == 0) { _servicoPermissao.Permitir(AcaoUsuario.Incluir, _tabela, nomeUsuario); carga.Usu_Inc = PermissaoUsuario.GravarUsuarioDataHora(nomeUsuario); _repositorioCarga.Insert(ref carga); } else { _servicoPermissao.Permitir(AcaoUsuario.Alterar, _tabela, nomeUsuario); carga.Usu_Alt = PermissaoUsuario.GravarUsuarioDataHora(nomeUsuario); _repositorioCarga.Update(carga); } if (carga.Situacao == "C") // se for cancelado { _servicoConta.ExcluirParcelas(carga.Id_Carga, carga.Cod_Empresa); } else { if (incluindo) { MontarParcelas(carga); } else { VerificarParcelasCargaClienteDiferente(carga, nomeUsuario); } } SalvarVencimentos(carga); SalvarObservacao(carga); // TODO: ver saldo } catch (Exception ex) { throw new Exception(ex.Message); } return(carga.Id_Carga); }