コード例 #1
0
ファイル: entrada.aspx.cs プロジェクト: MaybeGitHub/Mercadona
        protected void Page_Load(object sender, EventArgs e)
        {
            if (IsPostBack)
            {
                foreach (string key in Request.Params)
                {
                    if (Request.Params[key].Contains("link_Registro"))
                    {
                        Session["Cliente"] = new Cliente();
                        Response.Cookies.Add(new HttpCookie("lastPage", "~/Vistas/Principales/entrada.aspx"));
                        Response.Redirect("~/Vistas/Popups/altaCliente.aspx");
                    }

                    if (key.Contains("button_Entrar"))
                    {
                        if (validar())
                        {
                            HttpCookie miCookie = new HttpCookie("Cliente", text_NIF.Text);
                            miCookie.Expires = DateTime.Now.AddDays(1d);
                            Response.Cookies.Add(miCookie);
                            Response.Redirect("~/Vistas/Carrito/carrito.aspx");
                        }
                    }
                }
            }
        }
コード例 #2
0
        protected void Page_Load(object sender, EventArgs e)
        {
            direccion = Request.QueryString["direccion"];
            modificar = direccion != null;
            cliente = (Cliente)Session["Cliente"];
            cXml.lecturaXMLDatos(Server.MapPath("~/ficheros/datosInteres.xml"), list_TipoVia, "Calle");

            if (IsPostBack)
            {
                dir = new Direccion();
                if(modificar) dir.id = direccion;
                rellenarDireccion();
            }
            else
            {
                if (modificar)
                {
                    dir = cXml.fabricarDireccion(Server.MapPath("~/ficheros/Direcciones.xml"), direccion);
                    list_TipoVia.SelectedIndex = list_TipoVia.Items.IndexOf(list_TipoVia.Items.FindByText(dir.tipoVia));
                    text_NombreVia.Text = dir.nombreVia;
                    text_Numero.Text = dir.numero;
                    text_Piso.Text = dir.piso;
                    text_Puerta.Text = dir.puerta;
                    text_Urba.Text = dir.urba;
                    text_Bloque.Text = dir.bloque;
                    text_Escalera.Text = dir.escalera;
                    text_Observaciones.Text = dir.observaciones;
                    text_Localdidad.Text = dir.localidad;
                    text_CP.Text = dir.cp;
                    check_Habitual.Checked = dir.habitual == "Si" ? true : false;
                }
            }
        }
コード例 #3
0
ファイル: CEmail.cs プロジェクト: MaybeGitHub/Mercadona
        public void mandarEmail(Cliente cliente, string tipo, Cesta cesta, string tempPath)
        {
            string url, html = "", subject = "";

            if (tipo == "Recuperar contraseña")
            {
                url = "http://*****:*****@gmail.com");
            nuevoCorreo.Subject = subject;
            nuevoCorreo.IsBodyHtml = true;
            nuevoCorreo.Body = html;
            Task task = null;
            if (tipo == "Cesta")
            {
                task = new Task(() => crearPDF(cesta, cliente, "Cesta", tempPath));
                task.Start();
                task.Wait();
                nuevoCorreo.Attachments.Add(new Attachment(tempPath + "/ReciboCompra" + cesta.id + ".pdf"));
            }

            SmtpClient servidor = new SmtpClient();
            servidor.Host = "smtp.gmail.com";
            servidor.Port = 587;
            servidor.EnableSsl = true;
            servidor.DeliveryMethod = SmtpDeliveryMethod.Network;
            servidor.Credentials = new NetworkCredential("*****@*****.**", "solosequenosenada");
            servidor.Timeout = 20000;

            servidor.Send(nuevoCorreo);
        }
コード例 #4
0
        protected void Page_Load(object sender, EventArgs e)
        {
            if(Request.QueryString["Cesta"] != null)
            {
                cesta = cXml.fabricarCestaID(Server.MapPath("~/ficheros/Cestas.xml"), Request.QueryString["Cesta"]);
                button_Finalizar.Visible = false;
                tabla_RowPago.Visible = false;
                row_imagen.Visible = false;
                row_pedido.Visible = false;
            }
            else
            {
                // Recupero Cesta

                cesta = cXml.fabricarCesta(Server.MapPath("~/ficheros/Cestas.xml"), Request.Cookies["Cliente"].Value);
            }

            // Recupero Cliente

            cliente = cXml.fabricarCliente(Server.MapPath("~/ficheros/Clientes.xml"), Request.Cookies["Cliente"].Value);

            if (IsPostBack)
            {
                foreach(string key in Request.Params)
                {
                    if (key.Contains("button_Finalizar"))
                    {
                        Task task = new Task(()=> cEmail.mandarEmail(cliente, "Cesta", cesta, Server.MapPath("~/Temp")));
                        task.Start();
                        cesta.direccion = Request.Params["list_Direcciones"];
                        cesta.telefono = Request.Params["list_Telefonos"];
                        cXml.cerrarCesta(Server.MapPath("~/ficheros/Cestas.xml"), cesta);
                        Response.Redirect("~/Vistas/Principales/index.aspx");
                    }
                }
            }

            rellenarTablaCesta();
            rellenarTablaCliente();
            equilibrarTablas();
        }
コード例 #5
0
        protected void Page_Load(object sender, EventArgs e)
        {
            telefono = Request.QueryString["telefono"];
            cliente = (Cliente)Session["Cliente"];
            modificar = telefono != null;

            if (IsPostBack)
            {
                if (valido())
                {
                    if (!cliente.listaTelefonos.Contains(text_Telefono.Text)) cliente.listaTelefonos.Add(text_Telefono.Text);
                    if (cliente.listaTelefonos.Contains(telefono)) cliente.listaTelefonos.Remove(telefono);
                    Session["Cliente"] = cliente;
                    Response.Write("<script>onunload=function(){opener.location='altaCliente.aspx';}</script>");
                    Response.Write("<script>window.close();</script>");
                }
            }

            if (modificar)
            {
                text_Telefono.Text = telefono;
            }
        }
コード例 #6
0
        protected void Page_Load(object sender, EventArgs e)
        {
            if (Session["Cliente"] == null) Response.Redirect("~/Vistas/Principales/entrada.aspx");

            list_Año.Items.Clear();
            list_Mes.Items.Clear();
            list_Dia.Items.Clear();
            for (int año = 1950; año <= DateTime.Now.Year; año++) list_Año.Items.Add(new ListItem(año.ToString()));
            for (int mes = 1; mes <= 12; mes++) list_Mes.Items.Add(new ListItem(mes.ToString()));
            for (int dia = 1; dia <= 31; dia++) list_Dia.Items.Add(new ListItem(dia.ToString()));
            cXml.lecturaXMLDatos(Server.MapPath("~/ficheros/datosInteres.xml"), list_TipoID, "ID");

            cliente = (Cliente)Session["Cliente"];

            if (IsPostBack)
            {
                foreach (string key in Request.Params)
                {
                    if (key.Contains("button_BorrarTelefono"))
                    {
                        cliente.listaTelefonos.Remove(list_Telefonos.SelectedItem.Text);
                        list_Telefonos.Items.Remove(list_Telefonos.SelectedItem);
                        if (list_Telefonos.Items.Count == 0) list_Telefonos.Items.Add(new ListItem("No se han definido telefonos"));
                        Session["Cliente"] = cliente;
                    }

                    if (key.Contains("button_BorrarDireccion"))
                    {
                        cXml.borrarDireccion(Server.MapPath("~/ficheros/Direcciones.xml"), list_Direcciones.SelectedValue);
                        cliente.listaIdDirecciones.Remove(list_Direcciones.SelectedItem.Text);
                        list_Direcciones.Items.Remove(list_Direcciones.SelectedItem);
                        if (list_Direcciones.Items.Count == 0) list_Direcciones.Items.Add(new ListItem("No se han definido direcciones de entrega"));
                        Session["Cliente"] = cliente;
                    }

                    if (key.Contains("button_Enviar"))
                    {
                        if (valido())
                        {
                            rellenarCliente();
                            cXml.modificarCliente(Server.MapPath("~/ficheros/Clientes.xml"), cliente);
                            Session.Remove("cliente");
                            Response.Redirect(Request.Cookies["lastPage"].Value);
                        }
                    }

                    if (key.Contains("button_Cerrar"))
                    {
                        Response.Redirect(Request.Cookies["lastPage"].Value);
                    }

                    // Actualizo cliente antes de irse a los popups

                    if (key.Contains("Alta") || key.Contains("Modificar"))
                    {
                        rellenarCliente();
                        Session["Cliente"] = cliente;
                    }
                }
            }
            else
            {
                rellenarCampos();
            }
        }
コード例 #7
0
ファイル: CXml.cs プロジェクト: MaybeGitHub/Mercadona
 private void borrarCliente(string path, Cliente cliente)
 {
     XmlDocument xDoc = new XmlDocument();
     xDoc.Load(path);
     foreach (XmlNode xNode in xDoc.DocumentElement.SelectNodes("/Clientes/Cliente"))
     {
         if (xNode.SelectSingleNode("NIF").InnerText == cliente.NIF )
         {
             xDoc.DocumentElement.RemoveChild(xNode);
             break;
         }
     }
     xDoc.Save(path);
 }
コード例 #8
0
ファイル: CXml.cs プロジェクト: MaybeGitHub/Mercadona
        private void añadirCliente(string path, Cliente cliente)
        {
            XmlDocument xDoc = new XmlDocument();
            xDoc.Load(path);
            XmlNode padre = xDoc.FirstChild;
            XmlNode hijo = xDoc.CreateNode(XmlNodeType.Element, "Cliente", null);

            XmlNode nuevo = xDoc.CreateNode(XmlNodeType.Element, "Nombre", null);
            nuevo.InnerText = cliente.nombre;
            hijo.AppendChild(nuevo);

            nuevo = xDoc.CreateNode(XmlNodeType.Element, "Apellido", null);
            nuevo.InnerText = cliente.apellido;
            hijo.AppendChild(nuevo);

            nuevo = xDoc.CreateNode(XmlNodeType.Element, "Apellido2", null);
            nuevo.InnerText = cliente.apellido2;
            hijo.AppendChild(nuevo);

            nuevo = xDoc.CreateNode(XmlNodeType.Element, "TipoID", null);
            nuevo.InnerText = cliente.tipoIdentificacion;
            hijo.AppendChild(nuevo);

            nuevo = xDoc.CreateNode(XmlNodeType.Element, "NIF", null);
            nuevo.InnerText = cliente.NIF;
            hijo.AppendChild(nuevo);

            nuevo = xDoc.CreateNode(XmlNodeType.Element, "Email", null);
            nuevo.InnerText = cliente.email;
            hijo.AppendChild(nuevo);

            nuevo = xDoc.CreateNode(XmlNodeType.Element, "Contraseña", null);
            nuevo.InnerText = cliente.contraseña;
            hijo.AppendChild(nuevo);

            int cont = 1;
            foreach(string key in cliente.listaIdDirecciones.Keys)
            {
                nuevo = xDoc.CreateNode(XmlNodeType.Element, "Direccion", null);
                XmlAttribute attr = xDoc.CreateAttribute("ID");
                attr.Value = cliente.listaIdDirecciones[key];
                nuevo.Attributes.Append(attr);
                nuevo.InnerText = key;
                hijo.AppendChild(nuevo);
                cont++;
            }

            for (int i = 0; i < cliente.listaTelefonos.Count; i++)
            {
                nuevo = xDoc.CreateNode(XmlNodeType.Element, "Telefono", null);
                nuevo.InnerText = cliente.listaTelefonos[i];
                hijo.AppendChild(nuevo);
            }

            nuevo = xDoc.CreateNode(XmlNodeType.Element, "FaltaProducto", null);
            nuevo.InnerText = cliente.faltaProducto;
            hijo.AppendChild(nuevo);

            nuevo = xDoc.CreateNode(XmlNodeType.Element, "Info", null);
            nuevo.InnerText = cliente.info;
            hijo.AppendChild(nuevo);

            nuevo = xDoc.CreateNode(XmlNodeType.Element, "Dia", null);
            nuevo.InnerText = cliente.dia;
            hijo.AppendChild(nuevo);

            nuevo = xDoc.CreateNode(XmlNodeType.Element, "Mes", null);
            nuevo.InnerText = cliente.mes;
            hijo.AppendChild(nuevo);

            nuevo = xDoc.CreateNode(XmlNodeType.Element, "Año", null);
            nuevo.InnerText = cliente.año;
            hijo.AppendChild(nuevo);

            hijo.AppendChild(nuevo); padre.AppendChild(hijo);

            xDoc.Save(path);
        }
コード例 #9
0
ファイル: CXml.cs プロジェクト: MaybeGitHub/Mercadona
 public void modificarCliente(string path, Cliente cliente)
 {
     borrarCliente(path, cliente);
     añadirCliente(path, cliente);
 }
コード例 #10
0
ファイル: CXml.cs プロジェクト: MaybeGitHub/Mercadona
 public Cliente fabricarCliente(string path, string NIF)
 {
     Cliente cliente = null;
     XmlDocument xDoc = new XmlDocument();
     xDoc.Load(path);
     foreach (XmlNode xNode in xDoc.DocumentElement.SelectNodes("/Clientes/Cliente"))
     {
         if( xNode.SelectSingleNode("NIF").InnerText == NIF )
         {
             cliente = new Cliente();
             cliente.nombre = xNode.SelectSingleNode("Nombre").InnerText;
             cliente.apellido = xNode.SelectSingleNode("Apellido").InnerText;
             cliente.apellido2 = xNode.SelectSingleNode("Apellido2").InnerText;
             cliente.tipoIdentificacion = xNode.SelectSingleNode("TipoID").InnerText;
             cliente.NIF = xNode.SelectSingleNode("NIF").InnerText;
             cliente.email = xNode.SelectSingleNode("Email").InnerText;
             cliente.contraseña = xNode.SelectSingleNode("Contraseña").InnerText;
             for(int i = 0; i < xNode.SelectNodes("Direccion").Count; i++) cliente.listaIdDirecciones.Add(xNode.SelectNodes("Direccion")[i].InnerText, xNode.SelectNodes("Direccion")[i].Attributes["ID"].Value);
             for(int i = 0; i < xNode.SelectNodes("Telefono").Count; i++) cliente.listaTelefonos.Add(xNode.SelectNodes("Telefono")[i].InnerText);
             cliente.faltaProducto = xNode.SelectSingleNode("FaltaProducto").InnerText;
             cliente.info = xNode.SelectSingleNode("Info").InnerText;
             cliente.dia = xNode.SelectSingleNode("Dia").InnerText;
             cliente.mes = xNode.SelectSingleNode("Mes").InnerText;
             cliente.año = xNode.SelectSingleNode("Año").InnerText;
             break;
         }
     }
     return cliente;
 }
コード例 #11
0
ファイル: CEmail.cs プロジェクト: MaybeGitHub/Mercadona
        private void crearPDF(Cesta cesta, Cliente cliente, string tipo, string tempPath)
        {
            if (tipo == "Cesta")
            {
                PdfDocument pdf = new PdfDocument();
                PdfPageBase pagina = pdf.Pages.Add();
                string salida =
                        "Estimado " + cliente.nombre + " " + cliente.apellido + " " + cliente.apellido2
                      + "\n\nGracias por hacer su pedido en nuestra tienda Online"
                      + "\nNo dude en ponerse en contacto con nosotros si tiene algun problema o si hay algun dato erroneo al telefono: 900 500 103 o"
                      + "\na nuestro departamento de <a href='~/Vistas/Empresa/atencion.aspx'>Atencion al cliente</a> donde podra aprovechar tambien para darnos su opinion si lo desea y nuestros tecnicos la valoraran lo antes posible pudiendose llegar a poner en contacto con usted si asi lo desea."
                      + "\nLos datos de su pedido son:"
                      + "\nCESTA"
                      + "\n  ID: " + cesta.id
                      + "\n  LISTA PRODUCTOS:\n";
                foreach (string producto in cesta.listaProductos.Keys)
                {
                    salida += "    " + cesta.listaProductos[producto].Split('/')[0] + "x " + producto + "\n";
                }
                salida +=
                        "\n\nCLIENTE"
                      + "\n  Nombre: " + cliente.nombre + " " + cliente.apellido + " " + cliente.apellido2
                      + "\n  NIF: " + cliente.NIF
                      + "\n  Telefonos: \n"
                      + "\n    " + cesta.telefono
                      + "\n  Direccion: \n"
                      + "\n    " + cesta.direccion
                      + "\nSu pedido saldra cuanto antes de nuestros almacenes."
                      + "\n\nMuchas gracias por confiar en nosotros. \n\n\nAtentamente, equipo de post-venta de Mercadona";

                pagina.Canvas.DrawString(salida, new PdfFont(PdfFontFamily.TimesRoman, 14), new PdfSolidBrush(Color.Black), 10, 10);

                pdf.SaveToFile(tempPath + "/ReciboCompra" + cesta.id + ".pdf");
                pdf.Close();
            }
        }