public void sendFactura( Cliente c, string total, string cuenta )
        {
            string message = "Estimado usuario:\n"
                              + "le enviamos el correo "
                              + " de confirmacion de compra "
                              + "Que se enviará a la direccion: \n"
                              + c.Direccion + "\n"
                              + "Por un total de: " + total
                              + "al numero de cuenta " + cuenta;

            SmtpClient cliente = new SmtpClient();
            cliente.DeliveryMethod = SmtpDeliveryMethod.Network;
            cliente.UseDefaultCredentials = false;
            cliente.Host = __host;
            cliente.Port = 587;
            cliente.Credentials = new NetworkCredential(__from, "mercadona_shopPr0yect");//passwd
            cliente.EnableSsl = true;

            try
            {
                MailMessage correo = new MailMessage();
                correo.From = new MailAddress(__from);
                correo.To.Add(c.Email);
                correo.Subject = __subject2;
                correo.Body = message;

                cliente.Send(correo);
            }
            catch (Exception e)
            {
                e.ToString();
                return;
            }
        }
        protected void Page_Load(object sender, EventArgs e)
        {
            controlFichero = new ControladorFicheros();
            total = this.Request.QueryString["total"];
            email = this.Request.QueryString["cliente"];

            c = controlFichero.getCliente(email, ruta);

            this.lblPrecioTotal.Text = total;
            this.lblDireccion.Text = c.Direccion;
            this.lblCliente.Text = c.Nombre;
        }
        public void addCliente(Cliente c, string ruta)
        {
            XmlDocument doc = new XmlDocument();
            doc.Load(HttpContext.Current.Request.MapPath(ruta));

            XmlElement cliente = doc.CreateElement("cliente");

            XmlNode nombre = doc.CreateNode("element", "nombre", "");
            XmlNode apellido = doc.CreateNode("element", "apellido", "");
            XmlNode dni = doc.CreateNode("element", "dni", "");
            XmlNode email = doc.CreateNode("element", "email", "");
            XmlNode password = doc.CreateNode("element", "password", "");
            XmlNode direccion = doc.CreateNode("element", "direccion", "");
            XmlNode telefono = doc.CreateNode("element", "telefono", "");
            XmlNode fecha = doc.CreateNode("element", "fecha", "");

            nombre.InnerText = c.Nombre;
            apellido.InnerText = c.Apellido;
            dni.InnerText = c.DNI;
            email.InnerText = c.Email;
            password.InnerText = c.Password;
            direccion.InnerText = c.Direccion;
            telefono.InnerText = c.Telefono;
            fecha.InnerText = c.FechaNacimiento;

            cliente.AppendChild(nombre);
            cliente.AppendChild(apellido);
            cliente.AppendChild(dni);
            cliente.AppendChild(email);
            cliente.AppendChild(password);
            cliente.AppendChild(direccion);
            cliente.AppendChild(telefono);
            cliente.AppendChild(fecha);

            XmlElement root = doc.DocumentElement;
            root.AppendChild(cliente);

            doc.Save(HttpContext.Current.Request.MapPath(ruta));
        }
        protected void Page_Load(object sender, EventArgs e)
        {
            tree = (TreeView)this.Master.FindControl("TreeView1");
            Label lblDireccion = (Label)this.Master.FindControl("LabelDireccion");

            controlFichero = new ControladorFicheros();

            cargaControlCarrito();
            if (!this.IsPostBack)
            {
                email = this.Request.QueryString["usuario"];
                cliente = controlFichero.getCliente(email, rutaXML);
                lblDireccion.Text = "Usuario: " + cliente.Nombre + ". Direccion: " + cliente.Direccion;

                cargaTree();
                ViewState["listaproductos"] = new List<Producto>();

            }
            else if (this.IsPostBack)
            {
                //si es postback se me borra la cesta
                //la cargo SIEMPRE
                l = (List<Producto>)ViewState["listaproductos"];
                actualizaCarrito(l);
                foreach (string clave in this.Request.Params.AllKeys)
                {
                    string subseccion;
                    string claveRequest = this.Request.Params[clave];
                    switch (clave)
                    {
                        case "__EVENTTARGET":

                            if (claveRequest.Contains(tree.ID))
                            {
                                char[] separador = new char[] { '\\' };

                                try
                                {
                                    subseccion = this.Request.Params["__EVENTARGUMENT"].ToString().Split(separador)[1];
                                    Session["subActual"] = subseccion;
                                }
                                catch (IndexOutOfRangeException)
                                {

                                    return;
                                }

                                lista = controlFichero.getProductoSubseccion(subseccion, rutaSecciones);
                                rellenaTablaConProductos(lista);
                            }
                            break;

                        default:
                            break;

                    }

                    if (claveRequest.Equals("Añadir"))
                    {
                        //significa que han añadido algo
                        // tengo que tener un 'actualizaCEsta', que lea el ViewState

                        string descripcion = clave.Split(new char[] { '$' })[3];
                        string sub = (string)Session["subActual"];
                        lista = controlFichero.getProductoSubseccion(sub, rutaSecciones);
                        Producto p = (from prod in lista
                                      where prod.Descripcion == descripcion
                                      select prod).Single();

                        // almacenar en una listaViewState los objetos pulsados
                        addToViewState(p);//--> solo añado, Actualizo cuando hace postback

                        // por otro lado leer la lista para cargar el controlCesta
                        l = (List <Producto> )ViewState["listaproductos"];
                        actualizaCarrito( l );

                        rellenaTablaConProductos(lista);
                    }
                    if ( clave.Contains("BtnFormalizarPedido" ) )
                    {
                        string mail = this.Request.QueryString["usuario"];
                        cliente = controlFichero.getCliente(mail, rutaXML);
                        this.Response.Redirect("Formalizar.aspx?cliente="+cliente.Email+"&total="+this.control.Total);
                    }

                }
            }
        }