public static void InitializeData()
        {
            MaterialEN material = new MaterialEN()
            {
                Contenedor = TipoContenedorEnum.cristal,
                Nombre     = "Contenedor 1"
            };

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

            ItemEN item = new ItemEN()
            {
                Nombre      = "item",
                Descripcion = "description",
                Imagen      = "image file path",
                EsValido    = EstadoEnum.enProceso
            };

            itemId1 = new ItemCEN().Crear(item.Nombre, item.Descripcion, item.Imagen, -1, idMaterial);
            item    = new ItemEN()
            {
                Nombre      = "item2",
                Descripcion = "description2",
                Imagen      = "image file path2",
                EsValido    = EstadoEnum.descartado
            };
            itemId2 = new ItemCEN().Crear(item.Nombre, item.Descripcion, item.Imagen, -1, idMaterial);
        }
Beispiel #2
0
        public HttpResponseMessage DescartarItem(int p_oid)
        {
            // CAD, CEN, returnValue
            ItemRESTCAD itemRESTCAD = null;
            ItemCEN     itemCEN     = null;

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



                itemRESTCAD = new ItemRESTCAD(session);
                itemCEN     = new ItemCEN(itemRESTCAD);


                // Operation
                itemCEN.DescartarItem(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 CrearAccionItem(int p_oid)
        {
            /*PROTECTED REGION ID(ReciclaUAGenNHibernate.CP.ReciclaUA_Item_crearAccionItem) ENABLED START*/

            IItemCAD       itemCAD       = null;
            ItemCEN        itemCEN       = null;
            AccionWebCEN   accionWebCEN  = null;
            ITipoAccionCAD tipoAccionCAD = null;
            TipoAccionCEN  tipoAccionCEN = null;
            TipoAccionEN   tipoAccion    = null;
            IUsuarioWebCAD usuarioWebCAD = null;
            UsuarioWebCEN  usuarioWebCEN = null;
            ItemEN         item          = null;

            try
            {
                SessionInitializeTransaction();
                itemCAD       = new ItemCAD(session);
                itemCEN       = new ItemCEN(itemCAD);
                tipoAccionCAD = new TipoAccionCAD(session);
                tipoAccionCEN = new TipoAccionCEN(tipoAccionCAD);
                usuarioWebCAD = new UsuarioWebCAD(session);
                usuarioWebCEN = new UsuarioWebCEN(usuarioWebCAD);
                accionWebCEN  = new AccionWebCEN();

                item = itemCEN.BuscarPorId(p_oid);

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

                    if (tipoAccion == null)
                    {
                        var id = tipoAccionCEN.Crear(10, "Item");
                        tipoAccion = tipoAccionCEN.BuscarPorId(id);
                    }
                    accionWebCEN.Crear(item.Usuario.Id, tipoAccion.Id);
                }
                SessionCommit();
            }
            catch (Exception ex)
            {
                SessionRollBack();
                throw ex;
            }
            finally
            {
                SessionClose();
            }


            /*PROTECTED REGION END*/
        }
Beispiel #4
0
        public static ItemDTOA Convert(ItemEN en, NHibernate.ISession session = null)
        {
            ItemDTOA    dto         = null;
            ItemRESTCAD itemRESTCAD = null;
            ItemCEN     itemCEN     = null;
            ItemCP      itemCP      = null;

            if (en != null)
            {
                dto         = new ItemDTOA();
                itemRESTCAD = new ItemRESTCAD(session);
                itemCEN     = new ItemCEN(itemRESTCAD);
                itemCP      = new ItemCP(session);



                //
                // Attributes

                dto.Id = en.Id;

                dto.Nombre = en.Nombre;


                dto.Descripcion = en.Descripcion;


                dto.Imagen = en.Imagen;


                dto.EsValido = en.EsValido;


                dto.Puntuacion = en.Puntuacion;


                //
                // TravesalLink

                /* Rol: Item o--> Material */
                dto.MaterialItem = MaterialAssembler.Convert((MaterialEN)en.Material, session);


                //
                // Service
            }

            return(dto);
        }
        public int CrearItem()
        {
            /*PROTECTED REGION ID(ReciclaUAGenNHibernate.CP.ReciclaUA_Item_crearItem) ENABLED START*/

            IItemCAD itemCAD = null;
            ItemCEN  itemCEN = null;

            int result = -1;


            try
            {
                SessionInitializeTransaction();
                itemCAD = new ItemCAD(session);
                itemCEN = new  ItemCEN(itemCAD);



                // Write here your custom transaction ...

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



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


            /*PROTECTED REGION END*/
        }
        public Byte[] GetImage(int id, string imageName)
        {
            ItemCEN itemCEN = new ItemCEN();
            ItemEN  item    = itemCEN.BuscarPorId(id);

            // string tempName = id + imageName;

            if (!item.Imagen.StartsWith("http"))
            {
                var  filePath = HttpContext.Current.Server.MapPath("~/ItemsImages");
                bool exists   = System.IO.Directory.Exists(filePath);
                if (!exists)
                {
                    return(null);
                }
                exists = System.IO.File.Exists(item.Imagen);
                if (!exists)
                {
                    return(null);
                }
                Byte[] image = File.ReadAllBytes(item.Imagen);
                return(image);
            }
            else
            {
                using (var webClient = new WebClient())
                {
                    try
                    {
                        Byte[] image = webClient.DownloadData(item.Imagen);
                        return(image);
                    }
                    catch (Exception e)
                    {
                        return(null);
                    }
                }
            }
        }
        public bool RemoveImage(int id, string imageName)
        {
            ItemCEN itemCEN  = new ItemCEN();
            ItemEN  item     = itemCEN.BuscarPorId(id);
            var     filePath = HttpContext.Current.Server.MapPath("~/ItemsImages");
            bool    exists   = System.IO.Directory.Exists(filePath);

            if (!exists)
            {
                return(false);
            }

            if (!item.Imagen.StartsWith("http"))
            {
                exists = System.IO.File.Exists(item.Imagen);
                if (!exists)
                {
                    return(false);
                }
                File.Delete(item.Imagen);
                return(true);
            }
            return(false);
        }
Beispiel #8
0
        public HttpResponseMessage Modificar(int idItem, [FromBody] ItemDTO dto)
        {
            // CAD, CEN, returnValue
            ItemRESTCAD itemRESTCAD = null;
            ItemCEN     itemCEN     = null;
            ItemDTOA    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);



                itemRESTCAD = new ItemRESTCAD(session);
                itemCEN     = new ItemCEN(itemRESTCAD);

                // Modify
                itemCEN.Modificar(idItem,
                                  dto.Nombre
                                  ,
                                  dto.Descripcion
                                  ,
                                  dto.Imagen
                                  ,
                                  dto.EsValido
                                  ,
                                  dto.Puntuacion
                                  );

                // Return modified object
                returnValue = ItemAssembler.Convert(itemRESTCAD.ReadOIDDefault(idItem), 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);
            }
        }
Beispiel #9
0
        public HttpResponseMessage Crear([FromBody] ItemDTO dto)
        {
            // CAD, CEN, returnValue, returnOID
            ItemRESTCAD itemRESTCAD = null;
            ItemCEN     itemCEN     = null;
            ItemDTOA    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);



                itemRESTCAD = new ItemRESTCAD(session);
                itemCEN     = new ItemCEN(itemRESTCAD);

                // Create
                returnOID = itemCEN.Crear(
                    //Atributo Primitivo: p_nombre
                    dto.Nombre,                         //Atributo Primitivo: p_descripcion
                    dto.Descripcion,                    //Atributo Primitivo: p_imagen
                    dto.Imagen,                         //Atributo OID: p_usuario
                    // attr.estaRelacionado: true
                    dto.Usuario_oid                     // association role

                    ,                                   //Atributo OID: p_material
                    // attr.estaRelacionado: true
                    dto.Material_oid                    // association role

                    );
                SessionCommit();

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

            return(response);
        }
Beispiel #10
0
        public HttpResponseMessage BuscarItemsPorNivel(int id_nivel)
        {
            // CAD, CEN, EN, returnValue

            ItemRESTCAD itemRESTCAD = null;
            ItemCEN     itemCEN     = null;


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

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

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



                itemRESTCAD = new ItemRESTCAD(session);
                itemCEN     = new ItemCEN(itemRESTCAD);

                // CEN return



                en = itemCEN.BuscarItemsPorNivel(id_nivel).ToList();



                // Convert return
                if (en != null)
                {
                    returnValue = new System.Collections.Generic.List <ItemDTOA>();
                    foreach (ItemEN entry in en)
                    {
                        returnValue.Add(ItemAssembler.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 GivenNoHayUnItemConUnIdEspecifico()
 {
     itemId  = -1;
     itemCEN = new ItemCEN();
 }
 public void GivenNoExisteUnItemConId(int p0)
 {
     itemCEN = new ItemCEN();
     itemId  = -1;
 }
        public async Task <HttpResponseMessage> UploadImage(int p_oid)
        {
            ItemCEN itemCEN = new ItemCEN();
            ItemEN  item    = null;

            Dictionary <string, object> dict = new Dictionary <string, object>();

            try
            {
                var httpRequest = HttpContext.Current.Request;

                foreach (string file in httpRequest.Files)
                {
                    HttpResponseMessage response = Request.CreateResponse(HttpStatusCode.Created);

                    var postedFile = httpRequest.Files [file];
                    if (postedFile != null && postedFile.ContentLength > 0)
                    {
                        int MaxContentLength = 1024 * 1024 * 5;         //Size = 1 MB

                        IList <string> AllowedFileExtensions = new List <string> {
                            ".jpg", ".jpeg", ".png"
                        };
                        var ext       = postedFile.FileName.Substring(postedFile.FileName.LastIndexOf('.'));
                        var extension = ext.ToLower();
                        if (!AllowedFileExtensions.Contains(extension))
                        {
                            var message = string.Format("Please Upload image of type .jpg,.gif,.png.");

                            dict.Add("error", message);
                            return(Request.CreateResponse(HttpStatusCode.BadRequest, dict));
                        }
                        else if (postedFile.ContentLength > MaxContentLength)
                        {
                            var message = string.Format("Please Upload a file upto 1 mb.");

                            dict.Add("error", message);
                            return(Request.CreateResponse(HttpStatusCode.BadRequest, dict));
                        }
                        else
                        {
                            string imageName = p_oid + Path.GetExtension(postedFile.FileName);

                            var  filePath = HttpContext.Current.Server.MapPath("~/ItemsImages");
                            bool exists   = System.IO.Directory.Exists(filePath);
                            if (!exists)
                            {
                                System.IO.Directory.CreateDirectory(filePath);
                            }

                            var final_path = filePath + "/" + imageName;
                            postedFile.SaveAs(final_path);
                            item = itemCEN.BuscarPorId(p_oid);
                            itemCEN.Modificar(p_oid, item.Nombre, item.Descripcion, final_path, item.EsValido, item.Puntuacion);
                        }
                    }

                    var message1 = string.Format("Image Updated Successfully.");
                    return(Request.CreateErrorResponse(HttpStatusCode.Created, message1));;
                }
                var res = string.Format("Please Upload a image.");
                dict.Add("error", res);
                return(Request.CreateResponse(HttpStatusCode.NotFound, dict));
            }
            catch (Exception ex)
            {
                var res = string.Format("some Message");
                dict.Add("error", res);
                return(Request.CreateResponse(HttpStatusCode.NotFound, dict));
            }
        }
        public HttpResponseMessage CrearCP([FromBody] ItemDTO dto)
        {
            // CAD, CEN, returnValue, returnOID
            ItemRESTCAD itemRESTCAD = null;
            ItemCEN     itemCEN     = null;
            ItemDTOA    returnValue = null;
            ItemCP      itemCP      = null;
            int         returnOID   = -1;

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

            try
            {
                SessionInitializeTransaction();


                itemRESTCAD = new ItemRESTCAD(session);
                itemCEN     = new ItemCEN(itemRESTCAD);
                itemCP      = new ItemCP(session);

                // Create
                returnOID = itemCEN.Crear(dto.Nombre, dto.Descripcion, dto.Imagen, dto.Usuario_oid, dto.Material_oid);
                itemCP.CrearAccionItem(returnOID);

                SessionCommit();

                // Convert return
                returnValue = ItemAssembler.Convert(itemRESTCAD.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 GivenTengoUnItemConUnaIdEspecifico()
 {
     itemCEN = new ItemCEN();
 }
 public void GivenExisteUnItemConIdEspecifico()
 {
     itemCEN = new ItemCEN();
     item    = itemCEN.BuscarPorId(itemId);
 }
 public void GivenTengoItems()
 {
     itemCEN = new ItemCEN();
 }
 public void WhenCreoElItem()
 {
     itemCEN = new ItemCEN();
     itemId  = itemCEN.Crear(item.Nombre, item.Descripcion, item.Imagen, -1, materialId);
     item    = null;
 }
Beispiel #19
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;
            }
        }
Beispiel #20
0
        public HttpResponseMessage BuscarItemsPorValidarCount(            )
        {
            // CAD, CEN, EN, returnValue

            ItemRESTCAD itemRESTCAD = null;
            ItemCEN     itemCEN     = null;


            int returnValue;

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



                itemRESTCAD = new ItemRESTCAD(session);
                itemCEN     = new ItemCEN(itemRESTCAD);

                // CEN return



                returnValue = itemCEN.BuscarItemsPorValidarCount(       );



                // 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));
            }
        }
 public void GivenHayUnItemConUnIdEspecifico()
 {
     itemCEN = new ItemCEN();
 }