Example #1
0
        public Pregunta MapFromDTOPregunta(DTOPregunta dto)
        {
            if (dto == null)
            {
                return(null);
            }
            Pregunta pregunta = new Pregunta()
            {
                idPregunta        = dto.idPregunta,
                Juego_idJuego     = dto.Juego_idJuego,
                segundosPregunta  = dto.segundosPregunta,
                puntosPregunta    = dto.puntosPregunta,
                contenidoPregunta = dto.contenidoPregunta,
                tipoPregunta      = dto.tipoPregunta,
                urlAyudaPregunta  = dto.urlAyudaPregunta,
                startAyuda        = dto.startAyuda,
                endAyuda          = dto.endAyuda
            };

            RespuestaMapper _mapperResp = new RespuestaMapper();

            if (dto.respuestas != null)
            {
                foreach (DTORespuesta resp in dto.respuestas)
                {
                    pregunta.respuestas.Add(_mapperResp.MapFromDTORespuesta(resp));
                }
            }
            return(pregunta);
        }
        public IHttpActionResult UpdatePregunta(int id, DTOPregunta pregunta)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            if (id != pregunta.idPregunta)
            {
                return(BadRequest());
            }

            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            DTOBaseResponse response = new DTOBaseResponse();

            try
            {
                BusinessLogic.Controllers.PreguntaController controller = new BusinessLogic.Controllers.PreguntaController();
                controller.UpdatePregunta(id, pregunta);
                response.Success = true;
            }
            catch (Exception ex)
            {
                response.Success = false;
                response.Error   = ex.ToString();
            }
            return(Ok(response));
        }
Example #3
0
        public DTOPregunta MapToDTO(Pregunta pregunta)
        {
            if (pregunta == null)
            {
                return(null);
            }
            DTOPregunta pPregunta = new DTOPregunta()
            {
                Juego_idJuego     = pregunta.Juego_idJuego,
                idPregunta        = pregunta.idPregunta,
                segundosPregunta  = pregunta.segundosPregunta,
                puntosPregunta    = pregunta.puntosPregunta,
                contenidoPregunta = pregunta.contenidoPregunta,
                tipoPregunta      = pregunta.tipoPregunta,
                urlAyudaPregunta  = pregunta.urlAyudaPregunta,
                startAyuda        = pregunta.startAyuda,
                endAyuda          = pregunta.endAyuda
            };


            RespuestaMapper _mapperResp = new RespuestaMapper();

            if (pregunta.respuestas != null)
            {
                pPregunta.respuestas = new List <DTORespuesta>();
                foreach (Respuesta resp in pregunta.respuestas)
                {
                    pPregunta.respuestas.Add(_mapperResp.MapToDTO(resp));
                }
            }
            return(pPregunta);
        }
        public IHttpActionResult CreatePregunta(DTOPregunta pregunta)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            DTOBaseResponse response = new DTOBaseResponse();
            int             idPregunta;

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

                var Base64Image = pregunta.urlAyudaPregunta;

                if (Base64Image != "" && !Base64Image.StartsWith("http"))
                {
                    pregunta.urlAyudaPregunta = "Progress";
                }

                idPregunta = controller.CreatePregunta(pregunta);

                if (Base64Image != "" && !Base64Image.StartsWith("http"))
                {
                    var    bytes       = Convert.FromBase64String(Base64Image);
                    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();
                    }
                    DTOPregunta UpdateUrlAyudaPregunta = new DTOPregunta
                    {
                        urlAyudaPregunta = nombreFile
                    };


                    controller.UpdatePregunta(idPregunta, UpdateUrlAyudaPregunta);
                }
                response.Success = true;
            }
            catch (Exception ex)
            {
                response.Success = false;
                response.Error   = ex.ToString();
            }
            return(Ok(response));
        }
        public DTOPregunta GetPregunta(int id)
        {
            using (UnitOfWork uow = new UnitOfWork())
            {
                var entity = uow.PreguntaRepository.Get(id);
                if (entity == null)
                {
                    return(null);
                }

                DTOPregunta pregunta = _mapperPregunta.MapToDTO(entity);
                return(pregunta);
            }
        }
 public int CreatePregunta(DTOPregunta pregunta)
 {
     try
     {
         int idPregunta;
         using (UnitOfWork uow = new UnitOfWork())
         {
             idPregunta = uow.PreguntaRepository.Create(_mapperPregunta.MapFromDTOPregunta(pregunta));
             uow.SaveChanges();
             return(idPregunta);
         }
     }
     catch (Exception ex)
     {
         throw ex;
     }
 }
        public void UpdatePregunta(int id, DTOPregunta pregunta)
        {
            try
            {
                using (UnitOfWork uow = new UnitOfWork())
                {
                    Pregunta entity = uow.PreguntaRepository.Get(id);

                    entity.contenidoPregunta = pregunta.contenidoPregunta;
                    entity.segundosPregunta  = pregunta.segundosPregunta;
                    entity.tipoPregunta      = pregunta.tipoPregunta;
                    entity.urlAyudaPregunta  = pregunta.urlAyudaPregunta;
                    entity.startAyuda        = pregunta.startAyuda;
                    entity.endAyuda          = pregunta.endAyuda;


                    uow.SaveChanges();
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Example #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));
        }