/* *Propósito: Permite consultar el ultimo negocio presente en la BD. *Entradas: *Salidas: NegocioEntidad */ //#Metodo: ultimoNegocio public NegocioEntidad ultimoNegocio() { DAL contexto = new DAL(); return contexto.ultimoNegocio(); }
/* *Propósito: Permite consultar la cantidad de pedidos por cada categoria en un intervalo de tiempo *Entradas: DateTime, DateTime *Salidas: List<string> */ //#Metodo: consultarCatnidadPedidoPorCategoria public List<string> consultarCantidadPedidoPorCategoria(DateTime inicio, DateTime fin) { DAL contexto = new DAL(); return contexto.consultarCantidadPedidoPorCategoria(inicio, fin); }
/* *Propósito: Permite consultar los vendedores que no han sincronizado en un día determinado. *Entradas: DateTime *Salidas: ObservableCollection<UsuarioEntidad> */ //#Metodo: consultarVendedoresNoSincronizados public ObservableCollection<UsuarioEntidad> consultarVendedoresNoSincronizados(DateTime fechaYHora) { DAL contexto = new DAL(); return contexto.consultarVendedoresNoSincronizados(fechaYHora); }
/* *Propósito: Método que permite crear un pedido, utiliza la clase DAL para guardarlo en la BD. *Entradas: PedidoEntidad *Salidas: */ //#Metodo: crearPedido public void crearPedido(PedidoEntidad pedido) { DAL contexto = new DAL(); contexto.crearPedido(pedido); }
/* *Propósito: Permite consultar un producto por su codigo en la base de datos. *Entradas: int *Salidas: ProductoEntidad */ //#Metodo: consultarProductoPorCodigo public ProductoEntidad consultarProductoPorCodigo(int cod_producto) { DAL contexto = new DAL(); return contexto.consultarProductoPorCodigo(cod_producto); }
/* *Propósito: Permite consultar todos los usuarios de la base de datos. *Entradas: *Salidas: ObservableCollection<UsuarioEntidad> */ //#Metodo: consultarTodosLosUsuarios public ObservableCollection<UsuarioEntidad> consultarTodosLosUsuarios() { DAL contexto = new DAL(); return contexto.consultarTodosLosUsuarios(); }
/* *Propósito: Permite consultar todos los perfiles de la base de datos. *Entradas: *Salidas: ObservableCollection<PerfilEntidad> */ //#Metodo: consultarTodosLosPerfiles public ObservableCollection<PerfilEntidad> consultarTodosLosPerfiles() { DAL contexto = new DAL(); return contexto.consultarTodosLosPerfiles(); }
//+++++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 consultar los pedidos que se han realizado en un intervalo de tiempo *Entradas: DateTime, DateTime *Salidas: ObservableCollection<PedidoEntidad> */ //#Metodo: consultarPedidoPorIntervaloDeTiempo public ObservableCollection<PedidoEntidad> consultarPedidoPorIntervaloDeTiempo(DateTime inicio, DateTime fin) { DAL contexto = new DAL(); return contexto.consultarPedidoPorIntervaloDeTiempo(inicio, fin); }
/* *Propósito: Permite leer un string en formato XML con pedidos *y los llama a DAL para gurardarlos en la BD *Entradas: xmlString *Salidas: */ //#Metodo: guardarNuevosPedidos public void guardarNuevosPedidos(string xmlString) { DAL contexto = new DAL(); //Crear el documento XML XmlDocument xml = new XmlDocument(); xml.LoadXml(xmlString); XmlNodeList pedidos = xml.FirstChild.ChildNodes; //Productos foreach (XmlNode pedidoTag in pedidos) { XmlNodeList atributosPedido = pedidoTag.ChildNodes; PedidoEntidad pedido = new PedidoEntidad(); pedido.CodPedido = Convert.ToInt32(atributosPedido.Item(0).InnerText); pedido.CodNegocio = Convert.ToInt32(atributosPedido.Item(1).InnerText); pedido.CodUsuario = Convert.ToInt32(atributosPedido.Item(2).InnerText); pedido.TotalPedido = Convert.ToInt32(atributosPedido.Item(3).InnerText); pedido.Fecha = Convert.ToDateTime(atributosPedido.Item(4).InnerText); pedido.Estado = atributosPedido.Item(5).InnerText; ObservableCollection<PedidoProductoEntidad> pedidoCompleto = new ObservableCollection<PedidoProductoEntidad>(); foreach (XmlNode productoTag in atributosPedido.Item(6).ChildNodes) { XmlNodeList atributosProducto = productoTag.ChildNodes; PedidoProductoEntidad pedidoProducto = new PedidoProductoEntidad(); pedidoProducto.CodProducto = Convert.ToInt32(atributosProducto.Item(0).InnerText); ; pedidoProducto.Cantidad = Convert.ToInt32(atributosProducto.Item(1).InnerText); pedidoCompleto.Add(pedidoProducto); } pedido.PedidoProducto = pedidoCompleto; contexto.crearPedido(pedido); } }
/* *Propósito: Permite sber si se ha ralizado una sincrnizacio en la fecha dada *Entradas: DateTime *Salidas: bool */ //#Metodo: haSincronizadoEnEstaFecha public bool haSincronizadoEnEstaFecha(DateTime fecha) { DAL contexto = new DAL(); return contexto.haSincronizadoEnEstaFecha(fecha); }
/* *Propósito: Permite generar un string en formato XML con los pedidos que *no han sido sincronizados *Entradas: *Salidas: string */ //#Metodo: generarXmlNuevosPedidos public string generarXmlNuevosPedidos() { DAL contexto = new DAL(); ObservableCollection<PedidoEntidad> nuevosPedidos = contexto.consultarNuevosPedidos(); XmlDocument xml = new XmlDocument(); xml.LoadXml("<Pedidos></Pedidos>"); foreach (var itemPedido in nuevosPedidos) { //Cambiar estado de pedidos itemPedido.Estado = "sincronizado"; contexto.cambiarEstadoPedido(itemPedido); XmlElement pedido = xml.CreateElement("Pedido"); XmlElement CodigoPedido = xml.CreateElement("CodigoPedido"); XmlText CodigoPedidoTxt = xml.CreateTextNode(itemPedido.CodPedido.ToString()); CodigoPedido.AppendChild(CodigoPedidoTxt); pedido.AppendChild(CodigoPedido); XmlElement CodigoNegocio = xml.CreateElement("CodigoNegocio"); XmlText CodigoNegocioTxt = xml.CreateTextNode(itemPedido.CodNegocio.ToString()); CodigoNegocio.AppendChild(CodigoNegocioTxt); pedido.AppendChild(CodigoNegocio); XmlElement CodigoUsuario = xml.CreateElement("CodigoUsuario"); XmlText CodigoUsuarioTxt = xml.CreateTextNode(itemPedido.CodUsuario.ToString()); CodigoUsuario.AppendChild(CodigoUsuarioTxt); pedido.AppendChild(CodigoUsuario); XmlElement TotalPedido = xml.CreateElement("TotalPedido"); XmlText TotalPedidoTxt = xml.CreateTextNode(itemPedido.TotalPedido.ToString()); TotalPedido.AppendChild(TotalPedidoTxt); pedido.AppendChild(TotalPedido); XmlElement FechaPedido = xml.CreateElement("FechaPedido"); XmlText FechaPedidoTxt = xml.CreateTextNode(itemPedido.Fecha.ToString()); FechaPedido.AppendChild(FechaPedidoTxt); pedido.AppendChild(FechaPedido); XmlElement EstadoPedido = xml.CreateElement("EstadoPedido"); XmlText EstadoPedidoTxt = xml.CreateTextNode(itemPedido.Estado); EstadoPedido.AppendChild(EstadoPedidoTxt); pedido.AppendChild(EstadoPedido); XmlElement PedidoProducto = xml.CreateElement("PedidoProducto"); foreach (var producto in itemPedido.PedidoProducto) { XmlElement Producto = xml.CreateElement("Producto"); XmlElement CodigoProducto = xml.CreateElement("CodigoProducto"); XmlText CodigoProductoTxt = xml.CreateTextNode(producto.CodProducto.ToString()); CodigoProducto.AppendChild(CodigoProductoTxt); Producto.AppendChild(CodigoProducto); XmlElement Cantidad = xml.CreateElement("Cantidad"); XmlText CantidadTxt = xml.CreateTextNode(producto.Cantidad.ToString()); Cantidad.AppendChild(CantidadTxt); Producto.AppendChild(Cantidad); PedidoProducto.AppendChild(Producto); } pedido.AppendChild(PedidoProducto); xml.DocumentElement.AppendChild(pedido); } return xml.OuterXml; }
/* *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 generar un string en formato XML con los productos y negocios *cuyo coidigo es mayor a codUltimoProducto y codUltimoNegocio *Entradas: codUltimoProducto, codUltimoNegocio *Salidas: string */ //#Metodo: generarXmlProductosNegocios public string generarXmlProductosNegocios(int codUltimoProducto, int codUltimoNegocio) { DAL contexto = new DAL(); ObservableCollection<ProductoEntidad> nuevosProductos = contexto.consultarNuevosProductos(codUltimoProducto); XmlDocument xml = new XmlDocument(); xml.LoadXml("<SincronizacionBajada></SincronizacionBajada>"); XmlElement productos = xml.CreateElement("Productos"); foreach (var itemProducto in nuevosProductos) { XmlElement producto = xml.CreateElement("Producto"); XmlElement CodigoProducto = xml.CreateElement("CodigoProducto"); XmlText CodigoProductoTxt = xml.CreateTextNode(itemProducto.CodProducto.ToString()); CodigoProducto.AppendChild(CodigoProductoTxt); producto.AppendChild(CodigoProducto); XmlElement NombreProducto = xml.CreateElement("NombreProducto"); XmlText NombreProductoTxt = xml.CreateTextNode(itemProducto.NombreProducto.ToString()); NombreProducto.AppendChild(NombreProductoTxt); producto.AppendChild(NombreProducto); XmlElement Cantidad = xml.CreateElement("Cantidad"); XmlText CantidadTxt = xml.CreateTextNode(itemProducto.Cantidad.ToString()); Cantidad.AppendChild(CantidadTxt); producto.AppendChild(Cantidad); XmlElement Precio = xml.CreateElement("Precio"); XmlText PrecioTxt = xml.CreateTextNode(itemProducto.Precio.ToString()); Precio.AppendChild(PrecioTxt); producto.AppendChild(Precio); XmlElement Descripcion = xml.CreateElement("Descripcion"); XmlText DescripcionTxt = xml.CreateTextNode(itemProducto.DescripcionProducto.ToString()); Descripcion.AppendChild(DescripcionTxt); producto.AppendChild(Descripcion); XmlElement RutaFoto = xml.CreateElement("RutaFoto"); XmlText RutaFotoTxt = xml.CreateTextNode(itemProducto.RutaFoto.ToString()); RutaFoto.AppendChild(RutaFotoTxt); producto.AppendChild(RutaFoto); XmlElement CodigoUsuario = xml.CreateElement("CodigoUsuario"); XmlText CodigoUsuarioTxt = xml.CreateTextNode(itemProducto.CodUsuario.ToString()); CodigoUsuario.AppendChild(CodigoUsuarioTxt); producto.AppendChild(CodigoUsuario); XmlElement CodigoCategoriaProducto = xml.CreateElement("CodigoCategoriaProducto"); XmlText CodigoCategoriaProductoTxt = xml.CreateTextNode(itemProducto.CodCatProducto.ToString()); CodigoCategoriaProducto.AppendChild(CodigoCategoriaProductoTxt); producto.AppendChild(CodigoCategoriaProducto); productos.AppendChild(producto); } xml.DocumentElement.AppendChild(productos); ObservableCollection<NegocioEntidad> nuevosNegocios = contexto.consultarNuevosNegocios(codUltimoNegocio); XmlElement negocios = xml.CreateElement("Negocios"); foreach (var itemNegocio in nuevosNegocios) { XmlElement negocio = xml.CreateElement("Negocio"); XmlElement CodigoNegocio = xml.CreateElement("CodigoNegocio"); XmlText CodigoNegocioTxt = xml.CreateTextNode(itemNegocio.CodNegocio.ToString()); CodigoNegocio.AppendChild(CodigoNegocioTxt); negocio.AppendChild(CodigoNegocio); XmlElement Nit = xml.CreateElement("Nit"); XmlText NitTxt = xml.CreateTextNode(itemNegocio.NitNegocio.ToString()); Nit.AppendChild(NitTxt); negocio.AppendChild(Nit); XmlElement NombreNegocio = xml.CreateElement("Nombre"); XmlText NombreNegocioTxt = xml.CreateTextNode(itemNegocio.NombreNegocio.ToString()); NombreNegocio.AppendChild(NombreNegocioTxt); negocio.AppendChild(NombreNegocio); XmlElement CiudadNegocio = xml.CreateElement("Ciudad"); XmlText CiudadNegocioTxt = xml.CreateTextNode(itemNegocio.Ciudad.ToString()); CiudadNegocio.AppendChild(CiudadNegocioTxt); negocio.AppendChild(CiudadNegocio); XmlElement DireccionNegocio = xml.CreateElement("Direccion"); XmlText DireccionNegocioTxt = xml.CreateTextNode(itemNegocio.Direccion.ToString()); DireccionNegocio.AppendChild(DireccionNegocioTxt); negocio.AppendChild(DireccionNegocio); negocios.AppendChild(negocio); } xml.DocumentElement.AppendChild(negocios); return xml.OuterXml; }
/* *Propósito: Permite determinar si se ha hecho un pedido para un negocio en una fecha despecifica. *Entradas: int, DateTime *Salidas: */ //#Metodo: haHechoPedido public bool haHechoPedido(int codNegocio, DateTime fecha) { DAL contexto = new DAL(); return contexto.haHechoPedido(codNegocio, fecha); }
/* *Propósito: Permite consultar los pedidos que se han realizado en una fecha espcifica *Entradas: DateTime *Salidas: ObservableCollection<PedidoEntidad> */ //#Metodo: consultarPedidoPorFecha public ObservableCollection<PedidoEntidad> consultarPedidoPorFecha(DateTime fecha) { DAL contexto = new DAL(); return contexto.consultarPedidoPorFecha(fecha); }
//++++++Entrega Edwin Gestión Usuarios+++++++++++ /* *Propósito: Permite consultar un usuario por su nombre en la base de datos. *Entradas: string *Salidas: ObservableCollection<UsuarioEntidad> */ //#Metodo: consultarUsuarioPorNombre public ObservableCollection<UsuarioEntidad> consultarUsuarioPorNombre(string nombre_usuario) { DAL contexto = new DAL(); return contexto.consultarUsuarioPorNombre(nombre_usuario); }
/* *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); }
/* *Propósito: Permite consultar un pefil por su nombre en la base de datos. *Entradas: string *Salidas: ObservableCollection<PerfilEntidad> */ //#Metodo: consultarPerfilPorNombre public ObservableCollection<PerfilEntidad> consultarPerfilPorNombre(string nombre_perfil) { DAL contexto = new DAL(); return contexto.consultarPerfilPorNombre(nombre_perfil); }
/* *Propósito: Permite crear un usuario en la base de datos *Entradas: UsuarioEntidad *Salidas: */ //#Metodo: crearUsuario public void crearUsuario(UsuarioEntidad usuario) { DAL contexto = new DAL(); contexto.crearUsuario(usuario); }
/* *Propósito: Permite consultar un pefil por su codigo en la base de datos. *Entradas: int *Salidas: PerfilEntidad */ //#Metodo: consultarPerfilPorCodigo public PerfilEntidad consultarPerfilPorCodigo(int cod_perfil) { DAL contexto = new DAL(); return contexto.consultarPerfilPorCodigo(cod_perfil); }
/* *Propósito: Permite modificar los datos un usuario en la base de datos *Entradas: UsuarioEntidad *Salidas: */ //#Metodo: editarUsuario public void editarUsuario(UsuarioEntidad usuario) { DAL contexto = new DAL(); contexto.editarUsuario(usuario); }
/* *Propósito: Permite consultar un usuario por su codigo en la base de datos. *Entradas: int *Salidas: UsuarioEntidad */ //#Metodo: consultarUsuarioPorCodigo public UsuarioEntidad consultarUsuarioPorCodigo(int cod_usuario) { DAL contexto = new DAL(); return contexto.consultarUsuarioPorCodigo(cod_usuario); }
/* *Propósito: Permite crear un perfil en la base de datos *Entradas: *Salidas: Usuario */ //#Metodo: crearPerfil public void crearPerfil(PerfilEntidad perfil) { DAL contexto = new DAL(); contexto.crearPerfil(perfil); }
/* *Propósito: Permite consultar el inventario (cantidad diposnible) de los pruductos. *Entradas: *Salidas: ObservableCollection<ProductoEntidad> */ //#Metodo: consultarInventario public ObservableCollection<ProductoEntidad> consultarInventario() { DAL contexto = new DAL(); ObservableCollection<ProductoEntidad> inventario = contexto.consultarInventario(); return inventario; }
/* *Propósito: Permite modificar los datos un perfil en la base de datos *Entradas: PerfilEntidad *Salidas: */ //#Metodo: editarPerfil public void editarPerfil(PerfilEntidad perfil) { DAL contexto = new DAL(); contexto.editarPerfil(perfil); }
/* *Propósito: Permite consultar la cantidad de pedidos hechos para una ciudad en un intervalo de tiempo *Entradas: DateTime, DateTime *Salidas: List<string> */ //#Metodo: consultarPedidoDeUnaCiudad public ObservableCollection<PedidoEntidad> consultarPedidoDeUnaCiudad(string ciudad, DateTime inicio, DateTime fin) { DAL contexto = new DAL(); return contexto.consultarPedidoDeUnaCiudad(ciudad, inicio, fin); ; }
/* *Propósito: Permite autenticar un usuario de acuerdo con su nombre de usuario y contrasenia,, * si el usuario no existe se dvuelve null. *Entradas: string, string *Salidas: UsuarioEntidad */ //#Metodo: autenticarUsuario public UsuarioEntidad autenticarUsuario(string nombreUsuario, string contrasenia) { DAL contexto = new DAL(); return contexto.autenticarUsuario(nombreUsuario, contrasenia); }
/* *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 consultar el ultimo producto presente en la BD. *Entradas: *Salidas: ProductoEntidad */ //#Metodo: ultimoProducto public ProductoEntidad ultimoProducto() { DAL contexto = new DAL(); return contexto.ultimoProducto(); }