Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

SID_SILVA

[Resolvido] Rotina Similar ao Carrinho de Compras

Recommended Posts

Ola Amigos

 

Tenho uma rotina onde preciso cadastrar os nome de empresas e associado a elas os nomes dos gerentes.Logo eu terei varias empresas, sendo que cada empresa tera no minimo 1 gerente.

 

Eu pretendia criar uma rotina parecida com um carrinho de compras, onde eu gravaria primeiro o ID da empresa e depois gravaria os gerentes numa tabela de relacionamento e associando-os ao ID da empresa.

 

Inclusive ja fiz o mesmo em outras rotinas.

 

O cadastro da empresa e do gerente dessa empresa acontece na mesma rotina.Informo a empresa e relaciono o gerente atraves de um GridView.

 

Nas rotinas que eu utilizei, eu tinha um cliente, as compras do cliente e os Produtos (ja cadastrados), portanto na hora de montar o DataTable eu criava uma chave de campo primario para o DataTable e atribuia a ele o ID do produto.

 

Acontece que nesse caso especifico eu nao tenho nenhum ID para relacionar como linha chave no meu DataTable.Uma vez que o unico ID que eu poderia utilizar que e o da empresa, somente sera gerado no momento da gravacao.

 

 

Eis uam demonstrcao do meu codigo, pulando algumas partes que nao interessm no momento :

 

Public Function ObterGerente() As DataSet
 'cria dataset

			Dim ds As DataSet = New DataSet()

			'define um objeto DataColumn

			Dim keys(1) As DataColumn

			'define o campo que sera a chave primaria 

			Dim ItemID As New DataColumn("ItemID", GetType(Int32))

			'cria o datatable

			Dim dt As DataTable = New DataTable("Gerentes")

			'inclua as colunas no datatable

			dt.Columns.Add(ItemID)

			'outra forma de definir e incluir colunas no datatable

			dt.Columns.Add("CLIENTE_ID", System.Type.GetType("System.Double"), "")
			dt.Columns.Add("GERENTE_NOME", System.Type.GetType("System.String"), "")

			'define a chave primária

			keys(0) = ItemID

			dt.PrimaryKey = keys

			'inclui na tabela

			ds.Tables.Add(dt)

.
.
.

End Function



Private Sub IncluirGerente()


		Try

			'obtem a tabela do dataset e atribui ao datable local

			Dim dt As DataTable = ObterGerente().Tables(0)

			'localiza o codigo do produto na tabela 

			'Dim row As DataRow = dt.Rows.Find(Request.QueryString("FORMATO_ID"))
			Dim row As DataRow = dt.Rows.Find(Aqui normalmente eu tenho um ID mas nesse caso Nao)

			If row Is Nothing Then

				'se nao achou cria uma nova linha

				row = dt.NewRow()

				row("itemID") = Convert.ToInt32(Session("ID_CLIENTE"))
				row("Gerente_NOME") = TxtGerente.Text.Trim
				'row("REL_VALOR") = Convert.ToDouble(TxtBeneficioValor.Text)

				'inclui a linha no datable
				dt.Rows.Add(row)

			Else

				'se a linha ja existir então apenas altera a quantidade

				'Dim qtd As Integer = Convert.ToInt32(row("Quantidade"))

				'qtd = qtd + quantidade

				'row("Quantidade") = qtd

			End If

		Finally

			conexao.Close()

		End Try

	End Sub

 

 

Poderiam me dar alguma sugestao.

 

 

Obrigado e um Abraco

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom Dia

 

Obrigado mais uma vez Quintelab, era justamente isso que eu nao queria fazer mas estive pensando no final de semana e acho que ao menos por enquanto cadastrar o gerente primeiro para ter o seu ID e a melhor solucao.

 

Obrigado Novamente e ate a proxima duvida.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.