523 lines
17 KiB
C#
523 lines
17 KiB
C#
|
using System;
|
|||
|
using System.Collections.Generic;
|
|||
|
using System.Data;
|
|||
|
using System.Data.SqlClient;
|
|||
|
|
|||
|
namespace CSharpLibrary.SqlTypes
|
|||
|
{
|
|||
|
public class Emprestimo : Component
|
|||
|
{
|
|||
|
public int idEmprestimo, idFunc, idItem, idCliente;
|
|||
|
public DateTime dtEmprestimo;
|
|||
|
public DateTime dtDevolucao;
|
|||
|
public string statusEmprestimo;
|
|||
|
|
|||
|
|
|||
|
|
|||
|
public Emprestimo(int? idE, int idF, int idC, int idI, DateTime dtE, DateTime dtD, string stE)
|
|||
|
{
|
|||
|
if(idE != null)
|
|||
|
idEmprestimo = (int)idE;
|
|||
|
idFunc = idF;
|
|||
|
idItem = idI;
|
|||
|
idCliente = idC;
|
|||
|
dtEmprestimo = dtE;
|
|||
|
dtDevolucao = dtD;
|
|||
|
statusEmprestimo = stE;
|
|||
|
|
|||
|
}
|
|||
|
|
|||
|
public List<Tuple<int, string , string, DateTime , DateTime , string>> ReturnList()
|
|||
|
{
|
|||
|
List<Tuple<int, string, string, DateTime, DateTime, string>> tmp = new List<Tuple<int, string, string, DateTime, DateTime, string>>();
|
|||
|
|
|||
|
using(con)
|
|||
|
{
|
|||
|
con.Open();
|
|||
|
select = new SqlCommand("SELECT " +
|
|||
|
"e.idEmprestimo, f.nomeFunc, c.nomeCliente, i.nomeItem, e.dataEmprestimo, e.dataDevolucao, e.statusEmprestimo " +
|
|||
|
"FROM tbEmprestimo e " +
|
|||
|
"INNER JOIN tbCliente c ON e.idCliente = c.idCliente " +
|
|||
|
"INNER JOIN tbFuncionario f ON e.idFunc = f.idFunc " +
|
|||
|
"INNER JOIN tbItem i on e.idItem = i.idItem", con);
|
|||
|
con.Close();
|
|||
|
|
|||
|
using (SqlDataReader r = select.ExecuteReader())
|
|||
|
{
|
|||
|
while (r.Read())
|
|||
|
{
|
|||
|
tmp.Add(
|
|||
|
new Tuple<int, string, string, DateTime, DateTime, string>
|
|||
|
(
|
|||
|
r.GetInt32(0),
|
|||
|
r.GetString(1),
|
|||
|
r.GetString(2),
|
|||
|
r.GetDateTime(3),
|
|||
|
r.GetDateTime(4),
|
|||
|
r.GetString(5)
|
|||
|
)
|
|||
|
);
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
return tmp;
|
|||
|
}
|
|||
|
public override void Add()
|
|||
|
{
|
|||
|
using(con)
|
|||
|
{
|
|||
|
con.Open();
|
|||
|
insert = new SqlCommand("INSERT INTO tbEmprestimo(idFunc, idCliente, idItem, dataEmprestimo, dataDevolucao, statusEmprestimo) " +
|
|||
|
"VALUES (@idFunc, @idCliente, @idItem, @dtEmprestimo, @dtDevolucao, @statusEmprestimo)", con);
|
|||
|
|
|||
|
insert.Parameters.Add("@idFunc", SqlDbType.Int).Value = idFunc;
|
|||
|
insert.Parameters.Add("@idCliente", SqlDbType.Int).Value = idCliente;
|
|||
|
insert.Parameters.Add("@idItem", SqlDbType.Int).Value = idItem;
|
|||
|
insert.Parameters.Add("@dtEmprestimo", SqlDbType.DateTime).Value = dtEmprestimo;
|
|||
|
insert.Parameters.Add("@dtDevolucao", SqlDbType.DateTime).Value = dtDevolucao;
|
|||
|
insert.Parameters.Add("@statusEmprestimo", SqlDbType.NVarChar, 10).Value = statusEmprestimo;
|
|||
|
|
|||
|
insert.Prepare();
|
|||
|
insert.ExecuteNonQuery();
|
|||
|
con.Close();
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
public override void Edit(int id, List<string> vlr)
|
|||
|
{
|
|||
|
List<int> tmp = ReturnTypes.ReturnEmprestimoVals(vlr[0], vlr[1], vlr[2]);
|
|||
|
|
|||
|
idEmprestimo = id;
|
|||
|
idFunc = tmp[0];
|
|||
|
idCliente = tmp[1];
|
|||
|
idItem = tmp[2];
|
|||
|
|
|||
|
dtEmprestimo = DateTime.Parse(vlr[3]);
|
|||
|
dtDevolucao = DateTime.Parse(vlr[4]);
|
|||
|
|
|||
|
statusEmprestimo = vlr[5];
|
|||
|
using (con) {
|
|||
|
con.Open();
|
|||
|
update = new SqlCommand(
|
|||
|
"UPDATE tbEmprestimo " +
|
|||
|
"SET idFunc = @idFunc, " +
|
|||
|
"idCliente = @idCliente, " +
|
|||
|
"idItem = @idItem, " +
|
|||
|
"dataEmprestimo = @dtEmprestimo, " +
|
|||
|
"dataDevolucao = @dtDevolucao, " +
|
|||
|
"statusEmprestimo = @statusEmprestimo " +
|
|||
|
"WHERE idEmprestimo = @idEmprestimo", con
|
|||
|
);
|
|||
|
|
|||
|
update.Parameters.Add("@idFunc", SqlDbType.Int).Value = idFunc;
|
|||
|
update.Parameters.Add("@idCliente", SqlDbType.Int).Value = idCliente;
|
|||
|
update.Parameters.Add("@idItem", SqlDbType.Int).Value = idItem;
|
|||
|
update.Parameters.Add("@dtEmprestimo", SqlDbType.DateTime).Value = dtEmprestimo;
|
|||
|
update.Parameters.Add("@dtDevolucao", SqlDbType.DateTime).Value = dtDevolucao;
|
|||
|
update.Parameters.Add("@statusEmprestimo", SqlDbType.NVarChar, 10).Value = statusEmprestimo;
|
|||
|
update.Parameters.Add("@idEmprestimo", SqlDbType.Int).Value = idEmprestimo;
|
|||
|
|
|||
|
update.Prepare();
|
|||
|
update.ExecuteNonQuery();
|
|||
|
con.Close();
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
public override bool Remove(int id)
|
|||
|
{
|
|||
|
try {
|
|||
|
con.Open();
|
|||
|
delete = new SqlCommand(
|
|||
|
"UPDATE tbEmprestimo " +
|
|||
|
"SET statusEmprestimo = 'ENTREGUE' " +
|
|||
|
"WHERE idEmprestimo = @idEmprestimo", con
|
|||
|
);
|
|||
|
delete.Parameters.Add("@idEmprestimo", SqlDbType.Int).Value = id;
|
|||
|
delete.Prepare();
|
|||
|
delete.ExecuteNonQuery();
|
|||
|
con.Close();
|
|||
|
}
|
|||
|
catch(SqlException)
|
|||
|
{
|
|||
|
throw new Exception();
|
|||
|
}
|
|||
|
return true;
|
|||
|
}
|
|||
|
|
|||
|
|
|||
|
}
|
|||
|
|
|||
|
public class Genero : Component
|
|||
|
{
|
|||
|
int idGenero;
|
|||
|
string nomeGenero;
|
|||
|
|
|||
|
public Genero(int? idG, string nome)
|
|||
|
{
|
|||
|
if (idG != null)
|
|||
|
idGenero = (int)idG;
|
|||
|
nomeGenero = nome;
|
|||
|
|
|||
|
}
|
|||
|
public override void Add()
|
|||
|
{
|
|||
|
using(con)
|
|||
|
{
|
|||
|
con.Open();
|
|||
|
|
|||
|
insert = new SqlCommand("INSERT INTO tbGenero(nomeGenero) VALUES (@nomeGenero)", con);
|
|||
|
|
|||
|
insert.Parameters.Add("@nomeGenero", SqlDbType.NVarChar, 30).Value = nomeGenero;
|
|||
|
|
|||
|
insert.Prepare();
|
|||
|
insert.ExecuteNonQuery();
|
|||
|
|
|||
|
con.Close();
|
|||
|
}
|
|||
|
|
|||
|
}
|
|||
|
|
|||
|
public override void Edit(int id, List<string> vlr)
|
|||
|
{
|
|||
|
idGenero = id;
|
|||
|
nomeGenero = vlr[0];
|
|||
|
|
|||
|
using(con)
|
|||
|
{
|
|||
|
con.Open();
|
|||
|
update = new SqlCommand("UPDATE tbGenero SET nomeGenero = @nomeGenero WHERE idGenero = @idGenero",con);
|
|||
|
|
|||
|
update.Parameters.Add("@idGenero", SqlDbType.Int).Value = idGenero;
|
|||
|
update.Parameters.Add("@nomeGenero", SqlDbType.NVarChar, 30).Value = nomeGenero;
|
|||
|
|
|||
|
update.Prepare();
|
|||
|
update.ExecuteNonQuery();
|
|||
|
|
|||
|
con.Close();
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
public override bool Remove(int id)
|
|||
|
{
|
|||
|
List<string> tmp = new List<string>{"DELETADO"};
|
|||
|
try
|
|||
|
{
|
|||
|
Edit(id, tmp);
|
|||
|
}
|
|||
|
catch(SqlException)
|
|||
|
{
|
|||
|
throw new Exception();
|
|||
|
}
|
|||
|
return true;
|
|||
|
}
|
|||
|
|
|||
|
|
|||
|
}
|
|||
|
|
|||
|
public class Item : Component
|
|||
|
{
|
|||
|
public int idItem, idAutor, generoItem, editoraItem, tipoItem;
|
|||
|
public string nomeItem, isbnItem, statusItem;
|
|||
|
public Item(int? idT, string nI, int idA, int gI, int edI, int tpI, string isbn, string stI) {
|
|||
|
if (idT != null)
|
|||
|
idItem = (int)idT;
|
|||
|
nomeItem = nI;
|
|||
|
idAutor = idA;
|
|||
|
generoItem = gI;
|
|||
|
editoraItem = edI;
|
|||
|
tipoItem = tpI;
|
|||
|
isbnItem = isbn;
|
|||
|
statusItem = stI;
|
|||
|
|
|||
|
}
|
|||
|
public override void Add()
|
|||
|
{
|
|||
|
using (con)
|
|||
|
{
|
|||
|
con.Open();
|
|||
|
|
|||
|
insert = new SqlCommand("INSERT INTO tbItem(nomeItem, idAutor, generoItem, editoraItem, tipoItem, isbnItem, statusItem) " +
|
|||
|
"VALUES (@nomeItem, @idAutor, @generoItem, @editoraItem, @tipoItem, @isbnItem, @statusItem)", con);
|
|||
|
|
|||
|
insert.Parameters.Add("@nomeItem", SqlDbType.NVarChar, 50).Value = nomeItem;
|
|||
|
insert.Parameters.Add("@isbnItem", SqlDbType.NVarChar, 13).Value = isbnItem;
|
|||
|
insert.Parameters.Add("@statusItem", SqlDbType.NVarChar, 10).Value = statusItem;
|
|||
|
insert.Parameters.Add("@idAutor", SqlDbType.Int).Value = idAutor;
|
|||
|
insert.Parameters.Add("@generoItem", SqlDbType.Int).Value = generoItem;
|
|||
|
insert.Parameters.Add("@editoraItem", SqlDbType.Int).Value = editoraItem;
|
|||
|
insert.Parameters.Add("@tipoItem", SqlDbType.Int).Value = tipoItem;
|
|||
|
|
|||
|
insert.Prepare();
|
|||
|
insert.ExecuteNonQuery();
|
|||
|
|
|||
|
con.Close();
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
public override void Edit(int id, List<string> vlr)
|
|||
|
{
|
|||
|
List<int> ids = ReturnTypes.ReturnItemVals(vlr[1], vlr[2], vlr[3], vlr[4]);
|
|||
|
idItem = id;
|
|||
|
idAutor = ids[0];
|
|||
|
generoItem = ids[1];
|
|||
|
editoraItem = ids[2];
|
|||
|
tipoItem = ids[3];
|
|||
|
|
|||
|
nomeItem = vlr[0];
|
|||
|
// Return para pegar PK!!
|
|||
|
// Vlr[0], [5], [6] -> nomeItem, isbnItem, statusItem;
|
|||
|
// Vlr[1], [2], [3], [4] -> idAutor,generoItem,editoraItem,tipoItem;
|
|||
|
|
|||
|
isbnItem = vlr[5];
|
|||
|
statusItem = vlr[6];
|
|||
|
|
|||
|
using (con)
|
|||
|
{
|
|||
|
con.Open();
|
|||
|
update = new SqlCommand(
|
|||
|
"UPDATE tbItem " +
|
|||
|
"SET nomeItem = @nomeItem, " +
|
|||
|
"idAutor = @idAutor, " +
|
|||
|
"generoItem = @generoItem, " +
|
|||
|
"editoraItem = @editoraItem, " +
|
|||
|
"tipoItem = @tipoItem, " +
|
|||
|
"isbnItem = @isbnItem, " +
|
|||
|
"statusItem = @statusItem " +
|
|||
|
"WHERE idItem = @idItem", con
|
|||
|
);
|
|||
|
|
|||
|
update.Parameters.Add("@nomeItem", SqlDbType.NVarChar,50).Value = nomeItem;
|
|||
|
update.Parameters.Add("@idAutor", SqlDbType.Int).Value = idAutor;
|
|||
|
update.Parameters.Add("@generoItem", SqlDbType.Int).Value = generoItem;
|
|||
|
update.Parameters.Add("@editoraItem", SqlDbType.Int).Value = editoraItem;
|
|||
|
update.Parameters.Add("@tipoItem", SqlDbType.Int).Value = tipoItem;
|
|||
|
update.Parameters.Add("@isbnItem", SqlDbType.NVarChar, 13).Value = isbnItem;
|
|||
|
update.Parameters.Add("@statusItem", SqlDbType.NVarChar,10).Value = statusItem;
|
|||
|
|
|||
|
update.Parameters.Add("@idItem", SqlDbType.Int).Value = idItem;
|
|||
|
|
|||
|
update.Prepare();
|
|||
|
update.ExecuteNonQuery();
|
|||
|
con.Close();
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
public override bool Remove(int id)
|
|||
|
{
|
|||
|
try
|
|||
|
{
|
|||
|
con.Open();
|
|||
|
delete = new SqlCommand(
|
|||
|
"UPDATE tbItem " +
|
|||
|
"SET statusItem = 'DESATIVADO' " +
|
|||
|
"WHERE idItem = @idItem", con
|
|||
|
);
|
|||
|
delete.Parameters.Add("@idItem", SqlDbType.Int).Value = id;
|
|||
|
delete.Prepare();
|
|||
|
delete.ExecuteNonQuery();
|
|||
|
con.Close();
|
|||
|
}
|
|||
|
catch (SqlException)
|
|||
|
{
|
|||
|
throw new Exception();
|
|||
|
}
|
|||
|
return true;
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
public class Tipo : Component
|
|||
|
{
|
|||
|
int idTipo;
|
|||
|
string nomeTipo;
|
|||
|
|
|||
|
public Tipo(int? id, string nome)
|
|||
|
{
|
|||
|
if (id != null)
|
|||
|
idTipo = (int)id;
|
|||
|
|
|||
|
nomeTipo = nome;
|
|||
|
}
|
|||
|
public override void Add()
|
|||
|
{
|
|||
|
using (con)
|
|||
|
{
|
|||
|
con.Open();
|
|||
|
|
|||
|
insert = new SqlCommand("INSERT INTO tbTipo(nomeTipo) VALUES (@nomeTipo)", con);
|
|||
|
|
|||
|
insert.Parameters.Add("@nomeTipo", SqlDbType.NVarChar, 30).Value = nomeTipo;
|
|||
|
|
|||
|
insert.Prepare();
|
|||
|
insert.ExecuteNonQuery();
|
|||
|
|
|||
|
con.Close();
|
|||
|
}
|
|||
|
|
|||
|
}
|
|||
|
|
|||
|
public override void Edit(int id, List<string> vlr)
|
|||
|
{
|
|||
|
idTipo = id;
|
|||
|
nomeTipo = vlr[0];
|
|||
|
|
|||
|
using (con)
|
|||
|
{
|
|||
|
con.Open();
|
|||
|
update = new SqlCommand("UPDATE tbTipo SET nomeTipo = @nomeTipo WHERE idTipo = @idTipo", con);
|
|||
|
|
|||
|
update.Parameters.Add("@idTipo", SqlDbType.Int).Value = idTipo;
|
|||
|
update.Parameters.Add("@nomeTipo", SqlDbType.NVarChar, 30).Value = nomeTipo;
|
|||
|
|
|||
|
update.Prepare();
|
|||
|
update.ExecuteNonQuery();
|
|||
|
|
|||
|
con.Close();
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
public override bool Remove(int id)
|
|||
|
{
|
|||
|
List<string> tmp = new List<string> { "DELETADO" };
|
|||
|
try
|
|||
|
{
|
|||
|
Edit(id, tmp);
|
|||
|
}
|
|||
|
catch (SqlException)
|
|||
|
{
|
|||
|
throw new Exception();
|
|||
|
}
|
|||
|
return true;
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
public class Editora : Component
|
|||
|
{
|
|||
|
int idEditora;
|
|||
|
string nomeEditora;
|
|||
|
|
|||
|
public Editora(int? id, string nome)
|
|||
|
{
|
|||
|
if (id != null)
|
|||
|
idEditora = (int)id;
|
|||
|
nomeEditora = nome;
|
|||
|
}
|
|||
|
public override void Add()
|
|||
|
{
|
|||
|
using (con)
|
|||
|
{
|
|||
|
con.Open();
|
|||
|
|
|||
|
insert = new SqlCommand("INSERT INTO tbEditora(nomeEditora) VALUES (@nomeEditora)", con);
|
|||
|
|
|||
|
insert.Parameters.Add("@nomeEditora", SqlDbType.NVarChar, 30).Value = nomeEditora;
|
|||
|
|
|||
|
insert.Prepare();
|
|||
|
insert.ExecuteNonQuery();
|
|||
|
|
|||
|
con.Close();
|
|||
|
}
|
|||
|
|
|||
|
}
|
|||
|
|
|||
|
public override void Edit(int id, List<string> vlr)
|
|||
|
{
|
|||
|
idEditora = id;
|
|||
|
nomeEditora = vlr[0];
|
|||
|
|
|||
|
using (con)
|
|||
|
{
|
|||
|
con.Open();
|
|||
|
update = new SqlCommand("UPDATE tbEditora SET nomeEditora = @nomeEditora WHERE idEditora = @idEditora", con);
|
|||
|
|
|||
|
update.Parameters.Add("@idEditora", SqlDbType.Int).Value = idEditora;
|
|||
|
update.Parameters.Add("@nomeEditora", SqlDbType.NVarChar, 30).Value = nomeEditora;
|
|||
|
|
|||
|
update.Prepare();
|
|||
|
update.ExecuteNonQuery();
|
|||
|
|
|||
|
con.Close();
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
public override bool Remove(int id)
|
|||
|
{
|
|||
|
List<string> tmp = new List<string> { "DELETADO" };
|
|||
|
try
|
|||
|
{
|
|||
|
Edit(id, tmp);
|
|||
|
}
|
|||
|
catch (SqlException)
|
|||
|
{
|
|||
|
throw new Exception();
|
|||
|
}
|
|||
|
return true;
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
public class Autor : Component
|
|||
|
{
|
|||
|
int idAutor;
|
|||
|
string nomeAutor;
|
|||
|
|
|||
|
public Autor(int? id, string nome)
|
|||
|
{
|
|||
|
if (id != null)
|
|||
|
idAutor = (int)id;
|
|||
|
|
|||
|
nomeAutor = nome;
|
|||
|
}
|
|||
|
public override void Add()
|
|||
|
{
|
|||
|
using (con)
|
|||
|
{
|
|||
|
con.Open();
|
|||
|
|
|||
|
insert = new SqlCommand("INSERT INTO tbAutor(nomeAutor) VALUES (@nomeAutor)", con);
|
|||
|
|
|||
|
insert.Parameters.Add("@nomeAutor", SqlDbType.NVarChar, 30).Value = nomeAutor;
|
|||
|
|
|||
|
insert.Prepare();
|
|||
|
insert.ExecuteNonQuery();
|
|||
|
|
|||
|
con.Close();
|
|||
|
}
|
|||
|
|
|||
|
}
|
|||
|
|
|||
|
public override void Edit(int id, List<string> vlr)
|
|||
|
{
|
|||
|
idAutor = id;
|
|||
|
nomeAutor = vlr[0];
|
|||
|
|
|||
|
using (con)
|
|||
|
{
|
|||
|
con.Open();
|
|||
|
update = new SqlCommand("UPDATE tbAutor SET nomeAutor = @nomeAutor WHERE idAutor = @idAutor", con);
|
|||
|
|
|||
|
update.Parameters.Add("@idAutor", SqlDbType.Int).Value = idAutor;
|
|||
|
update.Parameters.Add("@nomeAutor", SqlDbType.NVarChar, 200).Value = nomeAutor;
|
|||
|
|
|||
|
update.Prepare();
|
|||
|
update.ExecuteNonQuery();
|
|||
|
|
|||
|
con.Close();
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
public override bool Remove(int id)
|
|||
|
{
|
|||
|
List<string> tmp = new List<string> { "DELETADO" };
|
|||
|
try
|
|||
|
{
|
|||
|
Edit(id, tmp);
|
|||
|
}
|
|||
|
catch (SqlException)
|
|||
|
{
|
|||
|
throw new Exception();
|
|||
|
}
|
|||
|
return true;
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
}
|