Duvidas em relação ao Capitulo XVIII do Curso Crie Uma Loja Virtual Completa - Parte XIII

23/06/2009

Olá Fabio estou na parte XIII do Curso e no video deste capitulo vc mostra um link para nós testarmos on-line a sua loja virtual no endereço http://www.mans.com.br para digitarmos o login e senha administrativa da loja para acompanharmos o curso, só que ao acessar o link mostra a sua pagina mas nenhum link direcionado á loja de exemplo on-line como é demonstrada no video, existe algum outro link para eu prosseguir com o curso ou sigo o video ignorando o link online   Fico no aguardo e desde já agradeço
Luiz Franco

Luiz Franco

Curtidas 0

Mais Respostas

Fabio Mans

Fabio Mans

23/06/2009

Olá Luiz eu não mais hospedando o site de compras, atualmente só o meu site mesmo.   Obrigado.
GOSTEI 0
Luiz Franco

Luiz Franco

23/06/2009

Olá Fabio Galante boa tarde      Então eu passo adiante e pulo a parte do video deste capitulo onde é dito para fazermos experimentos fazendo o login na loja do site que estaria hospedado ? Por isso que eu perguntei se haveria outro link de testes como demonstra o video da loja   Fico no aguardo e desde já agradeço
GOSTEI 0
Fabio Mans

Fabio Mans

23/06/2009

Infelizmente não mais Luiz, para isso eu pagava uma conta com SQL Server em um provedor e pra mim não é mais viável.

Abraços

Fabio
GOSTEI 0
Fabio Mans

Fabio Mans

23/06/2009

Olá Luiz o correto é você dar continuidade, como eu gravei este vídeo faz muito tempo não serial viável eu manter uma conta com SQL, custa no mínimo R$ 35,00 mensais uma hospedagem com SQL, mas nada impede de você continuar o curso. Dúvidas entre em contato.

Fabio

Olá Fabio Galante boa tarde      Então eu passo adiante e pulo a parte do video deste capitulo onde é dito para fazermos experimentos fazendo o login na loja do site que estaria hospedado ? Por isso que eu perguntei se haveria outro link de testes como demonstra o video da loja   Fico no aguardo e desde já agradeço
GOSTEI 0
Luiz Franco

Luiz Franco

23/06/2009

Uma Nova duvida relativa á este mesmo capítulo posso fazê-la neste mesmo post?   Tem a haver com a classe Product.cs é que na base de dados que estou fazendo pra minha loja virtual acrescentei este campo, [Trial] [bit] NULL,   USE [WebProdutos] GO /****** Object: Table [dbo].[dev_Products] Script Date: 07/01/2009 01:53:49 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO CREATE TABLE [dbo].[dev_Products]( [ProductID] [int] IDENTITY(1,1) NOT NULL, [CategoryID] [int] NOT NULL, [Title] [nvarchar](256) NOT NULL, [Description] [nvarchar](max) NOT NULL, [Price] [smallmoney] NOT NULL, [ImageURL] [nvarchar](256) NOT NULL, [Trial] [bit] NULL, CONSTRAINT [PK_dev_Products] PRIMARY KEY CLUSTERED ( [ProductID] ASC )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] ) ON [PRIMARY] GO ALTER TABLE [dbo].[dev_Products] WITH CHECK ADD CONSTRAINT [FK_dev_Products_dev_Categories] FOREIGN KEY([CategoryID]) REFERENCES [dbo].[dev_Categories] ([CategoryID]) GO ALTER TABLE [dbo].[dev_Products] CHECK CONSTRAINT [FK_dev_Products_dev_Categories] Então o que eu queria saber é o que é que se tem que se mudar na classe Product.cs abaixo pois nos inserts, updates e selects este campo apesar de ser true e false dependendo da situação deverá sêr reconhecido se for melhor me deixe um email e te envio o script da base com os procedures tb atualizados   Aqui a classe   namespace DevMedia.ECommerce { ///<summary> ///Represents a product and methods for ///working with products ///</summary> [System.ComponentModel.DataObject] public class Product { private static readonly string _connectionString; private int _productId; private int _categoryId; private string _title; private string _description; private decimal _price; private string _imageurl; private string _categoryTitle;     public int ProductID { get { return _productId; } set { _productId = value; } } public int CategoryID { get { return _categoryId; } set { _categoryId = value; } } public string Title { get { return _title; } set { _title = value; } } public string Description { get { return _description; } set { _description = value; } } public decimal Price { get { return _price; } set { _price = value; } } public string ImageURL { get { return _imageurl; } set { _imageurl = value; } } public string CategoryTitle { get { return _categoryTitle; } set { _categoryTitle = value; } }   #region Methods /// <summary> /// Create a new product /// </summary> [System.ComponentModel.DataObjectMethodAttribute(System.ComponentModel.DataObjectMethodType.Insert, true)] public static void Insert(int categoryId, string title,string description, decimal price , string imageURL) { // Initialize command SqlConnection con = new SqlConnection(_connectionString); SqlCommand cmd = new SqlCommand("dev_ProductInsert", con); cmd.CommandType = CommandType.StoredProcedure; // Initialize parameters cmd.Parameters.AddWithValue("@CategoryId", categoryId); cmd.Parameters.AddWithValue("@Title", title); cmd.Parameters.AddWithValue("@Description", description); cmd.Parameters.AddWithValue("@Price", price); cmd.Parameters.AddWithValue("@ImageURL", imageURL); using (con) { con.Open(); cmd.ExecuteNonQuery(); } }     /// <summary> /// Delete an existing product /// </summary> [System.ComponentModel.DataObjectMethodAttribute(System.ComponentModel.DataObjectMethodType.Delete, true)] public static void Delete(int ProductId) { // Initialize command SqlConnection con = new SqlConnection(_connectionString); SqlCommand cmd = new SqlCommand("dev_ProductDelete", con); cmd.CommandType = CommandType.StoredProcedure; // Initialize parameters cmd.Parameters.AddWithValue("@ProductId", ProductId); // Execute command using (con) { con.Open(); cmd.ExecuteNonQuery(); } } /// <summary> /// Update an existing product /// </summary> [System.ComponentModel.DataObjectMethodAttribute(System.ComponentModel.DataObjectMethodType.Update, true)] public static void Update(int productid, int categoryId, string title, decimal price, string description, string imageUrl) { Convert.ToDecimal(price); // Initialize command SqlConnection con = new SqlConnection(_connectionString); SqlCommand cmd = new SqlCommand("dev_ProductUpdate", con); cmd.CommandType = CommandType.StoredProcedure; // Initialize parameters cmd.Parameters.AddWithValue("@ProductID", productid); cmd.Parameters.AddWithValue("@CategoryID", categoryId); cmd.Parameters.AddWithValue("@Title", title); cmd.Parameters.AddWithValue("@Price", price); cmd.Parameters.AddWithValue("@Description", description); cmd.Parameters.AddWithValue("@ImageURL", imageUrl); // Execute command using (con) { con.Open(); cmd.ExecuteNonQuery(); } }   /// <summary> /// Select all products from database /// </summary> [System.ComponentModel.DataObjectMethodAttribute(System.ComponentModel.DataObjectMethodType.Select, true)] public static List<Product> Select() { // Initialize command SqlConnection con = new SqlConnection(_connectionString); SqlCommand cmd = new SqlCommand("dev_SelectAllProduct", con); cmd.CommandType = CommandType.StoredProcedure; List<Product> results = new List<Product>(); using (con) { con.Open(); SqlDataReader reader = cmd.ExecuteReader(); while (reader.Read()) results.Add(new Product(reader)); } return results; } /// <summary> /// Select all products in a particular category /// </summary> [System.ComponentModel.DataObjectMethodAttribute(System.ComponentModel.DataObjectMethodType.Select, false)] public static List<Product> SelectByCategoryId(int categoryId) { //Initialize command SqlConnection con = new SqlConnection(_connectionString); SqlCommand cmd = new SqlCommand("dev_ProductSelectByCategoryId", con); cmd.CommandType = CommandType.StoredProcedure; // Add parameters cmd.Parameters.AddWithValue("@CategoryId", categoryId); List<Product> results = new List<Product>(); using (con) { con.Open(); SqlDataReader reader = cmd.ExecuteReader(); while (reader.Read()) results.Add(new Product(reader)); } return results; } /// <summary> /// Select a single product by Id /// </summary> [System.ComponentModel.DataObjectMethodAttribute(System.ComponentModel.DataObjectMethodType.Select, true)] public static Product Select(int productId) { //Initialize command SqlConnection con = new SqlConnection(_connectionString); SqlCommand cmd = new SqlCommand("dev_ProductSelectById", con); cmd.CommandType = CommandType.StoredProcedure; // Add parameters cmd.Parameters.AddWithValue("@ProductId", productId); Product result = null; using (con) { con.Open(); SqlDataReader reader = cmd.ExecuteReader(); if (reader.Read()) result = new Product(reader); } return result; }   /// <summary> /// Select all products random /// </summary> [System.ComponentModel.DataObjectMethodAttribute(System.ComponentModel.DataObjectMethodType.Select, false)] public static List<Product> SelectProductRandom() { //Initialize command SqlConnection con = new SqlConnection(_connectionString); SqlCommand cmd = new SqlCommand("dev_ProductRandom", con); cmd.CommandType = CommandType.StoredProcedure; List<Product> results = new List<Product>(); using (con) { con.Open(); SqlDataReader reader = cmd.ExecuteReader(); while (reader.Read()) results.Add(new Product(reader)); } return results; }   #endregion   /// <summary> /// Initializes a product from a DataReader /// </summary> /// <param name="reader"></param> public Product(SqlDataReader reader) { _productId = (int)reader["ProductID"]; if (reader["CategoryId"] != DBNull.Value) _categoryId = (int)reader["CategoryID"]; if (reader["CategoryTitle"] != DBNull.Value) _categoryTitle = (string)reader["CategoryTitle"]; _title = (string)reader["Title"]; _description = (string)reader["Description"]; _price = (decimal)reader["Price"]; _imageurl = (string)reader["ImageURL"]; } /// <summary> /// Retrieve database connection string from Web configuration /// </summary> static Product() { _connectionString = WebConfigurationManager.ConnectionStrings["StoreString"].ConnectionString; }     } } Fico no aguardo e desde já agradeço
GOSTEI 0
Fabio Mans

Fabio Mans

23/06/2009

Oá Luiz, você vai ter que mudar tudo.
Acrescentar uma nova propriedade, para as procedures você tem que acrescentar o novo campo e o mesmo para os métodos.

Fabio
GOSTEI 0
Luiz Franco

Luiz Franco

23/06/2009

Olá Fabio veja se no caso das Store Procedures se é isso?   // PARA A CLASSE PRODUCTS.CS   CREATE PROCEDURE [dbo].[dev_SelectAllProduct]       AS   SELECT dev_Products.ProductID, dev_Products.CategoryID, dev_Categories.Title AS CategoryTitle, dev_Products.Title,        dev_Products.Description, dev_Products.Price, dev_Products.ImageURL, dev_Products.Trial FROM   dev_Categories INNER JOIN        dev_Products ON dev_Categories.CategoryID = dev_Products.CategoryID        ORDER BY   dev_Products.Title       SET NOCOUNT ON       RETURN     CREATE PROCEDURE [dbo].[dev_ProductDelete] (       @ProductID Int ) AS DELETE dev_Products WHERE ProductID=@ProductID ==========================================   CREATE PROCEDURE [dbo].[dev_ProductInsert] (       @CategoryId INT,       @Title NVarchar(256),       @Description NVarchar(max),       @Price Money,           @ImageURL NVarchar(256),     @Trial bit ) AS   INSERT dev_Products (       CategoryId,       Title,       Description,            Price,                  ImageURL,     Trial )       VALUES (       @CategoryId,       @Title,       @Description,           @Price,           @ImageURL,     @Trial )     CREATE PROCEDURE [dbo].[dev_ProductRandom]   AS SELECT  top 9   dev_Products.ProductID, dev_Products.CategoryID, dev_Categories.Title AS CategoryTitle, dev_Products.Title,                       dev_Products.Description, dev_Products.Price, dev_Products.ImageURL, dev_Products.Trial FROM         dev_Categories INNER JOIN                       dev_Products ON dev_Categories.CategoryID = dev_Products.CategoryID ORDER BY NEWID()     CREATE PROCEDURE [dbo].[dev_ProductSelectByCategoryId] (       @CategoryID Int ) AS SELECT     dev_Products.ProductID, dev_Products.CategoryID, dev_Categories.Title AS CategoryTitle, dev_Products.Title,                       dev_Products.Description, dev_Products.Price, dev_Products.ImageURL, dev_Products.Trial FROM         dev_Categories INNER JOIN                       dev_Products ON dev_Categories.CategoryID = dev_Products.CategoryID WHERE dev_Products.CategoryID = @CategoryId     CREATE PROCEDURE [dbo].[dev_ProductSelectById] (       @ProductId Int ) AS SELECT     dbo.dev_Products.ProductID, dbo.dev_Products.CategoryID, dbo.dev_Products.Title, dbo.dev_Products.Description, dbo.dev_Products.Price,                       dbo.dev_Categories.Title AS CategoryTitle, dbo.dev_Products.ImageURL, dbo.dev_Products.Trial FROM         dbo.dev_Categories INNER JOIN                       dbo.dev_Products ON dbo.dev_Categories.CategoryID = dbo.dev_Products.CategoryID WHERE     (ProductId = @ProductId)     CREATE PROCEDURE [dbo].[dev_ProductUpdate] (       @ProductID INT,       @CategoryID INT,       @Title NVarchar(256),       @Description NVarchar(max),       @Price Money,       @ImageURL NVarchar(256),     @Trial bit ) AS   UPDATE  dev_Products SET       CategoryID = @CategoryId,       Title = @Title,         Description = @Description,       Price = @Price,       ImageURL = @ImageURL,     Trial = @Trial WHERE       ProductID = @ProductID   e apesar de eu aindã não têr chegado na devida aula como por exemplo ao cadastrar os produtos no datasource eu setaria e que objeto seria melhor utilizado para eu setar o campo bit Trial para true ou false ao cadastrar o produto já que isso será por produto haverá produto na minha lista que será trial e outros não com o objetivo de aparecer ou não no grid ou pagina detalhes do produto o link com opção de baixar  a versão trial do mesmo   Fico no aguardo e desde já agradeço
GOSTEI 0
Fabio Mans

Fabio Mans

23/06/2009

Como você não sabe se ele vai ser true ou false no cadastro o melhor você utilizar um checkbox, caso contrário poderia definir um valor default no banco.


Fabio
GOSTEI 0
Luiz Franco

Luiz Franco

23/06/2009

Olá Fabio e vc poderia me passar um exemplo da classe Product.cs e também do source do cadastro da parte de produtos.aspx da area admim ou pelo menos o formview como ficaria o checkbox e o datasource neste caso   lembrando que o campo Trial é do tipo bit   Fico no aguardo caso possa me repassar a classe como ficaria ou o source ou um video dos dois, nesta alternativa e desde já agradeço
GOSTEI 0
Fabio Mans

Fabio Mans

23/06/2009

Olá Luiz, mas o que você precisa de exemplo, vi que já montou o proc, qual sua dúvida exatamente?

Fabio
GOSTEI 0
Luiz Franco

Luiz Franco

23/06/2009

Olá Fabio Galante - bom dia   a Minha duvida exatamente é conforme as procedures que ti passei e em relação ao campo bit Trial?   Seriam:   A)O que eu acrescento em relação ao campo bit Trial  na class Products.cs?   using System; using System.IO; using System.Data; using System.Data.SqlClient; using System.Web.Configuration; using System.Collections.Generic; using System.Linq; using System.Web; namespace DevMedia.ECommerce { ///<summary> ///Represents a product and methods for ///working with products ///</summary> [System.ComponentModel.DataObject] public class Product { private static readonly string _connectionString; private int _productId; private int _categoryId; private string _title; private string _description; private decimal _price; private string _imageurl; private string _categoryTitle; public int ProductID { get { return _productId; } set { _productId = value; } } public int CategoryID { get { return _categoryId; } set { _categoryId = value; } } public string Title { get { return _title; } set { _title = value; } } public string Description { get { return _description; } set { _description = value; } } public decimal Price { get { return _price; } set { _price = value; } } public string ImageURL { get { return _imageurl; } set { _imageurl = value; } } public string CategoryTitle { get { return _categoryTitle; } set { _categoryTitle = value; } } #region Methods /// <summary> /// Create a new product /// </summary> [System.ComponentModel.DataObjectMethodAttribute(System.ComponentModel.DataObjectMethodType.Insert, true)] public static void Insert(int categoryId, string title, string description, decimal price, string imageURL) { // Initialize command SqlConnection con = new SqlConnection(_connectionString); SqlCommand cmd = new SqlCommand("dev_ProductInsert", con); cmd.CommandType = CommandType.StoredProcedure; // Initialize parameters cmd.Parameters.AddWithValue("@CategoryId", categoryId); cmd.Parameters.AddWithValue("@Title", title); cmd.Parameters.AddWithValue("@Description", description); cmd.Parameters.AddWithValue("@Price", price); cmd.Parameters.AddWithValue("@ImageURL", imageURL); using (con) { con.Open(); cmd.ExecuteNonQuery(); } } /// <summary> /// Delete an existing product /// </summary> [System.ComponentModel.DataObjectMethodAttribute(System.ComponentModel.DataObjectMethodType.Delete, true)] public static void Delete(int ProductId) { // Initialize command SqlConnection con = new SqlConnection(_connectionString); SqlCommand cmd = new SqlCommand("dev_ProductDelete", con); cmd.CommandType = CommandType.StoredProcedure; // Initialize parameters cmd.Parameters.AddWithValue("@ProductId", ProductId); // Execute command using (con) { con.Open(); cmd.ExecuteNonQuery(); } } /// <summary> /// Update an existing product /// </summary> [System.ComponentModel.DataObjectMethodAttribute(System.ComponentModel.DataObjectMethodType.Update, true)] public static void Update(int productid, int categoryId, string title, decimal price, string description, string imageUrl) { Convert.ToDecimal(price); // Initialize command SqlConnection con = new SqlConnection(_connectionString); SqlCommand cmd = new SqlCommand("dev_ProductUpdate", con); cmd.CommandType = CommandType.StoredProcedure; // Initialize parameters cmd.Parameters.AddWithValue("@ProductID", productid); cmd.Parameters.AddWithValue("@CategoryID", categoryId); cmd.Parameters.AddWithValue("@Title", title); cmd.Parameters.AddWithValue("@Price", price); cmd.Parameters.AddWithValue("@Description", description); cmd.Parameters.AddWithValue("@ImageURL", imageUrl); // Execute command using (con) { con.Open(); cmd.ExecuteNonQuery(); } } /// <summary> /// Select all products from database /// </summary> [System.ComponentModel.DataObjectMethodAttribute(System.ComponentModel.DataObjectMethodType.Select, true)] public static List<Product> Select() { // Initialize command SqlConnection con = new SqlConnection(_connectionString); SqlCommand cmd = new SqlCommand("dev_SelectAllProduct", con); cmd.CommandType = CommandType.StoredProcedure; List<Product> results = new List<Product>(); using (con) { con.Open(); SqlDataReader reader = cmd.ExecuteReader(); while (reader.Read()) results.Add(new Product(reader)); } return results; } /// <summary> /// Select all products in a particular category /// </summary> [System.ComponentModel.DataObjectMethodAttribute(System.ComponentModel.DataObjectMethodType.Select, false)] public static List<Product> SelectByCategoryId(int categoryId) { //Initialize command SqlConnection con = new SqlConnection(_connectionString); SqlCommand cmd = new SqlCommand("dev_ProductSelectByCategoryId", con); cmd.CommandType = CommandType.StoredProcedure; // Add parameters cmd.Parameters.AddWithValue("@CategoryId", categoryId); List<Product> results = new List<Product>(); using (con) { con.Open(); SqlDataReader reader = cmd.ExecuteReader(); while (reader.Read()) results.Add(new Product(reader)); } return results; } /// <summary> /// Select a single product by Id /// </summary> [System.ComponentModel.DataObjectMethodAttribute(System.ComponentModel.DataObjectMethodType.Select, true)] public static Product Select(int productId) { //Initialize command SqlConnection con = new SqlConnection(_connectionString); SqlCommand cmd = new SqlCommand("dev_ProductSelectById", con); cmd.CommandType = CommandType.StoredProcedure; // Add parameters cmd.Parameters.AddWithValue("@ProductId", productId); Product result = null; using (con) { con.Open(); SqlDataReader reader = cmd.ExecuteReader(); if (reader.Read()) result = new Product(reader); } return result; } /// <summary> /// Select all products random /// </summary> [System.ComponentModel.DataObjectMethodAttribute(System.ComponentModel.DataObjectMethodType.Select, false)] public static List<Product> SelectProductRandom() { //Initialize command SqlConnection con = new SqlConnection(_connectionString); SqlCommand cmd = new SqlCommand("dev_ProductRandom", con); cmd.CommandType = CommandType.StoredProcedure; List<Product> results = new List<Product>(); using (con) { con.Open(); SqlDataReader reader = cmd.ExecuteReader(); while (reader.Read()) results.Add(new Product(reader)); } return results; } #endregion /// <summary> /// Initializes a product from a DataReader /// </summary> /// <param name="reader"></param> public Product(SqlDataReader reader) { _productId = (int)reader["ProductID"]; if (reader["CategoryId"] != DBNull.Value) _categoryId = (int)reader["CategoryID"]; if (reader["CategoryTitle"] != DBNull.Value) _categoryTitle = (string)reader["CategoryTitle"]; _title = (string)reader["Title"]; _description = (string)reader["Description"]; _price = (decimal)reader["Price"]; _imageurl = (string)reader["ImageURL"]; } /// <summary> /// Retrieve database connection string from Web configuration /// </summary> static Product() { _connectionString = WebConfigurationManager.ConnectionStrings["StoreString"].ConnectionString; } } }   B)No caso ainda não cheguei nesta parte do curso mas acredito que quando for cadastrar os Produtos na parte admin da pagina products.aspx aja algum formview da mesma forma que a pagina categories como eu faria o campo checkbox para saber se ele é trial ou não sêr gravado no datasource como true ou false já que o campo é do tipo bit Fico no aguardo e desde já agradeço
GOSTEI 0
Fabio Mans

Fabio Mans

23/06/2009

Olá Luiz


A)O que eu acrescento em relação ao campo bit Trial  na class Products.cs?
Você tem que criar um atributo e propriedas do tipo boolean

B)No caso ainda não cheguei nesta parte do curso mas acredito que quando for cadastrar os Produtos na parte admin da pagina products.aspx
aja algum formview da mesma forma que a pagina categories como eu faria o campo checkbox para saber se ele é trial ou não sêr gravado no
datasource como true ou false já que o campo é do tipo bit

Você precisa de um controle que seja true ou false, neste caso você pode utilizar o CkeckBox, veja um exemplo com SqlDataSource


 <asp:FormView ID="FormView1" runat="server" DataKeyNames="Id"
        DataSourceID="SqlDataSource1">
        <EditItemTemplate>
            Id:
            <asp:Label ID="IdLabel1" runat="server" Text='<%# Eval("Id") %>' />
            <br />
            Nome:
            <asp:TextBox ID="NomeTextBox" runat="server" Text='<%# Bind("Nome") %>' />
            <br />
            Senha:
            <asp:TextBox ID="SenhaTextBox" runat="server" Text='<%# Bind("Senha") %>' />
            <br />
            Role:
            <asp:TextBox ID="RoleTextBox" runat="server" Text='<%# Bind("Role") %>' />
            <br />
            Ativo:
            <asp:CheckBox ID="AtivoCheckBox" runat="server"
                Checked='<%# Bind("Ativo") %>' />
            <br />
            <asp:LinkButton ID="UpdateButton" runat="server" CausesValidation="True"
                CommandName="Update" Text="Update" />
            &nbsp;<asp:LinkButton ID="UpdateCancelButton" runat="server"
                CausesValidation="False" CommandName="Cancel" Text="Cancel" />
        </EditItemTemplate>
        <InsertItemTemplate>
            Nome:
            <asp:TextBox ID="NomeTextBox" runat="server" Text='<%# Bind("Nome") %>' />
            <br />
            Senha:
            <asp:TextBox ID="SenhaTextBox" runat="server" Text='<%# Bind("Senha") %>' />
            <br />
            Role:
            <asp:TextBox ID="RoleTextBox" runat="server" Text='<%# Bind("Role") %>' />
            <br />
            Ativo:
            <asp:CheckBox ID="AtivoCheckBox" runat="server"
                Checked='<%# Bind("Ativo") %>' />
            <br />
            <asp:LinkButton ID="InsertButton" runat="server" CausesValidation="True"
                CommandName="Insert" Text="Insert" />
            &nbsp;<asp:LinkButton ID="InsertCancelButton" runat="server"
                CausesValidation="False" CommandName="Cancel" Text="Cancel" />
        </InsertItemTemplate>
        <ItemTemplate>
            Id:
            <asp:Label ID="IdLabel" runat="server" Text='<%# Eval("Id") %>' />
            <br />
            Nome:
            <asp:Label ID="NomeLabel" runat="server" Text='<%# Bind("Nome") %>' />
            <br />
            Senha:
            <asp:Label ID="SenhaLabel" runat="server" Text='<%# Bind("Senha") %>' />
            <br />
            Role:
            <asp:Label ID="RoleLabel" runat="server" Text='<%# Bind("Role") %>' />
            <br />
            Ativo:
            <asp:CheckBox ID="AtivoCheckBox" runat="server" Checked='<%# Bind("Ativo") %>'
                Enabled="false" />
            <br />
            <asp:LinkButton ID="EditButton" runat="server" CausesValidation="False"
                CommandName="Edit" Text="Edit" />
            &nbsp;<asp:LinkButton ID="DeleteButton" runat="server" CausesValidation="False"
                CommandName="Delete" Text="Delete" />
            &nbsp;<asp:LinkButton ID="NewButton" runat="server" CausesValidation="False"
                CommandName="New" Text="New" />
        </ItemTemplate>
    </asp:FormView>
    <asp:SqlDataSource ID="SqlDataSource1" runat="server"
        ConnectionString="<%$ ConnectionStrings:cnnString %>"
        DeleteCommand="DELETE FROM [Colaborador] WHERE [Id] = @Id"
        InsertCommand="INSERT INTO [Colaborador] ([Nome], [Senha], [Role], [Ativo]) VALUES (@Nome, @Senha, @Role, @Ativo)"
        SelectCommand="SELECT [Id], [Nome], [Senha], [Role], [Ativo] FROM [Colaborador]"
        UpdateCommand="UPDATE [Colaborador] SET [Nome] = @Nome, [Senha] = @Senha, [Role] = @Role, [Ativo] = @Ativo WHERE [Id] = @Id">
        <DeleteParameters>
            <asp:Parameter Name="Id" Type="Int32" />
        </DeleteParameters>
        <UpdateParameters>
            <asp:Parameter Name="Nome" Type="String" />
            <asp:Parameter Name="Senha" Type="String" />
            <asp:Parameter Name="Role" Type="String" />
            <asp:Parameter Name="Ativo" Type="Boolean" />
            <asp:Parameter Name="Id" Type="Int32" />
        </UpdateParameters>
        <InsertParameters>
            <asp:Parameter Name="Nome" Type="String" />
            <asp:Parameter Name="Senha" Type="String" />
            <asp:Parameter Name="Role" Type="String" />
            <asp:Parameter Name="Ativo" Type="Boolean" />
        </InsertParameters>
    </asp:SqlDataSource>


Espero ter ajudado

Fabio
GOSTEI 0
Luiz Franco

Luiz Franco

23/06/2009

Olá Fabio Galante boa tarde   Você tem que criar um atributo e propriedas do tipo boolean   E como ficariam esses atributos e propriedades na class Product.cs, não teria como me enviar um exemplo?   fico no aguardo e desde já agradeço
GOSTEI 0
Fabio Mans

Fabio Mans

23/06/2009

Olá Luiz, segue abaixo.


   private bool _trial;

    public bool Trial
    {
        get { return _trial; }
        set { _trial = value; }
    }

Ou com C#3.0


public bool Trial { get; set; }

Fabio

GOSTEI 0
Luiz Franco

Luiz Franco

23/06/2009

Mas na classe eu só teria que fazer isso ou teria que colocar algo mais no todo do codigo da classe, se teria um exemplo no todo do codigo da classe aonde eu precisaria modificar ou adaptar   Fico no aguardo e desde já agradeço
GOSTEI 0
Fabio Mans

Fabio Mans

23/06/2009

Basta acrescentar o campo bit para os métodos, e procedures.



GOSTEI 0
Luiz Franco

Luiz Franco

23/06/2009

Olá Fabio Galante   Vou fazer o seguinte irei adaptar então o campo trial bit na classe product.cs e no próximo feed back, vou ti repassar ele completo para você me dizer se é isso mesmo ok   Fico no aguardo e desde já agradeço 
GOSTEI 0
Fabio Mans

Fabio Mans

23/06/2009

Perfeito, implemente e teste. Aguardo.


GOSTEI 0
Luiz Franco

Luiz Franco

23/06/2009

Olá Fabio Galante - bom dia    Veja como ficou  a implementação do campo Trial que é do tipo bit usado nas store procedures para á classe Product.cs veja como ficou á classe e me corrija se há algum erro ou se é isso mesmo   using System; using System.IO; using System.Data; using System.Data.SqlClient; using System.Web.Configuration; using System.Collections.Generic; using System.Linq; using System.Web; namespace DevMedia.ECommerce { ///<summary> ///Represents a product and methods for ///working with products ///</summary> [System.ComponentModel.DataObject] public class Product { private static readonly string _connectionString; private int _productId; private int _categoryId; private string _title; private string _description; private decimal _price; private string _imageurl; private string _categoryTitle; private bool _Trial; public int ProductID { get { return _productId; } set { _productId = value; } } public int CategoryID { get { return _categoryId; } set { _categoryId = value; } } public string Title { get { return _title; } set { _title = value; } } public string Description { get { return _description; } set { _description = value; } } public decimal Price { get { return _price; } set { _price = value; } } public string ImageURL { get { return _imageurl; } set { _imageurl = value; } } public string CategoryTitle { get { return _categoryTitle; } set { _categoryTitle = value; } } public bool Trial { get { return _Trial; } set { _Trial = value; } } #region Methods /// <summary> /// Create a new product /// </summary> [System.ComponentModel.DataObjectMethodAttribute(System.ComponentModel.DataObjectMethodType.Insert, true)] public static void Insert(int categoryId, string title, string description, decimal price, string imageURL, bool trial) { // Initialize command SqlConnection con = new SqlConnection(_connectionString); SqlCommand cmd = new SqlCommand("dev_ProductInsert", con); cmd.CommandType = CommandType.StoredProcedure; // Initialize parameters cmd.Parameters.AddWithValue("@CategoryId", categoryId); cmd.Parameters.AddWithValue("@Title", title); cmd.Parameters.AddWithValue("@Description", description); cmd.Parameters.AddWithValue("@Price", price); cmd.Parameters.AddWithValue("@ImageURL", imageURL); cmd.Parameters.AddWithValue("@Trial", trial); using (con) { con.Open(); cmd.ExecuteNonQuery(); } } /// <summary> /// Delete an existing product /// </summary> [System.ComponentModel.DataObjectMethodAttribute(System.ComponentModel.DataObjectMethodType.Delete, true)] public static void Delete(int ProductId) { // Initialize command SqlConnection con = new SqlConnection(_connectionString); SqlCommand cmd = new SqlCommand("dev_ProductDelete", con); cmd.CommandType = CommandType.StoredProcedure; // Initialize parameters cmd.Parameters.AddWithValue("@ProductId", ProductId); // Execute command using (con) { con.Open(); cmd.ExecuteNonQuery(); } } /// <summary> /// Update an existing product /// </summary> [System.ComponentModel.DataObjectMethodAttribute(System.ComponentModel.DataObjectMethodType.Update, true)] public static void Update(int productid, int categoryId, string title, decimal price, string description, string imageUrl, bool trial) { Convert.ToDecimal(price); // Initialize command SqlConnection con = new SqlConnection(_connectionString); SqlCommand cmd = new SqlCommand("dev_ProductUpdate", con); cmd.CommandType = CommandType.StoredProcedure; // Initialize parameters cmd.Parameters.AddWithValue("@ProductID", productid); cmd.Parameters.AddWithValue("@CategoryID", categoryId); cmd.Parameters.AddWithValue("@Title", title); cmd.Parameters.AddWithValue("@Price", price); cmd.Parameters.AddWithValue("@Description", description); cmd.Parameters.AddWithValue("@ImageURL", imageUrl); cmd.Parameters.AddWithValue("@Trial", trial); // Execute command using (con) { con.Open(); cmd.ExecuteNonQuery(); } } /// <summary> /// Select all products from database /// </summary> [System.ComponentModel.DataObjectMethodAttribute(System.ComponentModel.DataObjectMethodType.Select, true)] public static List<Product> Select() { // Initialize command SqlConnection con = new SqlConnection(_connectionString); SqlCommand cmd = new SqlCommand("dev_SelectAllProduct", con); cmd.CommandType = CommandType.StoredProcedure; List<Product> results = new List<Product>(); using (con) { con.Open(); SqlDataReader reader = cmd.ExecuteReader(); while (reader.Read()) results.Add(new Product(reader)); } return results; } /// <summary> /// Select all products in a particular category /// </summary> [System.ComponentModel.DataObjectMethodAttribute(System.ComponentModel.DataObjectMethodType.Select, false)] public static List<Product> SelectByCategoryId(int categoryId) { //Initialize command SqlConnection con = new SqlConnection(_connectionString); SqlCommand cmd = new SqlCommand("dev_ProductSelectByCategoryId", con); cmd.CommandType = CommandType.StoredProcedure; // Add parameters cmd.Parameters.AddWithValue("@CategoryId", categoryId); List<Product> results = new List<Product>(); using (con) { con.Open(); SqlDataReader reader = cmd.ExecuteReader(); while (reader.Read()) results.Add(new Product(reader)); } return results; } /// <summary> /// Select a single product by Id /// </summary> [System.ComponentModel.DataObjectMethodAttribute(System.ComponentModel.DataObjectMethodType.Select, true)] public static Product Select(int productId) { //Initialize command SqlConnection con = new SqlConnection(_connectionString); SqlCommand cmd = new SqlCommand("dev_ProductSelectById", con); cmd.CommandType = CommandType.StoredProcedure; // Add parameters cmd.Parameters.AddWithValue("@ProductId", productId); Product result = null; using (con) { con.Open(); SqlDataReader reader = cmd.ExecuteReader(); if (reader.Read()) result = new Product(reader); } return result; } /// <summary> /// Select all products random /// </summary> [System.ComponentModel.DataObjectMethodAttribute(System.ComponentModel.DataObjectMethodType.Select, false)] public static List<Product> SelectProductRandom() { //Initialize command SqlConnection con = new SqlConnection(_connectionString); SqlCommand cmd = new SqlCommand("dev_ProductRandom", con); cmd.CommandType = CommandType.StoredProcedure; List<Product> results = new List<Product>(); using (con) { con.Open(); SqlDataReader reader = cmd.ExecuteReader(); while (reader.Read()) results.Add(new Product(reader)); } return results; } #endregion /// <summary> /// Initializes a product from a DataReader /// </summary> /// <param name="reader"></param> public Product(SqlDataReader reader) { _productId = (int)reader["ProductID"]; if (reader["CategoryId"] != DBNull.Value) _categoryId = (int)reader["CategoryID"]; if (reader["CategoryTitle"] != DBNull.Value) _categoryTitle = (string)reader["CategoryTitle"]; _title = (string)reader["Title"]; _description = (string)reader["Description"]; _price = (decimal)reader["Price"]; _imageurl = (string)reader["ImageURL"]; _Trial = (bool)reader["Trial"]; } /// <summary> /// Retrieve database connection string from Web configuration /// </summary> static Product() { _connectionString = WebConfigurationManager.ConnectionStrings["StoreString"].ConnectionString; } } }   Fico no aguardo e desde já agradeço
GOSTEI 0
Fabio Mans

Fabio Mans

23/06/2009

private bool _Trial;

public bool Trial

{

get { return _Trial; }

set { _Trial = value; }

}


public static void Insert(int categoryId, string title, string description, decimal price, string imageURL, bool trial)




cmd.Parameters.AddWithValue("@Trial", trial)




cmd.Parameters.AddWithValue("@Trial", trial);


É isso mesmo, chegou a dar algum erro??
GOSTEI 0
Luiz Franco

Luiz Franco

23/06/2009

Olá Fabio Galante   Ainda não tive tempo de testar, pois ainda  não entrei na lição onde vc coloca os objetos desta classe na area admin de inserção, edição e deleção de produtos, mas se o que vc disse está certo assim que testar ti retorno   mas aproveitando por exemplo se eu cria-se um campo a mais para esta pagina que deverei criar no qual será o nome dos usuários ou clientes cadastrados via membership em meu site, pois alem de produtos, haverá serviços e me oriente mas acho melhor usar a mesma table produtos para serviços , só que tem serviços prontos meus proprios e serviços orçados pelos clientes a minha ideia seria criar um painel do cliente usando a mesma regra da pasta de fechamento da compra com as regras e funções definidas no membership e utilizar a mesma table produtos mas com uma procedure alternativa baseado no retorno do usuario do member ship onde apareceriam os serviços na catalogo criado por mim em resposta á aquele determinado usuario   Tipo   Logica 1 - O Cliente cadastrado solicita o orçamento do serviço   Sequencia da Logica - Administrativamente incluio o valor em resposta do serviço, item e descrição daquele serviço á aquele determinado usuário como se eu estivesse incluindo um produto da table produtos mas com o campo username = ao username do cliente cadastrado   Logica 3 parte - No painel do cliente - após o mesmo se logar via membership como e pedido da mesma forma na pasta de fechamento do carrinho, seria criado um catalogo de produtos(na realidade serviços) alternativo somente com os serviços da categoria Orçamento á sêr criado mas que tb no procedure teria que ter o where = username   A duvida aí seria no source dos outros catalogos das paginas abertas produtos.aspx e serviços.aspx(sem orçamento) seria como não mostrar o campo username ou o mais lógico seria construir mais uma procedure e um outro metodo na classe produtos e categorias   Fico no aguardo e desde já agradeço
GOSTEI 0
Fabio Mans

Fabio Mans

23/06/2009

Luiz podemos resumir sua pergunta. Eu não entendi nada, o que o Trial tem a ver com o cadastro via membership?
Podemos resolver sua dúvida por partes?

Obrigado.

mas aproveitando por exemplo se eu cria-se um campo a mais para esta pagina que deverei criar no qual será o nome dos usuários ou clientes cadastrados via membership em meu site
GOSTEI 0
Luiz Franco

Luiz Franco

23/06/2009

Olá Fabio Galante   não tem nada a haver com o campo trial que já esta posto   O que eu quis dizer é - terá uma área de minha loja onde é feito um orçamento de serviços   Tipo um usuário cadastrado na minha loja via form de contato ele fáz a solicitação por exemplo de um orçamento para a criação de site onde recebo este orçamento via e-mail com o username já cadastrado de meu cliente via membership   Administrativamente (lado administrativo da loja) sob a mesma forma que irei aprender a inserir os produtos e serviços cadastrados iria têr uma terceira categoria (alem de produtos e serviços que seria orçamentos) onde eu teria que cadastrar numa mesma table produtos (que vale para produtos e serviços) em um campo username á sêr criado nesta table o nome do username ou cliente que solicitou tal orçamento onde eu cadastraria a resposta para ele como se fosse um produto ou item do catalogo de produtos ou serviços   A unica diferença é que em painel proprio e depois de logado este cliente veria um outro catalogo de ítens de orçamentos que eu já lhe haveria respondido como se fosse a criação de um item caso ele concorde no painel dele ele fecharia a compra ou não   só que aí este catalogo tem que sêr chamado acredito eu por uma select ou outra procedure where usuario (da table produtos) é igual a usuário que esta logado   Mas o que eu exatamente perguntei não seria isso      Mas isto        A)O mais lógico é criar este campo username na table produtos e nas paginas produtos e serviços(sem orçamento) tem como ocultar o campo do usuário já que seria chamado pela select(procedure) normal de produtos e serviços para todos verem e outra procedure seria criada para exibição dos serviços orçados no painel do usuario       B)Ou o mais lógico seria criar  tables e procedures a parte parecida com SelectAll Products mas para cada situação ou seja serviços e serviços orçados onde para cada tipo de pagina apareceriam todos os campos     Estas é que são as minhas duvidas em relação áo qual melhor procedimento A ou B ou o que vc sugeria neste caso   Fico no aguardo e desde ja agradeço
GOSTEI 0
Fabio Mans

Fabio Mans

23/06/2009

Olá Luiz eu acredito que a melhor maneira é você criar uma tabela chamada orçamentos relacionada com o ID (Guid) do usuário. Assim quando ele se logar você consegue trazer os orçamentos.

Espero ter entendido sua pergunta, se não for isso me fale.

Fabio

  A)O mais lógico é criar este campo username na table produtos e nas paginas produtos e serviços(sem orçamento) tem como ocultar o campo do usuário já que seria chamado pela select(procedure) normal de produtos e serviços para todos verem e outra procedure seria criada para exibição dos serviços orçados no painel do usuario       B)Ou o mais lógico seria criar  tables e procedures a parte parecida com SelectAll Products mas para cada situação ou seja serviços e serviços orçados onde para cada tipo de pagina apareceriam todos os campos
GOSTEI 0
Luiz Franco

Luiz Franco

23/06/2009

Olá Fabio Galante então pelo que vc me disse seria criar uma table Orçamentos com os mesmos campos da Table Produtos qdo eu responder o orçamento deles via area admin e já embutir no catalogo virtual de orçamentos, mas aí com uma table separada de catalogo de produtos ou servicos pelo que entendi á sua resposta seria isso?   Fico no aguardo e desde já agradeço
GOSTEI 0
Fabio Mans

Fabio Mans

23/06/2009

Isso porém orçamento difere por ter o ID do cliente, certo?
GOSTEI 0
Luiz Franco

Luiz Franco

23/06/2009

Olá Fabio   Ok, mas por exemplo eu não poderia utilizar este ID do Cliente (ou UserName do memberShip) como um campo interno á essa table gêmea dev_orcamento com os mesmos campos da table produtos, mas acrescentando á mesma um campo adicionala ID do Cliente (ou UserName do membership) no caso ou o que vc me recomendaria ...algum link ou artigo ou video que desse esse exemplo   Fico no aguardo e desde ja agradeço
GOSTEI 0
Fabio Mans

Fabio Mans

23/06/2009

Pode sim, crie as tabelas e passo o script que eu vejo para você, sobre artigo ou vídeo eu não conheço, porque é bem específico para o que você quer fazer.


GOSTEI 0
Devmedia

Devmedia

23/06/2009

Luiz, podemos encerrar o chamado?
GOSTEI 0
Luiz Franco

Luiz Franco

23/06/2009

O Autor tinha me dito na resposta anterior que ia me enviar uns scripts de table por isso não encerrei!!!No aguardo
GOSTEI 0
Fabio Mans

Fabio Mans

23/06/2009

Olá Luiz, eu disse que aguardo você criar as tabelas e que eu vejo o script. Pode sim, crie as tabelas e passo o script que eu vejo para você, sobre artigo ou vídeo eu não conheço, porque é bem específico para o que você quer fazer.
GOSTEI 0
Luiz Franco

Luiz Franco

23/06/2009

Me desculpe me perdi he he acontece com programadores qdo estão em desenvolvimento vou fz as tabelas mas a mesma tem que sêr com os campos parecidos com a de produtos correto?
GOSTEI 0
Fabio Mans

Fabio Mans

23/06/2009

Luiz você precisa avalir a sua necessidade, orçamento tem a ver com produto?  Se sim pode ser parecido.




GOSTEI 0
Luiz Franco

Luiz Franco

23/06/2009

Ok então assim que eu criar a table eu posto aqui ok   aproveitando respondi com video o chamado do Capitulo XI aquele da drop downlist usando o CamtasiaStudio 6.02 e seguindo todos os procedimentos de colocação do video na consultoria do devmedia, porem aqui na minha maquina tanto no IE 8.0 como no Firefox ao clicar na setinha do video da pagina do video não consegui vêr o video ...gostaria de saber se vc conseguiu pois a duvida daquele post continua e eu tentei explanar pelo video se não conseguiu poderia perguntar ao pessoal da consultoria como fáz pra publicar utilizando a nova versão do camtasia   Fico no aguardo e desde já agradeço
GOSTEI 0
Fabio Mans

Fabio Mans

23/06/2009

Coloca o vídeo em algum disco virtual eu baixo e te falo.

Fabio
GOSTEI 0
Luiz Franco

Luiz Franco

23/06/2009

Olá vou postar aqui e no tópico correto do link abaixo no qual se refere a duvida do video ok   Aqui o link do Topico da duvida   https://www.devmedia.com.br/suporte/viewtopic.asp?id=5863   Aqui o link do Video á duvida que me falta veja se agora consegue visualizar fico no aguardo e desde já agradeço   http://www.screencast.com/t/9FSHoKgeF   em breve postarei a Table dev_orcamento aqui para vc
GOSTEI 0
Luiz Franco

Luiz Franco

23/06/2009

Olá Fábio Galante   Agora voltando a natureza deste tópico posto aqui como seria então a table dev_orcamento     CREATE TABLE [dbo].[dev_Orcamento](
 [OrcamentoID] [int] IDENTITY(1,1) NOT NULL,
 [CategoryID] [int] NOT NULL,
        [UserName] [nvarchar](256) NOT NULL,
 [Title] [nvarchar](256) NOT NULL,
 [Description] [nvarchar](max) NOT NULL,
 [Price] [smallmoney] NOT NULL,
 [ImageURL] [nvarchar](256) NOT NULL,
 [OrcamentoLiberado] [bit] NULL,
 CONSTRAINT [PK_dev_Orcamento] PRIMARY KEY CLUSTERED
(
 [OrcamentoID] ASC
)WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ON) ON [PRIMARY]
) ON [PRIMARY]     Lembrando que - administrativamente por meio de programação ou manualmente eu cadastrarei o UserName que solicitou o orçamento e quando eu setar liberado = true o usuário terá o ítem da lista orçamentária em seu painel próprio após o mesmo estar logado   o painel do mesmo estaria numa pasta do tipo ckeckout mas na verdade seria o catalogo dos serviços pelo qual ele solicitou tal orçamento - na hora que ele se logar uma procedure em select do tipo SelectAllProducts mostrará os itens orçados e liberados apenas do usuario logado com a resposta e o valor orçamentário já respondido bastanto apenas para ele clicar em fechar para comprar ou não o serviço indo para o carrinho em fechamento esta é a minha lógica fico no aguardo agora então do vosso script para vêr se as informações se cruzam qdo estiver pronto eu crio um vídeo para ti mostrar   fico no aguardo e desde já agradeço
GOSTEI 0
Fabio Mans

Fabio Mans

23/06/2009

É isso mesmo Luiz, eu só não gosto de utilizar o username, para o tipo de sistema que está fazendo um não utilizaria Membership, e por que não grava o guid ao invés de username?

Fabio

CREATE TABLE [dbo].[dev_Orcamento](
 [OrcamentoID] [int] IDENTITY(1,1) NOT NULL,
 [CategoryID] [int] NOT NULL,
        [UserName] [nvarchar](256) NOT NULL,
 [Title] [nvarchar](256) NOT NULL,
 [Description] [nvarchar](max) NOT NULL,
 [Price] [smallmoney] NOT NULL,
 [ImageURL] [nvarchar](256) NOT NULL,
 [OrcamentoLiberado] [bit] NULL,
 CONSTRAINT [PK_dev_Orcamento] PRIMARY KEY CLUSTERED
(
 [OrcamentoID] ASC
)WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ON) ON [PRIMARY]
) ON [PRIMARY]
GOSTEI 0
Luiz Franco

Luiz Franco

23/06/2009

Olá Fabio Galante, vc quis dizer colocar o GUID é o ID do usuário do MemberShip no lugar do UserName e se fôr isso qual o melhor tipo de campo que eu teria que modificar o username na table ou continua com nvarchar   Fico no aguardo e desde já agradeço
GOSTEI 0
Fabio Mans

Fabio Mans

23/06/2009

Char(36) limpando os traços.   Você grava o Guid e quando precisar faz uma busca.   Entendeu?
GOSTEI 0
Luiz Franco

Luiz Franco

23/06/2009

Olá Fabio Galante o que vc quis dizer com   A)Limpando os traços?   B)E quando precisar faz uma busca?   Fico no aguardo e desde já agradeço
GOSTEI 0
Fabio Mans

Fabio Mans

23/06/2009

Desculpa como você está utilizando Membership utilize com o traço mesmo.     string strUser = Membership.GetUser().ToString(); Guid id = (Guid)Membership.GetUser("userName").ProviderUserKey;       Mas eu quando vou trabalhar com Guid eu limpo os traços como no exemplo abaixo. E gravo com char(36)   protected void Page_Load(object sender, EventArgs e) { string usuario = Guid.NewGuid().ToString().Replace("-", string.Empty); Response.Write(usuario);  }   Abraços Fabio
GOSTEI 0
Luiz Franco

Luiz Franco

23/06/2009

Ok  irei testar e assim que puder lhe dou um retorno provisoriamente pode dar o chamado como concluído dpois eu reabro e tenho novidades vou fzer curso na KA Solution do centro em sampa a partir do outro sabado para Pacote de Certificação MCPD.Net 3.5 ASP.NET
GOSTEI 0
Fabio Mans

Fabio Mans

23/06/2009

Muito bom você vai gostar. Eu fiz este curso e a prova, mas no Morumbi.

Abraços

Fabio

GOSTEI 0
Luiz Franco

Luiz Franco

23/06/2009

Ok eu coloquei esta duvida concluída pois irei demorar um pouco para chegar nesta parte e criar a adaptação para a parte de orçamentos mas qq coisa eu reabro o post   enquanto a Ka Solution he he quem sabe se a gente não se cruza por lá ou vc me dá umas dicas rssssss     vlw
GOSTEI 0
POSTAR