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