Ejemplo n.º 1
0
        public Juego MapFromDTO(DTOJuego dto)
        {
            if (dto == null)
            {
                return(null);
            }
            Juego juego = new Juego()
            {
                User_loginnameUser = dto.User_loginnameUser,
                tituloJuego        = dto.tituloJuego,
                descripcionJuego   = dto.descripcionJuego,
                esPrivadoJuego     = dto.esPrivadoJuego,
                coverJuego         = dto.coverJuego,
                Musica_idMusica    = dto.Musica_idMusica,
                activadoJuego      = dto.activadoJuego,
                password           = dto.password,
                fechaJuego         = dto.fechaJuego
            };

            PreguntaMapper _mapperPreg = new PreguntaMapper();

            if (dto.preguntas != null)
            {
                foreach (DTOPregunta preg in dto.preguntas)
                {
                    juego.preguntas.Add(_mapperPreg.MapFromDTOPregunta(preg));
                }
            }

            return(juego);
        }
Ejemplo n.º 2
0
        public IHttpActionResult DeleteJuego(int id)
        {
            var identity      = (ClaimsIdentity)User.Identity;
            var identity_mail = identity.Claims.Where(c => c.Type == ClaimTypes.Email)
                                .Select(c => c.Value).SingleOrDefault();

            DTOBaseResponse response = new DTOBaseResponse();

            try
            {
                BusinessLogic.Controllers.JuegoController controller = new BusinessLogic.Controllers.JuegoController();
                DTOJuego juego = controller.GetJuego(id);
                if (juego.User_loginnameUser == identity_mail)
                {
                    controller.DeleteJuego(id);
                    response.Success = true;
                }
                else
                {
                    response.Success = false;
                }
            }
            catch (Exception ex)
            {
                response.Success = false;
                response.Error   = ex.ToString();
            }
            return(Ok(response));
        }
Ejemplo n.º 3
0
        public DTOJuego MapToDTO(Juego juego)
        {
            UserMapper dd = new UserMapper();

            if (juego == null)
            {
                return(null);
            }
            DTOJuego pJuego = new DTOJuego()
            {
                idJuego            = juego.idJuego,
                User_loginnameUser = juego.User_loginnameUser,
                tituloJuego        = juego.tituloJuego,
                descripcionJuego   = juego.descripcionJuego,
                esPrivadoJuego     = juego.esPrivadoJuego,
                coverJuego         = juego.coverJuego,
                Musica_idMusica    = juego.Musica_idMusica.GetValueOrDefault(),
                activadoJuego      = juego.activadoJuego,
                password           = juego.password,
                fechaJuego         = juego.fechaJuego,
            };

            PreguntaMapper _mapperPreg = new PreguntaMapper();

            if (juego.preguntas != null)
            {
                pJuego.preguntas = new List <DTOPregunta>();
                foreach (Pregunta preg in juego.preguntas)
                {
                    pJuego.preguntas.Add(_mapperPreg.MapToDTO(preg));
                }
            }

            return(pJuego);
        }
Ejemplo n.º 4
0
        public IHttpActionResult UpdateJuego(int id, DTOJuego juego)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            var identity      = (ClaimsIdentity)User.Identity;
            var identity_mail = identity.Claims.Where(c => c.Type == ClaimTypes.Email)
                                .Select(c => c.Value).SingleOrDefault();

            if (juego == null)
            {
                return(BadRequest());
            }
            if ((id != juego.idJuego) || (juego.User_loginnameUser != identity_mail))
            {
                return(BadRequest());
            }

            DTOBaseResponse response = new DTOBaseResponse();

            try
            {
                BusinessLogic.Controllers.JuegoController controller = new BusinessLogic.Controllers.JuegoController();
                var juegoOriginal = controller.GetJuego(id);
                if (juego.coverJuego != "" && juego.coverJuego != juegoOriginal.coverJuego)
                {
                    string Base64Image = juego.coverJuego;
                    var    bytes       = Convert.FromBase64String(Base64Image);
                    //string nombreFile = "coverJuego" + juego.idJuego;
                    string nombreFile  = id + ".jpg";
                    var    GeneralPath = Path.GetDirectoryName(AppDomain.CurrentDomain.BaseDirectory) + "/images/covers/";

                    if (!Directory.Exists(GeneralPath))
                    {
                        Directory.CreateDirectory(GeneralPath);
                    }

                    string filePath = GeneralPath + nombreFile;
                    using (var imageFile = new FileStream(filePath, FileMode.Create))
                    {
                        imageFile.Write(bytes, 0, bytes.Length);
                        imageFile.Flush();
                    }
                }

                juego.coverJuego = id + ".jpg";
                controller.UpdateJuego(id, juego);
                response.Success = true;
            }
            catch (Exception ex)
            {
                response.Success = false;
                response.Error   = ex.ToString();
            }
            return(Ok(response));
        }
Ejemplo n.º 5
0
        public DTOJuego GetJuego(int id)
        {
            using (UnitOfWork uow = new UnitOfWork())
            {
                var entity = uow.JuegoRepository.Get(id);
                if (entity == null)
                {
                    return(null);
                }

                DTOJuego juego = _mapper.MapToDTO(entity);
                return(juego);
            }
        }
Ejemplo n.º 6
0
        public void UpdateJuego(int id, DTOJuego juego)
        {
            try
            {
                using (UnitOfWork uow = new UnitOfWork())
                {
                    Juego entity = uow.JuegoRepository.Get(id);
                    //Despues lo hacemos mejor

                    if (juego.tituloJuego != null)
                    {
                        entity.tituloJuego = juego.tituloJuego;
                    }
                    if (juego.descripcionJuego != null)
                    {
                        entity.descripcionJuego = juego.descripcionJuego;
                    }
                    if (juego.password != null)
                    {
                        entity.password = juego.password;
                    }

                    if (juego.esPrivadoJuego != null)
                    {
                        entity.esPrivadoJuego = juego.esPrivadoJuego;
                    }
                    if (juego.coverJuego != null)
                    {
                        entity.coverJuego = juego.coverJuego;
                    }

                    if (juego.activadoJuego != null)
                    {
                        entity.activadoJuego = juego.activadoJuego;
                    }

                    entity.Musica_idMusica = juego.Musica_idMusica;


                    uow.SaveChanges();
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Ejemplo n.º 7
0
 public int CreateJuego(DTOJuego juego)
 {
     try
     {
         int idGame;
         using (UnitOfWork uow = new UnitOfWork())
         {
             idGame = uow.JuegoRepository.Create(_mapper.MapFromDTO(juego));
             uow.SaveChanges();
             return(idGame);
         }
     }
     catch (Exception ex)
     {
         throw ex;
     }
 }
Ejemplo n.º 8
0
        public IHttpActionResult CreateJuego(DTOJuego juego)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            //DTOBaseResponse response = new DTOBaseResponse();
            int idGame;

            try
            {
                BusinessLogic.Controllers.JuegoController controller = new BusinessLogic.Controllers.JuegoController();

                var Base64Image = juego.coverJuego;
                if (Base64Image != "")
                {
                    juego.coverJuego = "Progress";
                }

                //Chequeo toda la lista de Preguntas y las pongo en progress
                List <DTOPregunta> PreguntasConUrlAyuda = new List <DTOPregunta>();
                int Orden = 0;
                if (juego.preguntas != null)
                {
                    foreach (DTOPregunta preg in juego.preguntas)
                    {
                        Orden++;
                        preg.idPregunta = Orden;
                        if ((preg.urlAyudaPregunta != "") && (!preg.urlAyudaPregunta.StartsWith("http")))
                        {
                            DTOPregunta preguntaUrlActual = new DTOPregunta {
                                idPregunta       = Orden,
                                urlAyudaPregunta = preg.urlAyudaPregunta
                            };
                            PreguntasConUrlAyuda.Add(preguntaUrlActual);
                            preg.urlAyudaPregunta = "Progress";
                        }
                    }
                }
                juego.fechaJuego = DateTime.Now;
                //Creo Game y Cambio Cover
                idGame = controller.CreateJuego(juego);
                if (Base64Image != "")
                {
                    var bytes = Convert.FromBase64String(Base64Image);
                    //string nombreFile = "coverJuego" + juego.idJuego;
                    string nombreFile  = idGame + ".jpg";
                    var    GeneralPath = Path.GetDirectoryName(AppDomain.CurrentDomain.BaseDirectory) + "/images/covers/";

                    if (!Directory.Exists(GeneralPath))
                    {
                        Directory.CreateDirectory(GeneralPath);
                    }

                    string filePath = GeneralPath + nombreFile;
                    using (var imageFile = new FileStream(filePath, FileMode.Create))
                    {
                        imageFile.Write(bytes, 0, bytes.Length);
                        imageFile.Flush();
                    }
                    DTOJuego UpdateCoverGame = new DTOJuego {
                        coverJuego      = nombreFile,
                        Musica_idMusica = juego.Musica_idMusica
                    };


                    controller.UpdateJuego(idGame, UpdateCoverGame);
                }


                //Chequeo Lista de preguntas en Progress
                if (PreguntasConUrlAyuda != null)
                {
                    DTOJuego MiGameConPreguntas = controller.GetJuego(idGame);

                    foreach (DTOPregunta preg in PreguntasConUrlAyuda)
                    {
                        int idPregunta = MiGameConPreguntas.preguntas.ElementAt(preg.idPregunta - 1).idPregunta;

                        var    bytes       = Convert.FromBase64String(preg.urlAyudaPregunta);
                        string nombreFile  = idPregunta + ".jpg";
                        var    GeneralPath = Path.GetDirectoryName(AppDomain.CurrentDomain.BaseDirectory) + "/images/ayuda/";

                        if (!Directory.Exists(GeneralPath))
                        {
                            Directory.CreateDirectory(GeneralPath);
                        }

                        string filePath = GeneralPath + nombreFile;
                        using (var imageFile = new FileStream(filePath, FileMode.Create))
                        {
                            imageFile.Write(bytes, 0, bytes.Length);
                            imageFile.Flush();
                        }

                        preg.urlAyudaPregunta = nombreFile;
                        controller.UpdatePreguntaUrlJuego(idGame, idPregunta, preg.urlAyudaPregunta);
                    }
                }
            }
            catch (Exception ex)
            {
                idGame = -1;
            }
            return(Ok(idGame));
        }