public string DesativarDadosPagamento(int idDadosPagamento)
        {
            try
            {
                int qtdePagamentos = _pagamentoService.GetAll().Where(p => p.DadosPagamentoId == idDadosPagamento && p.DataEfetivado == null && p.Aprovado == true).Count();

                if (qtdePagamentos > 0)
                {
                    return(JsonConvert.SerializeObject(new { code = 400, message = "Existem locações ativas no momento, que utilizarão este cartão como meio de pagamento, portanto você não pode desativa-lo." }));
                }
                else
                {
                    _dadosPagamentoService.DisableCard(idDadosPagamento);
                    return(JsonConvert.SerializeObject(new { code = 200, message = "Dados de pagamento desativado com sucesso." }));
                }
            }
            catch
            {
                return(JsonConvert.SerializeObject(new { code = 400, message = "Erro ao desativar o cartão. Por favor, tente novamente." }));
            }
        }
Exemple #2
0
        public string ConsultarPagamentos()
        {
            try
            {
                /*List<Pagamento> pgtos = new List<Pagamento>();
                 * var pagamentos = _pagamentoService.GetAll().Where(p => p.DataPagamento <= DateTime.Now && p.DataEfetivado == null && p.Aprovado == true);
                 *
                 * foreach(var p in pagamentos)
                 * {
                 *  p.Locacao = _locacaoService.GetById(p.LocacaoId);
                 *
                 *  if(p.Locacao.ModalidadeLocacao == 1 || p.Locacao.ModalidadeLocacao == 2)
                 *  {
                 *      if(p.Locacao.Ativo == false)
                 *      {
                 *          pgtos.Add(p);
                 *      }
                 *  }
                 *  else if(p.Locacao.ModalidadeLocacao == 3 && p.Locacao.DiaHoraFim == null)
                 *  {
                 *      var pagamento = new Pagamento();
                 *
                 *      pagamento.DadosPagamentoId = p.DadosPagamentoId;
                 *      pagamento.LocacaoId = p.LocacaoId;
                 *      pagamento.Valor = p.Valor;
                 *      pagamento.Aprovado = true;
                 *
                 *      pagamento.DataPagamento = p.DataPagamento.AddMonths(1);
                 *      _pagamentoService.Add(pagamento);
                 *
                 *      pgtos.Add(p);
                 *  }
                 *  else
                 *  {
                 *      pgtos.Add(p);
                 *  }
                 * }*/
                var pgtos      = new Pagamento();
                var pagamentos = _pagamentoService.GetAll().Where(p => p.DataPagamento <= DateTime.Now && p.DataEfetivado == null && p.Aprovado == true).FirstOrDefault();

                if (pagamentos != null)
                {
                    pagamentos.Locacao = _locacaoService.GetById(pagamentos.LocacaoId);

                    if (pagamentos.Locacao.ModalidadeLocacao == 1 || pagamentos.Locacao.ModalidadeLocacao == 2)
                    {
                        if (pagamentos.Locacao.Ativo == false)
                        {
                            pgtos = pagamentos;
                        }
                    }
                    else if (pagamentos.Locacao.ModalidadeLocacao == 3 && pagamentos.Locacao.DiaHoraFim == null)
                    {
                        var pagamento = new Pagamento();

                        pagamento.DadosPagamentoId = pagamentos.DadosPagamentoId;
                        pagamento.LocacaoId        = pagamentos.LocacaoId;
                        pagamento.Valor            = pagamentos.Valor;
                        pagamento.Aprovado         = true;

                        pagamento.DataPagamento = pagamentos.DataPagamento.AddMonths(1);
                        _pagamentoService.Add(pagamento);

                        pgtos = pagamentos;
                    }
                    else
                    {
                        pgtos = pagamentos;
                    }
                }

                var pagamentoViewModel = Mapper.Map <Pagamento, PagamentoViewModel>(pgtos);
                return(JsonConvert.SerializeObject(new { code = 200, pgto = pagamentoViewModel }));
            }
            catch
            {
                return(JsonConvert.SerializeObject(new { code = 400, message = "Erro ao solicitar os pagamentos. Por favor, tente novamente." }));
            }
        }