Example #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");
            }
        }
Example #2
0
        private void ValidateAndSetProperties(int IDCompany, int IDUser, int IDEmpresa, string NumeroTitulo, int Seq, DateTime DataVencimento, decimal Valor, decimal ValorPago, OrigemContasReceberEnum Origem, int Chave, string LinkFatura, ContasReceberStatusEnum Status, string Observaca)
        {
            DomainException.When(IDCompany == 0, "Compania não informada.");
            DomainException.When(IDUser == 0, "Usuário não informado.");
            DomainException.When(IDEmpresa == 0, "Cliente não informado.");
            DomainException.When(string.IsNullOrEmpty(NumeroTitulo), "Número do Título não informado.");
            DomainException.When(Seq == 0, "Sequência não informada.");
            DomainException.When(DataVencimento == DateTime.MinValue, "Data da Vencimento Inválida.");
            DomainException.When(Valor == 0, "Valor do Título não informado.");

            this.IDCompany      = IDCompany;
            this.IDUser         = IDUser;
            this.IDEmpresa      = IDEmpresa;
            this.NumeroTitulo   = NumeroTitulo;
            this.Seq            = Seq;
            this.DataVencimento = DataVencimento;
            this.Valor          = Valor;
            this.ValorPago      = ValorPago;
            this.Origem         = Origem;
            this.Chave          = Chave;
            this.LinkFatura     = LinkFatura;
            this.Status         = Status;
            this.Observacao     = Observaca;
        }
Example #3
0
 public void UpdateProperties(int IDCompany, int IDUser, int IDEmpresa, string NumeroTitulo, int Seq, DateTime DataVencimento, decimal Valor, decimal ValorPago, OrigemContasReceberEnum Origem, int Chave, string LinkFatura, ContasReceberStatusEnum Status, string Observaca)
 {
     ValidateAndSetProperties(IDCompany, IDUser, IDEmpresa, NumeroTitulo, Seq, DataVencimento, Valor, ValorPago, Origem, Chave, LinkFatura, Status, Observaca);
 }
Example #4
0
        public IActionResult ContasReceberAlterarStatus(int id, ContasReceberStatusEnum Status)
        {
            _fluxoBU.FluxoContasReceber(id, Status);

            return(Ok());
        }
Example #5
0
        public IActionResult MovimentacaoFinanceiraContasReceberImprimir(int idEmpresa, OrigemContasReceberEnum idOrigem, ContasReceberStatusEnum idStatus, DateTime dataInicial, DateTime dataFinal)
        {
            var caminhoTemplate = _configuration.GetSection("Environment:CaminhoTemplate").Value;

            var documento   = _templateBU.MovimentacaoFinanceiraContasReceberImprimir(caminhoTemplate, idEmpresa, idOrigem, idStatus, dataInicial, dataFinal);
            var nomeArquivo = $"MovimentacaoFinanceiraContasReceber.pdf";

            var contentDispositionHeader = new System.Net.Mime.ContentDisposition
            {
                Inline   = true,
                FileName = nomeArquivo
            };

            Response.Headers.Add("Content-Disposition", contentDispositionHeader.ToString());

            byte[] byteArray = Convert.FromBase64String(documento);
            return(File(byteArray, System.Net.Mime.MediaTypeNames.Application.Pdf));
        }