Пример #1
0
        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");
            }
        }
Пример #2
0
        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);
        }