public void EnviarMailPruebaPedidoPersonalizado(DatosPersonales dat, PedidoPaginaPersonalizada pedido)
        {
            string body = "<body>" +
                          "<h1>Hola " + dat.NombreApellido + "</h1>" +
                          "<h2>Muchas gracias por contar con nosotros!</h2>" +
                          "<h3>Estos son los detalles de tu pedido:</h3>" +
                          "<h3>Precio Final: $" + pedido.Precio + "</h3>" +
                          "<h3>Tu numero de cliente es: " + dat.IdUsuario + "</h3>" +
                          "<h3>Recibimos tus comentarios: " + pedido.Comentarios + "</h3>" +
                          "</body>";

            SmtpClient smtp = new SmtpClient("smtp.gmail.com", 587);

            smtp.DeliveryMethod        = SmtpDeliveryMethod.Network;
            smtp.EnableSsl             = true;
            smtp.UseDefaultCredentials = false;
            smtp.Credentials           = new NetworkCredential("*****@*****.**", "Webform123");

            MailMessage mail = new MailMessage();

            mail.From = new MailAddress("*****@*****.**", "Pedido de Pagina Web");
            mail.To.Add(new MailAddress(dat.Email));
            mail.Subject    = "Recibimos tu pedido de pagina web";
            mail.IsBodyHtml = true;
            mail.Body       = body;

            smtp.Send(mail);
        }
        public List <PedidoPaginaPersonalizada> ListarPedidos()
        {
            List <PedidoPaginaPersonalizada> listaPedidos = new List <PedidoPaginaPersonalizada>();
            ConexionMSSQL conex  = new ConexionMSSQL();
            SqlDataReader reader = conex.Consulta_Rapida("select * from pedidoswebpage");

            while (reader.Read())
            {
                PedidoPaginaPersonalizada p = new PedidoPaginaPersonalizada();
                p.Id         = reader.GetInt16(0);
                p.Id_Cliente = reader.GetInt16(1);
                p.ID_Estilo  = reader.GetInt16(2);
                p.Precio     = reader.GetInt32(3);
                try
                {
                    p.Comentarios = reader.GetString(4); //comentarios puede ser null
                }
                catch (Exception)
                {
                    p.Comentarios = ""; //los comentarios nulos los convierto en string vacia para poder mostrarlos
                }
                var aux = reader.GetDateTime(5);
                p.Fecha = aux.ToShortDateString();
                listaPedidos.Add(p);
            }
            conex.Desconectar();
            return(listaPedidos);
        }
        protected void btn_Solicitar_Click(object sender, EventArgs e)//TODO: dar estilo al boton solicitar.
        {
            PedidoPaginaPersonalizada pedidoPersonalizado = new PedidoPaginaPersonalizada();

            pedidoPersonalizado.Funcionalidades = (List <Funcionalidad>)Session["listaFuncionalidadesSelec"];
            pedidoPersonalizado.Paginas         = (List <Pagina>)Session["listaPaginasSelec"];
            pedidoPersonalizado.ID_Estilo       = EstiloSeleccionado.Id;
            pedidoPersonalizado.Precio          = CalcularPrecio();
            Session.Add("pedidoPersonalizado", pedidoPersonalizado);
            Response.Redirect("ConfirmarPedidoPersonalizado.aspx");
        }
        public void AgregarPedido(PedidoPaginaPersonalizada pedido)
        {
            Int16 id;

            //primero se guarda el pedido
            using (SqlConnection sql = new SqlConnection("data source = localhost\\SQLEXPRESS01; initial catalog = Ferreira_Huarcaya_DB; integrated security = sspi"))
            {
                using (SqlCommand cmd = new SqlCommand("SP_PedidoPaginaWebPersonalizada", sql))
                {
                    cmd.CommandType = CommandType.StoredProcedure;
                    cmd.Parameters.Add(new SqlParameter("@ID_Usuario", pedido.Id_Cliente));
                    cmd.Parameters.Add(new SqlParameter("@ID_Estilo", pedido.ID_Estilo));
                    cmd.Parameters.Add(new SqlParameter("@PrecioTotal", pedido.Precio));
                    cmd.Parameters.Add(new SqlParameter("@Comentarios", pedido.Comentarios));
                    cmd.Parameters.Add(new SqlParameter("@Estado", 1));
                    SqlParameter returnParameter = cmd.Parameters.Add("RetVal", SqlDbType.SmallInt);
                    sql.Open();
                    returnParameter.Direction = ParameterDirection.ReturnValue;
                    cmd.ExecuteNonQuery();

                    id = Convert.ToInt16(returnParameter.Value);
                    sql.Close();
                }
            }
            //ahora guardamos sus funcionalidades y paginas en las tablas correspondientes
            ConexionMSSQL conex = new ConexionMSSQL();

            foreach (var item in pedido.Funcionalidades)
            {
                conex.SentenciaNonQuery("insert into Funcionalidades_X_PedidosWebPage (ID_Funcionalidad,ID_Pedidowebpage) values (" + item.Id + "," + id + ")");
            }
            foreach (var item in pedido.Paginas)
            {
                conex.SentenciaNonQuery("insert into Paginas_X_PedidosWebPage (ID_Pagina,ID_Pedidowebpage) values (" + item.ID + "," + id + ")");
            }
            conex.Desconectar();
        }