public void FluxoContasReceber(int IDContasReceber, ContasReceberStatusEnum Status) { ContasReceberEN contasReceberEN = _repositoryContasReceber.GetByID(IDContasReceber); contasReceberEN.Status = Status; _unitOfWork.BeginTransaction(); try { if (contasReceberEN.Origem == OrigemContasReceberEnum.PedidoVenda && (Status == ContasReceberStatusEnum.Baixado || Status == ContasReceberStatusEnum.Cancelado)) { if (Status == ContasReceberStatusEnum.Baixado) { FluxoPedido(contasReceberEN.Chave, PedidoVendaStatusEnum.Finalizado, true); } else if (Status == ContasReceberStatusEnum.Cancelado) { FluxoPedido(contasReceberEN.Chave, PedidoVendaStatusEnum.Cancelado, true); } } if (Status == ContasReceberStatusEnum.Baixado) { contasReceberEN.ValorPago = contasReceberEN.Valor; _fluxoCaixaBU.Save ( 0, contasReceberEN.IDCompany, contasReceberEN.IDUser, DateTime.Now.ToLocalTime(), TipoLancamentoFluxoCaixaEnum.Entrada, OrigemFluxoCaixaEnum.ContasReceber, contasReceberEN.IDContasReceber, contasReceberEN.Valor, "ENTRADA DE VALOR VIA CONTAS A RECEBER" ); } _repositoryContasReceber.Edit(contasReceberEN); _unitOfWork.Commit(); _unitOfWork.CommitTransaction(); } catch (DomainException ex) { Console.Write(ex); _unitOfWork.RollbackTransaction(); throw new DomainException(ex.Message); } catch (Exception ex) { Console.Write(ex); _unitOfWork.RollbackTransaction(); throw new DomainException("Erro ao atualizar status do título. Tente novamente mais tarde"); } }
public int Save(int IDContasReceber, int IDCompany, int IDUser, int IDEmpresa, string NumeroTitulo, int Seq, DateTime DataVencimento, decimal Valor, decimal ValorPago, OrigemContasReceberEnum Origem, string linkFatura, int Chave, string Observaca) { ContasReceberEN contasReceberEN = null; if (Origem == OrigemContasReceberEnum.ContasReceber) { contasReceberEN = _repositoryContasReceber.GetByID(IDContasReceber); } else { contasReceberEN = _repositoryContasReceber.Where(obj => obj.Chave == Chave && obj.Seq == Seq).FirstOrDefault(); } if (contasReceberEN != null) { contasReceberEN.UpdateProperties ( IDCompany, IDUser, IDEmpresa, NumeroTitulo, Seq, DataVencimento, Valor, ValorPago, Origem, Chave, linkFatura, contasReceberEN.Status, Observaca ); _repositoryContasReceber.Edit(contasReceberEN); } else { contasReceberEN = new ContasReceberEN ( IDCompany, IDUser, IDEmpresa, NumeroTitulo, Seq, DataVencimento, Valor, ValorPago, Origem, Chave, linkFatura, ContasReceberStatusEnum.EmAberto, Observaca ); contasReceberEN.DataCadastro = DateTime.Now.ToLocalTime(); _repositoryContasReceber.Save(contasReceberEN); } _unitOfWork.Commit(); return(contasReceberEN.IDContasReceber); }