public bool realizarTransferencia(TransferenciaModels transferencia)
 {
     try
     {
         CuentaModels origen  = transferencia.cuenta_origen;
         CuentaModels destino = transferencia.cuenta_destino;
         //Comprueba montos
         if (transferencia.monto > origen.saldo)
         {
             return(false);
         }
         else
         {
             origen.saldo  = origen.saldo - transferencia.monto;
             destino.saldo = destino.saldo + transferencia.monto;
             String queryDebito = string.Format("UPDATE dbo.CUENTA SET  saldo = {0} where id_cuenta = {1} ", origen.saldo, origen.id_cuenta);
             serviceBD.Upd_New_DelUnValorQry(queryDebito);
             String queryCredito = string.Format("UPDATE dbo.CUENTA SET  saldo = {0} where id_cuenta = {1} ", destino.saldo, destino.id_cuenta);
             serviceBD.Upd_New_DelUnValorQry(queryCredito);
             guardarTransferencia(transferencia);
             return(true);
         }
     }
     catch
     {
         return(false);
     }
 }
        public void guardarTransferencia(TransferenciaModels transferencia)
        {
            String campos  = "INSERT INTO dbo.TRANSFERENCIA(monto,fecha,id_cuenta_destino,id_cuenta_origen)";
            String format  = "MM/dd/yyyy";
            String fecha   = transferencia.fecha.ToString(format);
            String valores = string.Format(" VALUES({0},'{1}',{2},{3})", transferencia.monto, fecha, transferencia.cuenta_destino.id_cuenta, transferencia.cuenta_origen.id_cuenta);
            String query   = campos + valores;

            serviceBD.Upd_New_DelUnValorQry(query);
        }
Exemplo n.º 3
0
        public ActionResult Transferir(String cuenta, String monto)
        {
            /* Respuesta */
            String resultado = String.Empty;
            String mensaje   = String.Empty;

            /* Realizar Transferencia */
            TransferenciaModels transferencia = new TransferenciaModels();

            transferencia.monto = double.Parse(monto.Trim());
            TransferenciaService serT = new TransferenciaService();
            DateTime             hoy  = DateTime.Today;

            transferencia.fecha          = hoy;
            transferencia.cuenta_destino = serT.getCuenta(cuenta.Trim(), 0);
            transferencia.cuenta_origen  = serT.getCuenta(Session["Usuario"].ToString(), 1);
            if (transferencia.cuenta_destino != null)
            {
                if (transferencia.cuenta_origen.saldo > transferencia.monto)
                {
                    if (serT.realizarTransferencia(transferencia))
                    {
                        resultado = "1";
                        mensaje   = "Tranferencia realizada con exito";
                    }
                    else
                    {
                        resultado = "0";
                        mensaje   = "No se pudo realizar la transferencia, intente mas tarde.";
                    }
                }
                else
                {
                    resultado = "0";
                    mensaje   = "No se pudo realizar la transferenci, el monto que desea transferir es mayor al Saldo actual.";
                }
            }
            else
            {
                resultado = "0";
                mensaje   = "No se pudó realizar la transferencia, Cuenta destino no existe.";
            }
            return(Json(new { resultado = resultado, msj = mensaje }));
        }
Exemplo n.º 4
0
        public void realizarTransferencia()
        {
            //Arrange
            TransferenciaModels transferencia = new TransferenciaModels();

            transferencia.monto = 100.00;
            TransferenciaService serT = new TransferenciaService();
            DateTime             hoy  = DateTime.Today;

            transferencia.fecha          = hoy;
            transferencia.cuenta_destino = serT.getCuenta("500", 0);
            transferencia.cuenta_origen  = serT.getCuenta("2", 1);
            bool esperado = true;

            //Acts
            bool resultado = serT.realizarTransferencia(transferencia);

            //Asert
            Assert.AreEqual(esperado, resultado);
        }
Exemplo n.º 5
0
        public static TransferenciaModels transferencia(TransferenciaModels t)
        {
            var configuracion = Config_StringDB.GetConfiguration();

            using (SqlConnection sql = new SqlConnection(configuracion.GetSection("ConnectionStrings").GetSection("DefaultConnection11").Value))

            {
                sql.Open();

                using (SqlCommand cmd = new SqlCommand("sp_Transferencias", sql))
                {
                    cmd.CommandType = System.Data.CommandType.StoredProcedure;
                    cmd.Parameters.Add(new SqlParameter("@cuenta1", t.nrocuenta1));
                    cmd.Parameters.Add(new SqlParameter("@cuenta2", t.nrocuenta2));
                    cmd.Parameters.Add(new SqlParameter("@monto", t.monto));

                    cmd.ExecuteNonQuery();
                }
                sql.Close();
                return(t);
            }
        }
 public TransferenciaModels Post([FromBody] TransferenciaModels t)
 {
     return(TransferenciaDomain.transferecia(t));
 }
Exemplo n.º 7
0
 public static TransferenciaModels transferencia(TransferenciaModels t)
 {
     return(TransferenciaDAL.transferencia(t));
 }