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)); }
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; } }
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)); }