internal void Save(Mercado m)
        {
            PlaceMyBetContext context = new PlaceMyBetContext();

            context.Mercados.Add(m);
            context.SaveChanges();
        }
示例#2
0
        internal List <Mercado> Retrieve()
        {
            MySqlConnection con     = Connect();
            MySqlCommand    command = con.CreateCommand();

            command.CommandText = "select * from mercados";
            try
            {
                con.Open();
                MySqlDataReader resultado = command.ExecuteReader();

                Mercado        mercado  = null;
                List <Mercado> mercados = new List <Mercado>();
                while (resultado.Read())
                {
                    Debug.WriteLine("Recuperado: " + resultado.GetInt32(0) + " " + resultado.GetDouble(1) + " "
                                    + resultado.GetInt32(2) + " " + resultado.GetDouble(3) + " " + resultado.GetDouble(4)
                                    + " " + resultado.GetDouble(5) + " " + resultado.GetDouble(6));

                    mercado = new Mercado(resultado.GetInt32(0), resultado.GetDouble(1),
                                          resultado.GetInt32(2), resultado.GetDouble(3), resultado.GetDouble(4),
                                          resultado.GetDouble(5), resultado.GetDouble(6));
                    mercados.Add(mercado);
                }
                con.Close();
                return(mercados);
            }
            catch (Exception)
            {
                Debug.WriteLine("Ha ocurrido un error.");
                return(null);
            }
        }
示例#3
0
        // Visibilidad para que sea visto por otras clases internal - como protected.
        internal List <Mercado> Retrieve()
        {
            MySql.Data.MySqlClient.MySqlConnection conexion = Connect();
            MySql.Data.MySqlClient.MySqlCommand    cmd      = conexion.CreateCommand();
            cmd.CommandText = " select * from mercado";

            try
            {
                conexion.Open();
                MySql.Data.MySqlClient.MySqlDataReader res = cmd.ExecuteReader();

                Mercado        mercado   = null;
                List <Mercado> lMercados = new List <Mercado>();
                while (res.Read())
                {
                    Debug.WriteLine("Mercado: " + res.GetInt32(0) + " " + res.GetString(1) + " " +
                                    res.GetString(2) + " " + res.GetString(3) + " ");
                    mercado = new Mercado(res.GetInt32(0), res.GetDouble(1), res.GetDouble(2), res.GetDouble(3), res.GetDouble(4), res.GetDouble(5));
                    lMercados.Add(mercado);
                }

                conexion.Close();
                return(lMercados);
            }
            catch (MySql.Data.MySqlClient.MySqlException e)
            {
                Debug.WriteLine("Se ha producido un error de conexión.");
                return(null);
            }
        }
        internal List <Mercado> Retrieve(int id)
        {
            MySqlConnection con     = Connect();
            MySqlCommand    command = con.CreateCommand();

            command.CommandText = "select * from mercado where id = " + id;

            try
            {
                con.Open();
                MySqlDataReader res = command.ExecuteReader();

                Mercado        m        = null;
                List <Mercado> mercados = new List <Mercado>();
                while (res.Read())
                {
                    m = new Mercado(res.GetInt32(0), res.GetInt32(1), res.GetInt32(2), res.GetInt32(3), res.GetDouble(4));
                    mercados.Add(m);
                }

                con.Close();
                return(mercados);
            }
            catch (MySqlException e)
            {
                Debug.WriteLine("Error al conectar con la base de datos");
                return(null);
            }
        }
示例#5
0
        internal void save(Mercado mercado)
        {
            PlaceMyBetContext context = new PlaceMyBetContext();

            context.Add(mercado);
            context.SaveChanges();
        }
示例#6
0
        internal Mercado Mget(int id, double tipo)
        {
            // MySqlConnection con = Connect();

            //MySqlCommand command = con.CreateCommand();

            //command.CommandText = "SELECT * FROM mercado where id_evento = @Eid && overunder = @Mtipo";
            //command.Parameters.AddWithValue("@Eid", id);
            // command.Parameters.AddWithValue("@Mtipo", tipo);



            //con.Open();
            // MySqlDataReader res = command.ExecuteReader();

            Mercado m = null;

            // if (res.Read())
            // {
            //  Debug.WriteLine("Recuperado: " + res.GetInt32(0) + " " + res.GetDouble(1) + " " + res.GetDouble(2) + " " + res.GetDouble(3) + " " + res.GetDouble(4) + " " + res.GetDouble(5) + " " + res.GetInt32(6));
            //  m = new Mercado(res.GetInt32(0), res.GetDouble(1), res.GetDouble(2), res.GetDouble(3), res.GetDouble(4), res.GetDouble(5), res.GetInt32(6));

            //   }
            //return m;
            return(null);
        }
        internal List <Mercado> Retrieve()
        {
            MySqlConnection con     = Connect();
            MySqlCommand    command = con.CreateCommand();

            command.CommandText = "select * from mercado";

            try
            {
                con.Open();
                MySqlDataReader res = command.ExecuteReader();

                Mercado        a     = null;
                List <Mercado> lista = new List <Mercado>();
                while (res.Read())
                {
                    Debug.WriteLine("Recuperado: " + res.GetInt32(0) + " " + res.GetDouble(1) + " " + res.GetDouble(2) + " " + res.GetDouble(3) + " " + res.GetDouble(4) + " " + res.GetDouble(5) + " " + res.GetInt32(6));
                    a = new Mercado(res.GetInt32(0), res.GetDouble(1), res.GetDouble(2), res.GetDouble(3), res.GetDouble(4), res.GetDouble(5), res.GetInt32(6));
                    lista.Add(a);
                }

                return(lista);
            }
            catch (MySqlException e)
            {
                Debug.WriteLine("Se ha producido un error de conexion");
                return(null);
            }
        }
示例#8
0
        internal List <Mercado> RetrievebyConst(int id)
        {
            MySql.Data.MySqlClient.MySqlConnection con     = Connect();
            MySql.Data.MySqlClient.MySqlCommand    command = con.CreateCommand();
            command.CommandText = "select * from mercado where id = @A";
            command.Parameters.AddWithValue("@A", id);


            try
            {
                con.Open();
                MySql.Data.MySqlClient.MySqlDataReader res = command.ExecuteReader();

                Mercado        d        = null;
                List <Mercado> mercados = new List <Mercado>();
                while (res.Read())
                {
                    Debug.WriteLine("Recuperado: " + res.GetInt32(0) + " " + res.GetString(1) + " " + res.GetInt32(2) + " " + res.GetString(3));
                    d = new Mercado(res.GetInt32(0), res.GetDouble(1), res.GetDouble(2), res.GetDouble(3), res.GetInt32(4), res.GetInt32(5));
                    mercados.Add(d);
                }

                con.Close();
                return(mercados);
            }
            catch (MySql.Data.MySqlClient.MySqlException e)
            {
                Debug.WriteLine("Se ha producido un error de conexión");
                return(null);
            }
        }
        internal List <Mercado> RetrievebyIdMercado(int id, double tipo)
        {
            MySqlConnection con     = Connect();
            MySqlCommand    command = con.CreateCommand();

            command.CommandText = "select * from mercado where idEvento = @A and tipoMercado = @A2";
            command.Parameters.AddWithValue("@A", id);
            command.Parameters.AddWithValue("@A2", tipo);
            try
            {
                con.Open();
                MySqlDataReader res = command.ExecuteReader();

                Mercado        a     = null;
                List <Mercado> lista = new List <Mercado>();
                while (res.Read())
                {
                    Debug.WriteLine("Recuperado: " + res.GetInt32(0) + " " + res.GetDouble(1) + " " + res.GetDouble(2) + " " + res.GetDouble(3) + " " + res.GetDouble(4) + " " + res.GetDouble(5) + " " + res.GetInt32(6));
                    a = new Mercado(res.GetInt32(0), res.GetDouble(1), res.GetDouble(2), res.GetDouble(3), res.GetDouble(4), res.GetDouble(5), res.GetInt32(6));
                    lista.Add(a);
                }
                con.Close();
                return(lista);
            }
            catch (MySqlException e)
            {
                Debug.WriteLine("Se ha producido un error de conexion");
                return(null);
            }
        }
示例#10
0
 public ApuestaDTO(int usuarioId, int eventoId, string tipo, double cuota, double dinero_apostado, Mercado mercado)
 {
     UsuarioId      = usuarioId;
     EventoId       = eventoId;
     Tipo           = tipo;
     Cuota          = cuota;
     DineroApostado = dinero_apostado;
     Mercado        = mercado;
 }
示例#11
0
 public ApuestaDTO2(string UsuarioId, string tipoCuota, double cuota, double dinero, int EventoId, Mercado Mercado)
 {
     this.UsuarioId = UsuarioId;
     this.tipoCuota = tipoCuota;
     this.cuota     = cuota;
     this.dinero    = dinero;
     this.EventoId  = EventoId;
     this.Mercado   = Mercado;
 }
示例#12
0
 internal void Save(Mercado m)
 {
     using (var context = new PlaceMyBetContext())
     {
         var mercados = context.Set <Mercado>();
         mercados.Add(m);
         context.SaveChanges();
     }
 }
示例#13
0
        internal Mercado Retrieve(int id)
        {
            var mercado = new Mercado();

            using (var context = new PlaceMyBetContext())
            {
                mercado = context.Mercados
                          .Where(m => m.Id == id)
                          .FirstOrDefault();
            }

            return(mercado);
        }
示例#14
0
        internal void Save(Mercado m)
        {
            MySqlConnection con     = Connect();
            MySqlCommand    command = con.CreateCommand();

            command.CommandText = "insert into mercado(partidoId, tipo, cUnder, cOver) values ('" + m.PartidoId + "','" + m.Tipo + "','" + m.CUnder + "','" + m.COver + "');";

            try
            {
                con.Open();
                command.ExecuteNonQuery();
                con.Close();
            }
            catch (MySqlException e)
            {
                Debug.WriteLine("Error al conectar con la base de datos");
            }
        }
示例#15
0
        internal List <Mercado> Retrieve()
        {
            MySqlConnection con     = Connect();
            MySqlCommand    command = con.CreateCommand();

            command.CommandText = "select * from mercados";

            con.Open();
            MySqlDataReader res      = command.ExecuteReader();
            Mercado         m        = null;
            List <Mercado>  mercados = new List <Mercado>();

            while (res.Read())
            {
                Debug.WriteLine("Recuperado: " + res.GetInt32(0) + " " + res.GetDouble(1) + " " + res.GetDouble(2) + " " + res.GetDouble(3) + " " + res.GetDouble(4) + " " + res.GetDouble(5) + " " + res.GetInt32(6));
                m = new Mercado(res.GetInt32(0), res.GetDouble(1), res.GetDouble(2), res.GetDouble(3), res.GetDouble(4), res.GetDouble(5), res.GetInt32(6));
                mercados.Add(m);
            }
            con.Close();
            return(mercados);
        }
示例#16
0
        internal Mercado getMercado(int id, double tipo)
        {
            MySqlConnection con     = Connect();
            MySqlCommand    command = con.CreateCommand();

            command.CommandText = "SELECT * FROM Mercado where ID_Evento= @id && OverUnder=@tipo";
            command.Parameters.AddWithValue("@id", id);
            command.Parameters.AddWithValue("@tipo", tipo);

            con.Open();
            MySqlDataReader res = command.ExecuteReader();

            Mercado m = null;

            if (res.Read())
            {
                Debug.WriteLine("Recuparado: " + res.GetDouble(1) + res.GetDouble(2) + res.GetDouble(3));
                m = new Mercado(res.GetInt32(0), res.GetDouble(1), res.GetDouble(2), res.GetDouble(3), res.GetDouble(4), res.GetDouble(5), res.GetDouble(6));
            }

            return(m);
        }
示例#17
0
 internal void Save(Mercado m)
 {
     try
     {
         using (var context = new PlaceMyBetContext())
         {
             var mercado = new Mercado
             {
                 Tipo      = m.Tipo,
                 COver     = m.COver,
                 CUnder    = m.CUnder,
                 PartidoId = m.PartidoId
             };
             context.Mercados.Add(mercado);
             context.SaveChanges();
         }
     }
     catch (Exception e)
     {
         Debug.WriteLine("Error al añadir un mercado");
     }
 }
示例#18
0
        /// <summary>
        /// traer todo de los mercados de un tipo y un evento determinado
        /// </summary>

        internal List <Mercado> GiveMeMarket(double tipo, int evento)
        {
            MySqlConnection con     = Connect();
            MySqlCommand    command = con.CreateCommand();
            CultureInfo     culInfo = new System.Globalization.CultureInfo("es-ES");

            culInfo.NumberFormat.NumberDecimalSeparator          = ".";
            culInfo.NumberFormat.CurrencyDecimalSeparator        = ".";
            culInfo.NumberFormat.PercentDecimalSeparator         = ".";
            culInfo.NumberFormat.CurrencyDecimalSeparator        = ".";
            System.Threading.Thread.CurrentThread.CurrentCulture = culInfo;
            //string consulta=string.Format("SELECT * FROM mercados WHERE (OverUnder = '{0}') AND (Eventos_Identificador_evento = '{1}');",tipo,evento);
            command.CommandText = "SELECT * FROM mercados WHERE OverUnder = @O AND Eventos_Identificador_evento = @E";
            command.Parameters.AddWithValue("@O", tipo);
            command.Parameters.AddWithValue("@E", evento);
            //me quedo haciendo el try catch de la consulta
            try
            {
                con.Open();
                MySqlDataReader res      = command.ExecuteReader();
                Mercado         m        = null;
                List <Mercado>  mercados = new List <Mercado>();
                while (res.Read())
                {
                    Debug.WriteLine("Recuperado: " + res.GetInt32(0) + " " + res.GetDouble(1) + " " + res.GetDouble(2) + " " + res.GetDouble(3) + " " + res.GetDouble(4) + " " + res.GetDouble(5) + " " + res.GetInt32(6));
                    m = new Mercado(res.GetInt32(0), res.GetDouble(1), res.GetDouble(2), res.GetDouble(3), res.GetDouble(4), res.GetDouble(5), res.GetInt32(6));
                    mercados.Add(m);
                }
                con.Close();
                return(mercados);
            }
            catch (MySqlException e)
            {
                Debug.WriteLine("Se ha producido un error de conexion");
                return(null);
            }
        }
示例#19
0
        internal Mercado RetrieveM(int id)
        {
            //Class1 c = new Class1(1, "aaa", 1995, 2);
            MySql.Data.MySqlClient.MySqlConnection c   = Connect();
            MySql.Data.MySqlClient.MySqlCommand    cmd = c.CreateCommand();

            cmd.CommandText = " select * from mercado where id = @A";
            cmd.Parameters.AddWithValue("@A", id);
            c.Open();
            MySql.Data.MySqlClient.MySqlDataReader res = cmd.ExecuteReader();

            Mercado c1 = null;

            if (res.Read())
            {
                Debug.WriteLine("Recupera: " + res.GetInt32(0) + " " + res.GetString(1) + " " +
                                res.GetString(2) + " " + res.GetString(3) + " ");
                c1 = new Mercado(res.GetInt32(0), res.GetDouble(1), res.GetDouble(2), res.GetDouble(3), res.GetInt32(4), res.GetInt32(5));
            }

            c.Close();

            return(c1);
        }
示例#20
0
        internal void Save(Mercado m)
        {
            MySql.Data.MySqlClient.MySqlConnection con     = Connect();
            MySql.Data.MySqlClient.MySqlCommand    command = con.CreateCommand();

            String u = m.cUnder().ToString();
            String o = m.cOver().ToString();

            Debug.WriteLine("Register under:" + m.cuota_under);
            Debug.WriteLine("Register over:" + m.cuota_over);

            command.CommandText = "insert into mercado(constante, cuota_over, cuota_under,dinero_over,dinero_under) values ('" + m.constante + "','" + o + "','" + u + "','" + m.dinero_over + "','" + m.dinero_under + "');";
            Debug.WriteLine("Comando " + command.CommandText);
            try
            {
                con.Open();
                command.ExecuteNonQuery();
                con.Close();
            }
            catch (MySql.Data.MySqlClient.MySqlException e)
            {
                Debug.WriteLine("Se ha producido un error ");
            }
        }
 static public MercadoDTO2 ToDTO2(Mercado m)
 {
     return(new MercadoDTO2(m.TipoMercado, m.CuotaOver, m.CuotaUnder));
 }
示例#22
0
 public MercadoDTO ToDTO(Mercado m)
 {
     return(new MercadoDTO(m.CuotaUnder, m.CuotaOver, m.Tipo));
 }
示例#23
0
 internal static MercadoDTO ToDTO(Mercado m)
 {
     return(new MercadoDTO(m.OverUnder, m.CuotaOver, m.CuotaUnder));
 }
示例#24
0
 public MercadoDTO ToDTO(Mercado m)
 {
     return(new MercadoDTO(m.Tipo, m.CUnder, m.COver));
 }
示例#25
0
        internal void Save(Apuesta a)
        {
            MySqlConnection con     = Connect();
            MySqlCommand    command = con.CreateCommand();
            CultureInfo     culInfo = new System.Globalization.CultureInfo("es-ES");

            culInfo.NumberFormat.NumberDecimalSeparator = ".";

            culInfo.NumberFormat.CurrencyDecimalSeparator        = ".";
            culInfo.NumberFormat.PercentDecimalSeparator         = ".";
            culInfo.NumberFormat.CurrencyDecimalSeparator        = ".";
            System.Threading.Thread.CurrentThread.CurrentCulture = culInfo;

            command.CommandText = "select * from mercado where idMercado=" + a.idMercado + ";";
            try
            {
                con.Open();
                MySqlDataReader res = command.ExecuteReader();
                res.Read();
                Debug.WriteLine("Recuperado: " + res.GetInt32(0) + " " + res.GetDouble(1) + " " + res.GetDouble(2) + " " + res.GetDouble(3) + " " + res.GetDouble(4) + " " + res.GetDouble(5) + " " + res.GetInt32(6));
                Mercado m = new Mercado(res.GetInt32(0), res.GetDouble(1), res.GetDouble(2), res.GetDouble(3), res.GetDouble(4), res.GetDouble(5), res.GetInt32(6));

                double dineroOver  = 0;
                double dineroUnder = 0;
                if (a.tipoCuota == "over")
                {
                    dineroOver  = a.dinero + m.dineroOver;
                    dineroUnder = m.dineroUnder;
                }
                else
                {
                    dineroOver  = m.dineroOver;
                    dineroUnder = a.dinero + m.dineroUnder;
                }

                double cuotaOver = dineroOver / (dineroOver + dineroUnder);
                cuotaOver = (1 / cuotaOver) * 0.95;
                double cuotaUnder = dineroUnder / (dineroUnder + dineroOver);
                cuotaUnder = (1 / cuotaUnder) * 0.95;
                res.Close();
                con.Close();
                command.CommandText = "update mercado set cuotaOver=" + Math.Round(cuotaOver, 2) + ", cuotaUnder=" + Math.Round(cuotaUnder, 2) + ", dineroOver=" + dineroOver + ", dineroUnder=" + dineroUnder + " where idMercado=" + a.idMercado + ";";
                try
                {
                    con.Open();
                    command.ExecuteNonQuery();
                    con.Close();
                    double cuotaApuesta = 0;
                    if (a.tipoCuota == "under")
                    {
                        cuotaApuesta = cuotaUnder;
                    }
                    else
                    {
                        cuotaApuesta = cuotaOver;
                    }
                    command.CommandText = "insert into apuesta(tipoMercado, cuota, dinero, fecha, idMercado, gmail, tipoCuota) values (" + a.tipoMercado + ", " + Math.Round(cuotaApuesta, 2) + ", " + a.dinero + ", '" + DateTime.Now.ToString("yyyy-MM-dd") + "', " + a.idMercado + ", '" + a.gmail + "', '" + a.tipoCuota + "');";
                    try
                    {
                        con.Open();
                        command.ExecuteNonQuery();
                        con.Close();
                    }
                    catch (MySqlException e)
                    {
                        Debug.WriteLine("Se ha producido un error de conexion");
                    }
                }
                catch (MySqlException e)
                {
                    Debug.WriteLine("Se ha producido un error de conexion");
                }
            }
            catch (MySqlException e)
            {
                Debug.WriteLine("Se ha producido un error de conexion");
            }
        }
示例#26
0
        /***FIN EJERCICIO 2***/


        internal void Save(Apuesta a)
        {
            CultureInfo cullInfo = new System.Globalization.CultureInfo("es-ES");

            cullInfo.NumberFormat.NumberDecimalSeparator = ".";

            cullInfo.NumberFormat.CurrencyDecimalSeparator = ".";

            cullInfo.NumberFormat.PercentDecimalSeparator = ".";

            cullInfo.NumberFormat.CurrencyDecimalSeparator = ".";

            System.Threading.Thread.CurrentThread.CurrentCulture = cullInfo;

            ///*MySqlConnection con = Connect();
            //MySqlCommand command = con.CreateCommand();
            //command.CommandText = "insert into apuesta values(" + a.Id + "," + "'" + a.Tipo + "'" + "," + a.Cuota + "," + a.DineroApostado+","+a.IdMercado+"," + "'" + a.EmailUsuario + "'" + ");";
            //*/
            //try
            //{
            //    /*con.Open();
            //    command.ExecuteNonQuery();*/

            //}
            //catch (/*MySqlException e*/ InvalidCastException e)
            //{
            //    Console.WriteLine("Error " + e);
            //}
            ////con.Close();
            //if (a.Tipo.ToUpper() == "OVER")
            //{
            //    //command.CommandText = "UPDATE mercado SET dinero_apostado_over = dinero_apostado_over + " + a.DineroApostado + " WHERE id=" + a.IdMercado+";";
            //}
            //if (a.Tipo.ToUpper() == "UNDER")
            //{
            //    //command.CommandText = "UPDATE mercado SET dinero_apostado_under = dinero_apostado_under + " + a.DineroApostado + " WHERE id=" + a.IdMercado + ";";
            //}
            //try
            //{
            //    /*con.Open();
            //    command.ExecuteNonQuery();*/

            //}
            //catch (/*MySqlException e*/ InvalidCastException e)
            //{
            //    Console.WriteLine("Error " + e);
            //}
            ///*con.Close();
            //con.Open();
            //command.CommandText = "select dinero_apostado_over from mercado where id="+ a.IdMercado+"; ";
            //MySqlDataReader reader = command.ExecuteReader();
            //reader.Read();*/
            //double dino;
            ///*double dino = reader.GetDouble(0);
            //reader.Close();
            //con.Close();*/

            ///*con.Open();
            //command.CommandText = "select dinero_apostado_under from mercado where id=" + a.IdMercado + "; ";
            //reader = command.ExecuteReader();
            //reader.Read();*/
            //double dinu;
            ///*double dinu = reader.GetDouble(0);
            //reader.Close();
            //con.Close();*/
            //double po = 0;
            //double pu = 0;
            ///*double po = dino / (dino + dinu);
            //double pu = dinu / (dinu + dino);*/

            //double co = Convert.ToDouble((1 / po) * 0.95);
            //double cu = Convert.ToDouble((1 / pu) * 0.95);

            ////command.CommandText = "update mercado set cuota_over = '" + co + "' where id =" + a.IdMercado + ";";
            //try
            //{
            //    /*con.Open();
            //    command.ExecuteNonQuery();*/

            //}
            //catch (/*MySqlException e*/ InvalidCastException e)
            //{
            //    Console.WriteLine("Error " + e);
            //}
            ////con.Close();

            ////command.CommandText = "update mercado set cuota_under = '"+cu+"' where id ="+ a.IdMercado +"; ";
            //try
            //{
            //    /*con.Open();
            //    command.ExecuteNonQuery();*/

            //}
            //catch (/*MySqlException e*/ InvalidCastException e)
            //{
            //    Console.WriteLine("Error " + e);
            //}
            ////con.Close();
            double dino;
            double dinu;

            using (var context = new PlaceMyBetContext())
            {
                var apuestas = context.Set <Apuesta>();
                apuestas.Add(a);
                context.SaveChanges();
            }

            using (var context = new PlaceMyBetContext())
            {
                Mercado mercado = context.Mercados
                                  .FirstOrDefault(m => m.MercadoId == a.MercadoId);
                dino = mercado.DineroApostadoOver;
                dinu = mercado.DineroApostadoUnder;

                double po = dino / (dino + dinu);
                double pu = dinu / (dinu + dino);
                double co = Convert.ToDouble((1 / po) * 0.95);
                double cu = Convert.ToDouble((1 / pu) * 0.95);

                mercado.CuotaOver  = co;
                mercado.CuotaUnder = cu;

                if (a.Tipo.ToUpper() == "OVER")
                {
                    mercado.DineroApostadoOver = dino + a.DineroApostado;
                }
                if (a.Tipo.ToUpper() == "UNDER")
                {
                    mercado.DineroApostadoOver = dinu + a.DineroApostado;
                }

                context.SaveChanges();
            }
        }