/* *Propósito: Método que se encargar de seleccionar negocio *Entradas: object sender, RoutedEventArgs e *Salidas: void */ //#Metodo: seleccionNegocio_Click private void seleccionNegocio_Click(object sender, SelectionChangedEventArgs e) { pedidos.Clear(); pedidosProducto.Clear(); pedidoCompleto.Clear(); listaproductosParaPedido.Clear(); listaproductos.Clear(); this.tb_IngresarNombreProducto.Text = ""; totalPedido = 0; this.tb_totalPedido.Text = "" + 0; this.gr_CrearPedido.Visibility = System.Windows.Visibility.Hidden; this.gr_productos.Visibility = System.Windows.Visibility.Hidden; this.gr_ListarPedidos.Visibility = System.Windows.Visibility.Hidden; this.gr_DetallePedido.Visibility = System.Windows.Visibility.Hidden; int seleccionNegocio = this.lv_listadoNegocios.SelectedIndex; if (seleccionNegocio != -1) { negocio = listanegocios[seleccionNegocio]; negocio.Pedido = bl.consultarPedidoPorNegocio(negocio); if (negocio.Pedido.Count != 0) { if (!bl.haHechoPedido(negocio.CodNegocio, DateTime.Now)) { this.btns_gestionarPedido.Visibility = Visibility.Visible; this.bt_crearPedido.IsEnabled = true; } else { MessageBox.Show("El negocio seleccionado ya tiene un pedido agregado en la fecha " + DateTime.Now.Date); this.btns_gestionarPedido.Visibility = Visibility.Visible; this.bt_crearPedido.IsEnabled = false; } } else { this.btns_gestionarPedido.Visibility = Visibility.Visible; this.bt_crearPedido.IsEnabled = true; } } else this.btns_gestionarPedido.Visibility = Visibility.Hidden; }
/* *Propósito: Permite crear un negocio en la base de datos. *Entradas: NegocioEntidad *Salidas: Negocio */ //#Metodo: crearNegocio public Negocio crearNegocio(NegocioEntidad negocio) { using (Sistema_ventasEntities contexto = new Sistema_ventasEntities()) { Negocio neg = new Negocio(); neg = mapearNegocioDeEntidadesAef(negocio); contexto.Negocio.Add(neg); contexto.SaveChanges(); return neg; } }
/* *Propósito: Permite consultar el ultimo negocio presente en la BD. *Entradas: *Salidas: NegocioEntidad */ //#Metodo: ultimoNegocio public NegocioEntidad ultimoNegocio() { using (Sistema_ventasEntities contexto = new Sistema_ventasEntities()) { NegocioEntidad neg = new NegocioEntidad(); neg = mapearNegocioDeEfAEntidades(contexto.Negocio.OrderByDescending(n => n.cod_negocio).FirstOrDefault()); return neg; } }
/* *Propósito: Permite mapear negocio de la BD a entidades. *Entradas: Negocio item *Salidas: NegocioEntidad */ //#Metodo: mapearNegocioDeEfAEntidades private NegocioEntidad mapearNegocioDeEfAEntidades(Negocio item) { NegocioEntidad neg = new NegocioEntidad(); neg.Ciudad = item.ciudad; neg.CodNegocio = item.cod_negocio; neg.Direccion = item.direccion; neg.NitNegocio = item.nit_negocio; neg.NombreNegocio = item.nombre_negocio; return neg; }
/* *Propósito: Permite mapear negocio a la BD. *Entradas: NegocioEntidad item *Salidas: Negocio */ //#Metodo: mapearNegocioDeEntidadesAef private Negocio mapearNegocioDeEntidadesAef(NegocioEntidad item) { Negocio neg = new Negocio(); neg.ciudad = item.Ciudad; neg.cod_negocio = item.CodNegocio; neg.direccion = item.Direccion; neg.nit_negocio = item.NitNegocio; neg.nombre_negocio = item.NombreNegocio; return neg; }
/* *Propósito: Permite consultar un pedido por el nombre de un negocio a la base de datos. *Entradas: NegocioEntidad *Salidas: ObservableCollection<PedidoEntidad> */ //#Metodo: consultarPedidoPorNegocio public ObservableCollection<PedidoEntidad> consultarPedidoPorNegocio(NegocioEntidad negocio) { ObservableCollection<PedidoEntidad> respuesta = new ObservableCollection<PedidoEntidad>(); using (Sistema_ventasEntities contexto = new Sistema_ventasEntities()) { //los traigo de la base de datos var pedidosNegocio = from ped in contexto.Pedido where ped.Negocio.cod_negocio == negocio.CodNegocio select ped; //mapeo lo que me devuelve la base de datos a entidades foreach (var item in pedidosNegocio) { PedidoEntidad actual = mapearPedidoDeEfAEntidades(item); respuesta.Add(actual); } } return respuesta; }
/* *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: Método que consultar los pedidos que se han realizado para un negocio. * utiliza la clase DAL para para consultar la BD. *Entradas: NegocioEntidad *Salidas: ObservableCollection<PedidoEntidad> */ //#Metodo: consultarPedidoPorNegocio public ObservableCollection<PedidoEntidad> consultarPedidoPorNegocio(NegocioEntidad negocio) { DAL contexto = new DAL(); ObservableCollection<PedidoEntidad> pedidosPorNegocio = contexto.consultarPedidoPorNegocio(negocio); return pedidosPorNegocio; }