Imports System.Data.SqlClient
Imports System.Data
Imports System.Net.Mail
Partial Class Admin_Projetos
Inherits System.Web.UI.Page
Public IDProjeto As Double = 0
Public IdCliente As Double = 0
Public IdGerCliente As Double = 0
Public IdGerente As Double = 0
Public IdLider As Double = 0
Public IdGestor As Double = 0
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
Dim Sql As String
Dim cmd As SqlCommand
'Dim cmdDoc As SqlCommand
Dim dr As SqlDataReader = Nothing
Dim DrDoc As SqlDataReader = Nothing
Dim conexao As SqlConnection
IDProjeto = Convert.ToDouble(Request.QueryString("PROJE_ID"))
TxtData.Text = String.Format("{0:dd/MM/yyyy}", Date.Now)
If Not Page.IsPostBack Then
MontaCliente()
MontaProjeto()
MontaGerente()
MontaGerenteCliente()
MontaLiderDisciplina()
MontaEspecialidade()
MontaColaborador()
MontaFormato()
If Request.QueryString("PROJE_ID") <> "" Then
Sql = "SELECT p.CLIENTE_ID,p.PROJE_ID,p.GERENTE_ID,p.UserLoginID,p.GERENTECLIENTE_ID,p.GESTOR_ID, "
Sql += " p.PROJE_DATA,p.CLIENTE_OS,p.LIDERDISC_ID,g.GESTOR_PROJETO,g.GESTOR_CONTA "
Sql += " FROM PROJETOS p, GESTOR g "
Sql += " WHERE p.PROJE_ID = " + Request.QueryString("PROJE_ID")
Sql += " AND p.GESTOR_ID=g.GESTOR_ID"
conexao = New SqlConnection(ConfigurationManager.ConnectionStrings("timesheet").ConnectionString)
conexao.Open()
cmd = New SqlCommand(Sql, conexao)
dr = cmd.ExecuteReader()
If dr.Read() = True Then
Try
TxtData.Text = String.Format("{0:dd/MM/yyyy}", dr("PROJE_DATA"))
TxtOS.Text = dr("CLIENTE_OS").ToString
TxtContaGestor.Text = dr("GESTOR_CONTA").ToString
IdCliente = Convert.ToInt32(dr("CLIENTE_ID"))
CboCliente.SelectedValue = IdCliente
IDProjeto = Convert.ToInt32(dr("PROJE_ID"))
IdGestor = Convert.ToInt32(dr("GESTOR_ID"))
CboProjeto.SelectedValue = IdGestor
IdGerente = Convert.ToInt32(dr("GERENTE_ID"))
CboGerente.SelectedValue = IdGerente
IdGerCliente = Convert.ToInt32(dr("GERENTECLIENTE_ID"))
CboGerenteCliente.SelectedValue = IdGerCliente
IdLider = Convert.ToInt32(dr("LIDERDISC_ID"))
CboLiderDisc.SelectedValue = IdLider
LblUserLoginID.Text = dr("UserLoginID").ToString
Catch ex As Exception
lblMensagem.Text = "Ocorreu Um Erro Durante a Exibição Dos Dados : " & vbCrLf & ex.Message & vbCrLf ' & ex.InnerException.ToString
Finally
dr.Close()
End Try
Sql = " SELECT REL_PROJETOS.REL_DOCUMENTO, REL_PROJETOS.REL_HORASPREVISTAS, "
Sql += " REL_PROJETOS.REL_PREVINI, REL_PROJETOS.REL_PREVFIM, "
Sql += " REL_PROJETOS.REL_HORASCONSUMIDAS, REL_PROJETOS.REL_DATAINICIO, "
sql += " PROJETOS.PROJE_ID, REL_PROJETOS.USER_ID, USERS.USER_NOME, "
Sql += " FORMATOS.FORMATO_NOME, FORMATOS.FORMATO_ID, "
Sql += " USERS.USER_ID AS USERID, REL_PROJETOS.ESPEC_ID, "
Sql += " ESPECIALIDADES.ESPEC_NOME FROM REL_PROJETOS INNER JOIN "
Sql += " PROJETOS ON REL_PROJETOS.PROJE_ID = PROJETOS.PROJE_ID "
Sql += " INNER Join FORMATOS ON "
Sql += " REL_PROJETOS.FORMATO_ID = FORMATOS.FORMATO_ID "
Sql += " INNER Join USERS ON "
Sql += " REL_PROJETOS.USER_ID = USERS.USER_ID INNER JOIN "
Sql += " ESPECIALIDADES ON REL_PROJETOS.ESPEC_ID = ESPECIALIDADES.ESPEC_ID"
Sql += " WHERE PROJETOS.PROJE_ID= " + Request.QueryString("PROJE_ID")
Sql += " ORDER BY REL_PROJETOS.REL_PREVINI DESC "
Try
cmdDoc = New SqlCommand(Sql, conexao)
DrDoc = cmdDoc.ExecuteReader()
Catch ex As Exception
'xxx
Finally
GrdDocumentos.DataSource = DrDoc
GrdDocumentos.DataBind()
DrDoc.Close()
conexao.Close()
End Try
' ObterDocumentosGravados()
' IncluirDocumentosGravados(Request.QueryString("PROJE_ID"))
End If
End If
End If
End Sub
Public Function ObterDocumentosGravados() As DataSet
'verifica se a cesta de compras esta na sessão
If Session("Documentos") Is Nothing Then
'se nao estiver vamos criar um dataset e um datatable para armazenar os dados da compra
'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("Documentos")
'inclua as colunas no datatable
dt.Columns.Add(ItemID)
'outra forma de definir e incluir colunas no datatable
dt.Columns.Add("REL_DOCUMENTO", System.Type.GetType("System.String"), "")
dt.Columns.Add("FORMATO_ID", System.Type.GetType("System.Double"), "")
dt.Columns.Add("FORMATO_NOME", System.Type.GetType("System.String"), "")
dt.Columns.Add("REL_PREVINI", System.Type.GetType("System.DateTime"), "")
dt.Columns.Add("REL_PREVFIM", System.Type.GetType("System.DateTime"), "")
dt.Columns.Add("ESPEC_ID", System.Type.GetType("System.Double"), "")
dt.Columns.Add("ESPEC_NOME", System.Type.GetType("System.String"), "")
dt.Columns.Add("REL_HORASPREVISTAS", System.Type.GetType("System.Double"), "")
dt.Columns.Add("USER_ID", System.Type.GetType("System.Double"), "")
dt.Columns.Add("USER_NOME", System.Type.GetType("System.String"), "")
dt.Columns.Add("REL_DATAENVIO", System.Type.GetType("System.DateTime"), "")
dt.Columns.Add("UserLoginID", System.Type.GetType("System.String"), "")
dt.Columns.Add("Status", System.Type.GetType("System.Double"), "") ' 1-Gravado / 0-Nao Gravado
'define a chave primária
keys(0) = ItemID
dt.PrimaryKey = keys
'inclui na tabela
ds.Tables.Add(dt)
'coloca o dataset na sessão
Session("Documentos") = ds
'retorna o dataset criado
Return ds
Else
'retorna o dataset que esta na sessão
Return Session("Documentos")
End If
End Function
Private Sub IncluirDocumentosGravados(ByVal ID As String)
Dim Sql As String
Dim cmd As SqlCommand
Dim dr As SqlDataReader = Nothing
Dim conexao As SqlConnection
conexao = New SqlConnection(ConfigurationManager.ConnectionStrings("timesheet").ConnectionString)
Sql = " SELECT REL_PROJETOS.REL_DOCUMENTO, REL_PROJETOS.REL_HORASPREVISTAS, "
Sql += " REL_PROJETOS.REL_PREVINI, REL_PROJETOS.REL_PREVFIM,REL_PROJETOS.REL_ID, "
Sql += " REL_PROJETOS.REL_HORASCONSUMIDAS, REL_PROJETOS.REL_DATAINICIO, "
Sql += " PROJETOS.PROJE_ID, REL_PROJETOS.USER_ID, USERS.USER_NOME, "
Sql += " FORMATOS.FORMATO_NOME, FORMATOS.FORMATO_ID, "
Sql += " USERS.USER_ID AS USERID, REL_PROJETOS.ESPEC_ID, "
Sql += " ESPECIALIDADES.ESPEC_NOME FROM REL_PROJETOS INNER JOIN "
Sql += " PROJETOS ON REL_PROJETOS.PROJE_ID = PROJETOS.PROJE_ID "
Sql += " INNER Join FORMATOS ON "
Sql += " REL_PROJETOS.FORMATO_ID = FORMATOS.FORMATO_ID "
Sql += " INNER Join USERS ON "
Sql += " REL_PROJETOS.USER_ID = USERS.USER_ID INNER JOIN "
Sql += " ESPECIALIDADES ON REL_PROJETOS.ESPEC_ID = ESPECIALIDADES.ESPEC_ID"
Sql += " WHERE PROJETOS.PROJE_ID= " + ID
Sql += " ORDER BY REL_PROJETOS.REL_PREVINI DESC "
Try
'abre a conexao
conexao.Open()
'executa o comando e cria um datareader
cmd = New SqlCommand(Sql, conexao)
dr = cmd.ExecuteReader()
Sql = dr("FORMATO_ID")
'le o datareader
'obtem a tabela do dataset e atribui ao datable local
Dim dt As DataTable = ObterDocumentos().Tables(0)
'localiza o codigo do produto na tabela
Dim row As DataRow = dt.Rows.Find(Convert.ToDouble(dr("FORMATO_ID")))
' Dim row As DataRow = dt.Rows.Find(0)
If row Is Nothing Then
'se nao achou cria uma nova linha
row = dt.NewRow()
row("itemID") = dr("REL_ID")
row("REL_DOCUMENTO") = dr("REL_DOCUMENTO")
row("FORMATO_ID") = dr("FORMATO_ID")
row("FORMATO_NOME") = dr(" FORMATO_NOME")
row("REL_PREVINI") = dr("REL_PREVINI")
row("REL_PREVFIM") = dr("REL_PREVFIM")
row("ESPEC_ID") = dr("ESPEC_ID")
row("ESPEC_NOME") = dr("ESPEC_NOME")
row("REL_HORASPREVISTAS") = dr("REL_HORASPREVISTAS")
row("USER_ID") = dr("USERID")
row("USER_NOME") = dr("USER_NOME")
row("REL_DATAENVIO") = String.Format("{0:dd/MM/yyyy}", dr("REL_DATAENVIO"))
row("USERLOGINID") = LblUserLoginIDDoc.Text
row("STATUS") = 1
'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
Catch ex As Exception
lblMensagem.Text = "Ocorreu um Erro Inesperado : " & vbCrLf & ex.Message & vbCrLf ' & ex.InnerException.ToString
Finally
conexao.Close()
End Try
End Sub
Sub MontaCliente()
Dim conexao As SqlConnection
Dim sql As String
Dim da As SqlDataAdapter
Dim ds As DataSet
sql = "SELECT * FROM CLIENTES ORDER BY CLIENTE_NOME"
conexao = New SqlConnection(ConfigurationManager.ConnectionStrings("timesheet").ConnectionString)
Try
conexao.Open()
da = New SqlDataAdapter(sql, conexao)
ds = New DataSet()
da.Fill(ds, "CLIENTES")
With CboCliente
.DataTextField = "CLIENTE_NOME"
.DataValueField = "CLIENTE_ID"
.DataSource = ds.Tables("CLIENTES").DefaultView
.DataBind()
End With
CboCliente.Items.Insert(0, "Selecione o Cliente")
Finally
conexao.Close()
conexao = Nothing
End Try
End Sub
Sub MontaProjeto()
Dim conexao As SqlConnection
Dim sql As String
Dim da As SqlDataAdapter
Dim ds As DataSet
sql = "SELECT * FROM GESTOR ORDER BY GESTOR_PROJETO"
conexao = New SqlConnection(ConfigurationManager.ConnectionStrings("timesheet").ConnectionString)
Try
conexao.Open()
da = New SqlDataAdapter(sql, conexao)
ds = New DataSet()
da.Fill(ds, "GESTOR")
With CboProjeto
.DataTextField = "GESTOR_PROJETO"
.DataValueField = "GESTOR_ID"
.DataSource = ds.Tables("GESTOR").DefaultView
.DataBind()
End With
CboProjeto.Items.Insert(0, "Selecione o Projeto")
Finally
conexao.Close()
conexao = Nothing
End Try
End Sub
Sub MontaGerente()
Dim conexao As SqlConnection
Dim sql As String
Dim da As SqlDataAdapter
Dim ds As DataSet
sql = "SELECT * FROM USERS ORDER BY USER_NOME"
conexao = New SqlConnection(ConfigurationManager.ConnectionStrings("timesheet").ConnectionString)
Try
conexao.Open()
da = New SqlDataAdapter(sql, conexao)
ds = New DataSet()
da.Fill(ds, "USERS")
With CboGerente
.DataTextField = "USER_NOME"
.DataValueField = "USER_ID"
.DataSource = ds.Tables("USERS").DefaultView
.DataBind()
End With
CboGerente.Items.Insert(0, "Selecione o Gerente")
Finally
conexao.Close()
conexao = Nothing
End Try
End Sub
Sub MontaGerenteCliente()
Dim conexao As SqlConnection
Dim sql As String
Dim da As SqlDataAdapter
Dim ds As DataSet
sql = "SELECT * FROM REL_GERENTES ORDER BY CLIENTE_GERENTE"
conexao = New SqlConnection(ConfigurationManager.ConnectionStrings("timesheet").ConnectionString)
Try
conexao.Open()
da = New SqlDataAdapter(sql, conexao)
ds = New DataSet()
da.Fill(ds, "REL_GERENTES")
With CboGerenteCliente
.DataTextField = "CLIENTE_GERENTE"
.DataValueField = "GERENTE_ID"
.DataSource = ds.Tables("REL_GERENTES").DefaultView
.DataBind()
End With
CboGerenteCliente.Items.Insert(0, "Selecione o Gerente do Cliente")
Finally
conexao.Close()
conexao = Nothing
End Try
End Sub
Sub MontaLiderDisciplina()
Dim conexao As SqlConnection
Dim sql As String
Dim da As SqlDataAdapter
Dim ds As DataSet
sql = "SELECT * FROM USERS ORDER BY USER_NOME"
conexao = New SqlConnection(ConfigurationManager.ConnectionStrings("timesheet").ConnectionString)
Try
conexao.Open()
da = New SqlDataAdapter(sql, conexao)
ds = New DataSet()
da.Fill(ds, "USERS")
With CboLiderDisc
.DataTextField = "USER_NOME"
.DataValueField = "USER_ID"
.DataSource = ds.Tables("USERS").DefaultView
.DataBind()
End With
CboLiderDisc.Items.Insert(0, "Selecione o Lider de Disciplina")
Finally
conexao.Close()
conexao = Nothing
End Try
End Sub
Sub MontaColaborador()
Dim conexao As SqlConnection
Dim sql As String
Dim da As SqlDataAdapter
Dim ds As DataSet
sql = "SELECT USER_NOME,USER_ID FROM USERS ORDER BY USER_NOME"
conexao = New SqlConnection(ConfigurationManager.ConnectionStrings("timesheet").ConnectionString)
Try
conexao.Open()
da = New SqlDataAdapter(sql, conexao)
ds = New DataSet()
da.Fill(ds, "USERS")
With CboColaborador
.DataTextField = "USER_NOME"
.DataValueField = "USER_ID"
.DataSource = ds.Tables("USERS").DefaultView
.DataBind()
End With
CboColaborador.Items.Insert(0, "Selecione o Colaborador")
Finally
conexao.Close()
conexao = Nothing
End Try
End Sub
Sub MontaEspecialidade()
Dim conexao As SqlConnection
Dim sql As String
Dim da As SqlDataAdapter
Dim ds As DataSet
sql = "SELECT * FROM ESPECIALIDADES ORDER BY ESPEC_NOME"
conexao = New SqlConnection(ConfigurationManager.ConnectionStrings("timesheet").ConnectionString)
Try
conexao.Open()
da = New SqlDataAdapter(sql, conexao)
ds = New DataSet()
da.Fill(ds, "ESPECIALIDADES")
With CboEspecialidade
.DataTextField = "ESPEC_NOME"
.DataValueField = "ESPEC_ID"
.DataSource = ds.Tables("ESPECIALIDADES").DefaultView
.DataBind()
End With
CboEspecialidade.Items.Insert(0, "Selecione a Especialidade")
Finally
conexao.Close()
conexao = Nothing
End Try
End Sub
Sub MontaFormato()
Dim conexao As SqlConnection
Dim sql As String
Dim da As SqlDataAdapter
Dim ds As DataSet
sql = "SELECT * FROM FORMATOS ORDER BY FORMATO_NOME"
conexao = New SqlConnection(ConfigurationManager.ConnectionStrings("timesheet").ConnectionString)
Try
conexao.Open()
da = New SqlDataAdapter(sql, conexao)
ds = New DataSet()
da.Fill(ds, "FORMATOS")
With CboFormato
.DataTextField = "FORMATO_NOME"
.DataValueField = "FORMATO_ID"
.DataSource = ds.Tables("FORMATOS").DefaultView
.DataBind()
End With
CboFormato.Items.Insert(0, "Selecione o Formato")
Finally
conexao.Close()
conexao = Nothing
End Try
End Sub
Protected Sub Button2_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button2.Click
Dim str_Mensagem As String
Dim oEmail As New MailMessage
Dim oSmtp As New SmtpClient
Dim basicAuthInfo As New System.Net.NetworkCredential("svs991234", "ventana")
lblMensagem.Text = ""
Try
str_Mensagem = "Mensagem Enviada Por : " & User.Identity.Name & "<br/>"
'str_Mensagem += "Cargo : " & Session("Cargo_Empresa").ToString & "<br/>"
str_Mensagem += "Projeto : " & CboProjeto.SelectedItem.Text & "<br/>"
str_Mensagem += "Cliente : " & CboCliente.SelectedItem.Text & "<br/>"
str_Mensagem += "Lider de Disciplina : " & CboLiderDisc.SelectedItem.Text & "<br/>"
str_Mensagem += "Colaborador : " & CboColaborador.SelectedItem.Text & "<br/>"
str_Mensagem += "Documento : " & TxtOS.Text.Trim & "<br/>"
str_Mensagem += "Formato : " & CboFormato.SelectedItem.Text() & "<br/>"
str_Mensagem += "Horas Previstas : " & TxtHorasPrevistas.Text.Trim & "<br/>"
str_Mensagem += "Previsão de Inicio : " & TxtInicioPrevisto.Text.Trim & "<br/>"
str_Mensagem += "Previsão de Termino : " & TxtTerminoPrevisto.Text.Trim & "<br/>"
'cria objeto para receber os dados do email
oSmtp.Host = "smtp.mail.yahoo.com.br"
oSmtp.Credentials = basicAuthInfo
'remetente do email
oEmail.From = New MailAddress("svs991234@yahoo.com.br")
'destinatario do email
oEmail.To.Add("sid.sil@gmail.com")
'destinatario de copia do email
oEmail.To.Add("svs99@ig.com.br")
'destinatario de copia oculta
oEmail.Bcc.Add("svs99@correio24.com")
'prioridade de envio
oEmail.Priority = MailPriority.Normal
'define o formato do email
'If chkFormato.Checked Then
'IncluI um anexo a partir do arquivo de sistema
'oEmail.Attachments.Add(New Attachment("c:\temp\exemplo.txt"))
''oEmail.Attachments.Add(New Attachment(FileUpload1.FileName))
'teste = FileUpload1.FileName
oEmail.IsBodyHtml = True
'Else
'oEmail.IsBodyHtml = False
'End If
'define o assunto do email
oEmail.Subject = "Envio de Dados do Projeto"
'define a mensagem principal do email
oEmail.Body = str_Mensagem
'Para evitar problemas com caracteres especiais configuramos o Charset
oEmail.SubjectEncoding = Text.Encoding.GetEncoding("ISO-8859-1")
oEmail.BodyEncoding = Text.Encoding.GetEncoding("ISO-8859-1")
'cria o objeto SMTP
'envia o email
oSmtp.Send(oEmail)
lblMensagem.Text = "Email Enviado Com Sucesso. "
Button1.Enabled = True
Catch ex As Exception
lblMensagem.Text = "Ocorreu Um Erro Ao Enviar o Email : " & ex.Message
Finally
'limpa o objeto da memória
oEmail.Dispose()
End Try
End Sub
Protected Sub Button3_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button3.Click
ObterDocumentos()
IncluirDocumentos()
''mostra no gridview
GrdDocumentos.DataSource = ObterDocumentos()
GrdDocumentos.DataBind()
Button1.Enabled = True
End Sub
Public Function ObterDocumentos() As DataSet
'verifica se a cesta de compras esta na sessão
If Session("Documentos") Is Nothing Then
'se nao estiver vamos criar um dataset e um datatable para armazenar os dados da compra
'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("Documentos")
'inclua as colunas no datatable
dt.Columns.Add(ItemID)
'outra forma de definir e incluir colunas no datatable
dt.Columns.Add("REL_DOCUMENTO", System.Type.GetType("System.String"), "")
dt.Columns.Add("FORMATO_ID", System.Type.GetType("System.Double"), "")
dt.Columns.Add("FORMATO_NOME", System.Type.GetType("System.String"), "")
dt.Columns.Add("REL_PREVINI", System.Type.GetType("System.DateTime"), "")
dt.Columns.Add("REL_PREVFIM", System.Type.GetType("System.DateTime"), "")
dt.Columns.Add("ESPEC_ID", System.Type.GetType("System.Double"), "")
dt.Columns.Add("ESPEC_NOME", System.Type.GetType("System.String"), "")
dt.Columns.Add("REL_HORASPREVISTAS", System.Type.GetType("System.Double"), "")
dt.Columns.Add("USER_ID", System.Type.GetType("System.Double"), "")
dt.Columns.Add("USER_NOME", System.Type.GetType("System.String"), "")
dt.Columns.Add("REL_DATAENVIO", System.Type.GetType("System.DateTime"), "")
dt.Columns.Add("UserLoginID", System.Type.GetType("System.String"), "")
'define a chave primária
keys(0) = ItemID
dt.PrimaryKey = keys
'inclui na tabela
ds.Tables.Add(dt)
'coloca o dataset na sessão
Session("Documentos") = ds
'retorna o dataset criado
Return ds
Else
'retorna o dataset que esta na sessão
Return Session("Documentos")
End If
End Function
Private Sub IncluirDocumentos()
Dim Sql As String
Dim cmd As SqlCommand
Dim dr As SqlDataReader = Nothing
Dim conexao As SqlConnection
Dim str_Especialidade As String
Dim str_Colaborador As String
'Dim IdGestor As Integer
'Dim IdFormato As Integer
'define o objeto conexao e obtem a string de conexao do arquivo web.config
conexao = New SqlConnection(ConfigurationManager.ConnectionStrings("timesheet").ConnectionString)
'define a instrução sql para selecionar os dados das tabelas envolvidas
Sql = "Select r.USER_ID,r.FORMATO_ID,r.REL_PREVINI,r.REL_PREVFIM, "
Sql += " r.REL_DOCUMENTO, p.PROJE_ID,e.ESPEC_NOME,u.USER_NOME "
Sql += " FROM REL_PROJETOS r,PROJETOS p, ESPECIALIDADES e,USERS u "
Sql += " WHERE r.PROJE_ID = p.PROJE_ID "
Sql += " AND e.ESPEC_ID =" & Convert.ToDouble(CboEspecialidade.SelectedItem.Value)
Sql += " AND u.USER_ID =" & Convert.ToDouble(CboColaborador.SelectedItem.Value)
Try
'abre a conexao
conexao.Open()
'executa o comando e cria um datareader
cmd = New SqlCommand(Sql, conexao)
dr = cmd.ExecuteReader()
'le o datareader
If dr.Read() = True Then
str_Especialidade = dr("ESPEC_NOME")
str_Colaborador = dr("USER_NOME")
'LblUserLoginIDDoc.Text = dr("UserLoginID").ToString
End If
dr.Close()
'obtem a tabela do dataset e atribui ao datable local
Dim dt As DataTable = ObterDocumentos().Tables(0)
'localiza o codigo do produto na tabela
Dim row As DataRow = dt.Rows.Find(Convert.ToDouble(CboFormato.SelectedItem.Value))
' Dim row As DataRow = dt.Rows.Find(0)
If row Is Nothing Then
'se nao achou cria uma nova linha
row = dt.NewRow()
row("itemID") = Convert.ToDouble(CboFormato.SelectedItem.Value)
row("REL_DOCUMENTO") = TxtDocumento.Text.Trim
row("FORMATO_ID") = Convert.ToDouble(CboFormato.SelectedItem.Value)
row("FORMATO_NOME") = CboFormato.SelectedItem.Text.Trim
row("REL_PREVINI") = CDate(TxtInicioPrevisto.Text)
row("REL_PREVFIM") = CDate(TxtTerminoPrevisto.Text)
row("ESPEC_ID") = CboEspecialidade.SelectedItem.Value
row("ESPEC_NOME") = CboEspecialidade.SelectedItem.Text.Trim
row("REL_HORASPREVISTAS") = Convert.ToDouble(TxtHorasPrevistas.Text.Trim)
row("USER_ID") = CboColaborador.SelectedItem.Value
row("USER_NOME") = CboColaborador.SelectedItem.Text.Trim
row("REL_DATAENVIO") = String.Format("{0:dd/MM/yyyy}", Date.Now)
row("USERLOGINID") = LblUserLoginIDDoc.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
Catch ex As Exception
lblMensagem.Text = "Ocorreu um Erro Inesperado : " & vbCrLf & ex.Message & vbCrLf ' & ex.InnerException.ToString
Finally
conexao.Close()
End Try
End Sub
Private Sub RemoverDocumento(ByVal prodID As Integer)
'obtem o dataset
Dim ds As DataSet = ObterDocumentos()
'localiza o produto
Dim row As DataRow = ds.Tables(0).Rows.Find(prodID)
'se a linha nao for nula
If row IsNot Nothing Then
'remove a linha
ds.Tables(0).Rows.Remove(row)
'atualiza o dataset
ds.AcceptChanges()
'mostra no gridview
GrdDocumentos.DataSource = ObterDocumentos()
GrdDocumentos.DataBind()
End If
End Sub
Protected Sub GrdDocumentos_RowDeleting(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewDeleteEventArgs) Handles GrdDocumentos.RowDeleting
'chama rotina para remover item do documento
Dim NUMERO As Double
NUMERO = Convert.ToInt32(GrdDocumentos.DataKeys(e.RowIndex).Value)
RemoverDocumento(Convert.ToInt32(GrdDocumentos.DataKeys(e.RowIndex).Value))
End Sub
'Protected Sub GridView1_RowDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewRowEventArgs) Handles GridView1.RowDataBound
' 'verifica se a linha é do tipo rodape
' If e.Row.RowType = DataControlRowType.Footer Then
' 'na quarta celula inclui o texto Total
' e.Row.Cells(3).Text = "Total: "
' 'na quinta celula obtem o total e formata
' 'e.Row.Cells(4).Text = String.Format("{0:c}", ObterDocumentos().Tables(0).Rows(0)("Total"))
' End If
'End Sub
Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim conexao As SqlConnection
Dim row As DataRow
Dim linha As Double = 0
'Dim linta As DataRow
conexao = New SqlConnection(ConfigurationManager.ConnectionStrings("timesheet").ConnectionString)
lblMensagem.Text = ""
Try
conexao.Open()
For Each row In ObterDocumentos.Tables(0).Rows
Dim cmdItem As SqlCommand
cmdItem = New SqlCommand("SP_IncluiRelProjetos", conexao)
cmdItem.CommandType = CommandType.StoredProcedure
cmdItem.Parameters.Add("@PROJE_ID", SqlDbType.Int, 0, "PROJE_ID").Value = Session("IdKey")
cmdItem.Parameters.Add("@FORMATO_ID", SqlDbType.Int, 0, "FORMATO_ID").Value = row("FORMATO_ID")
cmdItem.Parameters.Add("@REL_HORASPREVISTAS", SqlDbType.Int, 0, "REL_HORASPREVISTAS").Value = row("REL_HORASPREVISTAS")
cmdItem.Parameters.Add("@REL_DOCUMENTO", SqlDbType.NVarChar, 50, "REL_DOCUMENTO").Value = row("REL_DOCUMENTO")
cmdItem.Parameters.Add("@ESPEC_ID", SqlDbType.Int, 0, "ESPEC_ID").Value = row("ESPEC_ID")
cmdItem.Parameters.Add("@REL_PREVINI", SqlDbType.DateTime, 0, "REL_PREVINI").Value = row("REL_PREVINI")
cmdItem.Parameters.Add("@REL_PREVFIM", SqlDbType.DateTime, 0, "REL_PREVFIM").Value = row("REL_PREVFIM")
cmdItem.Parameters.Add("@USER_ID", SqlDbType.Int, 0, "USER_ID").Value = row("USER_ID")
cmdItem.Parameters.Add("@REL_DATAENVIO", SqlDbType.DateTime, 0, "REL_DATAENVIO").Value = row("REL_DATAENVIO")
cmdItem.Parameters.Add("@UserLoginID", SqlDbType.NVarChar, 50, "UserLoginID").Value = row("UserLoginID")
cmdItem.ExecuteNonQuery()
Session("Documentos") = Nothing
Next
Catch ex As Exception
lblMensagem.Text = "Erro ao acessar os dados : " & vbCrLf & ex.Message & vbCrLf
Finally
conexao.Close()
End Try
Button2.Enabled = True
'Call Me.Limpar(Me)
End Sub
'Dim _message As String = "window.alert('Item já adicionado.')"
Protected Sub CboProjeto_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles CboProjeto.SelectedIndexChanged
Dim Sql As String
Dim cmd As SqlCommand
Dim dr As SqlDataReader = Nothing
Dim conexao As SqlConnection
conexao = New SqlConnection(ConfigurationManager.ConnectionStrings("timesheet").ConnectionString)
Sql = "Select GESTOR_CONTA from GESTOR where GESTOR_ID = " + CboProjeto.SelectedValue
cmd = New SqlCommand(Sql, conexao)
conexao.Open()
dr = cmd.ExecuteReader()
If dr.Read() = True Then
TxtContaGestor.Text = dr("GESTOR_CONTA")
End If
dr.Close()
conexao.Close()
End Sub
Protected Sub Button4_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button4.Click
Dim Sql As String
Dim cmd As SqlCommand
Dim conexao As SqlConnection
Dim UserLoginID As MembershipUser = Membership.GetUser(User.Identity.Name)
Dim UserGUID As Object = UserLoginID.ProviderUserKey
Sql = UserGUID.ToString
conexao = New SqlConnection(ConfigurationManager.ConnectionStrings("timesheet").ConnectionString)
lblMensagem.Text = ""
Try
If IDProjeto = 0 Then
Sql = "INSERT INTO PROJETOS "
Sql += " (PROJE_DATA,CLIENTE_ID,GESTOR_ID,GERENTE_ID,GERENTECLIENTE_ID,CLIENTE_OS,LIDERDISC_ID,UserLoginID) "
Sql += " VALUES (@PROJE_DATA,@CLIENTE_ID,@GESTOR_ID,@GERENTE_ID,@GERENTECLIENTE_ID,@CLIENTE_OS,@LIDERDISC_ID,@UserLoginID) "
Else
Sql = "UPDATE PROJETOS "
Sql += " SET PROJE_DATA=@PROJE_DATA, "
Sql += " CLIENTE_ID=@CLIENTE_ID, "
Sql += " GERENTE_ID=@GERENTE_ID, "
Sql += " GERENTECLIENTE_ID=@GERENTECLIENTE_ID, "
Sql += " CLIENTE_OS=@CLIENTE_OS, "
Sql += " LIDERDISC_ID=@LIDERDISC_ID, "
Sql += " UserLoginID=@UserLoginID "
Sql += " WHERE PROJE_ID=" & IDProjeto
End If
conexao.Open()
cmd = New SqlCommand(Sql, conexao)
With cmd.Parameters
'If IDProjeto = 0 Then
.Add(New SqlParameter("@PROJE_DATA", CDate(TxtData.Text)))
'End If
.Add(New SqlParameter("@CLIENTE_ID", CboCliente.SelectedValue))
.Add(New SqlParameter("@GESTOR_ID", CboProjeto.SelectedValue))
.Add(New SqlParameter("@GERENTE_ID", CboGerente.SelectedValue))
.Add(New SqlParameter("@GERENTECLIENTE_ID", CboGerenteCliente.SelectedValue))
.Add(New SqlParameter("@CLIENTE_OS", TxtOS.Text.Trim))
.Add(New SqlParameter("@LIDERDISC_ID", CboLiderDisc.SelectedValue))
.Add(New SqlParameter("@UserLoginID", UserGUID.ToString))
End With
cmd.ExecuteNonQuery()
'Erro = cmd.ExecuteNonQuery()
If IDProjeto = 0 Then
Try
'Determine a query que seleciona o identificador do registro inserido
cmd = New SqlCommand("SELECT @@IDENTITY", conexao)
cmd.CommandType = CommandType.Text
'obtem o codigo do pedido que foi incluido na tabela Pedidos
Session("IdKey") = cmd.ExecuteScalar()
Catch ex As Exception
lblMensagem.Text = "Ocorreu um Erro Durante a Gravação : " & vbCrLf & ex.Message & vbCrLf ' & ex.InnerException.ToString
Finally
' XXX
End Try
Else
Session("IdKey") = IDProjeto
End If
Catch ex As Exception
lblMensagem.Text = "Ocorreu um Erro Durante a Gravação : " & vbCrLf & ex.Message & vbCrLf ' & ex.InnerException.ToString
Finally
conexao.Close()
TxtDocumento.Enabled = True
CboFormato.Enabled = True
TxtInicioPrevisto.Enabled = True
TxtTerminoPrevisto.Enabled = True
TxtHorasPrevistas.Enabled = True
CboColaborador.Enabled = True
CboEspecialidade.Enabled = True
Button3.Enabled = True
'Button2.Enabled = True
End Try
End Sub
Public Sub Limpar(ByVal controlP As Control)
Dim ctl As Control
For Each ctl In controlP.Controls
If TypeOf ctl Is TextBox Then
DirectCast(ctl, TextBox).Text = String.Empty
ElseIf ctl.Controls.Count > 0 Then
Limpar(ctl)
End If
Next
End Sub
Protected Sub CboColaborador_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles CboColaborador.SelectedIndexChanged
Dim Sql As String
Dim cmd As SqlCommand
Dim conexao As SqlConnection
Dim dr As SqlDataReader = Nothing
Sql = "SELECT UserLoginID FROM USERS "
Sql += "WHERE USER_ID= " + CboColaborador.SelectedItem.Value
conexao = New SqlConnection(ConfigurationManager.ConnectionStrings("timesheet").ConnectionString)
Try
conexao.Open()
cmd = New SqlCommand(Sql, conexao)
dr = cmd.ExecuteReader()
If dr.Read() = True Then
LblUserLoginIDDoc.Text = dr("UserLoginID").ToString
End If
Finally
conexao.Close()
conexao = Nothing
End Try
End Sub
End Class