Esempio n. 1
0
 public void GivenQuieroCrearUnMaterialNuevoConInformacionesSpecificas()
 {
     material = new MaterialEN()
     {
         Contenedor = TipoContenedorEnum.organico,
         Nombre     = "Contenedor 123"
     };
     materialCEN = new MaterialCEN();
 }
Esempio n. 2
0
        public HttpResponseMessage DescartarMaterial(int p_oid)
        {
            // CAD, CEN, returnValue
            MaterialRESTCAD materialRESTCAD = null;
            MaterialCEN     materialCEN     = null;

            try
            {
                SessionInitializeTransaction();
                string token = "";
                if (Request.Headers.Authorization != null)
                {
                    token = Request.Headers.Authorization.ToString();
                }
                int id = new UsuarioCEN().CheckToken(token);



                materialRESTCAD = new MaterialRESTCAD(session);
                materialCEN     = new MaterialCEN(materialRESTCAD);


                // Operation
                materialCEN.DescartarMaterial(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));
        }
        public void CrearAccionMaterial(int p_oid)
        {
            /*PROTECTED REGION ID(ReciclaUAGenNHibernate.CP.ReciclaUA_Material_crearAccionMaterial) ENABLED START*/

            IMaterialCAD   materialCAD   = null;
            MaterialCEN    materialCEN   = null;
            AccionWebCEN   accionWebCEN  = null;
            ITipoAccionCAD tipoAccionCAD = null;
            TipoAccionCEN  tipoAccionCEN = null;
            TipoAccionEN   tipoAccion    = null;
            IUsuarioWebCAD usuarioWebCAD = null;
            UsuarioWebCEN  usuarioWebCEN = null;
            MaterialEN     material      = null;


            try
            {
                SessionInitializeTransaction();
                materialCAD   = new MaterialCAD(session);
                materialCEN   = new MaterialCEN(materialCAD);
                tipoAccionCAD = new TipoAccionCAD(session);
                tipoAccionCEN = new TipoAccionCEN(tipoAccionCAD);
                usuarioWebCAD = new UsuarioWebCAD(session);
                usuarioWebCEN = new UsuarioWebCEN(usuarioWebCAD);
                accionWebCEN  = new AccionWebCEN();

                material = materialCEN.BuscarPorId(p_oid);

                if (material.Usuario != null && usuarioWebCEN.BuscarPorId(material.Usuario.Id) != null)
                {
                    tipoAccion = tipoAccionCEN.BuscarTodos(0, -1).Where(t => t.Nombre.Equals("Material")).FirstOrDefault();

                    if (tipoAccion == null)
                    {
                        var id = tipoAccionCEN.Crear(10, "Material");
                        tipoAccion = tipoAccionCEN.BuscarPorId(id);
                    }
                    accionWebCEN.Crear(material.Usuario.Id, tipoAccion.Id);
                }

                SessionCommit();
            }
            catch (Exception ex)
            {
                SessionRollBack();
                throw ex;
            }
            finally
            {
                SessionClose();
            }


            /*PROTECTED REGION END*/
        }
Esempio n. 4
0
        protected void Descargar(object sender, EventArgs e)
        {
            string email = (String)Session["email"]; //Coger email, de la sesion

            LinkButton btn = (LinkButton)sender;     //Coger del atributo id
            int        id  = Int32.Parse(btn.CommandArgument.ToString());

            MaterialCEN matCEN = new MaterialCEN();
            string      matURL = matCEN.Descargar(id, 0);

            Page_Load(sender, e); // Recargar la página, el redirect lo hace un script en el .aspx
            //Response.Redirect(matURL); //Redirige al enlace de descarga
            //Response.Write(String.Format("window.open('{0}','_blank')", ResolveUrl(matURL)));
        }
        public static void InitializeData()
        {
            MaterialEN material = new MaterialEN()
            {
                Contenedor = TipoContenedorEnum.cristal,
                Nombre     = "Contenedor 1"
            };
            MaterialEN material2 = new MaterialEN()
            {
                Contenedor = TipoContenedorEnum.cristal,
                Nombre     = "Contenedor 2"
            };

            id1 = new MaterialCEN().Crear(material.Nombre, material.Contenedor, -1);
            id2 = new MaterialCEN().Crear(material2.Nombre, material2.Contenedor, -1);
        }
        public HttpResponseMessage Borrar(int p_material_oid)
        {
            // CAD, CEN
            MaterialRESTCAD materialRESTCAD = null;
            MaterialCEN     materialCEN     = null;

            try
            {
                SessionInitializeTransaction();


                materialRESTCAD = new MaterialRESTCAD(session);
                materialCEN     = new MaterialCEN(materialRESTCAD);

                materialCEN.Borrar(p_material_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 204 - No Content
            return(this.Request.CreateResponse(HttpStatusCode.NoContent));
        }
        public static void InitializeData()
        {
            MaterialEN material = new MaterialEN()
            {
                Contenedor = TipoContenedorEnum.cristal,
                Nombre     = "Contenedor 1"
            };

            idMaterial = new MaterialCEN().Crear(material.Nombre, material.Contenedor, -1);

            item = new ItemEN()
            {
                Nombre      = "item",
                Descripcion = "description",
                Imagen      = "image file path",
                EsValido    = EstadoEnum.enProceso
            };
            itemId = new ItemCEN().Crear(item.Nombre, item.Descripcion, item.Imagen, -1, idMaterial);
        }
Esempio n. 8
0
        public static MaterialDTOA Convert(MaterialEN en, NHibernate.ISession session = null)
        {
            MaterialDTOA    dto             = null;
            MaterialRESTCAD materialRESTCAD = null;
            MaterialCEN     materialCEN     = null;
            MaterialCP      materialCP      = null;

            if (en != null)
            {
                dto             = new MaterialDTOA();
                materialRESTCAD = new MaterialRESTCAD(session);
                materialCEN     = new MaterialCEN(materialRESTCAD);
                materialCP      = new MaterialCP(session);



                //
                // Attributes

                dto.Id = en.Id;

                dto.Nombre = en.Nombre;


                dto.Contenedor = en.Contenedor;


                dto.EsValido = en.EsValido;


                //
                // TravesalLink


                //
                // Service
            }

            return(dto);
        }
        public void CrearMaterial(int p_oid)
        {
            /*PROTECTED REGION ID(ReciclaUAGenNHibernate.CP.ReciclaUA_Material_crearMaterial) ENABLED START*/

            IMaterialCAD materialCAD = null;
            MaterialCEN  materialCEN = null;



            try
            {
                SessionInitializeTransaction();
                materialCAD = new MaterialCAD(session);
                materialCEN = new  MaterialCEN(materialCAD);



                // Write here your custom transaction ...

                throw new NotImplementedException("Method CrearMaterial() not yet implemented.");



                SessionCommit();
            }
            catch (Exception ex)
            {
                SessionRollBack();
                throw ex;
            }
            finally
            {
                SessionClose();
            }


            /*PROTECTED REGION END*/
        }
Esempio n. 10
0
        protected void Page_Load(object sender, EventArgs e)
        {
            if ((String)Session["email"] == "" || Session["email"] == null)
            {
                Response.Redirect("login.aspx");
            }

            if (!IsPostBack)
            {
                inicial = 0;
                final   = inicial + 10;
            }
            else
            {
                final = inicial + 10;
            }
            MaterialCEN        matCEN  = new MaterialCEN();
            IList <MaterialEN> lista   = matCEN.Listar(inicial, final);
            List <MaterialEN>  lParsed = lista as List <MaterialEN>;

            ListView1.DataSource = lParsed;
            ListView1.DataBind();
        }
Esempio n. 11
0
        public HttpResponseMessage Modificar(int idMaterial, [FromBody] MaterialDTO dto)
        {
            // CAD, CEN, returnValue
            MaterialRESTCAD materialRESTCAD = null;
            MaterialCEN     materialCEN     = null;
            MaterialDTOA    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);



                materialRESTCAD = new MaterialRESTCAD(session);
                materialCEN     = new MaterialCEN(materialRESTCAD);

                // Modify
                materialCEN.Modificar(idMaterial,
                                      dto.Nombre
                                      ,
                                      dto.Contenedor
                                      ,
                                      dto.EsValido
                                      );

                // Return modified object
                returnValue = MaterialAssembler.Convert(materialRESTCAD.ReadOIDDefault(idMaterial), 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);
            }
        }
Esempio n. 12
0
        public HttpResponseMessage Crear([FromBody] MaterialDTO dto)
        {
            // CAD, CEN, returnValue, returnOID
            MaterialRESTCAD materialRESTCAD = null;
            MaterialCEN     materialCEN     = null;
            MaterialDTOA    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);



                materialRESTCAD = new MaterialRESTCAD(session);
                materialCEN     = new MaterialCEN(materialRESTCAD);

                // Create
                returnOID = materialCEN.Crear(
                    //Atributo Primitivo: p_nombre
                    dto.Nombre,                         //Atributo Primitivo: p_contenedor
                    dto.Contenedor,                     //Atributo OID: p_usuario
                    // attr.estaRelacionado: true
                    dto.Usuario_oid                     // association role

                    );
                SessionCommit();

                // Convert return
                returnValue = MaterialAssembler.Convert(materialRESTCAD.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("GetOIDMaterial", routeValues);
             * response.Headers.Location = new Uri(uri);
             */

            return(response);
        }
Esempio n. 13
0
        public HttpResponseMessage BuscarMaterialesPorValidarCount(       )
        {
            // CAD, CEN, EN, returnValue

            MaterialRESTCAD materialRESTCAD = null;
            MaterialCEN     materialCEN     = null;


            int returnValue;

            try
            {
                SessionInitializeWithoutTransaction();
                string token = "";
                if (Request.Headers.Authorization != null)
                {
                    token = Request.Headers.Authorization.ToString();
                }
                int id = new UsuarioCEN().CheckToken(token);



                materialRESTCAD = new MaterialRESTCAD(session);
                materialCEN     = new MaterialCEN(materialRESTCAD);

                // CEN return



                returnValue = materialCEN.BuscarMaterialesPorValidarCount(      );



                // Convert return
            }

            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)
            {
                return(this.Request.CreateResponse(HttpStatusCode.NoContent));
            }
            // Return 200 - OK
            else
            {
                return(this.Request.CreateResponse(HttpStatusCode.OK, returnValue));
            }
        }
Esempio n. 14
0
        public HttpResponseMessage BuscarTodos()
        {
            // CAD, CEN, EN, returnValue
            MaterialRESTCAD materialRESTCAD = null;
            MaterialCEN     materialCEN     = null;

            List <MaterialEN>   materialEN  = null;
            List <MaterialDTOA> returnValue = null;

            try
            {
                SessionInitializeWithoutTransaction();
                string token = "";
                if (Request.Headers.Authorization != null)
                {
                    token = Request.Headers.Authorization.ToString();
                }
                int id = new UsuarioCEN().CheckToken(token);



                materialRESTCAD = new MaterialRESTCAD(session);
                materialCEN     = new MaterialCEN(materialRESTCAD);

                // Data
                // TODO: paginación

                materialEN = materialCEN.BuscarTodos(0, -1).ToList();

                // Convert return
                if (materialEN != null)
                {
                    returnValue = new List <MaterialDTOA>();
                    foreach (MaterialEN entry in materialEN)
                    {
                        returnValue.Add(MaterialAssembler.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 void GivenNoHayUnMaterialDeTipoCristal()
 {
     materialCEN = new MaterialCEN();
 }
Esempio n. 16
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;
            }
        }
 public void GivenHayUnMaterialConUnIdEspecifico()
 {
     materialCEN = new MaterialCEN();
 }
        public HttpResponseMessage BuscarMaterialesPorUsuario(int id_usuario)
        {
            // CAD, CEN, EN, returnValue

            MaterialRESTCAD materialRESTCAD = null;
            MaterialCEN     materialCEN     = null;


            System.Collections.Generic.List <MaterialEN> en;

            System.Collections.Generic.List <MaterialDTOA> returnValue = null;

            try
            {
                SessionInitializeWithoutTransaction();



                materialRESTCAD = new MaterialRESTCAD(session);
                materialCEN     = new MaterialCEN(materialRESTCAD);

                // CEN return



                en = materialCEN.BuscarMaterialesPorUsuario(id_usuario).ToList();



                // Convert return
                if (en != null)
                {
                    returnValue = new System.Collections.Generic.List <MaterialDTOA>();
                    foreach (MaterialEN entry in en)
                    {
                        returnValue.Add(MaterialAssembler.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 void GivenNoHayUnMaterialConUnIdEspecifico()
 {
     materialCEN = new MaterialCEN();
     materialId  = -1;
 }
 public void GivenTengoUnMaterialConUnaIdEspecifico()
 {
     materialCEN = new MaterialCEN();
 }
Esempio n. 21
0
        public static void InitializeData()
        {
            /*PROTECTED REGION ID(initializeDataMethod) ENABLED START*/
            try
            {
                /*List<LinkUAv1GenNHibernate.EN.Mediaplayer.MusicTrackEN> musicTracks = new List<LinkUAv1GenNHibernate.EN.Mediaplayer.MusicTrackEN>();
                 * LinkUAv1GenNHibernate.EN.Mediaplayer.UserEN userEN = new LinkUAv1GenNHibernate.EN.Mediaplayer.UserEN();
                 * LinkUAv1GenNHibernate.EN.Mediaplayer.ArtistEN artistEN = new LinkUAv1GenNHibernate.EN.Mediaplayer.ArtistEN();
                 * LinkUAv1GenNHibernate.EN.Mediaplayer.MusicTrackEN musicTrackEN = new LinkUAv1GenNHibernate.EN.Mediaplayer.MusicTrackEN();
                 * LinkUAv1GenNHibernate.CEN.Mediaplayer.ArtistCEN artistCEN = new LinkUAv1GenNHibernate.CEN.Mediaplayer.ArtistCEN();
                 * LinkUAv1GenNHibernate.CEN.Mediaplayer.UserCEN userCEN = new LinkUAv1GenNHibernate.CEN.Mediaplayer.UserCEN();
                 * LinkUAv1GenNHibernate.CEN.Mediaplayer.MusicTrackCEN musicTrackCEN = new LinkUAv1GenNHibernate.CEN.Mediaplayer.MusicTrackCEN();
                 * LinkUAv1GenNHibernate.CEN.Mediaplayer.PlayListCEN playListCEN = new LinkUAv1GenNHibernate.CEN.Mediaplayer.PlayListCEN();
                 *
                 *              //Add Users
                 * userEN.Email = "*****@*****.**";
                 * userEN.Name = "user";
                 * userEN.Surname = "userSurname";
                 * userEN.Password = "******";
                 * userCEN.New_(userEN.Name, userEN.Surname, userEN.Email, userEN.Password);
                 *
                 * //Add Music Track1
                 * musicTrackEN.Id = "http://www2.b3ta.com/mp3/Beer Beer Beer (YOB mix).mp3";
                 * musicTrackEN.Format = "mp3";
                 * musicTrackEN.Lyrics = "Beer Beer Beer Beer Beer Beer ..";
                 * musicTrackEN.Name = "Beer Beer Beer";
                 * musicTrackEN.Company = "Company";
                 * musicTrackEN.Cover = "http://www.tomasabraham.com.ar/cajadig/2007/images/nro18-2/beer1.jpg";
                 * musicTrackEN.Price = 20;
                 * musicTrackEN.Rating = 5;
                 * musicTrackEN.CommunityRating = 5;
                 * musicTrackEN.Duration = 200;
                 * musicTrackCEN.New_(musicTrackEN.Id, musicTrackEN.Format, musicTrackEN.Lyrics, musicTrackEN.Name,
                 *  musicTrackEN.Company, musicTrackEN.Cover, musicTrackEN.CommunityRating, musicTrackEN.Rating,
                 *  musicTrackEN.Price, musicTrackEN.Duration);
                 * musicTracks.Add(musicTrackEN);
                 * musicTrackCEN.AsignUser(musicTrackEN.Id,userEN.Email);
                 *
                 * //Define Album
                 * //LinkUAv1GenNHibernate.CEN.Mediaplayer.AlbumCEN albumCEN = new LinkUAv1GenNHibernate.CEN.Mediaplayer.AlbumCEN();
                 * //albumCEN.New_("Album 1", "This is a Album 1", artists, musicTracks);*/

                //Convert.ToDateTime("05/12/1995")

                TitulacionCEN titu = new TitulacionCEN();
                AsignaturaCEN asig = new AsignaturaCEN();

                titu.New_("Ingeniería Informática");
                asig.New_("PROGRAMACION 1", 1, 1);
                asig.New_("MATEMATICAS 1", 1, 1);
                asig.New_("FUNDAMENTOS FISICOS DE LA INFORMATICA", 1, 1);
                asig.New_("FUNDAMENTOS DE LOS COMPUTADORES", 1, 1);
                asig.New_("SISTEMAS Y TECNOLOGÍAS DE INFORMACIÓN", 1, 1);
                asig.New_("MATEMATICA DISCRETA", 1, 1);
                asig.New_("PROGRAMACION 2", 1, 1);
                asig.New_("FUNDAMENTOS DE LAS BASES DE DATOS", 1, 1);
                asig.New_("ESTRUCTURA DE LOS COMPUTADORES", 1, 1);
                asig.New_("ESTADISTICA", 2, 1);
                asig.New_("SISTEMAS OPERATIVOS", 2, 1);
                asig.New_("DISEÑO DE BASES DE DATOS", 2, 1);
                asig.New_("REDES DE COMPUTADORES", 2, 1);
                asig.New_("PROGRAMACION 3", 2, 1);
                asig.New_("PROGRAMACION Y ESTRUCTURAS DE DATOS", 2, 1);
                asig.New_("LENGUAJES Y PARADIGMAS DE PROGRAMACION", 2, 1);

                titu.New_("Ingeniería Química");
                titu.New_("Ingeniería Robótica");

                titu.New_("Español: Lengua y Literaturas");
                asig.New_("DIALECTO ÁRABE MAGREBÍ", 1, 4);
                asig.New_("PROGRAMACION 1", 1, 4);

                titu.New_("Estudios Árabes e Islámicos");
                titu.New_("Estudios Franceses");
                titu.New_("Biología");
                titu.New_("Ciencias del Mar");
                titu.New_("Geología");
                titu.New_("Matemáticas");
                titu.New_("Química");
                titu.New_("Enfermería");

                titu.New_("Nutrición Humana y Dietética");
                titu.New_("Óptica y Optometría");
                titu.New_("Criminología");
                titu.New_("Derecho");
                titu.New_("Derecho + ADE (DADE)");
                titu.New_("Arquitectura Técnica");
                titu.New_("Fundamentos de la Arquitectura");

                UsuarioCEN usucen = new UsuarioCEN();
                usucen.New_("*****@*****.**", "admin", "Admin", "Miiiiiiin", new DateTime(2000, 1, 1), "123456789", "admin", LinkUAv1GenNHibernate.Enumerated.LinkUAv1.EstadoEnum.administrador, 1);

                usucen.New_("*****@*****.**", "ara65", "Reyes", "Pro", DateTime.Now, "123456789", "ara1995", LinkUAv1GenNHibernate.Enumerated.LinkUAv1.EstadoEnum.administrador, 1);
                usucen.New_("*****@*****.**", "Adria", "Segura", "Tarraso", DateTime.Now, "644000000", "1234", LinkUAv1GenNHibernate.Enumerated.LinkUAv1.EstadoEnum.activo, 1);
                usucen.New_("*****@*****.**", "Adry", "Aura", "Nieto", DateTime.Now, "987654321", "adry", LinkUAv1GenNHibernate.Enumerated.LinkUAv1.EstadoEnum.activo, 1);
                usucen.New_("*****@*****.**", "Miguel", "Sancho", "Peña", DateTime.Now, "124378102", "admin", LinkUAv1GenNHibernate.Enumerated.LinkUAv1.EstadoEnum.administrador, 1);

                PublicacionCEN publicen = new PublicacionCEN();
                publicen.New_("Hola Mundo", "Esta es la primera publicación que se realiza de prueba.", false, false, new DateTime(2016, 4, 10, 12, 57, 5), 0, "*****@*****.**", LinkUAv1GenNHibernate.Enumerated.LinkUAv1.CategoriaEnum.Otros);
                publicen.New_("Hola, otra vez", "Esta es la segunda publicación que se realiza de prueba.", false, false, new DateTime(2016, 4, 10, 14, 10, 2), 0, "*****@*****.**", LinkUAv1GenNHibernate.Enumerated.LinkUAv1.CategoriaEnum.Otros);
                publicen.New_("Hayyda! HAMIJOS!", "No se komo dar liek :S:S", false, false, DateTime.Now, 0, "*****@*****.**", LinkUAv1GenNHibernate.Enumerated.LinkUAv1.CategoriaEnum.Social);
                publicen.New_("Clase2", "Publis XDXD.", false, false, DateTime.Now, 0, "*****@*****.**", LinkUAv1GenNHibernate.Enumerated.LinkUAv1.CategoriaEnum.Academico);
                publicen.New_("Piso1", "Esta es la segunda publicación que se realiza de prueba.", false, false, new DateTime(2016, 4, 10, 14, 10, 2), 0, "*****@*****.**", LinkUAv1GenNHibernate.Enumerated.LinkUAv1.CategoriaEnum.Piso);
                publicen.New_("Piso2", "Esta es la segunda publicación que se realiza de prueba.", false, false, new DateTime(2016, 4, 10, 14, 10, 2), 0, "*****@*****.**", LinkUAv1GenNHibernate.Enumerated.LinkUAv1.CategoriaEnum.Piso);
                publicen.New_("Piso3", "Esta es la segunda publicación que se realiza de prueba.", false, false, new DateTime(2016, 4, 10, 14, 10, 2), 0, "*****@*****.**", LinkUAv1GenNHibernate.Enumerated.LinkUAv1.CategoriaEnum.Piso);
                publicen.New_("Social1", "Esta es la segunda publicación que se realiza de prueba.", false, false, new DateTime(2016, 4, 10, 14, 10, 2), 0, "*****@*****.**", LinkUAv1GenNHibernate.Enumerated.LinkUAv1.CategoriaEnum.Social);
                publicen.New_("Social2", "Esta es la segunda publicación que se realiza de prueba.", false, false, new DateTime(2016, 4, 10, 14, 10, 2), 0, "*****@*****.**", LinkUAv1GenNHibernate.Enumerated.LinkUAv1.CategoriaEnum.Social);
                publicen.New_("Amor1", "Esta es la segunda publicación que se realiza de prueba.", false, false, new DateTime(2016, 4, 10, 14, 10, 2), 0, "*****@*****.**", LinkUAv1GenNHibernate.Enumerated.LinkUAv1.CategoriaEnum.Amor);
                publicen.New_("Amor2", "Esta es la segunda publicación que se realiza de prueba.", false, false, new DateTime(2016, 4, 10, 14, 10, 2), 0, "*****@*****.**", LinkUAv1GenNHibernate.Enumerated.LinkUAv1.CategoriaEnum.Amor);


                publicen.Dar_like(1, "*****@*****.**");
                publicen.Dar_like(1, "*****@*****.**");
                //publicen.Quitar_like(1, "*****@*****.**");
                //Console.WriteLine(publicen.Likeado(1, "*****@*****.**"));
                //Console.WriteLine(publicen.Likeado(1, "*****@*****.**"));

                ComentarioCEN comenCEN = new ComentarioCEN();
                comenCEN.New_("Muy guena, mi like acá se lo dejo", DateTime.Now, 0, "*****@*****.**", 1);
                comenCEN.New_("PD: Me gusta el diseño", DateTime.Now, 0, "*****@*****.**", 1);
                comenCEN.New_("Jajajaj", DateTime.Now, 0, "*****@*****.**", 1);
                comenCEN.New_("Segunda ya? kual es la 1a xd", DateTime.Now, 0, "*****@*****.**", 2);
                comenCEN.New_("AJAJAJAJA no t rayes tio... chat ya!", DateTime.Now, 0, "*****@*****.**", 3);
                comenCEN.New_("qlokoxd!", DateTime.Now, 0, "*****@*****.**", 3);

                comenCEN.Dar_like(1, "*****@*****.**");
                comenCEN.Dar_like(1, "*****@*****.**");
                //comenCEN.Quitar_like(1, "*****@*****.**");
                //Console.WriteLine(comenCEN.Likeado(1, "*****@*****.**"));
                //Console.WriteLine(comenCEN.Likeado(1, "*****@*****.**"));

                MaterialCEN matCEN = new MaterialCEN();
                matCEN.New_("GOOGLE", "El buscador más usado en todo el mundo", "http://www.google.es", 0, 1, "*****@*****.**");
                matCEN.New_("Práctica 8", "Esta es la práctica 8 del año en que cursé P1. La llamamos la 'PROCHO'.", "https://drive.google.com/file/d/0B8qsO0HHo8M2UnRtTXVHSXEyUEU/view?usp=sharing", 0, 1, "*****@*****.**");

                /*PROTECTED REGION END*/
            }
            catch (Exception ex)
            {
                System.Console.WriteLine(ex.InnerException);
                throw ex;
            }
        }
 public void GivenTengoMaterialesDeUnTipoContenedorEspecifico()
 {
     materialCEN = new MaterialCEN();
 }
        public HttpResponseMessage CrearCP([FromBody] MaterialDTO dto)
        {
            // CAD, CEN, returnValue, returnOID
            MaterialRESTCAD materialRESTCAD = null;
            MaterialCEN     materialCEN     = null;
            MaterialDTOA    returnValue     = null;
            MaterialCP      materialCP      = null;
            int             returnOID       = -1;

            // HTTP response
            HttpResponseMessage response = null;
            string uri = null;

            try
            {
                SessionInitializeTransaction();

                materialRESTCAD = new MaterialRESTCAD(session);
                materialCEN     = new MaterialCEN(materialRESTCAD);
                materialCP      = new MaterialCP(session);

                // Create
                returnOID = materialCEN.Crear(dto.Nombre, dto.Contenedor, dto.Usuario_oid);
                materialCP.CrearAccionMaterial(returnOID);

                SessionCommit();

                // Convert return
                returnValue = MaterialAssembler.Convert(materialRESTCAD.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 void GivenTengoMateriales()
 {
     materialCEN = new MaterialCEN();
 }
Esempio n. 25
0
 public void GivenExisteUnMaterialConIdEspecifico()
 {
     materialCEN = new MaterialCEN();
 }
 public void GivenNoHayUnMaterialConId(int p0)
 {
     materialCEN = new MaterialCEN();
     materialId  = -1;
 }
        public HttpResponseMessage BuscarPorId(int idMaterial)
        {
            // CAD, CEN, EN, returnValue
            MaterialRESTCAD materialRESTCAD = null;
            MaterialCEN     materialCEN     = null;
            MaterialEN      materialEN      = null;
            MaterialDTOA    returnValue     = null;

            try
            {
                SessionInitializeWithoutTransaction();


                materialRESTCAD = new MaterialRESTCAD(session);
                materialCEN     = new MaterialCEN(materialRESTCAD);

                // Data
                materialEN = materialCEN.BuscarPorId(idMaterial);

                // Convert return
                if (materialEN != null)
                {
                    returnValue = MaterialAssembler.Convert(materialEN, 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));
            }
        }