Exemple #1
0
        public async Task <TransferenciaModel> Buscar(int id)
        {
            TransferenciaModel resultado = new TransferenciaModel();

            var transferencia = await _context.Transferencias.FirstOrDefaultAsync(t => t.Id == id && !t.Removida);

            return(transferencia is null ? null : new TransferenciaModel
            {
                Id = transferencia.Id,
                Data = transferencia.Data,
                Status = transferencia.Status,
                Tipo = transferencia.Tipo,
                Valor = transferencia.Valor,
                Beneficiario = new DadosTransacaoModel(transferencia.Beneficiario.Nome, transferencia.Beneficiario.Banco, transferencia.Beneficiario.Agencia, transferencia.Beneficiario.Conta),
                Pagador = new DadosTransacaoModel(transferencia.Pagador.Nome, transferencia.Pagador.Banco, transferencia.Pagador.Agencia, transferencia.Pagador.Conta),
                Usuario = new UsuarioModel(transferencia.Usuario.Id, transferencia.Usuario.Nome, transferencia.Usuario.Cnpj)
            });
        }
Exemple #2
0
        public void PaymnentTransferenciaItau()
        {
            var TransferenciaItauData = new TransferenciaModel()
            {
                Titular = "Meu titulo",
                Agencia = "42424",
                Conta   = "11201",
                Digito  = "1",
            };

            _product.AddProductCartPay();
            _cart.ConfirmPaymentCart();
            _transferencia.SelectTransferencia();
            _transferencia.AddAccount();
            _transferencia.TransferenciaItauData(TransferenciaItauData);
            _transferencia.ConfirmPaymentTransferencia();

            Assert.AreEqual("* Essa conta bancária já foi adicionada anteriormente.", _transferencia.MessagePaymentException());
        }
Exemple #3
0
        public ActionResult Aceptar([Bind(Include = "NRO_CUENTA_ORIGEN,SALDO_ORIGEN, NRO_CUENTA_DESTINO, SALDO_DESTINO")] TransferenciaModel transferenciaModel, string submit)
        {
            if (ModelState.IsValid)
            {
                CUENTA origen = db.CUENTAs.Find(transferenciaModel.NRO_CUENTA_DESTINO);
                if (origen.SALDO != null)
                {
                    origen.SALDO = origen.SALDO.Value - transferenciaModel.SALDO_DESTINO;
                }
                db.Entry(origen).State = EntityState.Modified;

                var destino = db.CUENTAs.Find(transferenciaModel.NRO_CUENTA_ORIGEN);
                destino.SALDO           = destino.SALDO.Value + transferenciaModel.SALDO_ORIGEN;
                db.Entry(destino).State = EntityState.Modified;
                db.SaveChanges();
            }

            return(RedirectToAction("Index"));
        }
Exemple #4
0
        public void PaymnentTransferenciaItau()
        {
            var TransferenciaItauData = new TransferenciaModel()
            {
                Titular = "Meu titulo",
                Agencia = "42424",
                Conta   = "11201",
                Digito  = "1",
            };

            _product.AddProductCartPay();
            _cart.ConfirmPaymentCart();
            _transferencia.SelectTransferencia();
            _transferencia.TransferenciaItauData(TransferenciaItauData);
            _dataAccess.InputDataFirstAccess();
            _transferencia.ConfirmPaymentTransferencia();

            Assert.AreEqual("Pedido Recebido!", _transferencia.MessagePaymentSuccess());
        }
Exemple #5
0
 public void TransferenciaSantanderData(TransferenciaModel bank)
 {
     _browser.FindCss("div.col-xl-6.pagamento > div.tabs > div > div > div > form > div > ul > li:nth-child(3)").Click(); //selecionar banco
     _browser.FindCss("input[placeholder='CPF']").SendKeys(bank.Cpf);
 }
Exemple #6
0
        public ActionResult Index(TransferenciaModel model, string returnUrl)
        {
            if (!ModelState.IsValid)
            {
                Console.WriteLine(model.AccountNumber);
                return(View(model));
            }
            string cuenta_pm = model.AccountNumber;
            string usuario   = User.Identity.Name;

            if (ExisteDestino(cuenta_pm) && HayFondos(usuario, Convert.ToDouble(model.Balance)))
            {
                SqlConnection sqlCon = new SqlConnection("Data Source=(LocalDb)\\MSSQLLocalDB;AttachDbFilename=C:\\Users\\C45ASP4311F\\source\\repos\\AYD1_Practica3\\AYD1_Practica3\\App_Data\\aspnet-AYD1_Practica3-20180410094646.mdf;Initial Catalog=aspnet-AYD1_Practica3-20180410094646;Integrated Security=True");

                //Monto de usuario logueado
                SqlCommand sqlCmd = new SqlCommand
                {
                    CommandText = "select Balance from AspNetUsers where UserName='******';",
                    Connection  = sqlCon
                };

                //Cuenta de usuario logueado
                SqlCommand sqlCmd2 = new SqlCommand
                {
                    CommandText = "select AccountNumber from AspNetUsers where UserName='******';",
                    Connection  = sqlCon
                };

                //Monto de cuenta destino
                SqlCommand sqlCmd3 = new SqlCommand
                {
                    CommandText = "select Balance from AspNetUsers where AccountNumber='" + model.AccountNumber + "';",
                    Connection  = sqlCon
                };

                string consultadestino = "0";
                string consultaCuenta  = "0";
                string consultaMonto   = "0";

                //este mensaje nunca deberia de imprimirse
                ViewBag.Message = String.Format("Aun no he realizado la transferencia\\n{0}", DateTime.Now.ToString());
                //lo puse para probar porque la estaba cagando en algo
                try
                {
                    sqlCon.Open();
                    consultaCuenta  = sqlCmd2.ExecuteScalar().ToString();
                    consultaMonto   = sqlCmd.ExecuteScalar().ToString();
                    consultadestino = sqlCmd3.ExecuteScalar().ToString();

                    double monto = Convert.ToDouble(model.Balance);
                    string monto_usuario_logueado = Convert.ToString(Convert.ToDouble(consultaMonto) - monto);
                    string monto_destino          = Convert.ToString(Convert.ToDouble(consultadestino) + monto);

                    //Actualiza monto actual de usuario logueado
                    SqlCommand usuario_origen = new SqlCommand
                    {
                        CommandText = "UPDATE AspNetUsers SET Balance='" + monto_usuario_logueado + "' WHERE UserName='******';",
                        Connection  = sqlCon
                    };

                    usuario_origen.ExecuteNonQuery();

                    //Actualiza monto actual de usuario destino
                    SqlCommand usuario_destino = new SqlCommand
                    {
                        CommandText = "UPDATE AspNetUsers SET Balance='" + monto_destino + "' WHERE AccountNumber='" + model.AccountNumber + "';",
                        Connection  = sqlCon
                    };
                    usuario_destino.ExecuteNonQuery();

                    ViewBag.Message = String.Format("Transferencia realizada con exito\\n Fecha y hora: {0}", DateTime.Now.ToString());
                }
                catch
                {
                    ViewBag.Message = String.Format("La estoy cagando\\n{0}", DateTime.Now.ToString());
                }
                finally
                {
                    if (sqlCon.State == ConnectionState.Open)
                    {
                        sqlCon.Close();
                    }
                }
                return(View("EndTransferencia"));
            }
            else
            {
                ModelState.AddModelError("", "Numero de cuenta no existe.");
                return(View(model));
            }
        }
        public ActionResult Transferencia(TransferenciaModel transferModel)
        {
            if (ModelState.IsValid)
            {
                using (var scope = new TransactionScope())
                {
                    try
                    {
                        if (transferModel.dValor <= 0)
                        {
                            throw new InvalidOperationException("Valor deve ser maior que 0 (zero)!");
                        }
                        ExpenseIncome expIncOrigem = new ExpenseIncome();
                        expIncOrigem.dData           = transferModel.dData;
                        expIncOrigem.dDataBase       = transferModel.dData;
                        expIncOrigem.dValor          = transferModel.dValor;
                        expIncOrigem.sCategoryID     = transferModel.sCategoryID;
                        expIncOrigem.CategoryType    = categoryBusiness.Get.FirstOrDefault(c => c.sID == transferModel.sCategoryID).CategoryType;
                        expIncOrigem.sAccountID      = transferModel.sAccountOriginID;
                        expIncOrigem.sDescricao      = transferModel.sDescricao;
                        expIncOrigem.sUserID         = AuthProvider.UserAntenticated.sID;
                        expIncOrigem.bTransferOrigem = true;
                        expenseIncomeBusiness.Insert(expIncOrigem);

                        ExpenseIncome expIncDestino = new ExpenseIncome();
                        expIncDestino.dData           = transferModel.dData;
                        expIncDestino.dDataBase       = transferModel.dData;
                        expIncDestino.dValor          = transferModel.dValor;
                        expIncDestino.sCategoryID     = transferModel.sCategoryID;
                        expIncDestino.CategoryType    = categoryBusiness.Get.FirstOrDefault(c => c.sID == transferModel.sCategoryID).CategoryType;
                        expIncDestino.sAccountID      = transferModel.sAccountDestinyID;
                        expIncDestino.sDescricao      = transferModel.sDescricao;
                        expIncDestino.sUserID         = AuthProvider.UserAntenticated.sID;
                        expIncDestino.bTransferOrigem = false;
                        expenseIncomeBusiness.Insert(expIncDestino);

                        ExpenseIncomeReference expIncRef = new ExpenseIncomeReference();
                        expIncRef.sExpenseIncomeOriginID  = expIncOrigem.sID;
                        expIncRef.sExpenseIncomeDestinyID = expIncDestino.sID;
                        expenseIncomeReferenceBusiness.Insert(expIncRef);

                        scope.Complete();
                        return(Json(new
                        {
                            Sucesso = true,
                            Mensagem = "Transferência Gerado com Sucesso!",
                            Titulo = "Sucesso",
                            Url = "/Home/PaginaInicial"
                        }));
                    }
                    catch (DbEntityValidationException dbEx)
                    {
                        string sErro = string.Empty;
                        foreach (var validationErrors in dbEx.EntityValidationErrors)
                        {
                            foreach (var validationError in validationErrors.ValidationErrors)
                            {
                                sErro += string.Format(" Property: {0} Error: {1} |", validationError.PropertyName, validationError.ErrorMessage);
                            }
                        }
                        scope.Dispose();
                        return(Json(new
                        {
                            Sucesso = false,
                            Mensagem = sErro,
                            Titulo = "Erro"
                        }));
                    }
                    catch (Exception ex)
                    {
                        string sErro = ex.Message;
                        if (ex.InnerException != null)
                        {
                            sErro += " - " + ex.InnerException.Message;
                        }
                        scope.Dispose();
                        return(Json(new
                        {
                            Sucesso = false,
                            Mensagem = sErro,
                            Titulo = "Erro"
                        }));
                    }
                }
            }
            else
            {
                transferModel.listaCategorias = getComboCategorias(new List <CategoryType>()
                {
                    CategoryType.Transferencia
                });
                transferModel.listaContas = getComboContas(false, true);
                return(View(transferModel));
            }
        }