Exemplo n.º 1
0
        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);
        }
Exemplo n.º 2
0
        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());
            }
        }
Exemplo n.º 3
0
        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());
            }
        }
Exemplo n.º 4
0
        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());
            }
        }
Exemplo n.º 5
0
        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);
        }
Exemplo n.º 9
0
        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*/
        }
Exemplo n.º 10
0
        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());
            }
        }
Exemplo n.º 11
0
        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());
            }
        }
Exemplo n.º 12
0
        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);
        }
Exemplo n.º 13
0
        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);
            }
        }
Exemplo n.º 14
0
        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);
        }
Exemplo n.º 15
0
        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));
            }
        }
Exemplo n.º 16
0
        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));
            }
        }
Exemplo n.º 17
0
        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;
            }
        }
Exemplo n.º 18
0
        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;
            }
        }