using System; using System.Collections.Generic; using System.Web; using MySQL; using System.Data; using System.Web.Configuration; using System.Web.UI.WebControls; namespace SiteECom { /// /// Gestão da Loja /// public class Loja { /// /// Gestão de encomendas feitas /// public class Encomendas { /// /// Mostra todas encomendas feitas no site /// /// Ordem pela qual o conteúdo é mostrado /// DataTable public static DataTable Listagem(string Ordem) { DataTable dtListagem = new DataTable(); sql sqlInfo = new sql(WebConfigurationManager.ConnectionStrings["Site"].ConnectionString); sqlInfo.Query = "SELECT e.id, " + " e.createuser, e.createdep, e.createdata, " + " e.edituser, e.editdep, e.editdata, " + " e.activo, " + " e.uid, " + " e.clienteid, " + " e.numero, " + " DATE_FORMAT(e.data, '%Y.%m.%d') AS data, " + " DATE_FORMAT(e.data, '%Y') AS ano, " + " e.estado, " + " e.pagamento, e.pagamento_descricao, " + " e.portes, " + " DATE_FORMAT(e.entrega_hora_ini, '%H:%i') AS entrega_hora_ini, " + " DATE_FORMAT(e.entrega_hora_fim, '%H:%i') AS entrega_hora_fim, " + " e.entrega_morada_1, e.entrega_morada_2, e.entrega_codigopostal, e.entrega_localidade, e.entrega_concelho, " + " e.entrega_telefone, e.entrega_email, " + " e.facturacao_contribuinte, " + " e.facturacao_morada_1, e.facturacao_morada_2, e.facturacao_codigopostal, e.facturacao_localidade, e.facturacao_concelho, " + " e.facturacao_telefone, e.facturacao_email, " + " c.id AS clienteid, c.nome AS cliente, c.* " + "FROM encomenda e, empresa c " + "WHERE e.clienteid=c.id " + "ORDER BY " + Ordem; dtListagem = sqlInfo.Read(); sqlInfo.closeConnection(); return dtListagem; } /// /// Mostra todas encomendas feitas no site /// /// Ordem pela qual o conteúdo é mostrado /// Número da página a mostrar /// DataTable public static DataTable Listagem(string Ordem, int Pagina) { int offset = Convert.ToInt16(WebConfigurationManager.AppSettings["offset"].ToString()); DataTable dtListagem = new DataTable(); sql sqlInfo = new sql(WebConfigurationManager.ConnectionStrings["Site"].ConnectionString); sqlInfo.Query = "SELECT e.id, " + " e.createuser, e.createdep, e.createdata, " + " e.edituser, e.editdep, e.editdata, " + " e.activo, " + " e.uid, " + " e.clienteid, " + " e.numero, " + " DATE_FORMAT(e.data, '%Y.%m.%d') AS data, " + " DATE_FORMAT(e.data, '%Y') AS ano, " + " e.estado, " + " e.pagamento, e.pagamento_descricao, " + " e.portes, " + " DATE_FORMAT(e.entrega_hora_ini, '%H:%i') AS entrega_hora_ini, " + " DATE_FORMAT(e.entrega_hora_fim, '%H:%i') AS entrega_hora_fim, " + " e.entrega_morada_1, e.entrega_morada_2, e.entrega_codigopostal, e.entrega_localidade, e.entrega_concelho, " + " e.entrega_telefone, e.entrega_email, " + " e.facturacao_contribuinte, " + " e.facturacao_morada_1, e.facturacao_morada_2, e.facturacao_codigopostal, e.facturacao_localidade, e.facturacao_concelho, " + " e.facturacao_telefone, e.facturacao_email, " + " c.id AS clienteid, c.nome AS cliente, c.* " + "FROM encomenda e, empresa c " + "WHERE e.clienteid=c.id " + "ORDER BY " + Ordem + " " + "LIMIT " + (Pagina * offset) + ", " + offset; dtListagem = sqlInfo.Read(); sqlInfo.closeConnection(); return dtListagem; } /// /// Pesquisa de familias /// /// DataTable public static DataTable Pesquisa(string Ordem, string Pesquisa) { DataTable dtInfo = new DataTable(); sql sqlInfo = new sql(WebConfigurationManager.ConnectionStrings["Site"].ConnectionString); sqlInfo.Query = "SELECT e.id, " + " e.createuser, e.createdep, e.createdata, " + " e.edituser, e.editdep, e.editdata, " + " e.activo, " + " e.uid, " + " e.clienteid, " + " e.numero, " + " DATE_FORMAT(e.data, '%Y.%m.%d') AS data, " + " DATE_FORMAT(e.data, '%Y') AS ano, " + " e.estado, " + " e.pagamento, e.pagamento_descricao, " + " e.portes, " + " DATE_FORMAT(e.entrega_hora_ini, '%H:%i') AS entrega_hora_ini, " + " DATE_FORMAT(e.entrega_hora_fim, '%H:%i') AS entrega_hora_fim, " + " e.entrega_morada_1, e.entrega_morada_2, e.entrega_codigopostal, e.entrega_localidade, e.entrega_concelho, " + " e.entrega_telefone, e.entrega_email, " + " e.facturacao_contribuinte, " + " e.facturacao_morada_1, e.facturacao_morada_2, e.facturacao_codigopostal, e.facturacao_localidade, e.facturacao_concelho, " + " e.facturacao_telefone, e.facturacao_email, " + " c.id AS clienteid, c.nome AS cliente, c.* " + "FROM encomenda e, empresa c " + "WHERE e.clienteid=c.id " + "ORDER BY " + Ordem; dtInfo = sqlInfo.Read(); sqlInfo.closeConnection(); /* #1 - CONVERTE A PESQUISA NUM ARRAY EM QUE CADA POSIÇÃO CONTEM UM PARALVRA */ string[] _pesquisa = Pesquisa.Split(new char[] { ' ' }); /* #2 - PESQUISA TODAS AS OCURRÊNCIAS DE _pesquisa EM dtInfo. REMOVE DE dtInfo TODAS AS LINHAS QUE NÃO TENHAM PELO MENOS UMA OCURRÊNCIA */ Intranet.Geral.Pesquisa(ref dtInfo, _pesquisa); return dtInfo; } /// /// Mostra o detalhe de uma encomenda /// /// Id do conteúdo a mostrar /// DataTable public static DataTable Detalhes(int Id) { DataTable dtInfo = new DataTable(); sql sqlInfo = new sql(WebConfigurationManager.ConnectionStrings["Site"].ConnectionString); sqlInfo.Query = "SELECT e.id, " + " e.createuser, e.createdep, e.createdata, " + " e.edituser, e.editdep, e.editdata, " + " e.activo, " + " e.uid, " + " e.clienteid, " + " e.numero, " + " DATE_FORMAT(e.data, '%Y.%m.%d') AS data, " + " DATE_FORMAT(e.data, '%Y') AS ano, " + " e.estado, " + " e.pagamento, e.pagamento_descricao, " + " e.portes, " + " DATE_FORMAT(e.entrega_hora_ini, '%H:%i') AS entrega_hora_ini, " + " DATE_FORMAT(e.entrega_hora_fim, '%H:%i') AS entrega_hora_fim, " + " e.entrega_morada_1, e.entrega_morada_2, e.entrega_codigopostal, e.entrega_localidade, e.entrega_concelho, " + " e.entrega_telefone, e.entrega_email, " + " e.facturacao_contribuinte, " + " e.facturacao_morada_1, e.facturacao_morada_2, e.facturacao_codigopostal, e.facturacao_localidade, e.facturacao_concelho, " + " e.facturacao_telefone, e.facturacao_email, " + " c.id AS clienteid, c.nome AS cliente, c.* " + "FROM encomenda e, empresa c " + "WHERE e.clienteid=c.id " + " AND e.id=" + Id; dtInfo = sqlInfo.Read(); sqlInfo.closeConnection(); return dtInfo; } /// /// Nova familia /// /// Activo/Inactivo (1/0) /// Id de quem cria o conteúdo /// Empresa de quem cria o conteúdo /// True ou False public static Boolean Gravar(string Tipo, string Familia, string Inicio, string Fim, string Descricao, string Imagem, int Activo, int CreateUser, int CreateDep) { bool gravado = false; sql sqlInfo = new sql(WebConfigurationManager.ConnectionStrings["Site"].ConnectionString); sqlInfo.Query = "INSERT INTO encomenda (nome, descricao, imagem, data_ini, data_fim, activo, createuser, createdep, createdata) " + "VALUES('" + Familia + "/" + Tipo + "'," + " '" + Descricao + "'," + " '" + Imagem + "'," + " '" + Inicio + "'," + " '" + Fim + "'," + " " + Activo + " ," + " " + CreateUser + " ," + " " + CreateDep + " ," + " now())"; gravado = sqlInfo.Write(); sqlInfo.closeConnection(); return gravado; } /// /// Editar familia /// /// Activo/Inactivo (1/0) /// Id de quem cria o conteúdo /// Empresa de quem cria o conteúdo /// True ou False public static Boolean Editar(int Id, string Tipo, string Familia, string Inicio, string Fim, string Descricao, string Imagem, int Activo, int EditUser, int EditDep) { bool editado = false; sql sqlInfo = new sql(WebConfigurationManager.ConnectionStrings["Site"].ConnectionString); sqlInfo.Query = "UPDATE encomenda " + "SET nome ='" + Familia + "/" + Tipo + "'," + " descricao ='" + Descricao + "'," + " imagem ='" + Imagem + "'," + " data_ini ='" + Inicio + "'," + " data_fim ='" + Fim + "'," + " activo = " + Activo + "," + " edituser = " + EditUser + "," + " editdep = " + EditDep + "," + " editdata = now() " + "WHERE id=" + Id; editado = sqlInfo.Write(); sqlInfo.closeConnection(); return editado; } /// /// Artigos /// public class Artigos { /// /// Listagem de todos os Artigos de uma determianda encomenda /// /// ID da Encomenda /// DataTable public static DataTable Listagem(int Encomenda) { DataTable dtListagem = new DataTable(); sql sqlInfo = new sql(WebConfigurationManager.ConnectionStrings["Site"].ConnectionString); sqlInfo.Query = "SELECT ea.id, " + " ea.createuser, ea.createdep, ea.createdata, " + " ea.edituser, ea.editdep, ea.editdata, " + " ea.activo, " + " ea.encomendaid, " + " ea.artigoid, ea.artigo, ea.referencia, " + " ea.quantidade, ea.preco, ea.iva, ea.promocao, ea.peso, ea.dimensao " + "FROM encomenda e, encomenda_artigo ea " + "WHERE ea.encomendaid=e.id " + " AND e.id=" + Encomenda + " " + "ORDER BY ea.artigo"; dtListagem = sqlInfo.Read(); sqlInfo.closeConnection(); return dtListagem; } } } /// /// Tipos de pagamentos disponíveis para o site /// public class Pagamentos { /// /// Mostra toda a informação de um determinado tipo de pagamento /// /// Ordem pela qual o conteúdo é mostrado /// DataTable public static DataTable Listagem(string Ordem) { DataTable dtListagem = new DataTable(); sql sqlInfo = new sql(WebConfigurationManager.ConnectionStrings["Site"].ConnectionString); sqlInfo.Query = "SELECT id, " + " createuser, createdep, createdata, " + " edituser, editdep, editdata, " + " activo, " + " nome, descricao " + "FROM pagamento " + "ORDER BY " + Ordem; dtListagem = sqlInfo.Read(); sqlInfo.closeConnection(); return dtListagem; } /// /// Mostra toda a informação de um determinado tipo de pagamento /// /// Ordem pela qual o conteúdo é mostrado /// Número da página a mostrar /// DataTable public static DataTable Listagem(string Ordem, int Pagina) { int offset = Convert.ToInt16(WebConfigurationManager.AppSettings["offset"].ToString()); DataTable dtListagem = new DataTable(); sql sqlInfo = new sql(WebConfigurationManager.ConnectionStrings["Site"].ConnectionString); sqlInfo.Query = "SELECT id, " + " createuser, createdep, createdata, " + " edituser, editdep, editdata, " + " activo, " + " nome, descricao " + "FROM pagamento " + "ORDER BY " + Ordem + " " + "LIMIT " + (Pagina * offset) + ", " + offset; dtListagem = sqlInfo.Read(); sqlInfo.closeConnection(); return dtListagem; } /// /// Pesquisa de tipos de pagamento /// /// DataTable public static DataTable Pesquisa(string Ordem, string Pesquisa) { DataTable dtInfo = new DataTable(); sql sqlInfo = new sql(WebConfigurationManager.ConnectionStrings["Site"].ConnectionString); sqlInfo.Query = "SELECT id, " + " createuser, createdep, createdata, " + " edituser, editdep, editdata, " + " activo, " + " nome, descricao " + "FROM pagamento " + "ORDER BY " + Ordem; dtInfo = sqlInfo.Read(); sqlInfo.closeConnection(); /* #1 - CONVERTE A PESQUISA NUM ARRAY EM QUE CADA POSIÇÃO CONTEM UM PARALVRA */ string[] _pesquisa = Pesquisa.Split(new char[] { ' ' }); /* #2 - PESQUISA TODAS AS OCURRÊNCIAS DE _pesquisa EM dtInfo. REMOVE DE dtInfo TODAS AS LINHAS QUE NÃO TENHAM PELO MENOS UMA OCURRÊNCIA */ Intranet.Geral.Pesquisa(ref dtInfo, _pesquisa); return dtInfo; } /// /// Mostra o detalhe de um tipo de pagamento /// /// Id do conteúdo a mostrar /// DataTable public static DataTable Detalhes(int Id) { DataTable dtInfo = new DataTable(); sql sqlInfo = new sql(WebConfigurationManager.ConnectionStrings["Site"].ConnectionString); sqlInfo.Query = "SELECT id, " + " createuser, createdep, createdata, " + " edituser, editdep, editdata, " + " activo, " + " nome, descricao " + "FROM pagamento " + "WHERE id=" + Id; dtInfo = sqlInfo.Read(); sqlInfo.closeConnection(); return dtInfo; } /// /// Novo tipo de pagamento /// /// Activo/Inactivo (1/0) /// Id de quem cria o conteúdo /// Empresa de quem cria o conteúdo /// True ou False public static Boolean Gravar(string Pagamento, string Descricao, int Activo, int CreateUser, int CreateDep) { bool gravado = false; sql sqlInfo = new sql(WebConfigurationManager.ConnectionStrings["Site"].ConnectionString); sqlInfo.Query = "INSERT INTO pagamento(nome, descricao, " + " activo, createuser, createdep, createdata) " + "VALUES('" + Pagamento + "'," + " '" + Descricao + "'," + " " + Activo + " ," + " " + CreateUser + " ," + " " + CreateDep + " ," + " now())"; gravado = sqlInfo.Write(); sqlInfo.closeConnection(); return gravado; } /// /// Editar tipo de pagamento /// /// Activo/Inactivo (1/0) /// Id de quem cria o conteúdo /// Empresa de quem cria o conteúdo /// True ou False public static Boolean Editar(int Id, string Pagamento, string Descricao, int Activo, int EditUser, int EditDep) { bool editado = false; sql sqlInfo = new sql(WebConfigurationManager.ConnectionStrings["Site"].ConnectionString); sqlInfo.Query = "UPDATE pagamento " + "SET nome ='" + Pagamento + "'," + " descricao ='" + Descricao + "'," + " activo = " + Activo + "," + " edituser = " + EditUser + "," + " editdep = " + EditDep + "," + " editdata = now() " + "WHERE id=" + Id; editado = sqlInfo.Write(); sqlInfo.closeConnection(); return editado; } } } }