/* *Propósito: Permite crear un producto en la base de datos. *Entradas: ProductoEntidad *Salidas: Producto */ //#Metodo: crearProducto public Producto crearProducto(ProductoEntidad producto) { using (Sistema_ventasEntities contexto = new Sistema_ventasEntities()) { Producto pro = new Producto(); pro = mapearProductoDeEntidadesAef(producto); contexto.Producto.Add(pro); contexto.SaveChanges(); return pro; } }
/* *Propósito: Permite consultar el ultimo producto presente en la BD. *Entradas: *Salidas: ProductoEntidad */ //#Metodo: ultimoProducto public ProductoEntidad ultimoProducto() { using (Sistema_ventasEntities contexto = new Sistema_ventasEntities()) { ProductoEntidad pro = new ProductoEntidad(); pro = mapearProductoDeEfAEntidades(contexto.Producto.OrderByDescending(p => p.cod_producto).FirstOrDefault()); return pro; } }
/* *Propósito: Permite mapear producto a la BD. *Entradas: ProductoEntidad item *Salidas: Producto */ //#Metodo: mapearProductoDeEntidadesAef private Producto mapearProductoDeEntidadesAef(ProductoEntidad item) { Producto pro = new Producto(); pro.cantidad = item.Cantidad; pro.cod_cat_producto = item.CodCatProducto; pro.cod_usuario = item.CodUsuario; pro.cod_producto = item.CodProducto; pro.descripcion_producto = item.DescripcionProducto; pro.nombre_producto = item.NombreProducto; pro.precio = item.Precio; pro.ruta_foto = item.RutaFoto; if(item.Categoria_Producto != null) { pro.Categoria_Producto = mapearCategoriaProductoDeEntidadesAeF(item.Categoria_Producto); } if (item.Usuario != null) { pro.Usuario = mapearUsuarioDeEntidadesAeF(item.Usuario); } return pro; }
/* *Propósito: Permite mapear producto de la BD a entidades. *Entradas: Producto item *Salidas: ProductoEntidad */ //#Metodo: mapearProductoDeEfAEntidades private ProductoEntidad mapearProductoDeEfAEntidades(Producto item) { ProductoEntidad pro = new ProductoEntidad(); pro.Cantidad = item.cantidad; pro.CodCatProducto = item.cod_cat_producto; pro.CodUsuario = item.cod_usuario; pro.CodProducto = item.cod_producto; pro.DescripcionProducto = item.descripcion_producto; pro.NombreProducto = item.nombre_producto; pro.Precio = item.precio; pro.RutaFoto = item.ruta_foto; pro.Categoria_Producto = mapearCategoriaProductoDeEfAEntidades(item.Categoria_Producto); pro.Usuario = mapearUsuarioDeEfAEntidades(item.Usuario); return pro; }
/* *Propósito: Permite editar un producto en la BD *Entradas: ProductoEntidad *Salidas: */ //#Metodo: editarProducto public void editarProducto(ProductoEntidad producto){ using (Sistema_ventasEntities contexto = new Sistema_ventasEntities()) { var pro = contexto.Producto.Where(p => p.cod_producto == producto.CodProducto).FirstOrDefault(); if (pro != null) { pro.cantidad = producto.Cantidad; pro.cod_cat_producto = producto.CodCatProducto; pro.cod_usuario = producto.CodUsuario; pro.cod_producto = producto.CodProducto; pro.descripcion_producto = producto.DescripcionProducto; pro.nombre_producto = producto.NombreProducto; pro.precio = producto.Precio; pro.ruta_foto = producto.RutaFoto; contexto.SaveChanges(); } } }
/* *Propósito: Permite editar el precio de un producto en la BD *Entradas: ProductoEntidad *Salidas: */ //#Metodo: editarPrecioProducto public void editarPrecioProducto(ProductoEntidad producto) { using (Sistema_ventasEntities contexto = new Sistema_ventasEntities()) { var pro = contexto.Producto.Where(p => p.cod_producto == producto.CodProducto).FirstOrDefault(); if (pro != null) { pro.precio = producto.Precio; contexto.SaveChanges(); } } }
/* *Propósito: Permite guardar productos cargando un archivo, donde cad linea es un producto *con los atributos separados por coma así: * NombreProducto,Cantidad,Precio,DescripcónPorducto,RutaFoto,CodUsuario, CodCatProducto. *Entradas: string *Salidas: */ //#Metodo: guardarNuevosProductosDesdeArchivo public void guardarNuevosProductosDesdeArchivo(string rutaArchivo) { DAL contexto = new DAL(); List<string> productos = contexto.leerArchivo(rutaArchivo); foreach(string linea in productos) { ProductoEntidad pro = new ProductoEntidad(); var values = linea.Split(','); pro.NombreProducto = values[0]; pro.Cantidad = Convert.ToInt32(values[1]); pro.Precio = Convert.ToInt32(values[2]); pro.DescripcionProducto = (values[3]); pro.RutaFoto = values[4]; pro.CodUsuario = Convert.ToInt32(values[5]); pro.CodCatProducto = Convert.ToInt32(values[6]); contexto.crearProducto(pro); } }
/* *Propósito: Permite editar un producto en la BD *Entradas: ProductoEntidad *Salidas: */ //#Metodo: editarProducto public void editarProducto(ProductoEntidad producto) { DAL contexto = new DAL(); contexto.editarProducto(producto); }
//+++++entrega final Edwin ++++++ /* *Propósito: Permite editar los precios de productos usando un archivo de texto, que contiene *parejas "codProducto, precio" en cada linea *Entradas: string *Salidas: */ //#Metodo: editarPreciosProductos public void editarPreciosProductosDesdeArchivo(string rutaArchivo) { DAL contexto = new DAL(); List<string> productos = contexto.leerArchivo(rutaArchivo); foreach (string linea in productos) { ProductoEntidad producto = new ProductoEntidad(); var values = linea.Split(','); producto.CodProducto = Convert.ToInt32(values[0]); producto.Precio = Convert.ToInt32(values[1]); contexto.editarPrecioProducto(producto); } }
/* *Propósito: Permite leer un string en formato XML con productos y negocios *y los llama a DAL para gurardarlos en la BD *Entradas: xmlString *Salidas: */ //#Metodo: guardarNuevosProductosYNegocios public void guardarNuevosProductosYNegocios(string xmlString) { DAL contexto = new DAL(); //Crear el documento XML XmlDocument xml = new XmlDocument(); xml.LoadXml(xmlString); XmlNodeList productosNegocios = xml.FirstChild.ChildNodes; //Productos foreach (XmlNode productoTag in productosNegocios.Item(0).ChildNodes) { XmlNodeList atributosProducto = productoTag.ChildNodes; ProductoEntidad producto = new ProductoEntidad(); producto.CodProducto = Convert.ToInt32(atributosProducto.Item(0).InnerText); producto.NombreProducto = atributosProducto.Item(1).InnerText; producto.Cantidad = Convert.ToInt32(atributosProducto.Item(2).InnerText); producto.Precio = Convert.ToInt32(atributosProducto.Item(3).InnerText); producto.DescripcionProducto = atributosProducto.Item(4).InnerText; producto.RutaFoto = atributosProducto.Item(5).InnerText; producto.CodUsuario = Convert.ToInt32(atributosProducto.Item(6).InnerText); producto.CodCatProducto = Convert.ToInt32(atributosProducto.Item(7).InnerText); contexto.crearProducto(producto); } //Negocios foreach (XmlNode negocioTag in productosNegocios.Item(1).ChildNodes) { XmlNodeList atributosProducto = negocioTag.ChildNodes; NegocioEntidad negocio = new NegocioEntidad(); negocio.CodNegocio = Convert.ToInt32(atributosProducto.Item(0).InnerText); negocio.NitNegocio = atributosProducto.Item(1).InnerText; negocio.NombreNegocio = atributosProducto.Item(2).InnerText; negocio.Ciudad = atributosProducto.Item(3).InnerText; negocio.Direccion = atributosProducto.Item(4).InnerText; contexto.crearNegocio(negocio); } }
/* *Propósito: Permite crear un producto en la base de datos. *Entradas: ProductoEntidad *Salidas: */ //#Metodo: crearProducto public void crearProducto(ProductoEntidad producto) { DAL contexto = new DAL(); contexto.crearProducto(producto); }