コード例 #1
0
        public ReciboDTO GenerateReceipt(ReciboDTO pReceiptData, List <FaturaDTO> pPenddingList, object pPaymentData, string pTransaction)
        {
            pReceiptData.DocumentosLiquidados = new List <ReciboDocumentosDTO>();

            foreach (var document in pPenddingList)
            {
                var doc = new ReciboDocumentosDTO
                {
                    Activo     = true,
                    Ordem      = 1,
                    ReciboID   = -1,
                    Documento  = document.Documento,
                    DocumentID = document.Codigo,
                    Numeracao  = document.Numeracao,
                    Referencia = document.Referencia,
                    ValorTotal = document.ValorTotal,
                    ValorPago  = document.ValorFaturado,

                    DescontoEntidade = 0,
                    Troco            = 0,
                    Utilizador       = pReceiptData.Utilizador,
                    Saldo            = document.Saldo - document.ValorPago
                };

                doc.ValorPago  = doc.ValorPago < 0 ? doc.ValorPago * (-1) : doc.ValorPago;
                doc.ValorTotal = doc.ValorTotal < 0 ? doc.ValorTotal * (-1) : doc.ValorTotal;
                doc.Saldo      = document.Saldo <= 0 ? 0 : document.Saldo;
                pReceiptData.DocumentosLiquidados.Add(doc);
            }

            return(Salvar(pReceiptData, pPaymentData, pTransaction));
        }
コード例 #2
0
        public ReciboDocumentosDTO LiquidarDocumento(ReciboDocumentosDTO dto)
        {
            try
            {
                BaseDados.ComandText = "stp_COM_RECIBO_CLIENTE_DOCUMENTO_LIQUIDAR";

                BaseDados.AddParameter("@CODIGO", dto.Codigo);
                BaseDados.AddParameter("@ORDEM", dto.Ordem);
                BaseDados.AddParameter("@RECIBO", dto.ReciboID);
                BaseDados.AddParameter("@DOCUMENTO_TYPE", dto.Documento);
                BaseDados.AddParameter("@DOCUMENTO_ID", dto.DocumentID);
                BaseDados.AddParameter("@NUMERACAO", dto.Numeracao);
                BaseDados.AddParameter("@REFERENCIA", dto.Referencia);
                BaseDados.AddParameter("@VALOR", dto.ValorTotal);
                BaseDados.AddParameter("@LIQUIDADO", dto.ValorPago);
                BaseDados.AddParameter("@PENDENTE", dto.Saldo);
                BaseDados.AddParameter("@DESCONTO", dto.DescontoEntidade);
                BaseDados.AddParameter("@JUROS", dto.Troco);
                BaseDados.AddParameter("@UTILIZADOR", dto.Utilizador);
                BaseDados.AddParameter("@DOCUMENT_STATUS", dto.Activo == true ? 1 : 0);

                BaseDados.ExecuteNonQuery();
                dto.Sucesso = true;
            }
            catch (Exception ex)
            {
                dto.MensagemErro = ex.Message.Replace("'", string.Empty);
            }
            finally
            {
                BaseDados.FecharConexao();
            }

            return(dto);
        }
コード例 #3
0
        public ReciboDTO ObterPorPK(ReciboDTO dto)
        {
            try
            {
                BaseDados.ComandText = "stp_COM_RECIBO_CLIENTE_OBTERPORPK";

                BaseDados.AddParameter("@CODIGO", dto.Codigo);

                MySqlDataReader dr = BaseDados.ExecuteReader();

                dto = new ReciboDTO();
                if (dr.Read())
                {
                    dto.Codigo                    = int.Parse(dr[0].ToString());
                    dto.Filial                    = dr[1].ToString();
                    dto.Documento                 = int.Parse(dr[2].ToString());
                    dto.Serie                     = int.Parse(dr[3].ToString() == null ? "-1" : dr[3].ToString());
                    dto.Entidade                  = int.Parse(dr[4].ToString());
                    dto.Emissao                   = DateTime.Parse(dr[5].ToString());
                    dto.Numeracao                 = int.Parse(dr[6].ToString() == string.Empty ? "0": dr[6].ToString());
                    dto.Referencia                = dr[7].ToString();
                    dto.Moeda                     = dr[8].ToString();
                    dto.Cambio                    = decimal.Parse(dr[9].ToString());
                    dto.ValorDocumento            = decimal.Parse(dr[10].ToString());
                    dto.ValorPago                 = decimal.Parse(dr[11].ToString());
                    dto.CustomerName              = dr[12].ToString();
                    dto.CustomerVAT               = dr[13].ToString();
                    dto.Observacoes               = dr[14].ToString();
                    dto.DocumentStatus            = dr[15].ToString() == "" ? short.Parse("1") : short.Parse(dr[15].ToString());
                    dto.MotivoAnulacao            = dr[16].ToString();
                    dto.DescontoComercial         = decimal.Parse(dr[25].ToString() == string.Empty ? "0" : dr[25].ToString());
                    dto.DescontoNumerario         = decimal.Parse(dr[26].ToString() == string.Empty ? "0" : dr[26].ToString());
                    dto.TaxID                     = int.Parse(dr[27].ToString() == string.Empty ? "0" : dr[27].ToString());
                    dto.ValorExcesso              = decimal.Parse(dr[28].ToString() == string.Empty ? "0" : dr[28].ToString());
                    dto.TituloDocumento           = dr["DOC_DESCRICAO"].ToString();
                    dto.CompanyAddress            = dr["MORADA"].ToString() + "TEL.: " + dr["ENT_TELEFONE"].ToString() + "<br/>NIF: " + dr["ENT_IDENTIFICACAO"].ToString();
                    dto.OriginalDocumnetReference = dr["ORGINAL_DOC_REFERENCE"].ToString();



                    dto.Sucesso = true;
                }
            }
            catch (Exception ex)
            {
                dto.MensagemErro = ex.Message.Replace("'", string.Empty);
            }
            finally
            {
                BaseDados.FecharConexao();
                ReciboDocumentosDTO documento = new ReciboDocumentosDTO();
                documento.ReciboID = dto.Codigo;
                var DocumentsList = ObterDocumentos(documento);
                dto.DocumentosLiquidados = DocumentsList.Item1;
                dto.FaturasLiquidadas    = DocumentsList.Item2;
            }

            return(dto);
        }
コード例 #4
0
        public Tuple <List <ReciboDocumentosDTO>, List <FaturaDTO> > ObterDocumentos(ReciboDocumentosDTO pRecibo)
        {
            List <ReciboDocumentosDTO> documentosLiquidados = new List <ReciboDocumentosDTO>();
            List <FaturaDTO>           faturasLiquidadas    = new List <FaturaDTO>();

            ReciboDocumentosDTO dto;

            try
            {
                BaseDados.ComandText = "stp_COM_CLIENTE_DOCUMENTOS_OBTERPORFILTRO";
                BaseDados.AddParameter("@DOCUMENTO", pRecibo.ReciboID);
                MySqlDataReader dr = BaseDados.ExecuteReader();

                while (dr.Read())
                {
                    var _fatura = new FaturaDTO();
                    dto                    = new ReciboDocumentosDTO();
                    dto.Codigo             = int.Parse(dr[0].ToString());
                    dto.Referencia         = dr[1].ToString();
                    dto.Emissao            = DateTime.Parse(dr[2].ToString());
                    dto.DescricaoDocumento = dr[3].ToString();
                    dto.ValorTotal         = decimal.Parse(dr[4].ToString());
                    dto.ValorPago          = decimal.Parse(dr[5].ToString());
                    dto.Saldo              = decimal.Parse(dr[6].ToString());
                    dto.StatusDocumento    = int.Parse(dr[7].ToString());
                    dto.StatusPagamento    = dr[8].ToString();
                    dto.Saldo              = dto.ValorTotal - dto.ValorPago;
                    dto.ValorRetencao      = decimal.Parse(dr[9].ToString());
                    dto.TotalImpostos      = decimal.Parse(dr[10].ToString());

                    documentosLiquidados.Add(dto);

                    _fatura.Codigo             = dto.Codigo;
                    _fatura.Referencia         = dto.Referencia;
                    _fatura.Emissao            = dto.Emissao;
                    _fatura.DescricaoDocumento = dto.DescricaoDocumento;
                    _fatura.ValorTotal         = dto.ValorTotal;
                    _fatura.ValorPago          = dto.ValorTotal;
                    _fatura.ValorFaturado      = dto.ValorPago;
                    _fatura.Saldo           = dto.Saldo;
                    _fatura.StatusDocumento = dto.StatusDocumento;
                    _fatura.StatusPagamento = dto.StatusPagamento;
                    if (dto.Saldo == 0)
                    {
                        _fatura.Saldo = dto.ValorTotal - dto.ValorPago;
                    }
                    _fatura.ValorRetencao = dto.ValorRetencao;
                    _fatura.TotalImpostos = dto.TotalImpostos;

                    faturasLiquidadas.Add(_fatura);
                }
            }
            catch (Exception ex)
            {
                dto = new ReciboDocumentosDTO();
                dto.MensagemErro = ex.Message.Replace("'", string.Empty);
            }
            finally
            {
                BaseDados.FecharConexao();
            }

            return(new Tuple <List <ReciboDocumentosDTO>, List <FaturaDTO> >(documentosLiquidados, faturasLiquidadas));
        }
コード例 #5
0
 public Tuple <List <ReciboDocumentosDTO>, List <FaturaDTO> > ObterDocumentosRelacionados(ReciboDocumentosDTO dto)
 {
     return(dao.ObterDocumentos(dto));
 }