コード例 #1
0
        // PUT: API/TModel/5
        public virtual IHttpActionResult Put(int id, CartaoCreditoViewModel viewModel)
        {
            var model = Mapper.Map <CartaoCreditoViewModel, Model.CartaoCredito>(viewModel);

            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            if (id != viewModel.Id)
            {
                return(BadRequest());
            }

            try
            {
                this.business.Update(model);
            }
            catch (DbUpdateConcurrencyException)
            {
                if (this.business.Exists(id))
                {
                    throw;
                }

                return(NotFound());
            }

            return(StatusCode(HttpStatusCode.NoContent));
        }
コード例 #2
0
        public async Task <IActionResult> CadastrarCartaoCredito([FromBody, SwaggerParameter("Informações de cadastro do cartão.", Required = true)] CartaoCreditoViewModel model)
        {
            var entrada = new CartaoCreditoEntrada(
                base.ObterIdUsuarioClaim(),
                model.Nome,
                model.ValorLimite.Value,
                model.DiaVencimentoFatura.Value);

            return(new ApiResult(await _cartaoCreditoServico.CadastrarCartaoCredito(entrada)));
        }
コード例 #3
0
        public HttpResponseMessage ExisteCartaoCadastradoMembro(HttpRequestMessage request)
        {
            return(CreateHttpResponse(request, () =>
            {
                HttpResponseMessage response = null;
                var cartaoBandeiraVM = new List <CartaoBandeiraViewModel>();
                var cartaoCredito = new CartaoCreditoViewModel();

                var usuario = _usuarioRep.GetSingle(int.Parse(HttpContext.Current.User.Identity.GetUserId()));

                var membro = _membroRep.GetAll().FirstOrDefault(x => x.PessoaId.Equals(usuario.PessoaId));

                var _cartao = _cartaoCreditoRep.FirstOrDefault(x => x.MembroId == membro.Id && x.Padrao && x.Ativo);

                if (_cartao != null)
                {
                    cartaoCredito = new CartaoCreditoViewModel
                    {
                        Id = _cartao.Id,
                        Nome = _cartao.Nome,
                        Numero = _cartao.Numero,
                        CartaoBandeiraId = _cartao.CartaoBandeiraId,
                        DataVencimento = _cartao.DataVencimento.ToString("MM/yyyy"),
                        Padrao = _cartao.Padrao,
                        Ativo = _cartao.Ativo
                    };
                }
                else
                {
                    cartaoCredito = null;
                }


                Object planoIdFormaPagtoId = new
                {
                    IdPano = membro.PlanoMensalidadeId,
                    TipoPagamentoId = membro.Mensalidades != null && membro.Mensalidades.Count > 0 ?
                                      membro.Mensalidades.OrderByDescending(x => x.Id).FirstOrDefault().Detalhes.FirstOrDefault().Tipo : 0,
                    MensalidadePaga = membro.Mensalidades != null && membro.Mensalidades.Count > 0 ?
                                      membro.Mensalidades.OrderByDescending(x => x.Id)
                                      .FirstOrDefault(x => x.Status == StatusMensalidade.Recebido ||
                                                      x.Status == StatusMensalidade.AguardandoPagamento) != null : false
                };

                response = request.CreateResponse(HttpStatusCode.OK, new { cartao = cartaoCredito, planoMembro = planoIdFormaPagtoId });

                return response;
            }));
        }
コード例 #4
0
        public CartaoCreditoViewModel ValidVM()
        {
            Faker <CartaoCreditoViewModel> faker = new Faker <CartaoCreditoViewModel>();

            faker.CustomInstantiator(x => new CartaoCreditoViewModel {
                NomeTitular         = x.Person.FullName,
                NumeroCartaoCredito = x.Finance.CreditCardNumber(),
                CVV      = x.Finance.CreditCardCvv(),
                Validade = "02/25"
            });

            CartaoCreditoViewModel cardVM = faker.Generate();

            return(cardVM);
        }
コード例 #5
0
        // POST: API/TModel
        public IHttpActionResult Post(CartaoCreditoViewModel viewModel)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            var model = Mapper.Map <CartaoCreditoViewModel, Model.CartaoCredito>(viewModel);

            this.business.Save(model);

            return(CreatedAtRoute("DefaultApi", new { id = model.Id }, new {
                Id = model.Id,
                Numero = viewModel.Numero
            }));
        }
コード例 #6
0
        public ActionResult Create(CadastroPFViewModel p_ClienteViewModel, FormCollection p_FormCollection)
        {
            try
            {//ClienteID é obrigatório
                if (ModelState.IsValid)
                {
                    p_ClienteViewModel.Cliente.GeneroID         = Convert.ToInt32(p_FormCollection["GeneroID"]);
                    p_ClienteViewModel.Cliente.ComoSerTratadoID = Convert.ToInt32(p_FormCollection["ComoSerTratadoID"]);
                    p_ClienteViewModel.Cliente.ComplementoID    = Convert.ToInt32(p_FormCollection["ComplementoID"]);
                    p_ClienteViewModel.Cliente.CidadeID         = Convert.ToInt32(p_FormCollection["CidadeID"]);
                    p_ClienteViewModel.Cliente.EstadoID         = Convert.ToInt32(p_FormCollection["EstadoID"]);

                    ClienteViewModel            v_ClienteViewModel   = p_ClienteViewModel.Cliente;
                    CartaoCreditoViewModel      v_CartaoViewModel    = p_ClienteViewModel.CartaoCredito;
                    EnderecoInformacaoViewModel v_EndeerecoViewModel = p_ClienteViewModel.EnderecoInformacao;

                    v_ClienteViewModel.DataCadastro = DateTime.Now;


                    Cliente            v_Cliente       = Mapper.Map <ClienteViewModel, Cliente>(v_ClienteViewModel);
                    CartaoCredito      v_CartaoCredito = Mapper.Map <CartaoCreditoViewModel, CartaoCredito>(v_CartaoViewModel);
                    EnderecoInformacao v_Endereco      = Mapper.Map <EnderecoInformacaoViewModel, EnderecoInformacao>(v_EndeerecoViewModel);

                    _ClienteAppService.Add(v_Cliente);

                    v_CartaoCredito.ClienteID = v_Cliente.ClienteID;
                    _CartaoCreditoAppService.Add(v_CartaoCredito);

                    v_Endereco.ClienteID = v_Cliente.ClienteID;
                    _EnderecoAppService.Add(v_Endereco);

                    return(RedirectToAction("Index"));
                }

                ViewBag.GeneroID         = new SelectList(Util.Util.ListGenero(), "Value", "Text", p_ClienteViewModel.Cliente.GeneroID);
                ViewBag.ComoSerTratadoID = new SelectList(Util.Util.ListComoTratar(), "Value", "Text", p_ClienteViewModel.Cliente.ComoSerTratadoID);
                ViewBag.ComplementoID    = new SelectList(Util.Util.ListComplemento(), "Value", "Text", p_ClienteViewModel.Cliente.ComplementoID);
                ViewBag.CidadeID         = new SelectList(_CidadeAppService.GetAll(), "CidadeID", "Descricao", p_ClienteViewModel.Cliente.CidadeID);
                ViewBag.EstadoID         = new SelectList(_EstadoAppService.GetAll(), "EstadoID", "Descricao", p_ClienteViewModel.Cliente.EstadoID);

                return(View(p_ClienteViewModel));
            }
            catch (Exception ex)
            {
                return(View());
            }
        }
        public ActionResult Index(CartaoCreditoViewModel cartaoCredito)
        {
            if (!ModelState.IsValid)
            {
                return(View(cartaoCredito));
            }

            var cartaoDeCredito = new CartaoCredito(cartaoCredito.Numero);

            cartaoCredito.TipoCartao = cartaoDeCredito.TipoCartao;
            if (cartaoDeCredito.EhValido())
            {
                return(PartialView("_Valido", cartaoCredito));
            }

            return(PartialView("_Invalido", cartaoCredito));
        }
コード例 #8
0
        public HttpResponseMessage InserirCartaoCredito(HttpRequestMessage request, CartaoCreditoViewModel cartaoCreditoViewModel)
        {
            return(CreateHttpResponse(request, () =>
            {
                HttpResponseMessage response = null;
                var cartao = new CartaoCredito();

                if (!ModelState.IsValid)
                {
                    response = request.CreateResponse(HttpStatusCode.BadRequest,
                                                      ModelState.Keys.SelectMany(k => ModelState[k].Errors)
                                                      .Select(m => m.ErrorMessage).ToArray());
                }
                else
                {
                    var usuario = _usuarioRep.GetSingle(int.Parse(HttpContext.Current.User.Identity.GetUserId()));
                    var membro = this._membroRep.GetAll().FirstOrDefault(x => x.PessoaId.Equals(usuario.PessoaId));


                    if (cartaoCreditoViewModel.Padrao)
                    {
                        var _param = new[]
                        {
                            new SqlParameter {
                                ParameterName = "@PADRAO", SqlDbType = System.Data.SqlDbType.Bit, Value = 0
                            },
                            new SqlParameter {
                                ParameterName = "@PADRAO1", SqlDbType = System.Data.SqlDbType.Bit, Value = 1
                            }
                        };

                        var sql = "UPDATE CartaoCredito set Padrao = @PADRAO WHERE Padrao = @PADRAO1";
                        _cartaoCreditoRep.ExecuteWithStoreProcedure(sql, _param);
                        _unitOfWork.Commit();
                    }

                    if (cartaoCreditoViewModel.Id != null && cartaoCreditoViewModel.Id > 0)
                    {
                        cartao = _cartaoCreditoRep.FirstOrDefault(x => x.Id == cartaoCreditoViewModel.Id);


                        cartao.Nome = cartaoCreditoViewModel.Nome;
                        cartao.Numero = cartaoCreditoViewModel.Numero;
                        cartao.DataVencimento = Convert.ToDateTime(cartaoCreditoViewModel.DataVencimento);
                        cartao.Cvc = $"{usuario.Chave}|{_encryptionService.EncryptCvv(cartaoCreditoViewModel.Cvc)}";
                        cartao.TokenCartaoGerenciaNet = string.Empty;
                        cartao.CartaoBandeiraId = cartaoCreditoViewModel.CartaoBandeiraId;
                        cartao.Padrao = cartaoCreditoViewModel.Padrao;
                        cartao.MembroId = membro.Id;
                        cartao.Ativo = true;
                        cartao.UsuarioAlteracaoId = usuario.Id;
                        cartao.UsuarioAlteracao = usuario;
                        cartao.DtAlteracao = DateTime.Now;


                        _cartaoCreditoRep.Edit(cartao);
                        _unitOfWork.Commit();
                    }
                    else
                    {
                        cartao = new CartaoCredito
                        {
                            Nome = cartaoCreditoViewModel.Nome,
                            Numero = cartaoCreditoViewModel.Numero,
                            DataVencimento = Convert.ToDateTime(cartaoCreditoViewModel.DataVencimento),
                            CartaoBandeiraId = cartaoCreditoViewModel.CartaoBandeiraId,
                            Cvc = $"{usuario.Chave}|{_encryptionService.EncryptCvv(cartaoCreditoViewModel.Cvc)}",
                            TokenCartaoGerenciaNet = string.Empty,
                            Padrao = true,
                            MembroId = membro.Id,
                            Ativo = true,
                            UsuarioCriacaoId = usuario.Id,
                            UsuarioCriacao = usuario,
                            DtCriacao = DateTime.Now,
                        };

                        _cartaoCreditoRep.Add(cartao);
                        _unitOfWork.Commit();

                        cartaoCreditoViewModel.Id = cartao.Id;
                    }

                    response = request.CreateResponse(HttpStatusCode.Created, cartaoCreditoViewModel);
                }

                return response;
            }));
        }
コード例 #9
0
 public MainPage()
 {
     InitializeComponent();
     BindingContext = new CartaoCreditoViewModel();
 }
コード例 #10
0
        public HttpResponseMessage AtualizarPlano(HttpRequestMessage request, int IdPano, bool TrocarPlanoMembro, int TipoPagamentoId, CartaoCreditoViewModel cartaoCreditoViewModel)
        {
            return(CreateHttpResponse(request, () =>
            {
                HttpResponseMessage response;

                if (!ModelState.IsValid)
                {
                    response = request.CreateResponse(HttpStatusCode.BadRequest,
                                                      ModelState.Keys.SelectMany(k => ModelState[k].Errors)
                                                      .Select(m => m.ErrorMessage).ToArray());
                }
                else
                {
                    var dtTrocaPlano = new DateTime();
                    var mensalidadeCriada = false;
                    var usuario = _usuarioRep.GetSingle(int.Parse(HttpContext.Current.User.Identity.GetUserId()));
                    Membro membro = _membroRep.FindBy(m => m.Pessoa.Id == usuario.Pessoa.Id).FirstOrDefault();
                    var _cartao = _cartaoCreditoRep.FirstOrDefault(x => x.MembroId == membro.Id);

                    var dtVencimento = new DateTime();
                    var dataHoje = DateTime.Now;
                    var dataFimGratuidade = membro.DataFimPeriodoGratuito ?? membro.DtCriacao;
                    var tipoPagamento = (TipoMovimentacao)TipoPagamentoId;

                    if (tipoPagamento == TipoMovimentacao.Boleto)
                    {
                        membro.PlanoMensalidadeId = IdPano;
                        dtVencimento = dataHoje.AddDays(1);
                    }
                    else
                    {
                        membro.PlanoMensalidadeId = IdPano;
                        _cartao.TokenCartaoGerenciaNet = cartaoCreditoViewModel.TokenCartaoGerenciaNet;
                        dtVencimento = DateTime.Now;

                        _cartaoCreditoRep.Edit(_cartao);
                    }

                    _membroRep.Edit(membro);

                    _unitOfWork.Commit();

                    if (!TrocarPlanoMembro)
                    {
                        mensalidadeCriada = _pagamentoService.GerarMensalidadeMembro(usuario, membro, dtVencimento, tipoPagamento);
                    }
                    else
                    {
                        dtTrocaPlano = _pagamentoService.TrocaPlano(usuario, membro, dtVencimento, tipoPagamento);
                        mensalidadeCriada = true;
                    }


                    response = request.CreateResponse(HttpStatusCode.OK, new { criouMensalidade = mensalidadeCriada, dataTrocaPlano = dtTrocaPlano.ToString("dd/MM/yyyy") });
                }

                return response;
            }));
        }