public int CrearContendor(Contendor contendor)
        {
            if (string.IsNullOrEmpty(contendor.Nombre) ||
                string.IsNullOrEmpty(contendor.Texto) ||
                string.IsNullOrEmpty(contendor.RutaImagen))
                throw new FaultException("Información básica del contendor incompleta");

            if (!contendor.RutaImagen.ToLower().EndsWith(".jpg") &&
                !contendor.RutaImagen.ToLower().EndsWith(".gif") &&
                !contendor.RutaImagen.ToLower().EndsWith(".png") &&
                !contendor.RutaImagen.ToLower().EndsWith(".bmp") &&
                !contendor.RutaImagen.ToLower().EndsWith(".jpeg"))
                throw new FaultException("Formato de archivo inválido");

            using (var proxy = new WSTorneo.TorneoServiceClient())
            {
                var contendores = contendorDA.ListarContendores(contendor.IDTorneo);
                var torneo = proxy.ObtenerTorneoPorID(contendor.IDTorneo);

                if (contendores.Count == torneo.NumeroContendores)
                {
                    throw new FaultException("Límite de contendores ha exedido");
                }

                return contendorDA.CrearContendor(contendor);
            }
        }
 public Torneo GetTorneo(int id)
 {
     using (var proxy = new WSTorneo.TorneoServiceClient())
     {
         return proxy.ObtenerTorneoPorID(id);
     }
 }
Example #3
0
        public void CrearTorneo()
        {
            using (var proxyUsuario = new WSUsuario.UsuarioServiceClient())
            {
                var usuario = proxyUsuario.ObtenerUsuarioPorCorreo("*****@*****.**");

                using (var proxy = new WSTorneo.TorneoServiceClient())
                {
                    var idTorneo = proxy.CrearTorneo(usuario.ID, new Torneo
                    {
                        Nombre = "Mejor alumno del curso DSD",
                        Enlace = "http://localhost/WhoIsBetter/index.html#/Torneos/mejoralumnodelcursodsd",
                        IDEstado = 1,
                        FechaInicio = DateTime.Today,
                        FechaFin = DateTime.Today.AddDays(2),
                        NumeroContendores = 16,
                        NumeroParticipantes = 3
                    });

                    var torneo = proxy.ObtenerTorneoPorID(idTorneo);

                    Assert.AreEqual("Mejor alumno del curso DSD", torneo.Nombre);
                    Assert.AreEqual(16, torneo.NumeroContendores);
                    Assert.AreEqual(3, torneo.NumeroParticipantes);
                }
            }
        }
 public void DeleteTorneo(int id)
 {
     using (var proxy = new WSTorneo.TorneoServiceClient())
     {
         proxy.EliminarTorneo(id);
     }
 }
        public int InscribirParticipante(int idTorneo, Participante participante)
        {
            if (string.IsNullOrEmpty(participante.Correo) || string.IsNullOrEmpty(participante.Nombre))
                throw new FaultException("Información básica del participante incompleta");

            if (!Validador.EsCorreo(participante.Correo))
                throw new FaultException("Formato de correo incorrecto");

            using (var proxy = new WSTorneo.TorneoServiceClient())
            {
                var torneo = proxy.ObtenerTorneoPorID(idTorneo);

                if (torneo.IDEstado == 3 || torneo.IDEstado == 4)
                    throw new FaultException("Torneo ya no se encuentra vigente");

                var entity = participanteDA.ObtenerParticipante(idTorneo, participante.Correo);

                if (entity != null) return entity.ID;

                torneo.NumeroRealParticipantes++;

                if (torneo.NumeroRealParticipantes >= torneo.NumeroParticipantes)
                    throw new FaultException("Torneo llegó al límite de participantes");

                var idParticipante = participanteDA.InscribirParticipante(idTorneo, participante);

                return idParticipante;
            }
        }
        public IHttpActionResult PutTorneo(int id, Torneo torneo)
        {
            try
            {
                torneo.ID = id;

                using (var proxy = new WSTorneo.TorneoServiceClient())
                {
                    proxy.ActualizarTorneo(torneo);

                    return Ok(new
                    {
                        success = true
                    });
                }
            }
            catch (Exception)
            {
                return Ok(new
                {
                    success = false,
                    message = "No se ha podido grabar el torneo, vuelva a intentarlo más tarde."
                });
            }
        }
 public ICollection<Torneo> GetAllTorneosPorUsuario(int idUsuario)
 {
     using (var proxy = new WSTorneo.TorneoServiceClient())
     {
         return proxy.ListarTorneos(idUsuario) ?? new List<Torneo>();
     }
 }
        public Torneo GetTorneo(string enlace)
        {
            var encoding = Encoding.GetEncoding("iso-8859-1");
            enlace = encoding.GetString(Convert.FromBase64String(enlace));
            enlace = HttpContext.Current.Server.UrlDecode(enlace);

            using (var proxy = new WSTorneo.TorneoServiceClient())
            {
                return proxy.ObtenerTorneoPorEnlace(enlace);
            }
        }
Example #9
0
        public void ObtenerTorneo()
        {
            using (var proxy = new WSTorneo.TorneoServiceClient())
            {
                var torneo = proxy.ObtenerTorneoPorEnlace("http://localhost/WhoIsBetter/index.html#/Torneos/mejoralumnodelcursodsd");

                torneo = proxy.ObtenerTorneoPorID(torneo.ID);

                Assert.AreEqual("Mejor alumno del curso DSD", torneo.Nombre);
                Assert.AreEqual(16, torneo.NumeroContendores);
                Assert.AreEqual(3, torneo.NumeroParticipantes);
            }
        }
Example #10
0
        public void EliminarTorneo()
        {
            using (var proxy = new WSTorneo.TorneoServiceClient())
            {
                var torneo = proxy.ObtenerTorneoPorEnlace("http://localhost/WhoIsBetter/index.html#/Torneos/mejoralumnodelcursodsd");

                proxy.EliminarTorneo(torneo.ID);

                torneo = proxy.ObtenerTorneoPorID(torneo.ID);

                Assert.AreEqual(null, torneo);
            }
        }
Example #11
0
        public void ActualizarTorneo()
        {
            using (var proxy = new WSTorneo.TorneoServiceClient())
            {
                var torneo = proxy.ObtenerTorneoPorEnlace("http://localhost/WhoIsBetter/index.html#/Torneos/mejoralumnodelcursodsd");
                torneo.NumeroParticipantes = 5;

                proxy.ActualizarTorneo(torneo);

                torneo = proxy.ObtenerTorneoPorID(torneo.ID);

                Assert.AreEqual(5, torneo.NumeroParticipantes);
            }
        }
Example #12
0
        protected override void OnStart(string[] args)
        {
            timer = new Timer();
            timer.Interval = 5000; //every 5 sec
            timer.Elapsed += new ElapsedEventHandler(timer_Tick);
            timer.Enabled = true;

            //torneoDA = new TorneoDA();
            //contendorDA = new ContendorDA();
            //favoritoDA = new FavoritoDA();

            proxyTorneo = new WSTorneo.TorneoServiceClient();
            proxyContendor = new WSContendor.ContendorServiceClient();
            proxyFavorito = new WSFavorito.FavoritoServiceClient();

            Logger.WriteErrorLog("WhoIsBetter Scheduler service started");
        }
Example #13
0
        public void EliminarContendor()
        {
            using (var proxyTorneo = new WSTorneo.TorneoServiceClient())
            {
                var torneo = proxyTorneo.ObtenerTorneoPorEnlace("http://localhost/WhoIsBetter/index.html#/Torneos/mejoralumnodelcursodsd");

                using (var proxy = new WSContendor.ContendorServiceClient())
                {
                    var contendor = proxy.ListarContendores(torneo.ID).FirstOrDefault(s => s.Texto.Equals("GIAN"));

                    proxy.EliminarContendor(contendor.ID);

                    contendor = proxy.ObtenerContendor(contendor.ID);

                    Assert.AreEqual(null, contendor);
                }
            }
        }
        public void InscribirParticipante()
        {
            using (var proxyTorneo = new WSTorneo.TorneoServiceClient())
            {
                var torneo = proxyTorneo.ObtenerTorneoPorEnlace("http://localhost/WhoIsBetter/index.html#/Torneos/mejoralumnodelcursodsd");

                using (var proxy = new WSParticipante.ParticipanteServiceClient())
                {
                    var idParticipante = proxy.InscribirParticipante(torneo.ID, new Participante
                    {
                        Correo = "*****@*****.**",
                        Nombre = "ABC"
                    });

                    Assert.IsTrue(idParticipante > 0);
                }
            }
        }
Example #15
0
        public void CrearContendores()
        {
            using (var proxyTorneo = new WSTorneo.TorneoServiceClient())
            {
                var torneo = proxyTorneo.ObtenerTorneoPorEnlace("http://localhost/WhoIsBetter/index.html#/Torneos/mejoralumnodelcursodsd");

                var contendores = new List<Contendor>();

                contendores.Add(new Contendor { Nombre = "ARANGUENA PROAÑO, ROCIO KARIN", Texto = "ROCIO", RutaImagen = @"D:\WorkSpace\VS\UPC\DSD\WhoIsBetter\uploads\rocio.png", IDTorneo = torneo.ID });
                contendores.Add(new Contendor { Nombre = "BRAVO ANGULO, FREDDY ALBERTO", Texto = "FREDDY", RutaImagen = @"D:\WorkSpace\VS\UPC\DSD\WhoIsBetter\uploads\freddy.png", IDTorneo = torneo.ID });
                contendores.Add(new Contendor { Nombre = "CONCEPCION TIZA, MIGUEL ANGEL", Texto = "MIGUEL", RutaImagen = @"D:\WorkSpace\VS\UPC\DSD\WhoIsBetter\uploads\miguel.png", IDTorneo = torneo.ID });
                contendores.Add(new Contendor { Nombre = "ESCOBEDO SAAVEDRA, CHRISTIAN AUGUSTO",Texto =  "CHRISTIAN", RutaImagen = @"D:\WorkSpace\VS\UPC\DSD\WhoIsBetter\uploads\christian.png", IDTorneo = torneo.ID });
                contendores.Add(new Contendor { Nombre = "FUENTES VELASQUEZ, ORESTES ISIDRO",Texto =  "ORESTES", RutaImagen = @"D:\WorkSpace\VS\UPC\DSD\WhoIsBetter\uploads\orestes.png", IDTorneo = torneo.ID });
                contendores.Add(new Contendor { Nombre = "GUTIERREZ CRUZ, (PATRICIO)JAIME",Texto =  "PATRICIO", RutaImagen = @"D:\WorkSpace\VS\UPC\DSD\WhoIsBetter\uploads\patricio.png", IDTorneo = torneo.ID });
                contendores.Add(new Contendor { Nombre = "JIMENEZ TORERO, VICTOR HUGO", Texto = "VICTOR", RutaImagen = @"D:\WorkSpace\VS\UPC\DSD\WhoIsBetter\uploads\victor.png", IDTorneo = torneo.ID });
                contendores.Add(new Contendor { Nombre = "LAOS BARRANTES, JORGE AUGUSTO", Texto = "JORGE", RutaImagen = @"D:\WorkSpace\VS\UPC\DSD\WhoIsBetter\uploads\jorge.png", IDTorneo = torneo.ID });
                contendores.Add(new Contendor { Nombre = "MARTINEZ IGLESIAS, RONALD CHRISTIAN", Texto = "RONALD", RutaImagen = @"D:\WorkSpace\VS\UPC\DSD\WhoIsBetter\uploads\ronald.png", IDTorneo = torneo.ID });
                contendores.Add(new Contendor { Nombre = "MORALES OLIVARES, JHONNY GIANFRANCO", Texto = "GIAN", RutaImagen = @"D:\WorkSpace\VS\UPC\DSD\WhoIsBetter\uploads\jhonny.png", IDTorneo = torneo.ID });
                contendores.Add(new Contendor { Nombre = "ORELLANA PEÑAFIEL, MIGUEL ANGEL", Texto = "MIGUELO", RutaImagen = @"D:\WorkSpace\VS\UPC\DSD\WhoIsBetter\uploads\miguelo.png", IDTorneo = torneo.ID });
                contendores.Add(new Contendor { Nombre = "SANCHEZ RAFAEL, DAVID GREGORI", Texto = "DAVID", RutaImagen = @"D:\WorkSpace\VS\UPC\DSD\WhoIsBetter\uploads\david.png", IDTorneo = torneo.ID });
                contendores.Add(new Contendor { Nombre = "SANDOVAL ALVARADO, ENRIQUE RAPHAEL", Texto = "ENRIQUE",RutaImagen = @"D:\WorkSpace\VS\UPC\DSD\WhoIsBetter\uploads\enrique.png", IDTorneo = torneo.ID });
                contendores.Add(new Contendor { Nombre = "SUMIRI MAMANI, GIANCARLO", Texto = "GIANCARLO", RutaImagen = @"D:\WorkSpace\VS\UPC\DSD\WhoIsBetter\uploads\giancarlo.png", IDTorneo = torneo.ID });
                contendores.Add(new Contendor { Nombre = "TERUKINA IJU, PAUL BENJAMIN", Texto = "PAUL", RutaImagen = @"D:\WorkSpace\VS\UPC\DSD\WhoIsBetter\uploads\paul.png", IDTorneo = torneo.ID });
                contendores.Add(new Contendor { Nombre = "SAIRA ALVAREZ, HECTOR", Texto = "HECTOR", RutaImagen = @"D:\WorkSpace\VS\UPC\DSD\WhoIsBetter\uploads\hector.png", IDTorneo = torneo.ID });

                using (var proxy = new WSContendor.ContendorServiceClient())
                {
                    contendores.ForEach(c =>
                    {
                        var idContendor = proxy.CrearContendor(c);
                        var contendor = proxy.ObtenerContendor(idContendor);

                        Assert.AreEqual(c.Nombre, contendor.Nombre);
                        Assert.AreEqual(c.Texto, contendor.Texto);
                    });
                }
            }
        }
        public IHttpActionResult PostTorneo(int idUsuario, Torneo torneo)
        {
            try
            {
                using (var proxy = new WSTorneo.TorneoServiceClient())
                {
                    proxy.CrearTorneo(idUsuario, torneo);

                    return Ok(new
                    {
                        success = true
                    });
                }
            }
            catch (Exception ex)
            {
                return Ok(new
                {
                    success = false,
                    message = ex.Message
                });
            }
        }
Example #17
0
        public void ObtenerContendor()
        {
            using (var proxyTorneo = new WSTorneo.TorneoServiceClient())
            {
                var torneo = proxyTorneo.ObtenerTorneoPorEnlace("http://localhost/WhoIsBetter/index.html#/Torneos/mejoralumnodelcursodsd");

                using (var proxy = new WSContendor.ContendorServiceClient())
                {
                    var contendor = proxy.ListarContendores(torneo.ID).FirstOrDefault(s=> s.Texto.Equals("GIAN"));

                    Assert.AreEqual("MORALES OLIVARES, JHONNY GIANFRANCO", contendor.Nombre);
                }
            }
        }
 public ICollection<Torneo> GetAllTorneos()
 {
     using (var proxy = new WSTorneo.TorneoServiceClient())
     {
         return proxy.ListarTorneos(null);
     }
 }
Example #19
0
        public void CrearFavorito()
        {
            using (var proxyTorneo = new WSTorneo.TorneoServiceClient())
            {
                var torneo = proxyTorneo.ObtenerTorneoPorEnlace("http://localhost/WhoIsBetter/index.html#/Torneos/mejoralumnodelcursodsd");

                using (var proxyContendor = new WSContendor.ContendorServiceClient())
                {
                    var contendores = proxyContendor.ListarContendores(torneo.ID);

                    var ROCIO = contendores.FirstOrDefault(s => s.Texto.Equals("ROCIO")).ID;
                    var FREDDY = contendores.FirstOrDefault(s => s.Texto.Equals("FREDDY")).ID;
                    var MIGUEL = contendores.FirstOrDefault(s => s.Texto.Equals("MIGUEL")).ID;
                    var CHRISTIAN = contendores.FirstOrDefault(s => s.Texto.Equals("CHRISTIAN")).ID;
                    var ORESTES = contendores.FirstOrDefault(s => s.Texto.Equals("ORESTES")).ID;
                    var PATRICIO = contendores.FirstOrDefault(s => s.Texto.Equals("PATRICIO")).ID;
                    var VICTOR = contendores.FirstOrDefault(s => s.Texto.Equals("VICTOR")).ID;
                    var JORGE = contendores.FirstOrDefault(s => s.Texto.Equals("JORGE")).ID;
                    var RONALD = contendores.FirstOrDefault(s => s.Texto.Equals("RONALD")).ID;
                    var JHONNY = contendores.FirstOrDefault(s => s.Texto.Equals("JHONNY")).ID;
                    var MIGUELO = contendores.FirstOrDefault(s => s.Texto.Equals("MIGUELO")).ID;
                    var DAVID = contendores.FirstOrDefault(s => s.Texto.Equals("DAVID")).ID;
                    var ENRIQUE = contendores.FirstOrDefault(s => s.Texto.Equals("ENRIQUE")).ID;
                    var GIANCARLO = contendores.FirstOrDefault(s => s.Texto.Equals("GIANCARLO")).ID;
                    var PAUL = contendores.FirstOrDefault(s => s.Texto.Equals("PAUL")).ID;
                    var HECTOR = contendores.FirstOrDefault(s => s.Texto.Equals("HECTOR")).ID;

                    using (var proxyParticipante = new WSParticipante.ParticipanteServiceClient())
                    {
                        var idParticipante = proxyParticipante.InscribirParticipante(torneo.ID, new Participante
                        {
                            Correo = "*****@*****.**",
                            Nombre = "ABC"
                        });

                        var favoritos = new List<Favorito>();

                        favoritos.Add(new Favorito { IDTorneo = torneo.ID, IDParticipante = idParticipante, IDContendor1 = ROCIO, IDContendor2 = FREDDY, IDGanador = ROCIO, Etapa = 16 });
                        favoritos.Add(new Favorito { IDTorneo = torneo.ID, IDParticipante = idParticipante, IDContendor1 = MIGUEL, IDContendor2 = CHRISTIAN, IDGanador = CHRISTIAN, Etapa = 16 });
                        favoritos.Add(new Favorito { IDTorneo = torneo.ID, IDParticipante = idParticipante, IDContendor1 = ORESTES, IDContendor2 = PATRICIO, IDGanador = ORESTES, Etapa = 16 });
                        favoritos.Add(new Favorito { IDTorneo = torneo.ID, IDParticipante = idParticipante, IDContendor1 = VICTOR, IDContendor2 = JORGE, IDGanador = JORGE, Etapa = 16 });
                        favoritos.Add(new Favorito { IDTorneo = torneo.ID, IDParticipante = idParticipante, IDContendor1 = RONALD, IDContendor2 = JHONNY, IDGanador = JHONNY, Etapa = 16 });
                        favoritos.Add(new Favorito { IDTorneo = torneo.ID, IDParticipante = idParticipante, IDContendor1 = MIGUELO, IDContendor2 = DAVID, IDGanador = DAVID, Etapa = 16 });
                        favoritos.Add(new Favorito { IDTorneo = torneo.ID, IDParticipante = idParticipante, IDContendor1 = ENRIQUE, IDContendor2 = GIANCARLO, IDGanador = ENRIQUE, Etapa = 16 });
                        favoritos.Add(new Favorito { IDTorneo = torneo.ID, IDParticipante = idParticipante, IDContendor1 = PAUL, IDContendor2 = HECTOR, IDGanador = HECTOR, Etapa = 16 });
                        favoritos.Add(new Favorito { IDTorneo = torneo.ID, IDParticipante = idParticipante, IDContendor1 = ROCIO, IDContendor2 = CHRISTIAN, IDGanador = ROCIO, Etapa = 8 });
                        favoritos.Add(new Favorito { IDTorneo = torneo.ID, IDParticipante = idParticipante, IDContendor1 = ORESTES, IDContendor2 = JORGE, IDGanador = JORGE, Etapa = 8 });
                        favoritos.Add(new Favorito { IDTorneo = torneo.ID, IDParticipante = idParticipante, IDContendor1 = JHONNY, IDContendor2 = DAVID, IDGanador = JHONNY, Etapa = 8 });
                        favoritos.Add(new Favorito { IDTorneo = torneo.ID, IDParticipante = idParticipante, IDContendor1 = ENRIQUE, IDContendor2 = HECTOR, IDGanador = HECTOR, Etapa = 8 });
                        favoritos.Add(new Favorito { IDTorneo = torneo.ID, IDParticipante = idParticipante, IDContendor1 = ROCIO, IDContendor2 = JORGE, IDGanador = ROCIO, Etapa = 4 });
                        favoritos.Add(new Favorito { IDTorneo = torneo.ID, IDParticipante = idParticipante, IDContendor1 = JHONNY, IDContendor2 = HECTOR, IDGanador = JHONNY, Etapa = 4 });
                        favoritos.Add(new Favorito { IDTorneo = torneo.ID, IDParticipante = idParticipante, IDContendor1 = ROCIO, IDContendor2 = JHONNY, IDGanador = JHONNY, Etapa = 2 });

                        using (var proxy = new WSFavorito.FavoritoServiceClient())
                        {
                            favoritos.ForEach(f =>
                            {
                                proxy.CrearFavorito(f);
                            });

                            var data = proxy.ListarFavoritos(torneo.ID, idParticipante);

                            Assert.AreEqual(favoritos.Count, data.Count);
                        }
                    }
                }
            }
        }