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;
}
}
}
}