public HttpResponseMessage CrearCP([FromBody] RespuestaDTO dto) { // CAD, CEN, returnValue, returnOID RespuestaRESTCAD respuestaRESTCAD = null; RespuestaCEN respuestaCEN = null; RespuestaDTOA returnValue = null; RespuestaCP respuestaCP = null; int returnOID = -1; // HTTP response HttpResponseMessage response = null; string uri = null; try { SessionInitializeTransaction(); respuestaRESTCAD = new RespuestaRESTCAD(session); respuestaCEN = new RespuestaCEN(respuestaRESTCAD); respuestaCP = new RespuestaCP(session); // Create returnOID = respuestaCEN.Crear(dto.Cuerpo, dto.Duda_oid, dto.Usuario_oid); respuestaCP.CrearAccionRespuesta(returnOID); SessionCommit(); // Convert return returnValue = RespuestaAssembler.Convert(respuestaRESTCAD.ReadOIDDefault(returnOID), session); } catch (Exception e) { SessionRollBack(); if (e.GetType() == typeof(HttpResponseException)) { throw e; } else if (e.GetType() == typeof(ReciclaUAGenNHibernate.Exceptions.ModelException) && e.Message.Equals("El token es incorrecto")) { throw new HttpResponseException(HttpStatusCode.Forbidden); } else if (e.GetType() == typeof(ReciclaUAGenNHibernate.Exceptions.ModelException) || e.GetType() == typeof(ReciclaUAGenNHibernate.Exceptions.DataLayerException)) { throw new HttpResponseException(HttpStatusCode.BadRequest); } else { throw new HttpResponseException(HttpStatusCode.InternalServerError); } } finally { SessionClose(); } // Return 201 - Created response = this.Request.CreateResponse(HttpStatusCode.Created, returnValue); return(response); }
public ActionResult CreateBox(FormCollection collection, int id) { try { // TODO: Add insert logic here RespuestaCEN respuestaCEN = new RespuestaCEN(); DateTime fech = new DateTime(); fech = System.DateTime.Now; if (!collection["Texto"].Equals("")) { respuestaCEN.New_(p_descripcion: collection["Texto"], p_usuario: User.Identity.GetUserName(), p_tema: id, p_fecha: fech); } return(RedirectToRoute(new { controller = "Tema", action = "Details", id = id, })); } catch { return(View()); } }
public ActionResult Create(FormCollection collection, int id) { try { // TODO: Add insert logic here RespuestaCEN res = new RespuestaCEN(); DateTime fech = new DateTime(); fech = System.DateTime.Now; var ctrl = new NotificacionController(); ctrl.CreateNT(id, User.Identity.GetUserName()); res.New_(p_tema: id, p_usuario: User.Identity.GetUserName(), p_descripcion: collection["Descripcion"], p_fecha: fech); return(RedirectToRoute(new { controller = "Tema", action = "Details", id = id, })); return(RedirectToAction("Index")); } catch { return(View()); } }
public ActionResult Delete(int id, FormCollection collection) { try { // TODO: Add delete logic here SessionInitialize(); RespuestaCAD respuestaCAD = new RespuestaCAD(session); RespuestaCEN respuestaCEN = new RespuestaCEN(respuestaCAD); RespuestaEN respuestaEN = respuestaCEN.ReadOID(id); RespuestaModel respuesta = RespuestaAssembler.ConvertENToModelUI(respuestaEN); TemaModel tem = new TemaModel(); TemaEN temEN = new TemaCAD(session).ReadOIDDefault(respuestaEN.Tema.Id); tem = TemaAssembler.ConvertENToModelUI(temEN); SessionClose(); new RespuestaCEN().Destroy(id); return(RedirectToRoute(new { controller = "Tema", action = "Details", id = tem.Id, })); } catch { return(View()); } }
public HttpResponseMessage DescartarRespuestaCorrecta(int p_oid) { // CAD, CEN, returnValue RespuestaRESTCAD respuestaRESTCAD = null; RespuestaCEN respuestaCEN = null; bool returnValue; try { SessionInitializeTransaction(); string token = ""; if (Request.Headers.Authorization != null) { token = Request.Headers.Authorization.ToString(); } int id = new UsuarioCEN().CheckToken(token); respuestaRESTCAD = new RespuestaRESTCAD(session); respuestaCEN = new RespuestaCEN(respuestaRESTCAD); // Operation returnValue = respuestaCEN.DescartarRespuestaCorrecta(p_oid); SessionCommit(); } catch (Exception e) { SessionRollBack(); if (e.GetType() == typeof(HttpResponseException)) { throw e; } else if (e.GetType() == typeof(ReciclaUAGenNHibernate.Exceptions.ModelException) && e.Message.Equals("El token es incorrecto")) { throw new HttpResponseException(HttpStatusCode.Forbidden); } else if (e.GetType() == typeof(ReciclaUAGenNHibernate.Exceptions.ModelException) || e.GetType() == typeof(ReciclaUAGenNHibernate.Exceptions.DataLayerException)) { throw new HttpResponseException(HttpStatusCode.BadRequest); } else { throw new HttpResponseException(HttpStatusCode.InternalServerError); } } finally { SessionClose(); } // Return 200 - OK return(this.Request.CreateResponse(HttpStatusCode.OK, returnValue)); }
public ReciclaUAGenNHibernate.EN.ReciclaUA.RespuestaEN ObtenerUltimaRespuesta(int p_oid) { /*PROTECTED REGION ID(ReciclaUAGenNHibernate.CP.ReciclaUA_Respuesta_obtenerUltimaRespuesta) ENABLED START*/ IRespuestaCAD respuestaCAD = null; RespuestaCEN respuestaCEN = null; IDudaCAD dudaCAD = null; DudaCEN dudaCEN = null; ReciclaUAGenNHibernate.EN.ReciclaUA.RespuestaEN respuesta = null; try { SessionInitializeTransaction(); respuestaCAD = new RespuestaCAD(session); respuestaCEN = new RespuestaCEN(respuestaCAD); dudaCAD = new DudaCAD(session); dudaCEN = new DudaCEN(dudaCAD); // Write here your custom transaction ... DudaEN duda = dudaCAD.ReadOIDDefault(p_oid); if (duda.Respuestas.Count > 0) { respuesta = duda.Respuestas [0]; for (int i = 1; i < duda.Respuestas.Count; i++) { if (respuesta.Fecha <= duda.Respuestas [i].Fecha) { respuesta = duda.Respuestas [i]; } } } SessionCommit(); } catch (Exception ex) { SessionRollBack(); throw ex; } finally { SessionClose(); } return(respuesta); /*PROTECTED REGION END*/ }
public void CrearAccionRespuesta(int p_oid) { /*PROTECTED REGION ID(ReciclaUAGenNHibernate.CP.ReciclaUA_Respuesta_crearAccionRespuesta) ENABLED START*/ IRespuestaCAD respuestaCAD = null; RespuestaCEN respuestaCEN = null; AccionWebCEN accionWebCEN = null; ITipoAccionCAD tipoAccionCAD = null; TipoAccionCEN tipoAccionCEN = null; TipoAccionEN tipoAccion = null; IUsuarioWebCAD usuarioWebCAD = null; UsuarioWebCEN usuarioWebCEN = null; RespuestaEN respuesta = null; try { SessionInitializeTransaction(); respuestaCAD = new RespuestaCAD(session); respuestaCEN = new RespuestaCEN(respuestaCAD); tipoAccionCAD = new TipoAccionCAD(session); tipoAccionCEN = new TipoAccionCEN(tipoAccionCAD); usuarioWebCAD = new UsuarioWebCAD(session); usuarioWebCEN = new UsuarioWebCEN(usuarioWebCAD); accionWebCEN = new AccionWebCEN(); respuesta = respuestaCEN.BuscarPorId(p_oid); if (respuesta.Usuario != null && usuarioWebCEN.BuscarPorId(respuesta.Usuario.Id) != null) { tipoAccion = tipoAccionCEN.BuscarTodos(0, -1).Where(t => t.Nombre.Equals("Respuesta")).FirstOrDefault(); if (tipoAccion == null) { var id = tipoAccionCEN.Crear(5, "Respuesta"); tipoAccion = tipoAccionCEN.BuscarPorId(id); } accionWebCEN.Crear(respuesta.Usuario.Id, tipoAccion.Id); } SessionCommit(); } catch (Exception ex) { SessionRollBack(); throw ex; } finally { SessionClose(); } /*PROTECTED REGION END*/ }
public static RespuestaDTOA Convert(RespuestaEN en, NHibernate.ISession session = null) { RespuestaDTOA dto = null; RespuestaRESTCAD respuestaRESTCAD = null; RespuestaCEN respuestaCEN = null; RespuestaCP respuestaCP = null; if (en != null) { dto = new RespuestaDTOA(); respuestaRESTCAD = new RespuestaRESTCAD(session); respuestaCEN = new RespuestaCEN(respuestaRESTCAD); respuestaCP = new RespuestaCP(session); // // Attributes dto.Id = en.Id; dto.Cuerpo = en.Cuerpo; dto.Fecha = en.Fecha; dto.EsCorrecta = en.EsCorrecta; dto.Util = en.Util; // // TravesalLink /* Rol: Respuesta o--> UsuarioAdminAutenticado */ dto.UsuarioRespuesta = UsuarioAdminAutenticadoAssembler.Convert((UsuarioEN)en.Usuario, session); // // Service } return(dto); }
public void CrearRespuesta(int p_oid) { /*PROTECTED REGION ID(ReciclaUAGenNHibernate.CP.ReciclaUA_Respuesta_crearRespuesta) ENABLED START*/ IRespuestaCAD respuestaCAD = null; RespuestaCEN respuestaCEN = null; try { SessionInitializeTransaction(); respuestaCAD = new RespuestaCAD(session); respuestaCEN = new RespuestaCEN(respuestaCAD); // Write here your custom transaction ... throw new NotImplementedException("Method CrearRespuesta() not yet implemented."); SessionCommit(); } catch (Exception ex) { SessionRollBack(); throw ex; } finally { SessionClose(); } /*PROTECTED REGION END*/ }
public ActionResult Delete(int id, FormCollection collection) { try { // TODO: Add delete logic here SessionInitialize(); TemaCAD temaCAD = new TemaCAD(session); TemaCEN temaCEN = new TemaCEN(temaCAD); TemaEN temaEN = temaCEN.ReadOID(id); TemaModel tema = TemaAssembler.ConvertENToModelUI(temaEN); RespuestaCAD resCAD = new RespuestaCAD(session); RespuestaCEN resCEN = new RespuestaCEN(resCAD); IList <RespuestaEN> resEN = resCEN.DameRespuestaPorTema(tema.Id); IList <RespuestaModel> res = RespuestaAssembler.ConvertListENToModel(resEN); SessionClose(); foreach (RespuestaModel r in res) { new RespuestaCEN().Destroy(r.Id); } SessionClose(); new TemaCEN().Destroy(id); return(RedirectToAction("Index")); } catch { return(View()); } }
public ActionResult Edit(int id, FormCollection collection) { try { // TODO: Add update logic here RespuestaCEN cen = new RespuestaCEN(); SessionInitialize(); RespuestaModel res = null; RespuestaEN resEN = new RespuestaCAD(session).ReadOIDDefault(id); res = RespuestaAssembler.ConvertENToModelUI(resEN); TemaModel tem = new TemaModel(); TemaEN temEN = new TemaCAD(session).ReadOIDDefault(resEN.Tema.Id); tem = TemaAssembler.ConvertENToModelUI(temEN); SessionClose(); cen.Modify(p_Respuesta_OID: res.Id, p_descripcion: collection["Descripcion"], p_fecha: resEN.Fecha); return(RedirectToRoute(new { controller = "Tema", action = "Details", id = tem.Id, })); return(RedirectToAction("Index")); } catch { return(View()); } }
public void Delete(string id) { SessionInitialize(); UsuarioCAD usuCAD = new UsuarioCAD(session); UsuarioCEN usuCEN = new UsuarioCEN(usuCAD); UsuarioEN usuEN = usuCEN.ReadOID(id); UsuarioModel tema = UsuarioAssembler.crearUsu(usuEN); TemaCAD temCAD = new TemaCAD(session); TemaCEN temCEN = new TemaCEN(temCAD); IList <TemaEN> temEN = temCEN.DameTemaPorEmail(id); IList <TemaModel> temasU = new TemaAssembler().ConvertListENToModel(temEN); RespuestaCAD res2CAD = new RespuestaCAD(session); RespuestaCEN res2CEN = new RespuestaCEN(res2CAD); IList <RespuestaEN> res2EN = res2CEN.DameRespuestaPorEmail(id); IList <RespuestaModel> resU = RespuestaAssembler.ConvertListENToModel(res2EN); VideoCAD videoCAD = new VideoCAD(session); VideoCEN videoCEN = new VideoCEN(videoCAD); IList <VideoEN> videoEN = videoCEN.DameVideoPorEmail(id); IList <VideoModel> videosU = VideoAssembler.convertListENToModel(videoEN); ComentarioCAD comentarioCAD = new ComentarioCAD(session); ComentarioCEN comentarioCEN = new ComentarioCEN(comentarioCAD); IList <ComentarioEN> comentarioEN = comentarioCEN.DameComentarioPorEmail(id); IList <ComentarioModel> comentarioU = ComentarioAssembler.convertListENToModel(comentarioEN); ValoracionCAD valoracionCAD = new ValoracionCAD(session); ValoracionCEN valoracionCEN = new ValoracionCEN(valoracionCAD); IList <ValoracionEN> valoracionEN = valoracionCEN.DameValoracionPorEmail(id); IList <ValoracionModel> valoracionU = ValoracionAssembler.convertListENToModel(valoracionEN); GrupoCAD gruposTCAD = new GrupoCAD(session); GrupoCEN gruposTCEN = new GrupoCEN(gruposTCAD); IList <GrupoEN> gruposTEN = gruposTCEN.DameGrupoPorUsuario(id); IList <GrupoModel> gruposTU = GrupoAssembler.convertListToModelUI(gruposTEN); NotificacionCAD notiCAD = new NotificacionCAD(session); NotificacionCEN notiCEN = new NotificacionCEN(notiCAD); IList <NotificacionEN> notiEN = notiCEN.DameNotificacionPorEmail(id); IList <NotificacionModel> notisU = NotificacionAssembler.ConvertListENToModel(notiEN); SugerenciaCAD sugCAD = new SugerenciaCAD(session); SugerenciaCEN sugCEN = new SugerenciaCEN(sugCAD); IList <SugerenciaEN> sugEN = sugCEN.DameSugerenciaPorEmail(id); IList <SugerenciaModel> sugU = SugerenciaAssembler.convertListENToModel(sugEN); SessionClose(); foreach (RespuestaModel r in resU) { new RespuestaCEN().Destroy(r.Id); } foreach (TemaModel t in temasU) { SessionInitialize(); RespuestaCAD resCAD = new RespuestaCAD(session); RespuestaCEN resCEN = new RespuestaCEN(resCAD); IList <RespuestaEN> resEN = resCEN.DameRespuestaPorTema(t.Id); IList <RespuestaModel> res = RespuestaAssembler.ConvertListENToModel(resEN); SessionClose(); foreach (RespuestaModel r in res) { new RespuestaCEN().Destroy(r.Id); } new TemaCEN().Destroy(t.Id); } foreach (ComentarioModel c in comentarioU) { new ComentarioCEN().Destroy(c.Id); } foreach (ValoracionModel v in valoracionU) { new ValoracionCEN().Destroy(v.Id); } foreach (VideoModel v in videosU) { SessionInitialize(); ComentarioCAD comCAD = new ComentarioCAD(session); ComentarioCEN comCEN = new ComentarioCEN(comCAD); IList <ComentarioEN> comEN = comCEN.DameComentarioPorVideoID(v.Id); IList <ComentarioModel> cres = ComentarioAssembler.convertListENToModel(comEN); SessionClose(); foreach (ComentarioModel c in cres) { new ComentarioCEN().Destroy(c.Id); } SessionInitialize(); ValoracionCAD valCAD = new ValoracionCAD(session); ValoracionCEN valCEN = new ValoracionCEN(valCAD); IList <ValoracionEN> valEN = valCEN.DameValoracionPorVideoID(v.Id); IList <ValoracionModel> vals = ValoracionAssembler.convertListENToModel(valEN); SessionClose(); foreach (ValoracionModel valo in vals) { new ValoracionCEN().Destroy(valo.Id); } new VideoCEN().Destroy(v.Id); } foreach (SugerenciaModel s in sugU) { new SugerenciaCEN().Destroy(s.Id); } foreach (NotificacionModel n in notisU) { new NotificacionCEN().Destroy(n.Id); } foreach (GrupoModel g in gruposTU) { if (g.Lider == id) { SessionInitialize(); UsuarioCAD usu2CAD = new UsuarioCAD(session); UsuarioCEN usu2CEN = new UsuarioCEN(usuCAD); IList <UsuarioEN> usu2EN = usuCEN.DameUsuarioPorGrupo(g.Nombre); IList <UsuarioModel> usu = UsuarioAssembler.crearListaUsus(usu2EN); SessionClose(); foreach (UsuarioModel usuf in usu) { GrupoCEN grupo = new GrupoCEN(); NotificacionCEN notificacion = new NotificacionCEN(); GrupoEN grupoEN = grupo.ReadOID(g.Nombre); grupo.SacarUsuario(p_Grupo_OID: g.Nombre, p_miembros_OIDs: new List <string>() { usuf.Email }); string descripcion = "Expulsado del grupo" + grupoEN.Nombre; notificacion.New_(p_descripcion: descripcion, p_usuario: usuf.Email); } } else { GrupoCEN grupo = new GrupoCEN(); GrupoEN grupoEN = grupo.ReadOID(g.Nombre); grupo.SacarUsuario(p_Grupo_OID: g.Nombre, p_miembros_OIDs: new List <string>() { id }); } new GrupoCEN().Destroy(g.Nombre); } new UsuarioCEN().Destroy(id); }
public HttpResponseMessage Modificar(int idRespuesta, [FromBody] RespuestaDTO dto) { // CAD, CEN, returnValue RespuestaRESTCAD respuestaRESTCAD = null; RespuestaCEN respuestaCEN = null; RespuestaDTOA returnValue = null; // HTTP response HttpResponseMessage response = null; string uri = null; try { SessionInitializeTransaction(); string token = ""; if (Request.Headers.Authorization != null) { token = Request.Headers.Authorization.ToString(); } int id = new UsuarioCEN().CheckToken(token); respuestaRESTCAD = new RespuestaRESTCAD(session); respuestaCEN = new RespuestaCEN(respuestaRESTCAD); // Modify respuestaCEN.Modificar(idRespuesta, dto.Cuerpo , dto.Fecha , dto.EsCorrecta , dto.Util ); // Return modified object returnValue = RespuestaAssembler.Convert(respuestaRESTCAD.ReadOIDDefault(idRespuesta), session); SessionCommit(); } catch (Exception e) { SessionRollBack(); if (e.GetType() == typeof(HttpResponseException)) { throw e; } else if (e.GetType() == typeof(ReciclaUAGenNHibernate.Exceptions.ModelException) && e.Message.Equals("El token es incorrecto")) { throw new HttpResponseException(HttpStatusCode.Forbidden); } else if (e.GetType() == typeof(ReciclaUAGenNHibernate.Exceptions.ModelException) || e.GetType() == typeof(ReciclaUAGenNHibernate.Exceptions.DataLayerException)) { throw new HttpResponseException(HttpStatusCode.BadRequest); } else { throw new HttpResponseException(HttpStatusCode.InternalServerError); } } finally { SessionClose(); } // Return 404 - Not found if (returnValue == null) { return(this.Request.CreateResponse(HttpStatusCode.NotFound)); } // Return 200 - OK else { response = this.Request.CreateResponse(HttpStatusCode.OK, returnValue); return(response); } }
public HttpResponseMessage Crear([FromBody] RespuestaDTO dto) { // CAD, CEN, returnValue, returnOID RespuestaRESTCAD respuestaRESTCAD = null; RespuestaCEN respuestaCEN = null; RespuestaDTOA returnValue = null; int returnOID = -1; // HTTP response HttpResponseMessage response = null; string uri = null; try { SessionInitializeTransaction(); string token = ""; if (Request.Headers.Authorization != null) { token = Request.Headers.Authorization.ToString(); } int id = new UsuarioCEN().CheckToken(token); respuestaRESTCAD = new RespuestaRESTCAD(session); respuestaCEN = new RespuestaCEN(respuestaRESTCAD); // Create returnOID = respuestaCEN.Crear( //Atributo Primitivo: p_cuerpo dto.Cuerpo, //Atributo OID: p_duda // attr.estaRelacionado: true dto.Duda_oid // association role , //Atributo OID: p_usuario // attr.estaRelacionado: true dto.Usuario_oid // association role ); SessionCommit(); // Convert return returnValue = RespuestaAssembler.Convert(respuestaRESTCAD.ReadOIDDefault(returnOID), session); } catch (Exception e) { SessionRollBack(); if (e.GetType() == typeof(HttpResponseException)) { throw e; } else if (e.GetType() == typeof(ReciclaUAGenNHibernate.Exceptions.ModelException) && e.Message.Equals("El token es incorrecto")) { throw new HttpResponseException(HttpStatusCode.Forbidden); } else if (e.GetType() == typeof(ReciclaUAGenNHibernate.Exceptions.ModelException) || e.GetType() == typeof(ReciclaUAGenNHibernate.Exceptions.DataLayerException)) { throw new HttpResponseException(HttpStatusCode.BadRequest); } else { throw new HttpResponseException(HttpStatusCode.InternalServerError); } } finally { SessionClose(); } // Return 201 - Created response = this.Request.CreateResponse(HttpStatusCode.Created, returnValue); // Location Header /* * Dictionary<string, object> routeValues = new Dictionary<string, object>(); * * // TODO: y rolPaths * routeValues.Add("id", returnOID); * * uri = Url.Link("GetOIDRespuesta", routeValues); * response.Headers.Location = new Uri(uri); */ return(response); }
public HttpResponseMessage BuscarRespuestasPorUsuario( ) { // CAD, CEN, EN, returnValue RespuestaRESTCAD respuestaRESTCAD = null; RespuestaCEN respuestaCEN = null; System.Collections.Generic.List <RespuestaEN> en; System.Collections.Generic.List <RespuestaDTOA> returnValue = null; try { SessionInitializeWithoutTransaction(); string token = ""; if (Request.Headers.Authorization != null) { token = Request.Headers.Authorization.ToString(); } int id = new UsuarioCEN().CheckToken(token); respuestaRESTCAD = new RespuestaRESTCAD(session); respuestaCEN = new RespuestaCEN(respuestaRESTCAD); // CEN return en = respuestaCEN.BuscarRespuestasPorUsuario(id).ToList(); // Convert return if (en != null) { returnValue = new System.Collections.Generic.List <RespuestaDTOA>(); foreach (RespuestaEN entry in en) { returnValue.Add(RespuestaAssembler.Convert(entry, session)); } } } catch (Exception e) { if (e.GetType() == typeof(HttpResponseException)) { throw e; } else if (e.GetType() == typeof(ReciclaUAGenNHibernate.Exceptions.ModelException) && e.Message.Equals("El token es incorrecto")) { throw new HttpResponseException(HttpStatusCode.Forbidden); } else if (e.GetType() == typeof(ReciclaUAGenNHibernate.Exceptions.ModelException) || e.GetType() == typeof(ReciclaUAGenNHibernate.Exceptions.DataLayerException)) { throw new HttpResponseException(HttpStatusCode.BadRequest); } else { throw new HttpResponseException(HttpStatusCode.InternalServerError); } } finally { SessionClose(); } // Return 204 - Empty if (returnValue == null || returnValue.Count == 0) { return(this.Request.CreateResponse(HttpStatusCode.NoContent)); } // Return 200 - OK else { return(this.Request.CreateResponse(HttpStatusCode.OK, returnValue)); } }
public HttpResponseMessage BuscarPorId(int idRespuesta) { // CAD, CEN, EN, returnValue RespuestaRESTCAD respuestaRESTCAD = null; RespuestaCEN respuestaCEN = null; RespuestaEN respuestaEN = null; RespuestaDTOA returnValue = null; try { SessionInitializeWithoutTransaction(); string token = ""; if (Request.Headers.Authorization != null) { token = Request.Headers.Authorization.ToString(); } int id = new UsuarioCEN().CheckToken(token); respuestaRESTCAD = new RespuestaRESTCAD(session); respuestaCEN = new RespuestaCEN(respuestaRESTCAD); // Data respuestaEN = respuestaCEN.BuscarPorId(idRespuesta); // Convert return if (respuestaEN != null) { returnValue = RespuestaAssembler.Convert(respuestaEN, session); } } catch (Exception e) { if (e.GetType() == typeof(HttpResponseException)) { throw e; } else if (e.GetType() == typeof(ReciclaUAGenNHibernate.Exceptions.ModelException) && e.Message.Equals("El token es incorrecto")) { throw new HttpResponseException(HttpStatusCode.Forbidden); } else if (e.GetType() == typeof(ReciclaUAGenNHibernate.Exceptions.ModelException) || e.GetType() == typeof(ReciclaUAGenNHibernate.Exceptions.DataLayerException)) { throw new HttpResponseException(HttpStatusCode.BadRequest); } else { throw new HttpResponseException(HttpStatusCode.InternalServerError); } } finally { SessionClose(); } // Return 404 - Not found if (returnValue == null) { return(this.Request.CreateResponse(HttpStatusCode.NotFound)); } // Return 200 - OK else { return(this.Request.CreateResponse(HttpStatusCode.OK, returnValue)); } }
public static void InitializeData() { /*PROTECTED REGION ID(initializeDataMethod) ENABLED START*/ try { // Insert the initilizations of entities using the CEN classes // p.e. CustomerCEN customer = new CustomerCEN(); // customer.New_ (p_user:"******", p_password:"******"); //CREACION DE OBJETOS CEN Y VARIOS OBJETOS DE LAS CLASES UsuarioCEN usuario = new UsuarioCEN(); usuario.New_(p_email: "*****@*****.**", p_nombre: "Juanito", p_apellidos: "Palotes Vidal", p_nick: "JuanitoPV", p_contrasenya: "4321", p_fecha_nac: new DateTime(1992, 2, 4), p_rol: (DSMGitGenNHibernate.Enumerated.DSMGit.RolEnum) 3, p_imagen: "/Images/Uploads/defaultUser.png", p_descripcion: "hola"); usuario.New_(p_email: "*****@*****.**", p_nombre: "Pepito", p_apellidos: "Palotes Vidal", p_nick: "JuanitoPeter", p_contrasenya: "1234", p_fecha_nac: new DateTime(1992, 2, 4), p_rol: (DSMGitGenNHibernate.Enumerated.DSMGit.RolEnum) 1, p_imagen: "/Images/Uploads/defaultUser.png", p_descripcion: "hola"); VideoCEN video = new VideoCEN(); int idVideo1 = video.New_(p_titulo: "Haz tu vida mas facil con GitHub", p_descripcion: "Amazing life Hacks", p_usuario: "*****@*****.**", p_fecha_subida: new DateTime(2015, 1, 3), p_miniatura: "/Images/Uploads/Miniaturas/defaultUser.png", p_url: "https://www.youtube.com/embed/aJ7Tv6ukASw"); int idVideo2 = video.New_(p_titulo: "Investigacion de MAC", p_descripcion: "Mi proyecto de MAC", p_usuario: "*****@*****.**", p_fecha_subida: new DateTime(2015, 1, 3), p_miniatura: "/Images/Uploads/Miniaturas/defaultUser.png", p_url: "https://www.youtube.com/embed/aJ7Tv6ukASw"); int idVideo3 = video.New_(p_titulo: "Video de Investigacion", p_descripcion: "Me at the zoo", p_usuario: "*****@*****.**", p_fecha_subida: new DateTime(2017, 1, 3), p_miniatura: "/Images/Uploads/Miniaturas/defaultUser.png", p_url: "https://www.youtube.com/embed/aJ7Tv6ukASw"); int idVideo4 = video.New_(p_titulo: "Video Terror Halloween", p_descripcion: "you WONT BELIEVE this. MUST WATCH. Best thing in ur life", p_usuario: "*****@*****.**", p_fecha_subida: new DateTime(2017, 2, 3), p_miniatura: "/Images/Uploads/Miniaturas/defaultUser.png", p_url: "https://www.youtube.com/embed/aJ7Tv6ukASw"); //Date time: year month day ValoracionCEN valoracion = new ValoracionCEN(); valoracion.New_(p_valor: 5, p_usuario: "*****@*****.**", p_video: idVideo1); valoracion.New_(p_valor: 4, p_usuario: "*****@*****.**", p_video: idVideo1); IList <string> enviaUsu = new List <string>(); enviaUsu.Add("*****@*****.**"); GrupoCEN grupo = new GrupoCEN(); grupo.New_(p_nombre: "Grupo1", p_imagen: "/Images/Uploads/defaultGroup.png", p_descripcion: "El mejor grupo", p_miembros: enviaUsu, p_lider: "*****@*****.**", p_aceptaMiembros: true); grupo.New_(p_nombre: "Grupo2", p_imagen: "/Images/Uploads/defaultGroup.png", p_descripcion: "El segundo mejor grupo", p_miembros: null, p_lider: "*****@*****.**", p_aceptaMiembros: true); //Grupo usado para la mayoria de ejemplos de cps: grupo.New_(p_nombre: "Excalibur", p_imagen: "/Images/Uploads/defaultGroup.png", p_descripcion: "Grupo de fans de las espadas", p_miembros: null, p_lider: "*****@*****.**", p_aceptaMiembros: true); InvitacionCEN invitacion = new InvitacionCEN(); invitacion.New_(p_descripcion: "Invitacion 1", p_grupo: "Grupo1", p_invitador: "*****@*****.**"); invitacion.New_(p_descripcion: "Invitacion 2", p_grupo: "Grupo2", p_invitador: "*****@*****.**"); invitacion.New_(p_descripcion: "Invitacion 3", p_grupo: "Grupo2", p_invitador: "*****@*****.**"); TemaCEN tema = new TemaCEN(); int idtema = tema.New_(p_descripcion: "Hola, buenas tardes", p_estado: DSMGitGenNHibernate.Enumerated.DSMGit.EstadoTemaEnum.cerrado, p_usuario: "*****@*****.**", p_titulo: "Pregunta personal", p_fecha: new DateTime(2015, 1, 3)); int idtema2 = tema.New_(p_descripcion: "Como sacar un 10?", p_estado: DSMGitGenNHibernate.Enumerated.DSMGit.EstadoTemaEnum.abierto, p_usuario: "*****@*****.**", p_titulo: "Desesperacion", p_fecha: new DateTime(2017, 5, 1)); int idtema3 = tema.New_(p_descripcion: "Adios", p_estado: DSMGitGenNHibernate.Enumerated.DSMGit.EstadoTemaEnum.cerrado, p_usuario: "*****@*****.**", p_titulo: "Despedida", p_fecha: new DateTime(2017, 12, 3)); RespuestaCEN respuesta = new RespuestaCEN(); respuesta.New_(p_descripcion: "Buenas tardes", p_tema: idtema, p_usuario: "*****@*****.**", p_fecha: new DateTime(2017, 9, 9)); respuesta.New_(p_descripcion: "Es imposible", p_tema: idtema2, p_usuario: "*****@*****.**", p_fecha: new DateTime(2017, 9, 9)); respuesta.New_(p_descripcion: "rt", p_tema: idtema2, p_usuario: "*****@*****.**", p_fecha: new DateTime(2017, 9, 9)); respuesta.New_(p_descripcion: "Hasta luego", p_tema: idtema3, p_usuario: "*****@*****.**", p_fecha: new DateTime(2017, 9, 9)); NotificacionCEN notificacion = new NotificacionCEN(); notificacion.New_(p_descripcion: "Tienes una nueva invitacion de grupo", p_usuario: "*****@*****.**"); notificacion.New_(p_descripcion: "El usuario Pepito ha aceptado tu peticion", p_usuario: "*****@*****.**"); notificacion.New_(p_descripcion: "Tienes una nueva valoracion en uno de tus videos", p_usuario: "*****@*****.**"); SugerenciaCEN sugerencia = new SugerenciaCEN(); sugerencia.New_(p_titulo: "Reproductor", p_descripcion: "El tama�o del reproductor esta un poco desproporcionado", p_usuario: "*****@*****.**"); sugerencia.New_(p_titulo: "Temas", p_descripcion: "Deberia haber mas control en los temas", p_usuario: "*****@*****.**"); sugerencia.New_(p_titulo: "Grupos", p_descripcion: "Mejora en el manejo de las invitaciones porfa", p_usuario: "*****@*****.**"); ValoracionCEN valoracion1 = new ValoracionCEN(); valoracion1.New_(p_valor: 97, p_usuario: "*****@*****.**", p_video: idVideo4); valoracion1.New_(p_valor: 65, p_usuario: "*****@*****.**", p_video: idVideo2); valoracion1.New_(p_valor: 32, p_usuario: "*****@*****.**", p_video: idVideo3); ComentarioCEN comentario = new ComentarioCEN(); comentario.New_(p_texto: "Me ha parecido que esta bastante guapa", p_usuario: "*****@*****.**", p_video: idVideo1); comentario.New_(p_texto: "tbh me esperaba mas", p_usuario: "*****@*****.**", p_video: idVideo2); comentario.New_(p_texto: "un poco desagradable", p_usuario: "*****@*****.**", p_video: idVideo3); System.Console.WriteLine("\n---------Sentencias HQLS / Readfilter ------------\n"); //HQLS USUARIO System.Console.WriteLine("*HQLS/ReadFilter DE USUARIO*"); IList <UsuarioEN> usuarios = usuario.DameUsuarioPorNick("Juan"); System.Console.WriteLine("DAME USUARIO POR NICK - Juan"); foreach (UsuarioEN usu in usuarios) { System.Console.WriteLine(usu.Nick); } IList <UsuarioEN> usuarios2 = usuario.DameUsuarioPorEmail("*****@*****.**"); System.Console.WriteLine("DAME USUARIO POR EMAIL - [email protected]"); foreach (UsuarioEN usu2 in usuarios2) { System.Console.WriteLine(usu2.Email); } IList <UsuarioEN> usuarios3 = usuario.DameUsuarioPorNombreYApellidos("Juan", "J"); System.Console.WriteLine("DAME USUARIO POR NOMBRE Y APELLIDOS - Juan, J"); foreach (UsuarioEN usu in usuarios3) { System.Console.WriteLine(usu.Nombre + " " + usu.Apellidos); } IList <UsuarioEN> usuarios6 = usuario.DameUsuarioPorNombreOApellidos("Juan", "J"); System.Console.WriteLine("DAME USUARIO POR NOMBRE O APELLIDOS - Juan, J"); foreach (UsuarioEN usu in usuarios6) { System.Console.WriteLine(usu.Nombre + " " + usu.Apellidos); } IList <UsuarioEN> usuarios4 = usuario.DameUsuarioPorRol(3); System.Console.WriteLine("DAME USUARIO POR ROL - 3 (3 seria Guionista)"); foreach (UsuarioEN usu in usuarios4) { System.Console.WriteLine(usu.Nombre); //PUEDE DAR PROBLEMA System.Console.WriteLine("ROL=" + usu.Rol); } IList <UsuarioEN> usuarios5 = usuario.DameUsuarioPorDescripcion("la"); System.Console.WriteLine("DAME USUARIO POR DESCRIPCION"); foreach (UsuarioEN usu in usuarios5) { System.Console.WriteLine(usu.Nombre); } //COMPROBACIONES DE HQL VIDEOS System.Console.WriteLine("*HQLS/ReadFilter DE VIDEO*"); IList <VideoEN> videos = video.DameVideoPorDescripcion("life"); System.Console.WriteLine("DAME VIDEO POR DESCRIPCION (AUTOCOMPLETA EL PR. Y EL FINAL) - life"); foreach (VideoEN vid in videos) { System.Console.WriteLine(vid.Titulo); System.Console.WriteLine("Desripcion: " + vid.Descripcion); } IList <VideoEN> videos2 = video.DameVideoPorDescripcion("hack"); System.Console.WriteLine("DAME VIDEO POR DESCRIPCION (AUTOCOMPLETA EL PR. Y EL FINAL) - hack"); foreach (VideoEN vid in videos2) { System.Console.WriteLine(vid.Titulo); System.Console.WriteLine("Descripcion: " + vid.Descripcion); } IList <VideoEN> videos3 = video.DameVideoPorTitulo("Investigacion"); System.Console.WriteLine("DAME VIDEO POR TITULO (AUTOCOMPLETA EL PR. Y EL FINAL) - Investigacion"); foreach (VideoEN vid in videos3) { System.Console.WriteLine(vid.Titulo); } IList <VideoEN> videos4 = video.DameVideoPorTitulo("Video"); System.Console.WriteLine("DAME VIDEO POR TITULO (AUTOCOMPLETA EL PR. Y EL FINAL) - Video"); foreach (VideoEN vid in videos4) { System.Console.WriteLine(vid.Titulo); } IList <VideoEN> videos5 = video.DameVideoPorEmail("*****@*****.**"); System.Console.WriteLine("DAME VIDEO POR EMAIL - Ejemplo2"); foreach (VideoEN vid in videos5) { System.Console.WriteLine(vid.Titulo); } //DateTime fecha1 = new DateTime(2017, 1, 3); //Date time: year month day IList <VideoEN> videos6 = video.DameVideoPorFecha(2017, 1, 3); System.Console.WriteLine("DAME VIDEO POR FECHA - 2017 1 3"); foreach (VideoEN vid in videos6) { System.Console.WriteLine(vid.Titulo); } IList <VideoEN> videos7 = video.DameVideoPorNick("Juanito"); System.Console.WriteLine("DAME VIDEO POR NICK DE USER (se autocompleta, me va a dar todos los videos de todos los juanitos) - Juanito"); foreach (VideoEN vid in videos7) { System.Console.WriteLine(vid.Titulo); } IList <VideoEN> videos8 = video.DameVideoPorNick("JuanitoPV"); System.Console.WriteLine("DAME VIDEO POR NICK DE USER (se autocompleta) - JuanitoPV"); foreach (VideoEN vid in videos8) { System.Console.WriteLine(vid.Titulo); } //HQLS Valoraciones System.Console.WriteLine("*HQLS/ReadFilter DE VALORACIONES*"); IList <ValoracionEN> valoraciones = valoracion.DameValoracionPorVideoID(idVideo1); System.Console.WriteLine("DAME LA VALORACION MEDIANTE LA ID DEL VIDEO - idVideo1"); foreach (ValoracionEN val in valoraciones) { System.Console.WriteLine("Valoracion: " + val.Valor); System.Console.WriteLine("Valorado por"); System.Console.WriteLine("Usuario con email: " + val.Usuario.Email); } //HQLs Comentarios System.Console.WriteLine("*HQLS/ReadFilter DE COMENTARIO*"); IList <ComentarioEN> comentarios = comentario.DameComentarioPorVideoID(idVideo1); System.Console.WriteLine("DAME LOS COMENTARIOS POR ID DE VIDEO - idVideo1"); foreach (ComentarioEN com in comentarios) { System.Console.WriteLine("Comentarios: " + com.Texto); System.Console.WriteLine("Comentado por"); System.Console.WriteLine("Usuario: " + com.Usuario.Email); } //HQLS Sugerencias System.Console.WriteLine("*HQLS/ReadFilter DE SUGERENCIA*"); IList <SugerenciaEN> sugerencias = sugerencia.DameSugerenciaPorEmail("*****@*****.**"); System.Console.WriteLine("DAME SUGERENCIA POR EMAIL - [email protected]"); foreach (SugerenciaEN vid in sugerencias) { System.Console.WriteLine(vid.Descripcion); } //HQLs Notificaciones System.Console.WriteLine("*HQLS/ReadFilter DE NOTIFICACION*"); IList <NotificacionEN> notificaciones = notificacion.DameNotificacionPorEmail("*****@*****.**"); System.Console.WriteLine("DAME NOTIFICACION POR EMAIL - [email protected]"); foreach (NotificacionEN vid in notificaciones) { System.Console.WriteLine(vid.Descripcion); } //HQLs Temas System.Console.WriteLine("*HQLS/ReadFilter DE TEMAS*"); IList <TemaEN> temas = tema.DameTemaPorNick("PV"); System.Console.WriteLine("DAME TEMA POR NICK - PV"); foreach (TemaEN tem in temas) { System.Console.WriteLine(tem.Titulo); } IList <TemaEN> temas2 = tema.DameTemaPorEmail("*****@*****.**"); System.Console.WriteLine("DAME TEMA POR EMAIL - [email protected]"); foreach (TemaEN tem2 in temas2) { System.Console.WriteLine(tem2.Titulo); } IList <TemaEN> temas3 = tema.DameTemaPorDesc("ue"); System.Console.WriteLine("DAME TEMA POR DESCRIPCION - ue"); foreach (TemaEN tem3 in temas3) { System.Console.WriteLine(tem3.Titulo); } IList <TemaEN> temas4 = tema.DameTemaPorTitulo("per"); System.Console.WriteLine("DAME TEMA POR TITULO - per"); foreach (TemaEN tem4 in temas4) { System.Console.WriteLine(tem4.Titulo); System.Console.WriteLine(tem4.Fecha.ToString()); } IList <TemaEN> listaTemasAbiertos = tema.DameTemasAbiertos(); System.Console.WriteLine("Dame Temas abiertos"); foreach (TemaEN te in listaTemasAbiertos) { System.Console.WriteLine(te.Titulo); } IList <TemaEN> listaTemasCerrados = tema.DameTemasCerrados(); System.Console.WriteLine("Dame Temas cerrados"); foreach (TemaEN te in listaTemasCerrados) { System.Console.WriteLine(te.Titulo); } //hqls DE RESPUESTAS System.Console.WriteLine("*HQLS/ReadFilter DE RESPUESTAS (a un tema)*"); IList <RespuestaEN> respus = respuesta.DameRespuestaPorEmail("*****@*****.**"); System.Console.WriteLine("DAME RESPUESTA POR EMAIL - [email protected]"); foreach (RespuestaEN respu in respus) { System.Console.WriteLine(respu.Descripcion); System.Console.WriteLine("Del tema: " + tema.ReadOID(respu.Tema.Id).Titulo); System.Console.WriteLine("Por el usuario: " + usuario.ReadOID(respu.Usuario.Email).Nick); } IList <RespuestaEN> respus2 = respuesta.DameRespuestaPorNick("Pet"); System.Console.WriteLine("DAME RESPUESTA POR NICK - Pet"); foreach (RespuestaEN respu2 in respus2) { System.Console.WriteLine(respu2.Descripcion); System.Console.WriteLine("Del tema: " + tema.ReadOID(respu2.Tema.Id).Titulo); System.Console.WriteLine("Por el usuario: " + usuario.ReadOID(respu2.Usuario.Email).Nick); } IList <RespuestaEN> respus3 = respuesta.DameRespuestaPorTema(idtema2); System.Console.WriteLine("DAME RESPUESTA POR TEMA - idtema2"); foreach (RespuestaEN respu3 in respus3) { System.Console.WriteLine(respu3.Descripcion); System.Console.WriteLine("Del tema: " + tema.ReadOID(respu3.Tema.Id).Titulo); System.Console.WriteLine("Por el usuario: " + usuario.ReadOID(respu3.Usuario.Email).Nick); } //HQLS DE INVITACIONES System.Console.WriteLine("*HQLS/ReadFilter DE INVITACIONES (a 1 grupo)*"); IList <InvitacionEN> invis = invitacion.DameInvitacionEnviadaPorEmail("*****@*****.**"); System.Console.WriteLine("DAME INVITACION POR EMAIL (INVITADOR) - [email protected]"); foreach (InvitacionEN invi in invis) { System.Console.WriteLine(invi.Descripcion); } IList <InvitacionEN> invis2 = invitacion.DameInvitacionEnviadaPorGrupo("Grupo2"); System.Console.WriteLine("DAME INVITACION POR GRUPO - Grupo2"); foreach (InvitacionEN invi2 in invis2) { System.Console.WriteLine(invi2.Descripcion); System.Console.WriteLine("Del grupo: " + invi2.Grupo.Nombre); } //COMPROBACIONES METODOS System.Console.WriteLine("\n------------------\n"); System.Console.WriteLine("\n---------CUSTOM---------\n"); //Iniciar Sesion System.Console.WriteLine("*INICIAR SESION*"); System.Console.WriteLine("Pruebas con el usuario [email protected]"); System.Console.WriteLine("Con email [email protected] y password 4321"); System.Console.WriteLine("Inicio de sesion: [email protected] - 4321"); System.Console.WriteLine(usuario.Iniciar_sesion("*****@*****.**", "4321")); System.Console.WriteLine("Inicio de sesion: [email protected] - 321"); System.Console.WriteLine(usuario.Iniciar_sesion("*****@*****.**", "321")); System.Console.WriteLine("\n*ABRIR Y CERRAR TEMAS*"); listaTemasCerrados = tema.DameTemasCerrados(); System.Console.WriteLine("Temas cerrados"); foreach (TemaEN te in listaTemasCerrados) { System.Console.WriteLine(te.Titulo); } System.Console.WriteLine(""); System.Console.WriteLine("Ejecuto abrir de tema (metodo custom) y vuelvo a hacer la HQL:"); IList <TemaEN> dameElTemaQueQuiero = tema.DameTemaPorTitulo("Pregunta personal"); int idQueQuiero = -1; foreach (TemaEN te in listaTemasCerrados) { idQueQuiero = te.Id; } System.Console.WriteLine(""); System.Console.WriteLine("Abro el tema"); System.Console.WriteLine(""); tema.Abrir(idQueQuiero); listaTemasAbiertos = tema.DameTemasAbiertos(); System.Console.WriteLine("Temas abiertos"); foreach (TemaEN te in listaTemasAbiertos) { System.Console.WriteLine(te.Titulo); } System.Console.WriteLine(""); listaTemasCerrados = tema.DameTemasCerrados(); System.Console.WriteLine("Temas cerrados"); foreach (TemaEN te in listaTemasCerrados) { System.Console.WriteLine(te.Titulo); } System.Console.WriteLine(""); System.Console.WriteLine("Ahora cierro el tema: Despedida"); tema.Cerrar(idQueQuiero); System.Console.WriteLine(""); listaTemasAbiertos = tema.DameTemasAbiertos(); System.Console.WriteLine("Temas abiertos"); foreach (TemaEN te in listaTemasAbiertos) { System.Console.WriteLine(te.Titulo); } System.Console.WriteLine(""); listaTemasCerrados = tema.DameTemasCerrados(); System.Console.WriteLine("Temas cerrados"); foreach (TemaEN te in listaTemasCerrados) { System.Console.WriteLine(te.Titulo); } System.Console.WriteLine("FIN COMPROBACIONES DE ABRIR-CERRAR TEMA"); System.Console.WriteLine(""); System.Console.WriteLine("\n------------------\n"); System.Console.WriteLine("\n---------CPs---------\n"); //Grupo Excalibur creado por [email protected]. Empieza sin miembros. DSMGitGenNHibernate.CP.DSMGit.InvitacionCP invitacionCP = new DSMGitGenNHibernate.CP.DSMGit.InvitacionCP(); DSMGitGenNHibernate.CP.DSMGit.GrupoCP grupoCP = new DSMGitGenNHibernate.CP.DSMGit.GrupoCP(); DSMGitGenNHibernate.CP.DSMGit.UsuarioCP usuarioCP = new DSMGitGenNHibernate.CP.DSMGit.UsuarioCP(); DSMGitGenNHibernate.CP.DSMGit.VideoCP videoCP = new DSMGitGenNHibernate.CP.DSMGit.VideoCP(); IList <UsuarioEN> listaUsuariosExcalibur = new List <UsuarioEN>(); IList <ValoracionEN> listaValoraciones = new List <ValoracionEN>(); //Salir del grupo. El usuario exige salir de un grupo. No puede salir de Excalibur porque no pertenece. System.Console.WriteLine("[email protected] - Salir de Excalibur"); System.Console.WriteLine(usuarioCP.SalirDeGrupo("*****@*****.**", "Excalibur") + "\n"); //Alternativa agil a utilizar el Relationer, pues se le pasa un unico usuario, y no una lista. //Accion del grupo para meter a un usuario. System.Console.WriteLine("Excalibur añade a [email protected]"); System.Console.WriteLine(grupoCP.AnadirUsuario("Excalibur", "*****@*****.**") + "\n"); listaUsuariosExcalibur = usuario.DameUsuarioPorGrupo("Excalibur"); System.Console.WriteLine("Veamos los usuarios de Excalibur:"); foreach (UsuarioEN usu in listaUsuariosExcalibur) { System.Console.WriteLine(usu.Nick); System.Console.WriteLine("Email: " + usu.Email); } //Expulsar Usuario. Accion del grupo para echar a uno de sus usuarios. System.Console.WriteLine(" "); System.Console.WriteLine("\n Excalibur expulsa a su miembro [email protected]"); System.Console.WriteLine(grupoCP.ExpulsarUsuario("Excalibur", "*****@*****.**") + "\n"); listaUsuariosExcalibur = usuario.DameUsuarioPorGrupo("Excalibur"); System.Console.WriteLine("Veamos los usuarios de Excalibur:"); foreach (UsuarioEN usu in listaUsuariosExcalibur) { System.Console.WriteLine(usu.Nick); System.Console.WriteLine("Email: " + usu.Email); } //El usuario entra por su cuenta a Excalibur, que acepta nuevos miembros. System.Console.WriteLine(" "); System.Console.WriteLine("[email protected] - Entrar a Excalibur (peticion)"); System.Console.WriteLine(usuarioCP.EntrarAGrupo("*****@*****.**", "Excalibur") + "\n"); listaUsuariosExcalibur = usuario.DameUsuarioPorGrupo("Excalibur"); System.Console.WriteLine("Veamos los usuarios de Excalibur:"); foreach (UsuarioEN usu in listaUsuariosExcalibur) { System.Console.WriteLine(usu.Nick); System.Console.WriteLine("Email: " + usu.Email); } //Salir del grupo. El usuario exige salir de un grupo. Pertenece a Excalibur por lo que puede salir. Sale sin problema de Excalibur System.Console.WriteLine(" "); System.Console.WriteLine("[email protected] - Salir de Excalibur"); System.Console.WriteLine(usuarioCP.SalirDeGrupo("*****@*****.**", "Excalibur") + "\n"); listaUsuariosExcalibur = usuario.DameUsuarioPorGrupo("Excalibur"); System.Console.WriteLine("Veamos los usuarios de Excalibur:"); foreach (UsuarioEN usu in listaUsuariosExcalibur) { System.Console.WriteLine(usu.Nick); System.Console.WriteLine("Email: " + usu.Email); } //Salir del grupo. El usuario exige salir de un grupo. No puede salir de Excalibur porque ya no pertenece. System.Console.WriteLine("\n [email protected] - Salir de Excalibur"); System.Console.WriteLine(usuarioCP.SalirDeGrupo("*****@*****.**", "Excalibur") + "\n"); System.Console.WriteLine("\n *Comprobaciones de errores en CP: no meten usuarios nulos o usuarios a grupos nulos, o usuarios/grupos inexistentes.*"); System.Console.WriteLine("Por lo que todos estos métodos deben dar FALSE."); System.Console.WriteLine(grupoCP.AnadirUsuario("Excalibur", null)); System.Console.WriteLine(grupoCP.AnadirUsuario("Excalibur", "usuarioinexistente")); System.Console.WriteLine(grupoCP.AnadirUsuario("grupoinexistente", "*****@*****.**")); System.Console.WriteLine(grupoCP.AnadirUsuario("grupoinexistente", "usuarioinexistente")); System.Console.WriteLine(usuarioCP.EntrarAGrupo(null, "Excalibur")); System.Console.WriteLine(usuarioCP.EntrarAGrupo("*****@*****.**", null)); System.Console.WriteLine(usuarioCP.EntrarAGrupo("*****@*****.**", "Noexiste")); System.Console.WriteLine(usuarioCP.EntrarAGrupo("noexisto", "Excalibur")); System.Console.WriteLine(usuarioCP.SalirDeGrupo("*****@*****.**", null)); System.Console.WriteLine(usuarioCP.SalirDeGrupo(null, "Excalibur")); System.Console.WriteLine(usuarioCP.SalirDeGrupo("noexisto", "Excalibur")); System.Console.WriteLine(usuarioCP.SalirDeGrupo("*****@*****.**", "noexisto")); System.Console.WriteLine(grupoCP.ExpulsarUsuario(null, null)); System.Console.WriteLine(grupoCP.ExpulsarUsuario("Excalibur", null)); System.Console.WriteLine(grupoCP.ExpulsarUsuario(null, "*****@*****.**")); System.Console.WriteLine(grupoCP.ExpulsarUsuario("noexisto", "*****@*****.**")); System.Console.WriteLine(grupoCP.ExpulsarUsuario("Excalibur", "noexisto")); System.Console.WriteLine("\n *Fin de metodos CP de Grupos/Usuarios que deben dar error*"); System.Console.WriteLine("\n---------CPs sobre Video/Valoracion------------\n"); //Por aqui se pueden probar los metodos CrearInvitacion y AceptarInvitacion System.Console.WriteLine("Comprobacion CrearInvitacion"); System.Console.WriteLine("INVITACIONES USUARIO 1 \n"); IList <InvitacionEN> inviE1 = invitacion.DameInvitacionEnviadaPorEmail("*****@*****.**"); IList <InvitacionEN> inviR1 = invitacion.DameInvitacionRecibidaPorEmail("*****@*****.**"); System.Collections.Generic.IList <string> usuarios_invitados = new List <string>();; usuarios_invitados.Add("*****@*****.**"); foreach (InvitacionEN invi in inviR1) { System.Console.WriteLine("--Recibida: " + invi.Descripcion); } foreach (InvitacionEN invi in inviE1) { System.Console.WriteLine("--Enviada: " + invi.Descripcion); } System.Console.Write("\n"); System.Console.WriteLine("INVITACIONES USUARIO 2 \n"); IList <InvitacionEN> inviE2 = invitacion.DameInvitacionEnviadaPorEmail("*****@*****.**"); IList <InvitacionEN> inviR2 = invitacion.DameInvitacionRecibidaPorEmail("*****@*****.**"); foreach (InvitacionEN invi in inviR2) { System.Console.WriteLine("--Recibida: " + invi.Descripcion); } foreach (InvitacionEN invi in inviE2) { System.Console.WriteLine("--Enviada: " + invi.Descripcion); } System.Console.Write("\n"); System.Console.WriteLine("SE INVOCA A CREAR INVITACION, USUARIO 1 LE MANDA INVITACION A USUARIO 2 "); invitacionCP.CrearInvitacion(usuarios_invitados, "*****@*****.**", "Grupo1", "Invitacion hecha con el CP crear Invitacion \n"); System.Console.WriteLine("INVITACIONES USUARIO 1 \n"); inviE1 = invitacion.DameInvitacionEnviadaPorEmail("*****@*****.**"); inviR1 = invitacion.DameInvitacionRecibidaPorEmail("*****@*****.**"); foreach (InvitacionEN invi in inviR1) { System.Console.WriteLine("--Recibida: " + invi.Descripcion); } foreach (InvitacionEN invi in inviE1) { System.Console.WriteLine("--Enviada: " + invi.Descripcion); } System.Console.Write("\n"); System.Console.WriteLine("INVITACIONES USUARIO 2 \n"); inviE2 = invitacion.DameInvitacionEnviadaPorEmail("*****@*****.**"); inviR2 = invitacion.DameInvitacionRecibidaPorEmail("*****@*****.**"); foreach (InvitacionEN invi in inviR2) { System.Console.WriteLine("--Recibida: " + invi.Descripcion); } foreach (InvitacionEN invi in inviE2) { System.Console.WriteLine("--Enviada: " + invi.Descripcion); } //comprobaciones Aceptar invitacion System.Console.Write("\n"); System.Console.WriteLine("USUARIOS EN EL GRUPO 1 \n"); IList <UsuarioEN> usuarios_grupo1 = usuario.DameUsuarioPorGrupo("Grupo1"); foreach (UsuarioEN u in usuarios_grupo1) { System.Console.WriteLine("--Usuario: " + u.Email); } System.Console.Write("\n"); System.Console.WriteLine("INVITACIONES DEL GRUPO 1 \n"); IList <InvitacionEN> invi1 = invitacion.DameInvitacionEnviadaPorGrupo("Grupo1"); foreach (InvitacionEN i in invi1) { System.Console.WriteLine("--Usuario: " + i.Descripcion); } System.Console.Write("\n"); System.Console.WriteLine("SE INVOCA A ACEPTAR INVITACIÓN DEL USUARIO 2 "); invitacionCP.AceptarInvitacion(inviR2 [0].Id, "*****@*****.**"); System.Console.WriteLine("INVITACIONES USUARIO 1 \n"); inviE1 = invitacion.DameInvitacionEnviadaPorEmail("*****@*****.**"); inviR1 = invitacion.DameInvitacionRecibidaPorEmail("*****@*****.**"); foreach (InvitacionEN invi in inviR1) { System.Console.WriteLine("--Recibida: " + invi.Descripcion); } foreach (InvitacionEN invi in inviE1) { System.Console.WriteLine("--Enviada: " + invi.Descripcion); } System.Console.Write("\n"); System.Console.WriteLine("INVITACIONES USUARIO 2 \n"); inviE2 = invitacion.DameInvitacionEnviadaPorEmail("*****@*****.**"); inviR2 = invitacion.DameInvitacionRecibidaPorEmail("*****@*****.**"); foreach (InvitacionEN invi in inviR2) { System.Console.WriteLine("--Recibida: " + invi.Descripcion); } foreach (InvitacionEN invi in inviE2) { System.Console.WriteLine("--Enviada: " + invi.Descripcion); } System.Console.Write("\n"); System.Console.WriteLine("USUARIOS EN EL GRUPO 1 \n"); usuarios_grupo1 = usuario.DameUsuarioPorGrupo("Grupo1"); foreach (UsuarioEN u in usuarios_grupo1) { System.Console.WriteLine("--Usuario: " + u.Email); } System.Console.Write("\n"); System.Console.WriteLine("INVITACIONES DEL GRUPO 1 \n"); invi1 = invitacion.DameInvitacionEnviadaPorGrupo("Grupo1"); foreach (InvitacionEN i in invi1) { System.Console.WriteLine("--Usuario: " + i.Descripcion); } //ValoracionMedia de un video. Tiene 2 valoraciones, 5 y 4. System.Console.WriteLine("\n Valoracion media del video: " + video.ReadOID(idVideo1).Titulo); System.Console.WriteLine(videoCP.Calcular_valoracion(idVideo1)); //Mostramos las valoraciones que tiene para comprobar que estamos en lo cierto: listaValoraciones = valoracion.DameValoracionPorVideoID(idVideo1); System.Console.WriteLine("\n HQL - Comprobamos las valoraciones del video: " + video.ReadOID(idVideo1).Titulo); foreach (ValoracionEN val in listaValoraciones) { System.Console.WriteLine(" Valoracion de: " + val.Usuario.Email); System.Console.WriteLine("Puntuacion: " + val.Valor); } System.Console.WriteLine("*Comprobaciones Errores CP Valoraciones: Estos metodos deben dar 0 porque el video no tiene valoraciones, o no existe."); //En principio este id de video, no existe. Seria mucha casualidad. System.Console.WriteLine(videoCP.Calcular_valoracion(-1423798)); System.Console.WriteLine("*Fin Comprobaciones Errores CP Valoraciones"); System.Console.WriteLine("\n---------------------\n"); /*PROTECTED REGION END*/ } catch (Exception ex) { System.Console.WriteLine(ex.InnerException); throw ex; } }
public static void InitializeData() { /*PROTECTED REGION ID(initializeDataMethod) ENABLED START*/ try { Random random = new Random(); /** TIPOS DE ACCION **/ Console.WriteLine("Tipos de acción..."); TipoAccionCEN tipoAccionCEN = new TipoAccionCEN(); var idTipo1 = tipoAccionCEN.Crear(10, "Duda"); var idTipo2 = tipoAccionCEN.Crear(5, "Respuesta"); tipoAccionCEN.Crear(10, "Item"); tipoAccionCEN.Crear(30, "Punto"); tipoAccionCEN.Crear(10, "Material"); /** USUARIOS **/ Console.WriteLine("Usuarios..."); IList <int> ids_usuarios = new List <int>(); UsuarioAdministradorCEN adminCEN = new UsuarioAdministradorCEN(); // var idAdminFer = adminCEN.Crear("Fernando", "de la Calle Rodríguez", "*****@*****.**", "fdlc4"); // var idAdminAddel = adminCEN.Crear ("Addel Arnaldo", "Goya Jorge", "*****@*****.**", "aagj2"); var id_admin = adminCEN.Crear("admin", "admin", "*****@*****.**", "admin"); UsuarioWebCEN usuCEN = new UsuarioWebCEN(); // ids_usuarios.Add(usuCEN.Crear ("Angela Sofia", "Sbrizzi Quilotte", "*****@*****.**", "assq1")); // ids_usuarios.Add(usuCEN.Crear ("José Antonio", "Agulló García", "*****@*****.**", "jaag14")); // ids_usuarios.Add(usuCEN.Crear ("mohamed", "walid Nebili", "*****@*****.**", "mwn1")); // ids_usuarios.Add(usuCEN.Crear("Fernando", "de la Calle Rodríguez", "*****@*****.**", "fdlc4")); ids_usuarios.Add(usuCEN.Crear("usu1", "usu1", "*****@*****.**", "usu1")); ids_usuarios.Add(usuCEN.Crear("usu2", "usu2", "*****@*****.**", "usu2")); /** NOTAS INFORMATIVAS **/ Console.WriteLine("Notas informativas..."); var lorem = "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Quisque dui diam, tempus ac velit placerat, venenatis volutpat velit. Nam eget turpis nisi. Curabitur lectus arcu, vestibulum vitae interdum a, feugiat non neque. Sed velit ligula, tincidunt nec fringilla at, interdum eu nunc. Proin quis viverra nibh. Ut nec risus sem. Aenean enim libero, varius sit amet sem at, luctus semper dui. Donec feugiat ultricies quam, nec consequat dolor rutrum non. Ut sed massa nec nisi tincidunt dapibus id nec justo. Nunc vel enim id felis lacinia faucibus. Praesent molestie, nulla eleifend accumsan rhoncus, orci sem posuere mauris, id sollicitudin arcu eros eu leo. In quis lorem nec erat ornare suscipit in a felis. Cras porttitor lacus pretium, varius arcu at, sollicitudin erat. Nam aliquet accumsan metus et tincidunt. Nam et laoreet lectus, ut scelerisque elit. Phasellus vel enim ut dolor iaculis suscipit."; NotaInformativaCEN notaCEN = new NotaInformativaCEN(); for (int i = 0; i < 10; i++) { var id_nota = notaCEN.Crear(id_admin, "Nota informativa " + (i + 1), lorem); } /* DUDA */ Console.WriteLine("Duda..."); DudaCEN duda = new DudaCEN(); Tuple <TemaEnum, string>[] temas = new Tuple <TemaEnum, string> [3]; temas [0] = new Tuple <TemaEnum, string>(TemaEnum.anecdota, "Anécdota"); temas [1] = new Tuple <TemaEnum, string>(TemaEnum.cuestion, "Cuestión"); temas [2] = new Tuple <TemaEnum, string>(TemaEnum.consejo, "Consejo"); RespuestaCEN respuesta = new RespuestaCEN(); foreach (var tema in temas) { Console.WriteLine(" " + tema.Item2 + "..."); for (int i = 0; i < 5; i++) { var id_duda = duda.Crear(tema.Item2 + " " + (i + 1), lorem, ids_usuarios [random.Next(0, ids_usuarios.Count)], tema.Item1); for (int j = 0; j < 5; j++) { respuesta.Crear(lorem.Substring(random.Next(0, lorem.Length / 2)), id_duda, ids_usuarios [random.Next(0, ids_usuarios.Count)]); } } } /* MATERIAL */ Console.WriteLine("Materiales..."); MaterialCEN materialCEN = new MaterialCEN(); int id_vidrio = materialCEN.Crear("Vidrio", TipoContenedorEnum.cristal, ids_usuarios [random.Next(0, ids_usuarios.Count)]); int id_alimento = materialCEN.Crear("Alimento", TipoContenedorEnum.organico, ids_usuarios [random.Next(0, ids_usuarios.Count)]); int id_carton = materialCEN.Crear("Cartón", TipoContenedorEnum.papel, ids_usuarios [random.Next(0, ids_usuarios.Count)]); int id_plastico = materialCEN.Crear("Plástico", TipoContenedorEnum.plastico, ids_usuarios [random.Next(0, ids_usuarios.Count)]); int id_papel = materialCEN.Crear("Papel", TipoContenedorEnum.papel, ids_usuarios [random.Next(0, ids_usuarios.Count)]); int id_cristal = materialCEN.Crear("Cristal", TipoContenedorEnum.cristal, ids_usuarios [random.Next(0, ids_usuarios.Count)]); IList <int> ids_materiales = new List <int> { id_vidrio, id_alimento, id_carton, id_plastico, id_papel, id_cristal }; foreach (int id in ids_materiales) { materialCEN.ValidarMaterial(id); } materialCEN.Crear("Espejo", TipoContenedorEnum.cristal, ids_usuarios [random.Next(0, ids_usuarios.Count)]); materialCEN.Crear("Papel aluminio", TipoContenedorEnum.plastico, ids_usuarios [random.Next(0, ids_usuarios.Count)]); materialCEN.Crear("Excremento", TipoContenedorEnum.organico, ids_usuarios [random.Next(0, ids_usuarios.Count)]); materialCEN.Crear("Cartulina", TipoContenedorEnum.papel, ids_usuarios [random.Next(0, ids_usuarios.Count)]); /* ITEMS */ Console.WriteLine("Ítems..."); ItemCEN itemCEN = new ItemCEN(); int id_item_1 = itemCEN.Crear("Botella", "Botella de agua de plastico", "https://folder.es/41611-large_default/caja-de-35-botellas-de-agua-nestle-aquarel-033l.jpg", ids_usuarios [random.Next(0, ids_usuarios.Count)], id_plastico); int id_item_2 = itemCEN.Crear("Macarrones", "Restos de macarrones", "https://www.rebanando.com/uploads/media/maxresdefault-jpg-19.jpeg?1449350333", ids_usuarios [random.Next(0, ids_usuarios.Count)], id_alimento); int id_item_3 = itemCEN.Crear("Caja", "Caja de cartón de televisión", "https://www.farodeoriente.com/wp-content/uploads/2020/04/TV-samsung-caja-740x416.jpg", ids_usuarios [random.Next(0, ids_usuarios.Count)], id_carton); int id_item_4 = itemCEN.Crear("Botellín", "Botellín de cristal de cerveza", "https://cervezafresca.com/wp-content/uploads/2011/04/cruzcampo.jpg", ids_usuarios [random.Next(0, ids_usuarios.Count)], id_vidrio); // Console.WriteLine("Creados los items: " + id_item_1 + ", " + id_item_2 + ", " + id_item_3 + ", " + id_item_4 + ", "); IList <int> ids_items = new List <int> { id_item_1, id_item_2, id_item_3, id_item_4 }; foreach (int id in ids_items) { itemCEN.ValidarItem(id, random.Next(5, 20)); } /* NIVELES */ Console.WriteLine("Niveles..."); NivelCEN nivelCEN = new NivelCEN(); int id_nivel_1 = nivelCEN.Crear(1, 5); int id_nivel_2 = nivelCEN.Crear(2, 10); // Console.WriteLine("Creados los niveles: " + id_nivel_1 + ", " + id_nivel_2); IList <int> ItemsNivel1 = new List <int>(); ItemsNivel1.Add(id_item_1); ItemsNivel1.Add(id_item_2); nivelCEN.AsignarItems(id_nivel_1, ItemsNivel1); IList <int> ItemsNivel2 = new List <int>(); ItemsNivel2.Add(id_item_3); ItemsNivel2.Add(id_item_4); nivelCEN.AsignarItems(id_nivel_2, ItemsNivel2); /* ZONAS Y PUNTOS */ Console.WriteLine("Zonas y puntos..."); ContenedorCEN contenedorCEN = new ContenedorCEN(); TipoContenedorEnum[] contenedores = new TipoContenedorEnum [4]; contenedores [0] = TipoContenedorEnum.cristal; contenedores [1] = TipoContenedorEnum.organico; contenedores [2] = TipoContenedorEnum.papel; contenedores [3] = TipoContenedorEnum.plastico; EdificioCEN edificioCEN = new EdificioCEN(); PlantaCEN plantaCEN = new PlantaCEN(); EstanciaCEN estanciaCEN = new EstanciaCEN(); PuntoReciclajeCEN puntoCEN = new PuntoReciclajeCEN(); /* SIGUA */ string path = @"..\..\resources\sigua_eps.json"; StreamReader sr = File.OpenText(path); //Console.WriteLine(sr.ReadToEnd().Trim()); JArray aEdificios = JArray.Parse(sr.ReadToEnd().Trim()); foreach (var itemEdificio in aEdificios.Children()) { var edificioProperties = itemEdificio.Children <JProperty>(); var id = edificioProperties.FirstOrDefault(x => x.Name == "id"); var nombre = edificioProperties.FirstOrDefault(x => x.Name == "nombre"); var plantas = edificioProperties.FirstOrDefault(x => x.Name == "plantas"); Console.WriteLine("Edificio: " + nombre + "..."); var id_edificio = Int32.Parse(id.Value.ToString()); id_edificio = edificioCEN.Crear(nombre.Value.ToString(), id_edificio); foreach (var planta in plantas.Children().Children()) { PlantaEnum plantaE; JProperty plantaProperties = (JProperty)planta; if (plantaProperties.Name == "P1") { plantaE = PlantaEnum.P1; } else if (plantaProperties.Name == "P2") { plantaE = PlantaEnum.P2; } else if (plantaProperties.Name == "P3") { plantaE = PlantaEnum.P3; } else if (plantaProperties.Name == "P4") { plantaE = PlantaEnum.P4; } else if (plantaProperties.Name == "PS") { plantaE = PlantaEnum.PS; } else { plantaE = PlantaEnum.PB; } var id_planta = plantaCEN.Crear(plantaE, id_edificio); foreach (var itemEstancia in planta.Children().Children()) { var estanciaProperties = itemEstancia.Children <JProperty>(); var estancia_codigo = estanciaProperties.FirstOrDefault(x => x.Name == "codigo"); var estancia_lon = estanciaProperties.FirstOrDefault(x => x.Name == "longitud"); var estancia_lat = estanciaProperties.FirstOrDefault(x => x.Name == "latitud"); var estancia_nom = estanciaProperties.FirstOrDefault(x => x.Name == "nombre"); var estancia_act = estanciaProperties.FirstOrDefault(x => x.Name == "actividad"); if (estancia_act.Value.ToString() == "Aseos" || estancia_act.Value.ToString() == "Vestuarios" || estancia_act.Value.ToString() == "Pasillos" || estancia_act.Value.ToString() == "Aseo femenino" || estancia_act.Value.ToString() == "Aseo masculino" || estancia_act.Value.ToString() == "Jardines") { if (estanciaCEN.BuscarPorId(estancia_codigo.Value.ToString()) == null) { double latitud, longitud; latitud = double.Parse(estancia_lat.Value.ToString().Replace(',', '.'), CultureInfo.InvariantCulture); longitud = double.Parse(estancia_lon.Value.ToString().Replace(',', '.'), CultureInfo.InvariantCulture); var id_estancia = estanciaCEN.Crear(estancia_codigo.Value.ToString(), estancia_act.Value.ToString(), latitud, longitud, estancia_nom.Value.ToString(), id_edificio, id_planta); var id_punto = puntoCEN.Crear(latitud, longitud, ids_usuarios [random.Next(0, ids_usuarios.Count)], id_estancia); puntoCEN.ValidarPunto(id_punto); foreach (TipoContenedorEnum c in contenedores) { if (random.Next(0, 100) > 50) { contenedorCEN.Crear(c, id_punto); } } } } } } } /*PROTECTED REGION END*/ } catch (Exception ex) { System.Console.WriteLine(ex.InnerException); throw ex; } }