Ejemplo n.º 1
0
        /*
         *Propósito: Permite crear un pedido a la base de datos.
         *Entradas: PedidoEntidad 
         *Salidas: Pedido
         */
        //#Metodo: crearPedido
        public Pedido crearPedido(PedidoEntidad pedidos)
        {
            using (Sistema_ventasEntities contexto = new Sistema_ventasEntities())
            {
                //pedidos.Estado = "creado";
                Pedido ped = new Pedido();
                ped = mapearPedidoDeEntidadesAEf(pedidos);


                foreach (var productoPedido in pedidos.PedidoProducto)
                {
                    var pro = contexto.Producto.Where(p => p.cod_producto == productoPedido.CodProducto).FirstOrDefault();
                    if (pro != null)
                    {
                        pro.cantidad = pro.cantidad - productoPedido.Cantidad;
                    }

                }

                contexto.Pedido.Add(ped);
                contexto.SaveChanges();

                return ped;
            }

        }
Ejemplo n.º 2
0
        /*
        *Propósito: Método que se encarga de crear un pedido en la base de datos
        *Entradas: object sender, RoutedEventArgs e
        *Salidas: void
        */
        //#Metodo:  registrarPedido
        private void registrarPedido_Click(object sender, RoutedEventArgs e)
        {
            pedido = new PedidoEntidad();
            pedido.PedidoProducto = new ObservableCollection<PedidoProductoEntidad>();

            pedido.CodNegocio = negocio.CodNegocio;
            pedido.CodUsuario = usuario.CodUsuario;
            pedido.TotalPedido = totalPedido;
            pedido.Fecha = DateTime.Now;
            pedido.PedidoProducto = pedidoCompleto;
            pedido.Estado = "Creado";

            bl.crearPedido(pedido);
            int seleccionNegocio = this.lv_listadoNegocios.SelectedIndex;
            pedidoCompleto.Clear();
            listaproductosParaPedido.Clear();
            listaproductos.Clear();
            listanegocios.Clear();
            this.gr_CrearPedido.Visibility = System.Windows.Visibility.Hidden;
            this.gr_productos.Visibility = System.Windows.Visibility.Hidden;
            this.tb_IngresarNombreNegocio.Text = "";
            totalPedido = 0;
            tb_totalPedido.Text = "" + totalPedido;

            controlRegistroPedidos();
            MessageBox.Show("El pedido se registro exitosamente.");
        }
Ejemplo n.º 3
0
        /*
        *Propósito: Permite modificar el estado de un pedido en la BD
        *Entradas:  
        *Salidas: PedidoEntidad
        */
        //#Metodo: cambiarEstadoPedido
        public void cambiarEstadoPedido(PedidoEntidad pedido)
        {
            using (Sistema_ventasEntities contexto = new Sistema_ventasEntities())
            {
                var ped = contexto.Pedido.Where(p => p.cod_pedido == pedido.CodPedido).FirstOrDefault();

                if (ped != null)
                {
                    ped.estado = pedido.Estado;
                    contexto.SaveChanges();
                }
            }
        }
Ejemplo n.º 4
0
        /*
         *Propósito: Permite mapear pedido de la BD a entidades.
         *Entradas: Pedido item
         *Salidas: PedidoEntidad
        */
        //#Metodo: mapearPedidoDeEfAEntidades
        private PedidoEntidad mapearPedidoDeEfAEntidades(Pedido item)
        {
            PedidoEntidad ped = new PedidoEntidad();

            ped.CodNegocio = item.cod_negocio;
            ped.CodPedido = item.cod_pedido;
            ped.CodUsuario = item.cod_usuario;
            ped.Fecha = item.fecha;
            ped.TotalPedido = (int)item.total_pedido;
            ped.Estado = item.estado;

            ped.PedidoProducto = new ObservableCollection<PedidoProductoEntidad>();

                foreach (var pedidoProducto in item.PedidoProducto)
                {
                    ped.PedidoProducto.Add(mapearPedidoProductoDeAeFAEntidades(pedidoProducto));
                }
            

            ped.Negocio = mapearNegocioDeEfAEntidades(item.Negocio);
            ped.Usuario = mapearUsuarioDeEfAEntidades(item.Usuario);
            


            return ped;
        }
Ejemplo n.º 5
0
        /*
        *Propósito: Permite mapear pedido a la BD.
        *Entradas: NegocioEntidad item
        *Salidas: Negocio
       */
        //#Metodo: mapearPedidoDeEntidadesAEf
        private Pedido mapearPedidoDeEntidadesAEf(PedidoEntidad item)
        {
            Pedido ped = new Pedido();
            
            ped.cod_negocio = item.CodNegocio;
            ped.cod_pedido = item.CodPedido;
            ped.cod_usuario = item.CodUsuario;
            ped.fecha = item.Fecha;
            ped.total_pedido = (int)item.TotalPedido;
            ped.estado = item.Estado;
            

            if (item.Negocio != null)
            {
              ped.Negocio = mapearNegocioDeEntidadesAef(item.Negocio);
            }


            if (item.Usuario != null)
            {
                ped.Usuario = mapearUsuarioDeEntidadesAeF(item.Usuario);
            }
           
            if (item.PedidoProducto != null || item.PedidoProducto.Count != 0)
            {

                foreach (var pedidoProducto in item.PedidoProducto)
                {
                    ped.PedidoProducto.Add(mapearPedidoProductoDeEntidadesAeF(pedidoProducto));
                }
            }
                  
            return ped;
        }
Ejemplo n.º 6
0
 /*
  *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);
 }
Ejemplo n.º 7
0
        /*
         *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);
            }
        }