protected void btnComprar_Click(object sender, EventArgs e)
        {
            try
            {
                ListaAux = (List <ItemCarrito>)Session["ListaCarrito"];
                PedidosNegocio negocio = new PedidosNegocio();

                ItemCarritoNegocio itemCarritoNegocio = new ItemCarritoNegocio();

                Pedido pedido = new Pedido();
                pedido.ImporteTotal = 0;
                foreach (ItemCarrito item in ListaAux) // lista aux tiene al carrito
                {
                    pedido.ImporteTotal += item.PrecioActual;
                }
                pedido.Fecha     = DateTime.Now;
                pedido.Estado    = 1;
                pedido.IdUsuario = pepito.Id;

                negocio.Agregar(pedido);
                long idAux = negocio.UbicarID();
                pedido.IdPedido = idAux;
                foreach (var item in ListaAux)
                {
                    //conseguir id
                    item.IdPedido = idAux;                   // mediante esta asignacion lo que hago es relacionar el id del ultimo pedido obtenido y se lo asigno al item pedido pero del detalle
                    itemCarritoNegocio.AgregarDetalle(item); //item ya estaba casi listo para guardarlo en la db solo le faltaba esta magia de asignar los id del pedido para poder despues relacionarlos
                }
                Response.Redirect("Compra.aspx");
            }
            catch (Exception)
            {
                throw;
            }
        }
Ejemplo n.º 2
0
        protected void Page_Load(object sender, EventArgs e)
        {
            if (Session["alguienNuevo"] == null)
            {
                Response.Redirect("Login.aspx");
            }

            pedidin        = new Pedido();
            ListaPedidos   = new List <Pedido>();
            negociopedidos = new PedidosNegocio();
            listaItems     = new List <ItemCarrito>();
            negocioItems   = new ItemCarritoNegocio();


            IdAux = Convert.ToInt32(Request.QueryString["IdPedido"]);

            if (Session["Compra"] == null)
            {
                Session["Compra"] = listaItems;
            }


            //SqlMoney AcumuladorImporte = 0;
            //foreach (var item in (List<ItemCarrito>)Session["Compra"])
            //{
            //    AcumuladorImporte += (item.CantidadPedida * item.PrecioActual);
            //}
            //lblTotal.Text = "Total a Pagar = " + AcumuladorImporte.ToString();


            if (((Usuario)Session["alguienNuevo"]).TipoUsuario == TipoUsuarioConstante.ADMINISTRADOR)
            {
                DdlEstados.Visible = true;
                statusPedido       = new EstadoPedido();
                negocioEstados     = new EstadoPedidoNegocio();

                if (!IsPostBack)
                {
                    listaDdlEstados           = negocioEstados.Listar();
                    DdlEstados.DataSource     = listaDdlEstados;
                    DdlEstados.DataValueField = "Id";
                    DdlEstados.DataTextField  = "Descripcion";

                    DdlEstados.DataBind();
                }
            }

            if (Session["ListaDetalle"] == null)
            {
                Session.Add("ListaDetalle", listaItems);
            }
            if (IdAux != 0)
            {
                ListaPedidos = negociopedidos.Listar();
                pedidin      = ListaPedidos.Find(x => x.IdPedido == IdAux);
                listaItems   = negocioItems.Listar(pedidin);
                Session.Add("ListaDetalle", listaItems);
            }
        }