/*
        *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;

        }
示例#2
0
 /*
  *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;
     }
 }
示例#3
0
 /*
  *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;
     }
 }
示例#4
0
        /*
         *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;

        }
示例#5
0
        /*
        *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;

        }
示例#6
0
        /*
         *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;

        }
示例#7
0
        /*
        *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);
            }
        }
示例#8
0
        /*
         *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;

        }