Skip to content
Snippets Groups Projects
Commit b5a267be authored by Hugues Porchet's avatar Hugues Porchet
Browse files

premier commit, pas la version finale

parents
No related branches found
No related tags found
No related merge requests found
import * as APIsql from "../modele/sqlWeb.js"
APIsql.sqlWeb.init("https://devweb.iutmetz.univ-lorraine.fr/~porchet1u/TafDuGoat/SaeIHM/squelette/vue/","https://devweb.iutmetz.univ-lorraine.fr/~nitschke5/ihm/IHM_API/")
class Connexion {
constructor() {
this.init();
}
init():void {
// à adapter avec voter nom de base et vos identifiants de connexion
APIsql.sqlWeb.bdOpen('devbdd.iutmetz.univ-lorraine.fr','3306','porchet1u_sae201', 'porchet1u_appli','32300376', 'utf8');
}
}
let connexion = new Connexion;
export {connexion, APIsql}
class Client {
private _id_cli: string;
private _civ_cli: string;
private _nom_cli: string;
private _prenom_cli: string;
private _tel_cli: string;
private _mel_cli: string;
private _adr_cli: string;
private _cp_cli: string;
private _commune_cli: string;
private _tauxmax_remise_cli: string;
constructor(id_cli = "", civ_cli = "", nom_cli = "", prenom_cli = "", tel_cli = "", mel_cli = "", adr_cli = "", cp_cli = "", commune_cli = "", tauxmax_remise_cli = "") {
this._id_cli = id_cli;
this._civ_cli = civ_cli;
this._nom_cli = nom_cli;
this._prenom_cli = prenom_cli;
this._tel_cli = tel_cli;
this._mel_cli = mel_cli;
this._adr_cli = adr_cli;
this._cp_cli = cp_cli;
this._commune_cli = commune_cli;
this._tauxmax_remise_cli = tauxmax_remise_cli;
}
get id_cli(): string {
return this._id_cli;
}
set id_cli(value: string) {
this._id_cli = value;
}
get civ_cli(): string {
return this._civ_cli;
}
set civ_cli(value: string) {
this._civ_cli = value;
}
get nom_cli(): string {
return this._nom_cli;
}
set nom_cli(value: string) {
this._nom_cli = value;
}
get prenom_cli(): string {
return this._prenom_cli;
}
set prenom_cli(value: string) {
this._prenom_cli = value;
}
get tel_cli(): string {
return this._tel_cli;
}
set tel_cli(value: string) {
this._tel_cli = value;
}
get mel_cli(): string {
return this._mel_cli;
}
set mel_cli(value: string) {
this._mel_cli = value;
}
get adr_cli(): string {
return this._adr_cli;
}
set adr_cli(value: string) {
this._adr_cli = value;
}
get cp_cli(): string {
return this._cp_cli;
}
set cp_cli(value: string) {
this._cp_cli = value;
}
get commune_cli(): string {
return this._commune_cli;
}
set commune_cli(value: string) {
this._commune_cli = value;
}
get tauxmax_remise_cli(): string {
return this._tauxmax_remise_cli;
}
set tauxmax_remise_cli(value: string) {
this._tauxmax_remise_cli = value;
}
}
export { Client }
\ No newline at end of file
class Facture {
private _num_fact: string;
private _date_fact: string;
private _comment_fact: string;
private _taux_remise_fact: string;
private _id_cli: string;
private _id_forfait: string;
constructor(num_fact = "", date_fact = "", comment_fact = "", taux_remise_fact = "", id_cli = "", id_forfait= "") {
this._num_fact = num_fact;
this._date_fact = date_fact;
this._comment_fact = comment_fact;
this._taux_remise_fact = taux_remise_fact;
this._id_cli = id_cli;
this._id_forfait = id_forfait;
}
get num_fact(): string {
return this._num_fact;
}
set num_fact(value: string) {
this._num_fact = value;
}
get date_fact(): string {
return this._date_fact;
}
set date_fact(value: string) {
this._date_fact = value;
}
get comment_fact(): string {
return this._comment_fact;
}
set comment_fact(value: string) {
this._comment_fact = value;
}
get taux_remise_fact(): string {
return this._taux_remise_fact;
}
set taux_remise_fact(value: string) {
this._taux_remise_fact = value;
}
get id_cli(): string {
return this._id_cli;
}
set id_cli(value: string) {
this._id_cli = value;
}
get id_forfait(): string {
return this._id_forfait;
}
set id_forfait(value: string) {
this._id_forfait = value;
}
}
export { Facture };
\ No newline at end of file
class Forfait_livraison {
private _lib_forfait: string;
private _id_forfait: string;
private _mt_forfait: string;
constructor(lib_forfait = "", id_forfait = "", mt_forfait = "") {
this._lib_forfait = lib_forfait;
this._id_forfait = id_forfait;
this._mt_forfait = mt_forfait;
}
get lib_forfait(): string {
return this._lib_forfait;
}
set lib_forfait(value: string) {
this._lib_forfait = value;
}
get id_forfait(): string {
return this._id_forfait;
}
set id_forfait(value: string) {
this._id_forfait = value;
}
get mt_forfait(): string {
return this._mt_forfait;
}
set mt_forfait(value: string) {
this._mt_forfait = value;
}
}
export { Forfait_livraison }
\ No newline at end of file
class Ligne {
private _num_fact: string;
private _code_prod: string;
private _qte_prod: string;
constructor(num_fact = "", code_prod = "", qte_prod = "") {
this._num_fact = num_fact;
this._code_prod = code_prod;
this._qte_prod = qte_prod;
}
get num_fact(): string {
return this._num_fact;
}
set num_fact(value: string) {
this._num_fact = value;
}
get code_prod(): string {
return this._code_prod;
}
set code_prod(value: string) {
this._code_prod = value;
}
get qte_prod(): string {
return this._qte_prod;
}
set qte_prod(value: string) {
this._qte_prod = value;
}
}
export { Ligne }
class Produit {
private _code_prod: string;
private _lib_prod: string;
private _type: string;
private _origine: string;
private _conditionnement: string;
private _tarif_ht: string;
constructor(code_prod = "", lib_prod = "", type = "", origine = "", conditionnement = "", tarif_ht = "") {
this._code_prod = code_prod;
this._lib_prod = lib_prod;
this._type = type;
this._origine = origine;
this._conditionnement = conditionnement;
this._tarif_ht = tarif_ht;
}
get code_prod(): string {
return this._code_prod;
}
set code_prod(value: string) {
this._code_prod = value;
}
get lib_prod(): string {
return this._lib_prod;
}
set lib_prod(value: string) {
this._lib_prod = value;
}
get type(): string {
return this._type;
}
set type(value: string) {
this._type = value;
}
get origine(): string {
return this._origine;
}
set origine(value: string) {
this._origine = value;
}
get conditionnement(): string {
return this._conditionnement;
}
set conditionnement(value: string) {
this._conditionnement = value;
}
get tarif_ht(): string {
return this._tarif_ht;
}
set tarif_ht(value: string) {
this._tarif_ht = value;
}
}
export { Produit }
type TtabAsso = {
[key:string] : string;
}
type TdataSet = TtabAsso[];
class SQLWeb {
spExec : string;
cheminHTML : string;
http : string;
bd : {host:string, port:string, bdname:string, user:string, pwd:string, charset:string, driver:string };
init(cheminHTML : string, http : string) : void{
this.spExec = http +'spExec.php';
this.cheminHTML = cheminHTML;
this.http = http;
}
getXhr(): XMLHttpRequest
{
let xhr = null;
if (window.XMLHttpRequest) // firefox et autres
{ xhr = new XMLHttpRequest; }
return xhr;
}
SQLexec(sp : string, params : string[]):boolean {
this.SQLloadData(sp, params, 'manipulation');
return true;
}
SQLloadData(sp : string, params : string[], req ='interrogation'):TdataSet {
// fetch ne fonctionne pas en mode synchrone ==> mode synchrone obligatoire
const xhr = this.getXhr();
let resultat : TdataSet = [];
if (xhr)
{ // on définit ce qu'on va faire quand on aura la réponse
xhr.onreadystatechange = function():void{
if (xhr.readyState === 4 && xhr.status === 200)
{
let src = JSON.parse(xhr.responseText);
resultat = src['resultat'];
}
}
xhr.open ("POST", this.spExec, false); // mode synchrone obligatoire
xhr.setRequestHeader ('Content-Type', 'application/x-www-form-urlencoded');
for (let i in params) {
params[i] =encodeURIComponent(params[i]);
}
xhr.send('sp=' +encodeURIComponent(sp) +'&bd=' +JSON.stringify(this.bd) +'&params=' +JSON.stringify(params) +'&req=' +req);
}
return resultat;
}
bdOpen(host :string, port : string, bdname : string, user : string, pwd : string, charset ='utf8', driver ='mysql'):void {
this.bd = {host:host, port:port, bdname:bdname, user:user, pwd:pwd, charset:charset, driver:driver };
this.SQLloadData("",[]);
}
}
let sqlWeb = new SQLWeb()
export { sqlWeb, TtabAsso, TdataSet }
import { assertEquals } from "https://deno.land/std@0.220.0/assert/assert_equals.ts";
import { assertThrows } from "https://deno.land/std@0.220.0/assert/assert_throws.ts";
import { Client } from "./data_client.ts";
import { Facture } from "./data_facture.ts";
import { Forfait_livraison } from "./data_forfait.ts";
import { Ligne } from "./data_ligne.ts";
import { Produit } from "./data_produit.ts";
// Tests pour data_clients.ts
Deno.test("Client initialisation compléte correcte", () => {
const client = new Client("9", "Mr", "PORCHET", "Hugues", "7234567890", "hugues@porchet.com", "4 place saint vincent", "57000", "Metz", "10");
assertEquals(client.id_cli, "9");
assertEquals(client.civ_cli, "Mr");
assertEquals(client.nom_cli, "PORCHET");
assertEquals(client.prenom_cli, "Hugues");
assertEquals(client.tel_cli, "7234567890");
assertEquals(client.mel_cli, "hugues@porchet.com");
assertEquals(client.adr_cli, "4 place saint vincent");
assertEquals(client.cp_cli, "57000");
assertEquals(client.commune_cli, "Metz");
assertEquals(client.tauxmax_remise_cli, "10");
});
// Tests pour data_facture.ts
Deno.test("Facture initialisation compléte correcte", () => {
const facture = new Facture("8", "2021-05-01", "paiement différé", "5", "1", "EXPRES");
assertEquals(facture.num_fact, "8");
assertEquals(facture.date_fact, "2021-05-01");
assertEquals(facture.comment_fact, "paiement différé");
assertEquals(facture.taux_remise_fact, "5");
assertEquals(facture.id_cli, "1");
assertEquals(facture.id_forfait, "EXPRES");
});
// Tests pour data_forfait.ts
Deno.test("Forfait_livraison initialisation compléte correcte", () => {
const forfait = new Forfait_livraison("livraison standard", "STD", "10");
assertEquals(forfait.id_forfait, "STD");
assertEquals(forfait.lib_forfait, "livraison standard");
assertEquals(forfait.mt_forfait, "10");
});
//Tests pour data_ligne.ts
Deno.test("Ligne initialisation compléte correcte", () => {
const ligne = new Ligne("4", "ACQARMAP", "10");
assertEquals(ligne.num_fact, "4");
assertEquals(ligne.code_prod, "ACQARMAP");
assertEquals(ligne.qte_prod, "10");
});
// Tests pour data_produits.ts
Deno.test("Produit initialisation", () => {
const produit = new Produit("HEALSIPO", "Healsio", "plate", "Portugal", "100", "1.90");
assertEquals(produit.code_prod, "HEALSIPO");
assertEquals(produit.lib_prod, "Healsio");
assertEquals(produit.type, "plate");
assertEquals(produit.origine, "Portugal");
assertEquals(produit.conditionnement, "100");
assertEquals(produit.tarif_ht, "1.90");
});
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment