Пример #1
0
        public async Task <RetornoPagamentoDTO> TransacaoCartaoCredito(PagamentoDTO pagamentoDTO)
        {
            RetornoPagamentoDTO result = null;

            try
            {
                string json     = JsonConvert.SerializeObject(pagamentoDTO);
                var    response = await _requisicao.PostRequest(json, "https://localhost:44333/api/compras/pagamento");

                if (response.IsSuccessStatusCode)
                {
                    var responseString = await response.Content.ReadAsStringAsync();

                    result = JsonConvert.DeserializeObject <RetornoPagamentoDTO>(responseString);
                }
                else
                {
                    result = null;
                }
            }
            catch (Exception e)
            {
                result = null;
                Console.WriteLine(e.Message);
            }
            return(result);
        }
Пример #2
0
        public PagamentoDTO[] GetAllDaPagare()
        {
            try
            {
                var daoFactory = _windsorRepository.GetDaoFactory(_info.Azienda);
                var lista = daoFactory.GetPagamentoDao().GetRitenuteDaPagare();
                var listaDto = new PagamentoDTO[lista.Count];

                var index = 0;
                foreach (var item in lista)
                {
                    var dto = setDto(item);
                    if (dto != null)
                    {
                        listaDto[index] = dto;
                        index++;
                    }
                }

                return listaDto;
            }
            catch (Exception ex)
            {
                _log.ErrorFormat("Errore nel caricamento dei pagamenti delle Fatture/Spese - {0}", ex, Library.Utility.GetMethodDescription());
                throw;
            }
        }
Пример #3
0
        public async void ObterPorId_DeveRetornarBadRequest()
        {
            // Arrange
            var pagamentoAppService = new Mock <IPagamentoAppService>();
            var notificador         = new Mock <INotificador>();
            var cache = new Mock <IDistributedCache>();
            var pagamentoDtoEsperado = new PagamentoDTO()
            {
                DataCadastro     = DateTimeOffset.Now,
                IdPagamento      = Guid.NewGuid(),
                ValorPagamento   = 1,
                ValorPagoCliente = 1,
                ValorTroco       = 0,
                TrocoItems       = new List <TrocoItemDTO>()
            };

            pagamentoAppService.Setup(appService => appService.BuscarPorId(pagamentoDtoEsperado.IdPagamento))
            .ReturnsAsync(pagamentoDtoEsperado);

            notificador.Setup(n => n.TemNotificacao()).Returns(true);
            notificador.Setup(n => n.ObterNotificacoes()).Returns(new List <Notificacao>()
            {
                new Notificacao("erro 1"), new Notificacao("erro 2")
            });

            var controller = new PagamentoController(pagamentoAppService.Object, notificador.Object, cache.Object);

            // Act
            var retorno = await controller.BuscarPorId(pagamentoDtoEsperado.IdPagamento);

            // Assert
            Assert.IsType <ActionResult <PagamentoDTO> >(retorno);
            Assert.IsType <BadRequestObjectResult>(retorno.Result);
        }
        public ActionResult <RetornoPagamentoDTO> Compra(PagamentoDTO pagamentoDTO)
        {
            RetornoPagamentoDTO retornoPagamento = new RetornoPagamentoDTO();

            retornoPagamento.Valor = pagamentoDTO.Valor;
            if (pagamentoDTO.Valor > 100)
            {
                retornoPagamento.Estado = "APROVADO";
            }
            else
            {
                retornoPagamento.Estado = "REJEITADO";
            }
            return(retornoPagamento);
        }
Пример #5
0
        public async Task <ActionResult> Adicionar(CompraDTO compraDTO)
        {
            try
            {
                if (!ModelState.IsValid)
                {
                    return(StatusCode(StatusCodes.Status412PreconditionFailed));
                }

                var produto = await _produtoService.ObterPorId(compraDTO.ProdutoId);

                if (produto.QtdEstoque < compraDTO.QtdComprada)
                {
                    return(StatusCode(StatusCodes.Status412PreconditionFailed));
                }

                PagamentoDTO pagamentoDTO = new PagamentoDTO();
                pagamentoDTO.Cartao = compraDTO.Cartao;
                pagamentoDTO.Valor  = (produto.ValorUnitario * compraDTO.QtdComprada);

                produto.QtdEstoque = (produto.QtdEstoque - compraDTO.QtdComprada);

                var result = await _cartaoService.TransacaoCartaoCredito(pagamentoDTO);

                if (result == null)
                {
                    return(StatusCode(StatusCodes.Status412PreconditionFailed));
                }

                if (result.Estado.Contains("APROVADO"))
                {
                    await _produtoService.Atualizar(produto);

                    await _compraService.Adicionar(_mapper.Map <Compra>(compraDTO));

                    return(Ok());
                }
                else
                {
                    return(StatusCode(StatusCodes.Status412PreconditionFailed));
                }
            }
            catch
            {
                return(BadRequest());
            }
        }
Пример #6
0
        public async Task EfetuarPagamentoCartao(PagamentoCartaoParam pagamento)
        {
            var request = new PagamentoDTO
            {
                IdPedido     = pagamento.IdPedido,
                Valor        = pagamento.Valor,
                Bandeira     = pagamento.BandeiraCartao,
                Nome         = pagamento.NomeCartao,
                NumeroCartao = pagamento.NumeroCartao,
                DataValidade = pagamento.DataValidadeCartao,
                CodSeguranca = pagamento.CodSegurancaCartao,
                Tipo         = pagamento.TipoCartao
            };

            var url = $"{_config.UrlPagamento}/pagamento/cartao";

            await url.PostJsonAsync(request)
            .ConfigureAwait(false);
        }
Пример #7
0
 public AuthorizationMessages IsAllowDeletePagamento(PagamentoDTO pagamento)
 {
     var result = GetServiceClient().IsAllowDeletePagamento(pagamento.ID, GetUserInfo());
     CloseService();
     return result;
 }
Пример #8
0
        private void apriSpesa(PagamentoDTO pagamento)
        {
            if (pagamento != null && pagamento.IdFattura > 0)
            {
                var esercizio = getEsercizioService().GetById(pagamento.CodiceEsercizioSpesa);
                if (esercizio != null)
                {
                    var condominio = getCondominioService().GetById(esercizio.IdCondominio, true);

                    if (pagamento.StatoSpesa == StatoSpesaEnum.PagataAltroAmministratore)
                    {
                        var form = getDettaglioSpesaUIService().GetFormDettaglioFiscale(pagamento.IdFattura);
                        if (form != null)
                        {
                            if (ParentForm != null) form.MdiParent = ParentForm.MdiParent;
                            form.Show();
                        }
                    }
                    else if (pagamento.TipoDocumentoSpesa == "Bolletta")
                    {
                        var form = getDettaglioBollettaUIService().GetFormDettaglio(pagamento.IdFattura, condominio, esercizio);
                        if (form != null)
                        {
                            if (ParentForm != null) form.MdiParent = ParentForm.MdiParent;
                            form.Show();
                        }
                    }
                    else if (pagamento.TipoDocumentoSpesa == "Fatt.Quadr.")
                    {
                        var form = getBilancioAperturaUIService().GetFormDettaglio(condominio, esercizio);
                        if (form != null)
                        {
                            if (ParentForm != null) form.MdiParent = ParentForm.MdiParent;
                            form.Show();
                        }
                    }
                    else if (pagamento.TipoDocumentoSpesa == "Nota di accredito" && pagamento.StatoSpesa == StatoSpesaEnum.Stornata)
                    {
                        var form = getDettaglioSpesaUIService().GetFormNotaAccredito(pagamento.IdFattura, condominio, esercizio);
                        if (form != null)
                        {
                            if (ParentForm != null) form.MdiParent = ParentForm.MdiParent;
                            form.Show();
                        }
                    }
                    else
                    {
                        var form = getDettaglioSpesaUIService().GetFormDettaglio(pagamento.IdFattura);
                        if (form != null && !form.IsDisposed)
                        {
                            if (ParentForm != null) form.MdiParent = ParentForm.MdiParent;
                            form.Show();
                        }
                    }

                }
            }
        }
Пример #9
0
 private void apriLetteraBonifico(PagamentoDTO pagamento)
 {
     var docInfo = getPagamentoFatturaService().GetDocumentoById(pagamento.ID);
     getManageDocumentService().Open(docInfo, "Bonifico", true, MergeFieldType.Default);
 }
Пример #10
0
        private void annullaPagamento(PagamentoDTO pagamento, Infragistics.Win.UltraWinGrid.UltraGridRow row)
        {
            if (CommonMessages.DisplayConfirm("Sei sicuro di volere eliminare il pagamento della fattura: " + pagamento.IdentificativoArchiviazione + " ?") == DialogResult.Yes)
            {
                var authMessage = getPagamentoFatturaService().IsAllowDeletePagamento(pagamento);
                if (string.IsNullOrEmpty(authMessage.FatalMessage))
                {
                    var result = DialogResult.Yes;
                    if (!string.IsNullOrEmpty(authMessage.WarnMessage))
                        result = CommonMessages.DisplayConfirm("Attenzione:" + authMessage.WarnMessage + Environment.NewLine + "Vuoi confermare la eliminazione?");

                    if (result == DialogResult.Yes)
                    {
                        var message = getPagamentoFatturaService().DeletePagamento(pagamento);
                        if (string.IsNullOrEmpty(message))
                        {
                            row.Delete(false);
                            CommonMessages.DisplayComplete("Il pagamento è stato correttamente eliminato");
                        }
                        else
                            CommonMessages.DisplayWarning("Si sono verificati i seguenti errori durante l'eliminazione del pagamento" + Environment.NewLine + Environment.NewLine + message);
                    }
                }
                else
                    CommonMessages.DisplayWarning("Non è ammessa la cancellazione del pagamento:" + Environment.NewLine + authMessage.FatalMessage);
            }
        }
Пример #11
0
 public SpesaDTO GetByPagamento(PagamentoDTO pagamento)
 {
     var result = GetServiceClient().GetSpesaByPagamento(pagamento.ID, GetUserInfo());
     CloseService();
     return result;
 }
Пример #12
0
        private PagamentoDTO setDto(Riscossione item)
        {
            try
            {
                if (item != null)
                {
                    var dto = new PagamentoDTO
                    {
                        ID = item.ID * -1,
                        Importo = item.Importo,
                        CodiceConfermaBonifico = null,
                        Version = item.Version
                    };

                    if (item.MovimentoContabile != null)
                    {
                        dto.Data = item.MovimentoContabile.Testata.DataRegistrazione;
                        dto.CodiceMovimentoPagamentoFattura = item.MovimentoContabile.ID;
                        dto.CodiceTestataMovimentoPagamentoFattura = item.MovimentoContabile.Testata.ID;
                        dto.Conto = item.MovimentoContabile.ContoRiferimento.Descrizione;
                        if (item.MovimentoContabile.SottoContoRiferimento != null)
                            dto.SottoConto = item.MovimentoContabile.SottoContoRiferimento.GetDescrizione(item.MovimentoContabile.Testata.EsercizioRiferimento, null, item.MovimentoContabile);
                    }

                    Spesa spesa = null;
                    if (item.SpesaRiferimento != null)
                        spesa = item.SpesaRiferimento;
                    else if (item.ScadenzaRiferimento != null)
                        spesa = item.ScadenzaRiferimento.SpesaRiferimento;

                    if(spesa != null)
                    {
                        dto.IdFattura = spesa.ID;
                        dto.IdentificativoArchiviazione = getArchiviazioneOtticaService().GetIdentificativoArchiviazione(spesa);
                        dto.StatoSpesa = spesa.Stato;
                        dto.DescrizioneCondominio = spesa.EsercizioRiferimento.CondominioRiferimento.DisplayName;
                        dto.DescrizioneFornitore = spesa.FornitoreRiferimento.DisplayName;
                        dto.NumeroDocumento = spesa.NumeroDocumento;
                        dto.DataDocumento = spesa.DataDocumento;
                        dto.TipoDocumentoSpesa = Library.Decodifica.Instance.GetElement("TipoDocumentoContabile", spesa.TipoDocumento).Descrizione;
                        dto.CodiceEsercizioSpesa = spesa.EsercizioRiferimento.ID;
                        dto.StatoPagamento = spesa.Stato;
                        dto.Tipo = TipoPagamentoFatturaEnum.Accredito;

                        var detrazione = string.Empty;
                        if (item.MovimentoContabile != null)
                        {
                            if (item.ScadenzaRiferimento != null && item.ScadenzaRiferimento.SpesaRiferimento != null)
                            {
                                if (item.ScadenzaRiferimento.SpesaRiferimento.Detrazione.GetValueOrDefault() == 36)
                                    detrazione = dto.Data <= new DateTime(2012, 6, 25)
                                                     ? "36 - Ristr.Edilizia"
                                                     : "50% - Ristr.Edilizia";
                                else if (item.ScadenzaRiferimento.SpesaRiferimento.Detrazione.GetValueOrDefault() == 55)
                                    detrazione = "55% - Riqual.Energetica";
                            }
                            else if (item.SpesaRiferimento != null)
                            {
                                if (item.SpesaRiferimento.Detrazione.GetValueOrDefault() == 36)
                                    detrazione = dto.Data <= new DateTime(2012, 6, 25)
                                                     ? "36 - Ristr.Edilizia"
                                                     : "50% - Ristr.Edilizia";
                                else if (item.SpesaRiferimento.Detrazione.GetValueOrDefault() == 55)
                                    detrazione = "55% - Riqual.Energetica";
                            }

                        }
                        dto.Detrazione = detrazione;
                    }

                    if (item.ScadenzaRiferimento != null)
                    {
                        dto.IdScadenzaFattura = item.ScadenzaRiferimento.ID;
                        dto.Tipo = TipoPagamentoFatturaEnum.Storno;
                    }

                    return dto;
                }
                return null;
            }
            catch (Exception ex)
            {
                
                var idStr = string.Empty;
                if (item != null)
                    idStr = item.ID.ToString(CultureInfo.InvariantCulture);
                _log.ErrorFormat("Errore nella creazione dell'istanza DTO - {0} - id:{1}", ex, Library.Utility.GetMethodDescription(), idStr);
                throw;
            }
        }
Пример #13
0
        private PagamentoDTO setDto(Pagamento item)
        {
            try
            {
                if (item != null)
                {
                    var dto = new PagamentoDTO
                    {
                        ID = item.ID,
                        Data = item.Data,
                        IdScadenzaFattura = item.ScadenzaRiferimento.ID,
                        IdFattura = item.ScadenzaRiferimento.SpesaRiferimento.ID,
                        IdentificativoArchiviazione = getArchiviazioneOtticaService().GetIdentificativoArchiviazione(item.ScadenzaRiferimento.SpesaRiferimento),
                        Importo = item.Importo,
                        StatoSpesa = item.ScadenzaRiferimento.SpesaRiferimento.Stato,
                        TipoDocumentoSpesa = Library.Decodifica.Instance.GetElement("TipoDocumentoContabile", item.ScadenzaRiferimento.SpesaRiferimento.TipoDocumento).Descrizione,
                        CodiceEsercizioSpesa = item.ScadenzaRiferimento.SpesaRiferimento.EsercizioRiferimento.ID,
                        StatoPagamento = item.Stato,
                        Valuta = item.Valuta,
                        CodiceConfermaBonifico = item.CodiceConfermaBonifico,
                        Tipo = item.Tipo,
                        Version = item.Version
                    };

                    if (item.TipoCodiceConfermaBonifico != TipoCodiceEsitoDisposizioneBonifico.Undefined)
                        dto.TipoCodiceConfermaBonifico = item.TipoCodiceConfermaBonifico;

                    if (item.DisposizioneRiferimento != null)
                    {
                        dto.DescrizioneDisposizioneRiferimento = item.DisposizioneRiferimento.Descrizione;
                        dto.IdDisposizioneRiferimento = item.DisposizioneRiferimento.ID;
                    }

                    if (item.MovimentoContabile != null)
                    {
                        dto.CodiceMovimentoPagamentoFattura = item.MovimentoContabile.ID;
                        dto.CodiceTestataMovimentoPagamentoFattura = item.MovimentoContabile.Testata.ID;
                        dto.Conto = item.MovimentoContabile.ContoRiferimento.Descrizione;
                        if (item.MovimentoContabile.SottoContoRiferimento != null)
                            dto.SottoConto = item.MovimentoContabile.SottoContoRiferimento.GetDescrizione(item.ScadenzaRiferimento.SpesaRiferimento.EsercizioRiferimento, null, item.MovimentoContabile);
                        else if (item.MovimentoContabile.ContoRiferimento.Codice == getPianoContiService().GetCodiceContoBancario() && item.MovimentoContabile.ContoCorrenteBancario != null)
                            dto.SottoConto = item.MovimentoContabile.ContoCorrenteBancario.DisplayName;
                    }

                    if (item.RitenutaAcconto != null)
                    {
                        dto.ImportoRitenuta = item.RitenutaAcconto.Importo;
                        dto.StatoRitenuta = item.RitenutaAcconto.Stato;
                        if (item.RitenutaAcconto.TestataRiferimento != null)
                            dto.DataPagamentoRitenuta = item.RitenutaAcconto.TestataRiferimento.Data;
                        if (item.RitenutaAcconto.MovimentoContabilePagamento != null)
                        {
                            dto.CodiceMovimentoPagamentoRitenuta = item.RitenutaAcconto.MovimentoContabilePagamento.ID;
                            dto.CodiceTestataMovimentoPagamentoRitenuta = item.RitenutaAcconto.MovimentoContabilePagamento.Testata.ID;
                        }
                    }

                    if (item.ScadenzaRiferimento.SpesaRiferimento != null)
                    {
                        dto.DescrizioneCondominio = item.ScadenzaRiferimento.SpesaRiferimento.EsercizioRiferimento.CondominioRiferimento.DisplayName;
                        dto.DescrizioneFornitore = item.ScadenzaRiferimento.SpesaRiferimento.FornitoreRiferimento.DisplayName;
                        dto.NumeroDocumento = item.ScadenzaRiferimento.SpesaRiferimento.NumeroDocumento;
                        dto.DataDocumento = item.ScadenzaRiferimento.SpesaRiferimento.DataDocumento;

                        var detrazione = string.Empty;
                        if (item.ScadenzaRiferimento.SpesaRiferimento.Detrazione.GetValueOrDefault() == 36)
                            detrazione = item.Data <= new DateTime(2012, 6, 25)
                                             ? "36 - Ristr.Edilizia"
                                             : "50% - Ristr.Edilizia";
                        else if (item.ScadenzaRiferimento.SpesaRiferimento.Detrazione.GetValueOrDefault() == 55)
                            detrazione = "55% - Riqual.Energetica";
                        dto.Detrazione = detrazione;
                    }

                    return dto;
                }
                return null;
            }
            catch (Exception ex)
            {
                
                var idStr = string.Empty;
                if (item != null)
                    idStr = item.ID.ToString(CultureInfo.InvariantCulture);
                _log.ErrorFormat("Errore nella creazione dell'istanza DTO - {0} - id:{1}", ex, Library.Utility.GetMethodDescription(), idStr);
                throw;
            }
        }
Пример #14
0
        private void listaMouseUp(object sender, MouseEventArgs e)
        {
            try
            {
                _pagamentoClick = null;
                if (e.Button == MouseButtons.Right && lista != null)
                {
                    _rowClick = DataGridHelper.GetCellEvent(lista, e);
                    if (_rowClick != null)
                    {
                        var idPagamento = DataGridHelper.GetCellEvent<PagamentoSpesaDTO>(lista, e).ID;
                        _pagamentoClick = getPagamentoFatturaService().GetById(idPagamento);
                        if (_pagamentoClick != null)
                            contextMenuStrip1.Show(lista, e.X, e.Y);
                    }
                }
            }
            catch (Exception ex)
            {
                _log.ErrorFormat("Errore nel click con il bottone dx - {0} - azienda:{1}", ex, Gipasoft.Library.Utility.GetMethodDescription(), Security.Login.Instance.CurrentLogin().Azienda);
            }

        }
Пример #15
0
 public string DeletePagamento(PagamentoDTO pagamento)
 {
     string result = GetServiceClient().DeletePagamento(pagamento.ID, GetUserInfo());
     CloseService();
     return result;
 }
Пример #16
0
 private void listaMouseUp(object sender, MouseEventArgs e)
 {
     _pagamentoClick = null;
     if (e.Button == MouseButtons.Right)
     {
         _rowClick = DataGridHelper.GetCellEvent(listaPagamenti, e);
         _pagamentoClick = DataGridHelper.GetCellEvent<PagamentoDTO>(listaPagamenti, e);
         if (_pagamentoClick != null)
             contextMenuStrip1.Show(listaPagamenti, e.X, e.Y);
     }
 }
Пример #17
0
 private void apriSpesa(PagamentoDTO pagamento)
 {
     try
     {
         if (pagamento != null && pagamento.IdFattura > 0)
         {
             var esercizio = getEsercizioService().GetById(pagamento.CodiceEsercizioSpesa);
             if (pagamento.StatoSpesa == StatoSpesaEnum.PagataAltroAmministratore)
             {
                 var form = getDettaglioSpesaUIService().GetFormDettaglioFiscale(pagamento.IdFattura);
                 if (ParentForm != null) form.MdiParent = ParentForm.MdiParent;
                 form.Show();
             }
             else switch (pagamento.TipoDocumentoSpesa)
                 {
                     case "Bolletta":
                         {
                             var form = getDettaglioBollettaUIService().GetFormDettaglio(pagamento.IdFattura, _condominio, esercizio);
                             if (ParentForm != null) form.MdiParent = ParentForm.MdiParent;
                             form.Show();
                         }
                         break;
                     case "Fatt.Quadr.":
                         {
                             var form = getBilancioAperturaUIService().GetFormDettaglio(_condominio, esercizio);
                             if (ParentForm != null) form.MdiParent = ParentForm.MdiParent;
                             form.Show();
                         }
                         break;
                     default:
                         if (pagamento.TipoDocumentoSpesa == "Nota di accredito" && pagamento.StatoSpesa == StatoSpesaEnum.Stornata)
                         {
                             var form = getDettaglioSpesaUIService().GetFormNotaAccredito(pagamento.IdFattura, _condominio, esercizio);
                             if (ParentForm != null) form.MdiParent = ParentForm.MdiParent;
                             form.Show();
                         }
                         else
                         {
                             var form = getDettaglioSpesaUIService().GetFormDettaglio(pagamento.IdFattura);
                             if (!form.IsDisposed)
                             {
                                 if (ParentForm != null) form.MdiParent = ParentForm.MdiParent;
                                 form.Show();
                             }
                         }
                         break;
                 }
         }
     }
     catch (Exception ex)
     {
         _log.ErrorFormat("Errore inaspettato nell'apertura di una spesa - {0} - azienda:{1}", ex, Utility.GetMethodDescription(), Security.Login.Instance.CurrentLogin().Azienda);
         throw;
     }
 }