Compare commits
121 Commits
After Width: | Height: | Size: 52 KiB |
@ -0,0 +1,140 @@
|
|||||||
|
<?php
|
||||||
|
use Psr\Http\Message\ResponseInterface as Response;
|
||||||
|
use Psr\Http\Message\ServerRequestInterface as Request;
|
||||||
|
use Slim\Factory\AppFactory;
|
||||||
|
use OpenApi\Annotations as OA;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @OA\Info(title="My First API", version="0.1")
|
||||||
|
*/
|
||||||
|
|
||||||
|
$app->addBodyParsingMiddleware();
|
||||||
|
$app->addRoutingMiddleware();
|
||||||
|
$app->addErrorMiddleware(true, true, true);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @OA\Get(path="/api/Banque",
|
||||||
|
* @OA\Response(response="200", description="Succes")
|
||||||
|
* @OA\Response(response="500", description="Bdd Error")
|
||||||
|
* )
|
||||||
|
*/
|
||||||
|
$app->get('/Banque/', function(Request $request, Response $response){
|
||||||
|
$query = "SELECT * FROM Banque";
|
||||||
|
|
||||||
|
try{
|
||||||
|
$db = new Database();
|
||||||
|
$conn = $db->connect();
|
||||||
|
|
||||||
|
$stmt = $conn->query($query);
|
||||||
|
$inscrits = $stmt->fetchAll(PDO::FETCH_OBJ);
|
||||||
|
|
||||||
|
$db = null;
|
||||||
|
$response->getBody()->write(json_encode($inscrits));
|
||||||
|
return $response
|
||||||
|
->withHeader('content-type', 'application/json')
|
||||||
|
->withStatus(200);
|
||||||
|
} catch(PDOException $e){
|
||||||
|
$error = array("message" => $e->getMessage());
|
||||||
|
|
||||||
|
$response->getBody()->write(json_encode($error));
|
||||||
|
return $response
|
||||||
|
->withHeader('content-type', 'application/json')
|
||||||
|
->withStatus(500);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
$app->post('/Banque/FromId/', function(Request $request, Response $response,array $args){
|
||||||
|
$id = $request->getParsedBody()["id"];
|
||||||
|
$query = 'SELECT id, nomBanque FROM InscrBanque WHERE idInscrit=:id';
|
||||||
|
|
||||||
|
try{
|
||||||
|
$db = new Database();
|
||||||
|
$conn = $db->connect();
|
||||||
|
|
||||||
|
$stmt = $conn->prepare($query);
|
||||||
|
$stmt->bindValue(':id', $id, PDO::PARAM_STR);
|
||||||
|
|
||||||
|
$stmt->execute();
|
||||||
|
$inscrit = $stmt->fetchAll(PDO::FETCH_OBJ);
|
||||||
|
|
||||||
|
$db = null;
|
||||||
|
$response->getBody()->write(json_encode($inscrit));
|
||||||
|
return $response
|
||||||
|
->withHeader('content-type', 'application/json')
|
||||||
|
->withStatus(200);
|
||||||
|
} catch(PDOException $e){
|
||||||
|
$error = array("message" => $e->getMessage());
|
||||||
|
|
||||||
|
$response->getBody()->write(json_encode($error));
|
||||||
|
return $response
|
||||||
|
->withHeader('content-type', 'application/json')
|
||||||
|
->withStatus(500);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
$app->post('/Banque/add/', function(Request $request, Response $response, array $args){
|
||||||
|
$nom = $request->getParsedBody()["nom"];
|
||||||
|
$idInscrit = $request->getParsedBody()["idInscrit"];
|
||||||
|
|
||||||
|
$query = "INSERT INTO InscrBanque (nomBanque, idInscrit) VALUES (:nom, :idI)";
|
||||||
|
|
||||||
|
try{
|
||||||
|
$db = new Database();
|
||||||
|
$conn = $db->connect();
|
||||||
|
|
||||||
|
$stmt = $conn->prepare($query);
|
||||||
|
$stmt->bindValue(':nom', $nom, PDO::PARAM_STR);
|
||||||
|
$stmt->bindValue(':idI', $idInscrit, PDO::PARAM_STR);
|
||||||
|
|
||||||
|
$result = $stmt->execute();
|
||||||
|
|
||||||
|
$db = null;
|
||||||
|
$response->getBody()->write(json_encode($result));
|
||||||
|
return $response
|
||||||
|
->withHeader('content-type', 'application/json')
|
||||||
|
->withStatus(200);
|
||||||
|
} catch(PDOException $e){
|
||||||
|
$error = array("message" => $e->getMessage());
|
||||||
|
|
||||||
|
$response->getBody()->write(json_encode($error));
|
||||||
|
return $response
|
||||||
|
->withHeader('content-type', 'application/json')
|
||||||
|
->withStatus(500);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
$app->delete('/Banque/delete/', function (Request $request, Response $response, array $args) {
|
||||||
|
$nom = $request->getParsedBody()["nom"];
|
||||||
|
$idInscrit = $request->getParsedBody()["idInscrit"];
|
||||||
|
|
||||||
|
$query = "DELETE FROM InscrBanque WHERE nomBanque=:nom AND idInscrit=:idI";
|
||||||
|
|
||||||
|
try{
|
||||||
|
$db = new Database();
|
||||||
|
$conn = $db->connect();
|
||||||
|
|
||||||
|
$stmt = $conn->prepare($query);
|
||||||
|
$stmt->bindValue(':nom', $nom, PDO::PARAM_STR);
|
||||||
|
$stmt->bindValue(':idI', $idInscrit, PDO::PARAM_STR);
|
||||||
|
|
||||||
|
$result = $stmt->execute();
|
||||||
|
|
||||||
|
$db = null;
|
||||||
|
$response->getBody()->write(json_encode($result));
|
||||||
|
return $response
|
||||||
|
->withHeader('content-type', 'application/json')
|
||||||
|
->withStatus(200);
|
||||||
|
|
||||||
|
} catch(PDOException $e){
|
||||||
|
$error = array("message" => $e->getMessage());
|
||||||
|
|
||||||
|
$response->getBody()->write(json_encode($error));
|
||||||
|
return $response
|
||||||
|
->withHeader('content-type', 'application/json')
|
||||||
|
->withStatus(500);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
?>
|
@ -0,0 +1,116 @@
|
|||||||
|
<?php
|
||||||
|
use Psr\Http\Message\ResponseInterface as Response;
|
||||||
|
use Psr\Http\Message\ServerRequestInterface as Request;
|
||||||
|
use Slim\Factory\AppFactory;
|
||||||
|
use OpenApi\Annotations as OA;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @OA\Info(title="My First API", version="0.1")
|
||||||
|
*/
|
||||||
|
|
||||||
|
$app->addBodyParsingMiddleware();
|
||||||
|
$app->addRoutingMiddleware();
|
||||||
|
$app->addErrorMiddleware(true, true, true);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @OA\Get(path="/api/Compte",
|
||||||
|
* @OA\Response(response="200", description="Succes")
|
||||||
|
* @OA\Response(response="500", description="Bdd Error")
|
||||||
|
* )
|
||||||
|
*/
|
||||||
|
|
||||||
|
$app->post('/Compte/FromIdInscrit/', function(Request $request, Response $response,array $args){
|
||||||
|
$idInscrit = $request->getParsedBody()["id"];
|
||||||
|
$query = 'SELECT * FROM Compte WHERE idInscritBanque=:id';
|
||||||
|
|
||||||
|
try{
|
||||||
|
$db = new Database();
|
||||||
|
$conn = $db->connect();
|
||||||
|
|
||||||
|
$stmt = $conn->prepare($query);
|
||||||
|
$stmt->bindValue(':id', $idInscrit, PDO::PARAM_STR);
|
||||||
|
|
||||||
|
$stmt->execute();
|
||||||
|
$compte = $stmt->fetchAll(PDO::FETCH_OBJ);
|
||||||
|
|
||||||
|
$db = null;
|
||||||
|
$response->getBody()->write(json_encode($compte));
|
||||||
|
return $response
|
||||||
|
->withHeader('content-type', 'application/json')
|
||||||
|
->withStatus(200);
|
||||||
|
} catch(PDOException $e){
|
||||||
|
$error = array("message" => $e->getMessage());
|
||||||
|
|
||||||
|
$response->getBody()->write(json_encode($error));
|
||||||
|
return $response
|
||||||
|
->withHeader('content-type', 'application/json')
|
||||||
|
->withStatus(500);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
$app->post('/Compte/add/', function(Request $request, Response $response, array $args){
|
||||||
|
$nom = $request->getParsedBody()["nom"];
|
||||||
|
$idInscrit = $request->getParsedBody()["idInscrit"];
|
||||||
|
|
||||||
|
$query = "INSERT INTO Compte (nom, idInscritBanque) VALUES (:nom, :idI)";
|
||||||
|
|
||||||
|
try{
|
||||||
|
$db = new Database();
|
||||||
|
$conn = $db->connect();
|
||||||
|
|
||||||
|
$stmt = $conn->prepare($query);
|
||||||
|
$stmt->bindValue(':nom', $nom, PDO::PARAM_STR);
|
||||||
|
$stmt->bindValue(':idI', $idInscrit, PDO::PARAM_STR);
|
||||||
|
|
||||||
|
$result = $stmt->execute();
|
||||||
|
|
||||||
|
$db = null;
|
||||||
|
$response->getBody()->write(json_encode($result));
|
||||||
|
return $response
|
||||||
|
->withHeader('content-type', 'application/json')
|
||||||
|
->withStatus(200);
|
||||||
|
} catch(PDOException $e){
|
||||||
|
$error = array("message" => $e->getMessage());
|
||||||
|
|
||||||
|
$response->getBody()->write(json_encode($error));
|
||||||
|
return $response
|
||||||
|
->withHeader('content-type', 'application/json')
|
||||||
|
->withStatus(500);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
$app->delete('/Compte/delete/', function (Request $request, Response $response, array $args) {
|
||||||
|
$nom = $request->getParsedBody()["nom"];
|
||||||
|
$idInscrit = $request->getParsedBody()["idInscrit"];
|
||||||
|
|
||||||
|
$query = "DELETE FROM Compte WHERE nom=:nom AND idInscritBanque=:idI";
|
||||||
|
|
||||||
|
try{
|
||||||
|
$db = new Database();
|
||||||
|
$conn = $db->connect();
|
||||||
|
|
||||||
|
$stmt = $conn->prepare($query);
|
||||||
|
$stmt->bindValue(':nom', $nom, PDO::PARAM_STR);
|
||||||
|
$stmt->bindValue(':idI', $idInscrit, PDO::PARAM_STR);
|
||||||
|
|
||||||
|
$result = $stmt->execute();
|
||||||
|
|
||||||
|
$db = null;
|
||||||
|
$response->getBody()->write(json_encode($result));
|
||||||
|
return $response
|
||||||
|
->withHeader('content-type', 'application/json')
|
||||||
|
->withStatus(200);
|
||||||
|
|
||||||
|
} catch(PDOException $e){
|
||||||
|
$error = array("message" => $e->getMessage());
|
||||||
|
|
||||||
|
$response->getBody()->write(json_encode($error));
|
||||||
|
return $response
|
||||||
|
->withHeader('content-type', 'application/json')
|
||||||
|
->withStatus(500);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
?>
|
@ -0,0 +1,125 @@
|
|||||||
|
<?php
|
||||||
|
use Psr\Http\Message\ResponseInterface as Response;
|
||||||
|
use Psr\Http\Message\ServerRequestInterface as Request;
|
||||||
|
use Slim\Factory\AppFactory;
|
||||||
|
use OpenApi\Annotations as OA;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @OA\Info(title="My First API", version="0.1")
|
||||||
|
*/
|
||||||
|
|
||||||
|
$app->addBodyParsingMiddleware();
|
||||||
|
$app->addRoutingMiddleware();
|
||||||
|
$app->addErrorMiddleware(true, true, true);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @OA\Get(path="/api/Echeance",
|
||||||
|
* @OA\Response(response="200", description="Succes")
|
||||||
|
* @OA\Response(response="500", description="Bdd Error")
|
||||||
|
* )
|
||||||
|
*/
|
||||||
|
|
||||||
|
$app->post('/Echeance/FromIdCompte/', function(Request $request, Response $response,array $args){
|
||||||
|
$idCompte = $request->getParsedBody()["id"];
|
||||||
|
$query = 'SELECT * FROM Echeancier WHERE compte=:id';
|
||||||
|
|
||||||
|
try{
|
||||||
|
$db = new Database();
|
||||||
|
$conn = $db->connect();
|
||||||
|
|
||||||
|
$stmt = $conn->prepare($query);
|
||||||
|
$stmt->bindValue(':id', $idCompte, PDO::PARAM_STR);
|
||||||
|
|
||||||
|
$stmt->execute();
|
||||||
|
$ope = $stmt->fetchAll(PDO::FETCH_OBJ);
|
||||||
|
|
||||||
|
$db = null;
|
||||||
|
$response->getBody()->write(json_encode($ope));
|
||||||
|
return $response
|
||||||
|
->withHeader('content-type', 'application/json')
|
||||||
|
->withStatus(200);
|
||||||
|
} catch(PDOException $e){
|
||||||
|
$error = array("message" => $e->getMessage());
|
||||||
|
|
||||||
|
$response->getBody()->write(json_encode($error));
|
||||||
|
return $response
|
||||||
|
->withHeader('content-type', 'application/json')
|
||||||
|
->withStatus(500);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
$app->post('/Echeance/add/', function(Request $request, Response $response, array $args){
|
||||||
|
$compte = $request->getParsedBody()["compte"];
|
||||||
|
$nom = $request->getParsedBody()["nom"];
|
||||||
|
$montant = $request->getParsedBody()["montant"];
|
||||||
|
$dateO = $request->getParsedBody()["dateO"];
|
||||||
|
$methodePayement = $request->getParsedBody()["methodePayement"];
|
||||||
|
$isDebit = $request->getParsedBody()["isDebit"];
|
||||||
|
$tag = $request->getParsedBody()["tag"];
|
||||||
|
|
||||||
|
$query = "INSERT INTO Echeancier (compte, nom, montant, dateO, methodePayement, isDebit, tag) SELECT :compte,:nom,:montant, STR_TO_DATE(:dateO, '%d/%m/%Y %H:%i:%s' ), :methodePayement, :isD ,:tag;";
|
||||||
|
try{
|
||||||
|
$db = new Database();
|
||||||
|
$conn = $db->connect();
|
||||||
|
|
||||||
|
$stmt = $conn->prepare($query);
|
||||||
|
$stmt->bindValue(':compte', $compte, PDO::PARAM_STR);
|
||||||
|
$stmt->bindValue(':nom', $nom, PDO::PARAM_STR);
|
||||||
|
$stmt->bindValue(':montant', $montant, PDO::PARAM_STR);
|
||||||
|
$stmt->bindValue(':dateO', $dateO, PDO::PARAM_STR);
|
||||||
|
$stmt->bindValue(':methodePayement', $methodePayement, PDO::PARAM_STR);
|
||||||
|
$stmt->bindValue(':isD', $isDebit, PDO::PARAM_BOOL);
|
||||||
|
$stmt->bindValue(':tag', $tag, PDO::PARAM_STR);
|
||||||
|
|
||||||
|
$result = $stmt->execute();
|
||||||
|
|
||||||
|
$db = null;
|
||||||
|
$response->getBody()->write(json_encode($result));
|
||||||
|
return $response
|
||||||
|
->withHeader('content-type', 'application/json')
|
||||||
|
->withStatus(200);
|
||||||
|
} catch(PDOException $e){
|
||||||
|
$error = array("message" => $e->getMessage());
|
||||||
|
|
||||||
|
$response->getBody()->write(json_encode($error));
|
||||||
|
return $response
|
||||||
|
->withHeader('content-type', 'application/json')
|
||||||
|
->withStatus(500);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
$app->delete('/Echeance/delete/', function (Request $request, Response $response, array $args) {
|
||||||
|
$compte = $request->getParsedBody()["compte"];
|
||||||
|
$nom = $request->getParsedBody()["nom"];
|
||||||
|
|
||||||
|
$query = "DELETE FROM Echeancier WHERE compte=:compte AND nom=:nom";
|
||||||
|
|
||||||
|
try{
|
||||||
|
$db = new Database();
|
||||||
|
$conn = $db->connect();
|
||||||
|
|
||||||
|
$stmt = $conn->prepare($query);
|
||||||
|
$stmt->bindValue(':compte', $compte, PDO::PARAM_STR);
|
||||||
|
$stmt->bindValue(':nom', $nom, PDO::PARAM_STR);
|
||||||
|
|
||||||
|
$result = $stmt->execute();
|
||||||
|
|
||||||
|
$db = null;
|
||||||
|
$response->getBody()->write(json_encode($result));
|
||||||
|
return $response
|
||||||
|
->withHeader('content-type', 'application/json')
|
||||||
|
->withStatus(200);
|
||||||
|
|
||||||
|
} catch(PDOException $e){
|
||||||
|
$error = array("message" => $e->getMessage());
|
||||||
|
|
||||||
|
$response->getBody()->write(json_encode($error));
|
||||||
|
return $response
|
||||||
|
->withHeader('content-type', 'application/json')
|
||||||
|
->withStatus(500);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
?>
|
@ -0,0 +1,127 @@
|
|||||||
|
<?php
|
||||||
|
use Psr\Http\Message\ResponseInterface as Response;
|
||||||
|
use Psr\Http\Message\ServerRequestInterface as Request;
|
||||||
|
use Slim\Factory\AppFactory;
|
||||||
|
use OpenApi\Annotations as OA;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @OA\Info(title="My First API", version="0.1")
|
||||||
|
*/
|
||||||
|
|
||||||
|
$app->addBodyParsingMiddleware();
|
||||||
|
$app->addRoutingMiddleware();
|
||||||
|
$app->addErrorMiddleware(true, true, true);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @OA\Get(path="/api/Operation",
|
||||||
|
* @OA\Response(response="200", description="Succes")
|
||||||
|
* @OA\Response(response="500", description="Bdd Error")
|
||||||
|
* )
|
||||||
|
*/
|
||||||
|
|
||||||
|
$app->post('/Operation/FromIdCompte/', function(Request $request, Response $response,array $args){
|
||||||
|
$idCompte = $request->getParsedBody()["id"];
|
||||||
|
$query = 'SELECT * FROM Operation WHERE compte=:id';
|
||||||
|
|
||||||
|
try{
|
||||||
|
$db = new Database();
|
||||||
|
$conn = $db->connect();
|
||||||
|
|
||||||
|
$stmt = $conn->prepare($query);
|
||||||
|
$stmt->bindValue(':id', $idCompte, PDO::PARAM_STR);
|
||||||
|
|
||||||
|
$stmt->execute();
|
||||||
|
$ope = $stmt->fetchAll(PDO::FETCH_OBJ);
|
||||||
|
|
||||||
|
$db = null;
|
||||||
|
$response->getBody()->write(json_encode($ope));
|
||||||
|
return $response
|
||||||
|
->withHeader('content-type', 'application/json')
|
||||||
|
->withStatus(200);
|
||||||
|
} catch(PDOException $e){
|
||||||
|
$error = array("message" => $e->getMessage());
|
||||||
|
|
||||||
|
$response->getBody()->write(json_encode($error));
|
||||||
|
return $response
|
||||||
|
->withHeader('content-type', 'application/json')
|
||||||
|
->withStatus(500);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
$app->post('/Operation/add/', function(Request $request, Response $response, array $args){
|
||||||
|
$compte = $request->getParsedBody()["compte"];
|
||||||
|
$nom = $request->getParsedBody()["nom"];
|
||||||
|
$montant = $request->getParsedBody()["montant"];
|
||||||
|
$dateO = $request->getParsedBody()["dateO"];
|
||||||
|
$methodePayement = $request->getParsedBody()["methodePayement"];
|
||||||
|
$isDebit = $request->getParsedBody()["isDebit"];
|
||||||
|
$tag = $request->getParsedBody()["tag"];
|
||||||
|
$fromBanque = $request->getParsedBody()["fromBanque"];
|
||||||
|
|
||||||
|
$query = "INSERT INTO Operation (compte, nom, montant, dateO, methodePayement, isDebit, fromBanque, tag) SELECT :compte,:nom,:montant, STR_TO_DATE(:dateO, '%d/%m/%Y %H:%i:%s' ), :methodePayement, :isD, :fromBanque, :tag;";
|
||||||
|
try{
|
||||||
|
$db = new Database();
|
||||||
|
$conn = $db->connect();
|
||||||
|
|
||||||
|
$stmt = $conn->prepare($query);
|
||||||
|
$stmt->bindValue(':compte', $compte, PDO::PARAM_STR);
|
||||||
|
$stmt->bindValue(':nom', $nom, PDO::PARAM_STR);
|
||||||
|
$stmt->bindValue(':montant', $montant, PDO::PARAM_STR);
|
||||||
|
$stmt->bindValue(':dateO', $dateO, PDO::PARAM_STR);
|
||||||
|
$stmt->bindValue(':methodePayement', $methodePayement, PDO::PARAM_STR);
|
||||||
|
$stmt->bindValue(':isD', $isDebit, PDO::PARAM_BOOL);
|
||||||
|
$stmt->bindValue(':tag', $tag, PDO::PARAM_STR);
|
||||||
|
$stmt->bindValue(':fromBanque', $fromBanque, PDO::PARAM_BOOL);
|
||||||
|
|
||||||
|
$result = $stmt->execute();
|
||||||
|
|
||||||
|
$db = null;
|
||||||
|
$response->getBody()->write(json_encode($result));
|
||||||
|
return $response
|
||||||
|
->withHeader('content-type', 'application/json')
|
||||||
|
->withStatus(200);
|
||||||
|
} catch(PDOException $e){
|
||||||
|
$error = array("message" => $e->getMessage());
|
||||||
|
|
||||||
|
$response->getBody()->write(json_encode($error));
|
||||||
|
return $response
|
||||||
|
->withHeader('content-type', 'application/json')
|
||||||
|
->withStatus(500);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
$app->delete('/Operation/delete/', function (Request $request, Response $response, array $args) {
|
||||||
|
$compte = $request->getParsedBody()["compte"];
|
||||||
|
$nom = $request->getParsedBody()["nom"];
|
||||||
|
|
||||||
|
$query = "DELETE FROM Operation WHERE compte=:compte AND nom=:nom";
|
||||||
|
|
||||||
|
try{
|
||||||
|
$db = new Database();
|
||||||
|
$conn = $db->connect();
|
||||||
|
|
||||||
|
$stmt = $conn->prepare($query);
|
||||||
|
$stmt->bindValue(':compte', $compte, PDO::PARAM_STR);
|
||||||
|
$stmt->bindValue(':nom', $nom, PDO::PARAM_STR);
|
||||||
|
|
||||||
|
$result = $stmt->execute();
|
||||||
|
|
||||||
|
$db = null;
|
||||||
|
$response->getBody()->write(json_encode($result));
|
||||||
|
return $response
|
||||||
|
->withHeader('content-type', 'application/json')
|
||||||
|
->withStatus(200);
|
||||||
|
|
||||||
|
} catch(PDOException $e){
|
||||||
|
$error = array("message" => $e->getMessage());
|
||||||
|
|
||||||
|
$response->getBody()->write(json_encode($error));
|
||||||
|
return $response
|
||||||
|
->withHeader('content-type', 'application/json')
|
||||||
|
->withStatus(500);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
?>
|
@ -0,0 +1,125 @@
|
|||||||
|
<?php
|
||||||
|
use Psr\Http\Message\ResponseInterface as Response;
|
||||||
|
use Psr\Http\Message\ServerRequestInterface as Request;
|
||||||
|
use Slim\Factory\AppFactory;
|
||||||
|
use OpenApi\Annotations as OA;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @OA\Info(title="My First API", version="0.1")
|
||||||
|
*/
|
||||||
|
|
||||||
|
$app->addBodyParsingMiddleware();
|
||||||
|
$app->addRoutingMiddleware();
|
||||||
|
$app->addErrorMiddleware(true, true, true);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @OA\Get(path="/api/Planification",
|
||||||
|
* @OA\Response(response="200", description="Succes")
|
||||||
|
* @OA\Response(response="500", description="Bdd Error")
|
||||||
|
* )
|
||||||
|
*/
|
||||||
|
|
||||||
|
$app->post('/Planification/FromIdCompte/', function(Request $request, Response $response,array $args){
|
||||||
|
$idCompte = $request->getParsedBody()["id"];
|
||||||
|
$query = 'SELECT * FROM Planification WHERE compte=:id';
|
||||||
|
|
||||||
|
try{
|
||||||
|
$db = new Database();
|
||||||
|
$conn = $db->connect();
|
||||||
|
|
||||||
|
$stmt = $conn->prepare($query);
|
||||||
|
$stmt->bindValue(':id', $idCompte, PDO::PARAM_STR);
|
||||||
|
|
||||||
|
$stmt->execute();
|
||||||
|
$ope = $stmt->fetchAll(PDO::FETCH_OBJ);
|
||||||
|
|
||||||
|
$db = null;
|
||||||
|
$response->getBody()->write(json_encode($ope));
|
||||||
|
return $response
|
||||||
|
->withHeader('content-type', 'application/json')
|
||||||
|
->withStatus(200);
|
||||||
|
} catch(PDOException $e){
|
||||||
|
$error = array("message" => $e->getMessage());
|
||||||
|
|
||||||
|
$response->getBody()->write(json_encode($error));
|
||||||
|
return $response
|
||||||
|
->withHeader('content-type', 'application/json')
|
||||||
|
->withStatus(500);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
$app->post('/Planification/add/', function(Request $request, Response $response, array $args){
|
||||||
|
$compte = $request->getParsedBody()["compte"];
|
||||||
|
$nom = $request->getParsedBody()["nom"];
|
||||||
|
$montant = $request->getParsedBody()["montant"];
|
||||||
|
$dateO = $request->getParsedBody()["dateO"];
|
||||||
|
$methodePayement = $request->getParsedBody()["methodePayement"];
|
||||||
|
$isDebit = $request->getParsedBody()["isDebit"];
|
||||||
|
$tag = $request->getParsedBody()["tag"];
|
||||||
|
|
||||||
|
$query = "INSERT INTO Planification (compte, nom, montant, dateO, methodePayement, isDebit, tag) SELECT :compte,:nom,:montant, STR_TO_DATE(:dateO, '%d/%m/%Y %H:%i:%s' ), :methodePayement, :isD ,:tag;";
|
||||||
|
try{
|
||||||
|
$db = new Database();
|
||||||
|
$conn = $db->connect();
|
||||||
|
|
||||||
|
$stmt = $conn->prepare($query);
|
||||||
|
$stmt->bindValue(':compte', $compte, PDO::PARAM_STR);
|
||||||
|
$stmt->bindValue(':nom', $nom, PDO::PARAM_STR);
|
||||||
|
$stmt->bindValue(':montant', $montant, PDO::PARAM_STR);
|
||||||
|
$stmt->bindValue(':dateO', $dateO, PDO::PARAM_STR);
|
||||||
|
$stmt->bindValue(':methodePayement', $methodePayement, PDO::PARAM_STR);
|
||||||
|
$stmt->bindValue(':isD', $isDebit, PDO::PARAM_BOOL);
|
||||||
|
$stmt->bindValue(':tag', $tag, PDO::PARAM_STR);
|
||||||
|
|
||||||
|
$result = $stmt->execute();
|
||||||
|
|
||||||
|
$db = null;
|
||||||
|
$response->getBody()->write(json_encode($result));
|
||||||
|
return $response
|
||||||
|
->withHeader('content-type', 'application/json')
|
||||||
|
->withStatus(200);
|
||||||
|
} catch(PDOException $e){
|
||||||
|
$error = array("message" => $e->getMessage());
|
||||||
|
|
||||||
|
$response->getBody()->write(json_encode($error));
|
||||||
|
return $response
|
||||||
|
->withHeader('content-type', 'application/json')
|
||||||
|
->withStatus(500);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
$app->delete('/Planification/delete/', function (Request $request, Response $response, array $args) {
|
||||||
|
$compte = $request->getParsedBody()["compte"];
|
||||||
|
$nom = $request->getParsedBody()["nom"];
|
||||||
|
|
||||||
|
$query = "DELETE FROM Planification WHERE compte=:compte AND nom=:nom";
|
||||||
|
|
||||||
|
try{
|
||||||
|
$db = new Database();
|
||||||
|
$conn = $db->connect();
|
||||||
|
|
||||||
|
$stmt = $conn->prepare($query);
|
||||||
|
$stmt->bindValue(':compte', $compte, PDO::PARAM_STR);
|
||||||
|
$stmt->bindValue(':nom', $nom, PDO::PARAM_STR);
|
||||||
|
|
||||||
|
$result = $stmt->execute();
|
||||||
|
|
||||||
|
$db = null;
|
||||||
|
$response->getBody()->write(json_encode($result));
|
||||||
|
return $response
|
||||||
|
->withHeader('content-type', 'application/json')
|
||||||
|
->withStatus(200);
|
||||||
|
|
||||||
|
} catch(PDOException $e){
|
||||||
|
$error = array("message" => $e->getMessage());
|
||||||
|
|
||||||
|
$response->getBody()->write(json_encode($error));
|
||||||
|
return $response
|
||||||
|
->withHeader('content-type', 'application/json')
|
||||||
|
->withStatus(500);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
?>
|
@ -1,17 +1,58 @@
|
|||||||
|
using Model;
|
||||||
|
|
||||||
namespace IHM.Desktop;
|
namespace IHM.Desktop;
|
||||||
|
|
||||||
public partial class CV_AddPlanification : ContentView
|
public partial class CV_AddPlanification : ContentView
|
||||||
{
|
{
|
||||||
public CV_AddPlanification()
|
public Manager Mgr => (App.Current as App).Manager;
|
||||||
|
public CV_AddPlanification()
|
||||||
{
|
{
|
||||||
InitializeComponent();
|
InitializeComponent();
|
||||||
}
|
Mgr.LoadBanque();
|
||||||
|
Mgr.LoadCompte();
|
||||||
|
|
||||||
private void annuler_button(object sender, EventArgs e)
|
|
||||||
{
|
|
||||||
|
|
||||||
|
|
||||||
}
|
BindingContext = Mgr;
|
||||||
|
}
|
||||||
|
|
||||||
|
private void Button_Annuler(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
Navigation.PushAsync(new Dashboard());
|
||||||
|
}
|
||||||
|
|
||||||
|
private void Button_Valider(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
string nom = name.Text;
|
||||||
|
double Montant = Double.Parse(montant.Text);
|
||||||
|
string Type = type.Text;
|
||||||
|
string Tag = tag.Text;
|
||||||
|
DateTime Date = date.Date;
|
||||||
|
TagOperation to2 = new TagOperation();
|
||||||
|
MethodePayement mp2 = new MethodePayement();
|
||||||
|
|
||||||
|
|
||||||
|
foreach (string mp in Enum.GetNames(typeof(MethodePayement)))
|
||||||
|
{
|
||||||
|
if (Equals(Type, mp))
|
||||||
|
{
|
||||||
|
mp2 = (MethodePayement)Enum.Parse(typeof(MethodePayement), Type);
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
foreach (string to in Enum.GetNames(typeof(TagOperation)))
|
||||||
|
{
|
||||||
|
if (Equals(Tag, to))
|
||||||
|
{
|
||||||
|
to2 = (TagOperation)Enum.Parse(typeof(TagOperation), Tag);
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
Model.Planification planification = new(nom, Montant, Date, mp2, to2,false);
|
||||||
|
|
||||||
|
Mgr.ajouterPlanification(Mgr.SelectedCompte, planification);
|
||||||
|
Navigation.PushAsync(new Dashboard());
|
||||||
|
}
|
||||||
}
|
}
|
@ -0,0 +1,43 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8" ?>
|
||||||
|
<ContentView xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
|
||||||
|
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
|
||||||
|
xmlns:inputs="clr-namespace:Syncfusion.Maui.Inputs;assembly=Syncfusion.Maui.Inputs"
|
||||||
|
x:Class="IHM.Desktop.CV_DeletePlanification">
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<Grid BackgroundColor="{StaticResource Tertiary}">
|
||||||
|
<Grid.RowDefinitions>
|
||||||
|
<RowDefinition Height="1*"/>
|
||||||
|
<RowDefinition Height="1*"/>
|
||||||
|
<RowDefinition Height="2*"/>
|
||||||
|
<RowDefinition Height="2*"/>
|
||||||
|
<RowDefinition Height="2*"/>
|
||||||
|
<RowDefinition Height="2*"/>
|
||||||
|
<RowDefinition Height="2*"/>
|
||||||
|
</Grid.RowDefinitions>
|
||||||
|
<Grid.ColumnDefinitions>
|
||||||
|
<ColumnDefinition Width="1*"/>
|
||||||
|
<ColumnDefinition Width="2*"/>
|
||||||
|
<ColumnDefinition Width="1*"/>
|
||||||
|
<ColumnDefinition Width="2*"/>
|
||||||
|
<ColumnDefinition Width="1*"/>
|
||||||
|
</Grid.ColumnDefinitions>
|
||||||
|
|
||||||
|
<Label Text="Supprimer une planification" Grid.Column="1" Grid.Row="0" Grid.ColumnSpan="3" Style="{StaticResource TitreWindows}" VerticalOptions="Center"/>
|
||||||
|
|
||||||
|
<Label Text="Selectionner la planification" Grid.ColumnSpan="3" Grid.Column="0" Grid.Row="3" Style="{StaticResource TitreWindows}" VerticalOptions="Center"/>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<inputs:SfComboBox HeightRequest="50" ItemsSource="{Binding SelectedCompte.LesPla}" Grid.Column="3" Grid.Row="3" x:Name="recup"/>
|
||||||
|
|
||||||
|
<Button Text="ANNULER" Clicked="Button_Annuler" Grid.Column="1" Grid.Row="5" Style="{StaticResource WindowsButton2}"/>
|
||||||
|
<Button Text="VALIDER" Clicked="Button_Valider" Grid.Column="3" Grid.Row="5" Style="{StaticResource WindowsButton}"/>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</Grid>
|
||||||
|
|
||||||
|
|
||||||
|
</ContentView>
|
@ -0,0 +1,29 @@
|
|||||||
|
using Model;
|
||||||
|
|
||||||
|
namespace IHM.Desktop;
|
||||||
|
|
||||||
|
public partial class CV_DeletePlanification : ContentView
|
||||||
|
{
|
||||||
|
public Manager Mgr => (App.Current as App).Manager;
|
||||||
|
public CV_DeletePlanification()
|
||||||
|
{
|
||||||
|
InitializeComponent();
|
||||||
|
Mgr.LoadBanque();
|
||||||
|
Mgr.LoadCompte();
|
||||||
|
|
||||||
|
BindingContext = Mgr;
|
||||||
|
}
|
||||||
|
|
||||||
|
private void Button_Annuler(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
Navigation.PushAsync(new Dashboard());
|
||||||
|
}
|
||||||
|
|
||||||
|
private void Button_Valider(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
var s = recup.SelectedItem;
|
||||||
|
Model.Planification planification = (Model.Planification)s;
|
||||||
|
Mgr.supprimerPlanification(Mgr.SelectedCompte, planification);
|
||||||
|
Navigation.PushAsync(new Dashboard());
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,42 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8" ?>
|
||||||
|
<ContentView xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
|
||||||
|
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
|
||||||
|
xmlns:inputs="clr-namespace:Syncfusion.Maui.Inputs;assembly=Syncfusion.Maui.Inputs"
|
||||||
|
x:Class="IHM.Desktop.CV_EnregistrerEcheance">
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<Grid BackgroundColor="{StaticResource Tertiary}">
|
||||||
|
<Grid.RowDefinitions>
|
||||||
|
<RowDefinition Height="1*"/>
|
||||||
|
<RowDefinition Height="1*"/>
|
||||||
|
<RowDefinition Height="2*"/>
|
||||||
|
<RowDefinition Height="2*"/>
|
||||||
|
<RowDefinition Height="2*"/>
|
||||||
|
<RowDefinition Height="2*"/>
|
||||||
|
<RowDefinition Height="2*"/>
|
||||||
|
</Grid.RowDefinitions>
|
||||||
|
<Grid.ColumnDefinitions>
|
||||||
|
<ColumnDefinition Width="1*"/>
|
||||||
|
<ColumnDefinition Width="2*"/>
|
||||||
|
<ColumnDefinition Width="1*"/>
|
||||||
|
<ColumnDefinition Width="2*"/>
|
||||||
|
<ColumnDefinition Width="1*"/>
|
||||||
|
</Grid.ColumnDefinitions>
|
||||||
|
|
||||||
|
<Label Text="Enregistrer une échéance" Grid.Column="1" Grid.Row="0" Grid.ColumnSpan="3" Style="{StaticResource TitreWindows}" VerticalOptions="Center"/>
|
||||||
|
|
||||||
|
<Label Text="Selectionner l'échéance" Grid.ColumnSpan="3" Grid.Column="0" Grid.Row="3" Style="{StaticResource TitreWindows}" VerticalOptions="Center"/>
|
||||||
|
|
||||||
|
|
||||||
|
<inputs:SfComboBox HeightRequest="50" ItemsSource="{Binding SelectedCompte.LesEch}" Grid.Column="3" Grid.Row="3" x:Name="recup"/>
|
||||||
|
|
||||||
|
<Button Text="ANNULER" Clicked="Button_Annuler" Grid.Column="1" Grid.Row="5" Style="{StaticResource WindowsButton2}"/>
|
||||||
|
<Button Text="VALIDER" Clicked="Button_Valider" Grid.Column="3" Grid.Row="5" Style="{StaticResource WindowsButton}"/>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</Grid>
|
||||||
|
|
||||||
|
|
||||||
|
</ContentView>
|
@ -0,0 +1,35 @@
|
|||||||
|
|
||||||
|
|
||||||
|
using Model;
|
||||||
|
|
||||||
|
namespace IHM.Desktop;
|
||||||
|
|
||||||
|
public partial class CV_EnregistrerEcheance : ContentView
|
||||||
|
{
|
||||||
|
public Manager Mgr => (App.Current as App).Manager;
|
||||||
|
public CV_EnregistrerEcheance()
|
||||||
|
{
|
||||||
|
InitializeComponent();
|
||||||
|
Mgr.LoadBanque();
|
||||||
|
Mgr.LoadCompte();
|
||||||
|
|
||||||
|
BindingContext = Mgr;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
private void Button_Annuler(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
Navigation.PushAsync(new Dashboard());
|
||||||
|
}
|
||||||
|
|
||||||
|
private void Button_Valider(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
var s = recup.SelectedItem;
|
||||||
|
Echeance ech = (Echeance)s;
|
||||||
|
Operation operation = new Operation(ech.Nom, ech.Montant, ech.DateOperation, ech.ModePayement,ech.Tag,ech.IsDebit);
|
||||||
|
|
||||||
|
Mgr.effectuerOperation(Mgr.SelectedCompte, operation);
|
||||||
|
Mgr.supprimerEcheance(Mgr.SelectedCompte, ech);
|
||||||
|
Navigation.PushAsync(new Dashboard());
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,153 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8" ?>
|
||||||
|
<ContentView xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
|
||||||
|
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
|
||||||
|
x:Class="IHM.Desktop.CV_HomePage">
|
||||||
|
<Border Stroke="{StaticResource Yellow100Accent}" StrokeThickness="4" Margin="10" StrokeShape="RoundRectangle 45,5,5,45">
|
||||||
|
|
||||||
|
<Grid BackgroundColor="{StaticResource Tertiary}">
|
||||||
|
<Grid.RowDefinitions>
|
||||||
|
<RowDefinition Height="0.25*"/>
|
||||||
|
<RowDefinition Height="0.25*"/>
|
||||||
|
<RowDefinition Height="0.1*"/>
|
||||||
|
<RowDefinition Height="0.5*"/>
|
||||||
|
<RowDefinition Height="0.1*"/>
|
||||||
|
<RowDefinition Height="1*"/>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</Grid.RowDefinitions>
|
||||||
|
|
||||||
|
<Grid.ColumnDefinitions>
|
||||||
|
|
||||||
|
<ColumnDefinition Width="1*"/>
|
||||||
|
<ColumnDefinition Width="1*"/>
|
||||||
|
|
||||||
|
</Grid.ColumnDefinitions>
|
||||||
|
|
||||||
|
<Label Grid.Row="0" Grid.Column="0" Grid.ColumnSpan="2"
|
||||||
|
|
||||||
|
Text="BANQUE"
|
||||||
|
VerticalOptions="Center"
|
||||||
|
HorizontalOptions="Center"
|
||||||
|
Style="{StaticResource TitreWindows}"
|
||||||
|
/>
|
||||||
|
|
||||||
|
<HorizontalStackLayout Grid.Row="1" Grid.ColumnSpan="2" HorizontalOptions="Center" >
|
||||||
|
<Picker Title="Choisir une Banque"
|
||||||
|
TitleColor="Black"
|
||||||
|
TextColor="Black"
|
||||||
|
ItemsSource="{Binding ListeDesBanques}"
|
||||||
|
ItemDisplayBinding="{Binding Name}"
|
||||||
|
SelectedItem="{Binding SelectedBanque}"
|
||||||
|
Margin="0,0,30,0"/>
|
||||||
|
<Picker Title="Choisir un Compte"
|
||||||
|
ItemsSource="{Binding ListeDesComptes}"
|
||||||
|
ItemDisplayBinding="{Binding Nom}"
|
||||||
|
SelectedItem="{Binding SelectedCompte}"
|
||||||
|
Margin="30,0,0,0"/>
|
||||||
|
</HorizontalStackLayout>
|
||||||
|
|
||||||
|
<Label Grid.Row="2" Grid.Column="0" Grid.RowSpan="2" Grid.ColumnSpan="2"
|
||||||
|
HorizontalOptions="Center"
|
||||||
|
Text="Réactualiser mes banques :"
|
||||||
|
FontSize="20"
|
||||||
|
TextColor="Black"/>
|
||||||
|
<ContentView Grid.Row="3" Grid.Column="0" Grid.RowSpan="2" Grid.ColumnSpan="2" >
|
||||||
|
<CollectionView Grid.Row="2" Grid.Column="0" Grid.RowSpan="2" Grid.ColumnSpan="2" ItemsSource="{Binding ListeDesBanques}" >
|
||||||
|
<CollectionView.ItemTemplate>
|
||||||
|
<DataTemplate>
|
||||||
|
<Grid>
|
||||||
|
<Grid.ColumnDefinitions>
|
||||||
|
<ColumnDefinition Width="1.75*"/>
|
||||||
|
<ColumnDefinition Width="0.5*"/>
|
||||||
|
<ColumnDefinition Width="1.5*"/>
|
||||||
|
<ColumnDefinition Width="0.5*"/>
|
||||||
|
</Grid.ColumnDefinitions>
|
||||||
|
|
||||||
|
|
||||||
|
<Label Grid.Column="0" Text="{Binding Name}"
|
||||||
|
FontAttributes="Bold" FontSize="Body"
|
||||||
|
HorizontalOptions="Center"
|
||||||
|
VerticalOptions="Center"
|
||||||
|
TextColor="Black"/>
|
||||||
|
|
||||||
|
<ImageButton Grid.Column="2" Source="reload_banks.png"
|
||||||
|
Padding="10" Margin="5"
|
||||||
|
CornerRadius="10" HeightRequest="45"
|
||||||
|
BackgroundColor="{StaticResource Primary}"/>
|
||||||
|
|
||||||
|
</Grid>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</DataTemplate>
|
||||||
|
</CollectionView.ItemTemplate>
|
||||||
|
</CollectionView>
|
||||||
|
</ContentView>
|
||||||
|
|
||||||
|
<Label Grid.Row="4" Grid.Column="0" Grid.RowSpan="2" Grid.ColumnSpan="2"
|
||||||
|
HorizontalOptions="Center"
|
||||||
|
Text="Ajouter une banque :"
|
||||||
|
FontSize="20"
|
||||||
|
TextColor="Black"/>
|
||||||
|
|
||||||
|
<ScrollView Grid.Row="5" Grid.Column="0" Grid.RowSpan="2" Grid.ColumnSpan="2" Scale="0.8">
|
||||||
|
<VerticalStackLayout>
|
||||||
|
|
||||||
|
<Border Grid.Row="2" Grid.Column="0" Grid.ColumnSpan="3"
|
||||||
|
BackgroundColor="{StaticResource Tertiary}"
|
||||||
|
StrokeShape="RoundRectangle 20" Margin="10">
|
||||||
|
<Grid>
|
||||||
|
<Grid.ColumnDefinitions>
|
||||||
|
<ColumnDefinition Width="1.75*"/>
|
||||||
|
<ColumnDefinition/>
|
||||||
|
</Grid.ColumnDefinitions>
|
||||||
|
|
||||||
|
<Label Grid.Column="0" Text="Importer depuis un fichier" TextColor="Black"
|
||||||
|
FontAttributes="Bold" FontSize="Body"
|
||||||
|
HorizontalOptions="Center"
|
||||||
|
VerticalOptions="Center"/>
|
||||||
|
<ImageButton Grid.Column="2" Source="import_from_file.png"
|
||||||
|
Padding="10" Margin="5"
|
||||||
|
CornerRadius="10" HeightRequest="65"
|
||||||
|
BackgroundColor="{StaticResource Primary}"
|
||||||
|
Clicked="ImportOFX_Clicked"/>
|
||||||
|
|
||||||
|
</Grid>
|
||||||
|
</Border>
|
||||||
|
|
||||||
|
<CollectionView ItemsSource="{Binding BanquesDisponibleInApp}">
|
||||||
|
<CollectionView.ItemTemplate>
|
||||||
|
<DataTemplate>
|
||||||
|
<Grid>
|
||||||
|
<Grid.ColumnDefinitions>
|
||||||
|
<ColumnDefinition Width="1.75*"/>
|
||||||
|
<ColumnDefinition/>
|
||||||
|
</Grid.ColumnDefinitions>
|
||||||
|
|
||||||
|
<Label Grid.Column="0" Text="{Binding Nom}"
|
||||||
|
FontAttributes="Bold" FontSize="Body"
|
||||||
|
HorizontalOptions="Center"
|
||||||
|
VerticalOptions="Center"
|
||||||
|
TextColor="Black"/>
|
||||||
|
<ImageButton Grid.Column="2" Source="add_new_banks.png"
|
||||||
|
Padding="10" Margin="5"
|
||||||
|
CornerRadius="10" HeightRequest="65"
|
||||||
|
BackgroundColor="{StaticResource Primary}"
|
||||||
|
Clicked="AddBanque_Clicked"/>
|
||||||
|
|
||||||
|
</Grid>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</DataTemplate>
|
||||||
|
</CollectionView.ItemTemplate>
|
||||||
|
</CollectionView>
|
||||||
|
|
||||||
|
</VerticalStackLayout>
|
||||||
|
</ScrollView>
|
||||||
|
|
||||||
|
|
||||||
|
</Grid>
|
||||||
|
</Border>
|
||||||
|
</ContentView>
|
@ -0,0 +1,30 @@
|
|||||||
|
using Model;
|
||||||
|
|
||||||
|
namespace IHM.Desktop;
|
||||||
|
|
||||||
|
public partial class CV_HomePage : ContentView
|
||||||
|
{
|
||||||
|
public Manager Mgr => (App.Current as App).Manager;
|
||||||
|
public CV_HomePage()
|
||||||
|
{
|
||||||
|
InitializeComponent();
|
||||||
|
|
||||||
|
Mgr.LoadBanque();
|
||||||
|
Mgr.LoadCompte();
|
||||||
|
Mgr.LoadBanqueDispo();
|
||||||
|
BindingContext = Mgr;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
private void ImportOFX_Clicked(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
private void AddBanque_Clicked(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,53 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8" ?>
|
||||||
|
<ContentView xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
|
||||||
|
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
|
||||||
|
x:Class="IHM.Desktop.CV_Log">
|
||||||
|
|
||||||
|
<Border Stroke="{StaticResource Gray100}" StrokeThickness="4" Margin="10" StrokeShape="RoundRectangle 45,5,5,45">
|
||||||
|
|
||||||
|
<Grid BackgroundColor="{StaticResource Yellow100Accent}">
|
||||||
|
<Grid.RowDefinitions>
|
||||||
|
<RowDefinition Height="1*"/>
|
||||||
|
<RowDefinition Height="1*"/>
|
||||||
|
<RowDefinition Height="1*"/>
|
||||||
|
<RowDefinition Height="1*"/>
|
||||||
|
<RowDefinition Height="1*"/>
|
||||||
|
<RowDefinition Height="1*"/>
|
||||||
|
|
||||||
|
</Grid.RowDefinitions>
|
||||||
|
|
||||||
|
<Grid.ColumnDefinitions>
|
||||||
|
<ColumnDefinition Width="1*"/>
|
||||||
|
<ColumnDefinition Width="1*"/>
|
||||||
|
<ColumnDefinition Width="1*"/>
|
||||||
|
<ColumnDefinition Width="1*"/>
|
||||||
|
</Grid.ColumnDefinitions>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<Label
|
||||||
|
Grid.Column="0" Grid.Row="0" Grid.ColumnSpan="4"
|
||||||
|
VerticalOptions="Center"
|
||||||
|
Style="{StaticResource TitreWindows}"
|
||||||
|
Text="GESTION DU COMPTE"
|
||||||
|
HorizontalOptions="Center"/>
|
||||||
|
|
||||||
|
<Label Text="Nom" Grid.Column="0" Grid.Row="2" Grid.ColumnSpan="2" Style="{StaticResource TitreWindows}"/>
|
||||||
|
<Label Grid.ColumnSpan="2" Grid.Column="2" Grid.Row="2" Style="{StaticResource TitreWindows}" Text="{Binding Nom}"/>
|
||||||
|
|
||||||
|
<Label Text="Prenom" Grid.Column="0" Grid.Row="3" Grid.ColumnSpan="2" Style="{StaticResource TitreWindows}"/>
|
||||||
|
<Label Grid.ColumnSpan="2" Grid.Column="2" Grid.Row="3" Style="{StaticResource TitreWindows}" Text="{Binding Prenom}"/>
|
||||||
|
|
||||||
|
<Label Text="Email" Grid.Column="0" Grid.Row="4" Grid.ColumnSpan="2" Style="{StaticResource TitreWindows}"/>
|
||||||
|
<Label Grid.ColumnSpan="2" Grid.Column="2" Grid.Row="4" Style="{StaticResource TitreWindows}" Text="{Binding Mail}"/>
|
||||||
|
|
||||||
|
|
||||||
|
<Button Text="QUITTER" Clicked="Button_Quitter" Grid.Column="6" Grid.Row="0" Margin="25" Style="{StaticResource WindowsButton2}"/>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</Grid>
|
||||||
|
</Border>
|
||||||
|
</ContentView>
|
@ -0,0 +1,21 @@
|
|||||||
|
|
||||||
|
using Model;
|
||||||
|
|
||||||
|
|
||||||
|
namespace IHM.Desktop;
|
||||||
|
|
||||||
|
public partial class CV_Log : ContentView
|
||||||
|
{
|
||||||
|
public Manager Mgr => (App.Current as App).Manager;
|
||||||
|
public CV_Log()
|
||||||
|
{
|
||||||
|
InitializeComponent();
|
||||||
|
|
||||||
|
BindingContext = Mgr.User;
|
||||||
|
}
|
||||||
|
|
||||||
|
private void Button_Quitter(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
Microsoft.Maui.Controls.Application.Current?.CloseWindow(Microsoft.Maui.Controls.Application.Current.MainPage.Window);
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,150 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8" ?>
|
||||||
|
<ContentView xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
|
||||||
|
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
|
||||||
|
xmlns:chart="clr-namespace:Syncfusion.Maui.Charts;assembly=Syncfusion.Maui.Charts"
|
||||||
|
xmlns:model="clr-namespace:IHM.Desktop"
|
||||||
|
x:Class="IHM.Desktop.CV_Statistiques">
|
||||||
|
|
||||||
|
|
||||||
|
<Border Stroke="{StaticResource Yellow100Accent}" StrokeThickness="4" Margin="10" StrokeShape="RoundRectangle 45,5,5,45">
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<Grid BackgroundColor="{StaticResource Tertiary}">
|
||||||
|
<Grid.RowDefinitions>
|
||||||
|
<RowDefinition Height="0.5*"/>
|
||||||
|
<RowDefinition Height="0.75*"/>
|
||||||
|
<RowDefinition Height="5*"/>
|
||||||
|
<RowDefinition Height="1*"/>
|
||||||
|
|
||||||
|
</Grid.RowDefinitions>
|
||||||
|
<Grid.ColumnDefinitions>
|
||||||
|
<ColumnDefinition Width="1*"/>
|
||||||
|
<ColumnDefinition Width="1*"/>
|
||||||
|
</Grid.ColumnDefinitions>
|
||||||
|
|
||||||
|
<Label
|
||||||
|
Grid.Row="0" Grid.ColumnSpan="2"
|
||||||
|
Style="{StaticResource TitreWindows}"
|
||||||
|
Text="STATISTIQUES"
|
||||||
|
VerticalOptions="Center"
|
||||||
|
HorizontalOptions="Center"/>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<ContentView Grid.Column="0" Grid.Row="1" Grid.ColumnSpan="2" Grid.RowSpan="3" Margin="15" x:Name="windowAjout">
|
||||||
|
<Grid >
|
||||||
|
<Grid.RowDefinitions>
|
||||||
|
<RowDefinition Height="1*"/>
|
||||||
|
<RowDefinition Height="1*"/>
|
||||||
|
<RowDefinition Height="2*"/>
|
||||||
|
<RowDefinition Height="2*"/>
|
||||||
|
<RowDefinition Height="2*"/>
|
||||||
|
<RowDefinition Height="2*"/>
|
||||||
|
<RowDefinition Height="2*"/>
|
||||||
|
</Grid.RowDefinitions>
|
||||||
|
<Grid.ColumnDefinitions>
|
||||||
|
<ColumnDefinition Width="1*"/>
|
||||||
|
<ColumnDefinition Width="2*"/>
|
||||||
|
<ColumnDefinition Width="1*"/>
|
||||||
|
<ColumnDefinition Width="2*"/>
|
||||||
|
<ColumnDefinition Width="1*"/>
|
||||||
|
</Grid.ColumnDefinitions>
|
||||||
|
|
||||||
|
<!-- <Switch IsToggled="true" Grid.Column="1" OnColor="{StaticResource Primary}" ThumbColor="{StaticResource Secondary}" Scale="1.5" /> -->
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<chart:SfCartesianChart Grid.Column="0" Grid.Row="1" Grid.ColumnSpan="2" Grid.RowSpan="5" Margin="50,0,0,0">
|
||||||
|
|
||||||
|
<chart:ColumnSeries
|
||||||
|
Label="Dépense en €"
|
||||||
|
ItemsSource="{Binding SelectedCompte.LesEch} "
|
||||||
|
XBindingPath="Tag"
|
||||||
|
YBindingPath="Montant"
|
||||||
|
ShowDataLabels="True"
|
||||||
|
|
||||||
|
>
|
||||||
|
|
||||||
|
<chart:ColumnSeries.DataLabelSettings>
|
||||||
|
<chart:CartesianDataLabelSettings LabelPlacement="Inner"/>
|
||||||
|
</chart:ColumnSeries.DataLabelSettings>
|
||||||
|
|
||||||
|
</chart:ColumnSeries>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<chart:SfCartesianChart.Title Grid.Column="4">
|
||||||
|
<Label Text="Consommation par type" TextColor="{StaticResource Secondary}" FontSize="Large" FontAttributes="Bold"/>
|
||||||
|
</chart:SfCartesianChart.Title>
|
||||||
|
|
||||||
|
<chart:SfCartesianChart.Legend>
|
||||||
|
<chart:ChartLegend/>
|
||||||
|
</chart:SfCartesianChart.Legend>
|
||||||
|
|
||||||
|
<chart:SfCartesianChart.XAxes>
|
||||||
|
<chart:CategoryAxis>
|
||||||
|
<chart:CategoryAxis.Title>
|
||||||
|
<chart:ChartAxisTitle Text="Tag"/>
|
||||||
|
</chart:CategoryAxis.Title>
|
||||||
|
</chart:CategoryAxis>
|
||||||
|
</chart:SfCartesianChart.XAxes>
|
||||||
|
|
||||||
|
<chart:SfCartesianChart.YAxes>
|
||||||
|
<chart:NumericalAxis>
|
||||||
|
<chart:NumericalAxis.Title>
|
||||||
|
<chart:ChartAxisTitle Text="Montant"/>
|
||||||
|
</chart:NumericalAxis.Title>
|
||||||
|
</chart:NumericalAxis>
|
||||||
|
</chart:SfCartesianChart.YAxes>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</chart:SfCartesianChart>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<chart:SfCircularChart Grid.Column="3" Grid.Row="1" Grid.ColumnSpan="2" Grid.RowSpan="5">
|
||||||
|
<chart:SfCircularChart.Title>
|
||||||
|
<Label Text="Nombre d'achat par type" TextColor="{StaticResource Secondary}" Grid.Column="4" FontSize="Large" FontAttributes="Bold"/>
|
||||||
|
</chart:SfCircularChart.Title>
|
||||||
|
<chart:PieSeries ItemsSource="{Binding SelectedCompte.LesOpe}"
|
||||||
|
XBindingPath="Montant"
|
||||||
|
YBindingPath="Tag"
|
||||||
|
Radius = "1"
|
||||||
|
ShowDataLabels="True"
|
||||||
|
/>
|
||||||
|
|
||||||
|
<chart:SfCircularChart.Legend>
|
||||||
|
<chart:ChartLegend/>
|
||||||
|
</chart:SfCircularChart.Legend>
|
||||||
|
</chart:SfCircularChart>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</Grid>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</ContentView>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</Grid>
|
||||||
|
</Border>
|
||||||
|
|
||||||
|
</ContentView>
|
@ -0,0 +1,16 @@
|
|||||||
|
namespace IHM.Desktop;
|
||||||
|
using Model;
|
||||||
|
|
||||||
|
public partial class CV_Statistiques : ContentView
|
||||||
|
{
|
||||||
|
public Manager Mgr => (App.Current as App).Manager;
|
||||||
|
public CV_Statistiques()
|
||||||
|
{
|
||||||
|
InitializeComponent();
|
||||||
|
|
||||||
|
Mgr.LoadBanque();
|
||||||
|
Mgr.LoadCompte();
|
||||||
|
|
||||||
|
BindingContext = Mgr;
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,46 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8" ?>
|
||||||
|
<ContentView xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
|
||||||
|
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
|
||||||
|
xmlns:inputs="clr-namespace:Syncfusion.Maui.Inputs;assembly=Syncfusion.Maui.Inputs"
|
||||||
|
x:Class="IHM.Desktop.CV_SupprimerEcheance">
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<Grid BackgroundColor="{StaticResource Tertiary}">
|
||||||
|
<Grid.RowDefinitions>
|
||||||
|
<RowDefinition Height="1*"/>
|
||||||
|
<RowDefinition Height="1*"/>
|
||||||
|
<RowDefinition Height="2*"/>
|
||||||
|
<RowDefinition Height="2*"/>
|
||||||
|
<RowDefinition Height="2*"/>
|
||||||
|
<RowDefinition Height="2*"/>
|
||||||
|
<RowDefinition Height="2*"/>
|
||||||
|
</Grid.RowDefinitions>
|
||||||
|
<Grid.ColumnDefinitions>
|
||||||
|
<ColumnDefinition Width="1*"/>
|
||||||
|
<ColumnDefinition Width="2*"/>
|
||||||
|
<ColumnDefinition Width="1*"/>
|
||||||
|
<ColumnDefinition Width="2*"/>
|
||||||
|
<ColumnDefinition Width="1*"/>
|
||||||
|
</Grid.ColumnDefinitions>
|
||||||
|
|
||||||
|
<Label Text="Supprimer une échéance" Grid.Column="1" Grid.Row="0" Grid.ColumnSpan="3" Style="{StaticResource TitreWindows}" VerticalOptions="Center"/>
|
||||||
|
|
||||||
|
<Label Text="Selectionner l'échéance" Grid.ColumnSpan="3" Grid.Column="0" Grid.Row="3" Style="{StaticResource TitreWindows}" VerticalOptions="Center"/>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<inputs:SfComboBox HeightRequest="50" ItemsSource="{Binding SelectedCompte.LesEch}" Grid.Column="3" Grid.Row="3" x:Name="recup"/>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<Button Text="ANNULER" Clicked="Button_Annuler" Grid.Column="1" Grid.Row="5" Style="{StaticResource WindowsButton2}"/>
|
||||||
|
<Button Text="VALIDER" Clicked="Button_Valider" Grid.Column="3" Grid.Row="5" Style="{StaticResource WindowsButton}"/>
|
||||||
|
|
||||||
|
</Grid>
|
||||||
|
|
||||||
|
|
||||||
|
</ContentView>
|
@ -0,0 +1,34 @@
|
|||||||
|
|
||||||
|
using Model;
|
||||||
|
|
||||||
|
namespace IHM.Desktop;
|
||||||
|
|
||||||
|
public partial class CV_SupprimerEcheance : ContentView
|
||||||
|
{
|
||||||
|
public Manager Mgr => (App.Current as App).Manager;
|
||||||
|
|
||||||
|
public CV_SupprimerEcheance()
|
||||||
|
{
|
||||||
|
InitializeComponent();
|
||||||
|
|
||||||
|
|
||||||
|
Mgr.LoadBanque();
|
||||||
|
Mgr.LoadCompte();
|
||||||
|
|
||||||
|
BindingContext = Mgr;
|
||||||
|
}
|
||||||
|
|
||||||
|
private void Button_Annuler(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
Navigation.PushAsync(new Dashboard());
|
||||||
|
}
|
||||||
|
|
||||||
|
private void Button_Valider(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
var s = recup.SelectedItem;
|
||||||
|
Echeance echeance = (Echeance)s;
|
||||||
|
Mgr.supprimerEcheance(Mgr.SelectedCompte, echeance);
|
||||||
|
Navigation.PushAsync(new Dashboard());
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,47 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8" ?>
|
||||||
|
<ContentView xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
|
||||||
|
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
|
||||||
|
x:Class="IHM.Desktop.CV_credit">
|
||||||
|
|
||||||
|
|
||||||
|
<Grid BackgroundColor="{StaticResource Tertiary}">
|
||||||
|
<Grid.RowDefinitions>
|
||||||
|
<RowDefinition Height="1*"/>
|
||||||
|
<RowDefinition Height="1*"/>
|
||||||
|
<RowDefinition Height="2*"/>
|
||||||
|
<RowDefinition Height="2*"/>
|
||||||
|
<RowDefinition Height="2*"/>
|
||||||
|
<RowDefinition Height="2*"/>
|
||||||
|
<RowDefinition Height="2*"/>
|
||||||
|
<RowDefinition Height="2*"/>
|
||||||
|
<RowDefinition Height="2*"/>
|
||||||
|
</Grid.RowDefinitions>
|
||||||
|
<Grid.ColumnDefinitions>
|
||||||
|
<ColumnDefinition Width="1*"/>
|
||||||
|
<ColumnDefinition Width="2*"/>
|
||||||
|
<ColumnDefinition Width="1*"/>
|
||||||
|
<ColumnDefinition Width="2*"/>
|
||||||
|
<ColumnDefinition Width="1*"/>
|
||||||
|
</Grid.ColumnDefinitions>
|
||||||
|
|
||||||
|
|
||||||
|
<Label Text="Effectuer un crédit" VerticalOptions="Center" Grid.Column="0" Grid.Row="0" Grid.ColumnSpan="5" Style="{StaticResource TitreWindows}"/>
|
||||||
|
<Label Text="Nom" Grid.Column="1" Grid.Row="2" Style="{StaticResource TitreWindows}" Margin="20"/>
|
||||||
|
<Label Text="Montant" Grid.Column="1" Grid.Row="3" Style="{StaticResource TitreWindows}" Margin="20"/>
|
||||||
|
<Label Text="Type" Grid.Column="1" Grid.Row="4" Style="{StaticResource TitreWindows}" Margin="20"/>
|
||||||
|
<Label Text="Tag" Grid.Column="1" Grid.Row="5" Style="{StaticResource TitreWindows}" Margin="20"/>
|
||||||
|
<Label Text="Date" Grid.Column="1" Grid.Row="6" Style="{StaticResource TitreWindows}" Margin="20"/>
|
||||||
|
|
||||||
|
|
||||||
|
<Entry Placeholder="Entrez un nom" Grid.Column="3" Grid.Row="2" Style="{StaticResource zoneDeTexte}" Margin="20" x:Name="name" IsTextPredictionEnabled="True"/>
|
||||||
|
<Entry Placeholder="Entrez un montant" Grid.Column="3" Grid.Row="3" Style="{StaticResource zoneDeTexte}" Margin="20" x:Name="montant"/>
|
||||||
|
<Entry Placeholder="Entrez un moyen de paiement" Grid.Column="3" Grid.Row="4" Style="{StaticResource zoneDeTexte}" Margin="20" x:Name="type"/>
|
||||||
|
<Entry Placeholder="Entrez une catégorie" Grid.Column="3" Grid.Row="5" Style="{StaticResource zoneDeTexte}" Margin="20" x:Name="tag"/>
|
||||||
|
<DatePicker Grid.Column="3" Grid.Row="6" BackgroundColor="{StaticResource Secondary}" Margin="20" x:Name="date"/>
|
||||||
|
|
||||||
|
<Button Text="ANNULER" Clicked="Button_Annuler" Grid.Column="1" Grid.Row="7" Style="{StaticResource WindowsButton2}"/>
|
||||||
|
<Button Text="VALIDER" Clicked="Button_Valider" Grid.Column="3" Grid.Row="7" Style="{StaticResource WindowsButton}"/>
|
||||||
|
|
||||||
|
</Grid>
|
||||||
|
|
||||||
|
</ContentView>
|
@ -0,0 +1,64 @@
|
|||||||
|
|
||||||
|
using Model;
|
||||||
|
|
||||||
|
namespace IHM.Desktop;
|
||||||
|
|
||||||
|
public partial class CV_credit : ContentView
|
||||||
|
{
|
||||||
|
public Manager Mgr => (App.Current as App).Manager;
|
||||||
|
public CV_credit()
|
||||||
|
{
|
||||||
|
InitializeComponent();
|
||||||
|
Mgr.LoadBanque();
|
||||||
|
Mgr.LoadCompte();
|
||||||
|
|
||||||
|
BindingContext = Mgr;
|
||||||
|
}
|
||||||
|
|
||||||
|
private void Button_Annuler(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
Navigation.PushAsync(new Dashboard());
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
private void Button_Valider(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
string nom = name.Text;
|
||||||
|
double Montant = Double.Parse(montant.Text);
|
||||||
|
string Type = type.Text;
|
||||||
|
string Tag = tag.Text;
|
||||||
|
DateTime Date = date.Date;
|
||||||
|
TagOperation to2 = new TagOperation();
|
||||||
|
MethodePayement mp2 = new MethodePayement();
|
||||||
|
|
||||||
|
|
||||||
|
foreach (string mp in Enum.GetNames(typeof(MethodePayement)))
|
||||||
|
{
|
||||||
|
if (Equals(Type, mp))
|
||||||
|
{
|
||||||
|
mp2 = (MethodePayement) Enum.Parse(typeof(MethodePayement), Type);
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
foreach (string to in Enum.GetNames(typeof(TagOperation)))
|
||||||
|
{
|
||||||
|
if (Equals(Tag, to))
|
||||||
|
{
|
||||||
|
to2 = (TagOperation)Enum.Parse(typeof(TagOperation), Tag);
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
Operation operation = new Operation(nom, Montant, Date, mp2, to2, false, false) ;
|
||||||
|
Mgr.effectuerOperation(Mgr.SelectedCompte, operation);
|
||||||
|
|
||||||
|
Navigation.PushAsync(new Dashboard());
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
@ -0,0 +1,48 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8" ?>
|
||||||
|
<ContentView xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
|
||||||
|
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
|
||||||
|
x:Class="IHM.Desktop.CV_debit">
|
||||||
|
|
||||||
|
|
||||||
|
<Grid BackgroundColor="{StaticResource Tertiary}">
|
||||||
|
<Grid.RowDefinitions>
|
||||||
|
<RowDefinition Height="1*"/>
|
||||||
|
<RowDefinition Height="1*"/>
|
||||||
|
<RowDefinition Height="2*"/>
|
||||||
|
<RowDefinition Height="2*"/>
|
||||||
|
<RowDefinition Height="2*"/>
|
||||||
|
<RowDefinition Height="2*"/>
|
||||||
|
<RowDefinition Height="2*"/>
|
||||||
|
<RowDefinition Height="2*"/>
|
||||||
|
<RowDefinition Height="2*"/>
|
||||||
|
</Grid.RowDefinitions>
|
||||||
|
<Grid.ColumnDefinitions>
|
||||||
|
<ColumnDefinition Width="1*"/>
|
||||||
|
<ColumnDefinition Width="2*"/>
|
||||||
|
<ColumnDefinition Width="1*"/>
|
||||||
|
<ColumnDefinition Width="2*"/>
|
||||||
|
<ColumnDefinition Width="1*"/>
|
||||||
|
</Grid.ColumnDefinitions>
|
||||||
|
|
||||||
|
|
||||||
|
<Label Text="Effectuer un débit" Grid.Column="0" Grid.Row="0" Grid.ColumnSpan="5" Style="{StaticResource TitreWindows}" VerticalOptions="Center" />
|
||||||
|
<Label Text="Nom" Grid.Column="1" Grid.Row="2" Style="{StaticResource TitreWindows}" Margin="20"/>
|
||||||
|
<Label Text="Montant" Grid.Column="1" Grid.Row="3" Style="{StaticResource TitreWindows}" Margin="20"/>
|
||||||
|
<Label Text="Type" Grid.Column="1" Grid.Row="4" Style="{StaticResource TitreWindows}" Margin="20"/>
|
||||||
|
<Label Text="Tag" Grid.Column="1" Grid.Row="5" Style="{StaticResource TitreWindows}" Margin="20"/>
|
||||||
|
<Label Text="Date" Grid.Column="1" Grid.Row="6" Style="{StaticResource TitreWindows}" Margin="20"/>
|
||||||
|
|
||||||
|
|
||||||
|
<Entry Placeholder="Entrez un nom" Grid.Column="3" Grid.Row="2" Style="{StaticResource zoneDeTexte}" Margin="20" x:Name="name" IsTextPredictionEnabled="True"/>
|
||||||
|
<Entry Placeholder="Entrez un montant" Grid.Column="3" Grid.Row="3" Style="{StaticResource zoneDeTexte}" Margin="20" x:Name="montant"/>
|
||||||
|
<Entry Placeholder="Entrez un moyen de paiement" Grid.Column="3" Grid.Row="4" Style="{StaticResource zoneDeTexte}" Margin="20" x:Name="type"/>
|
||||||
|
<Entry Placeholder="Entrez une catégorie" Grid.Column="3" Grid.Row="5" Style="{StaticResource zoneDeTexte}" Margin="20" x:Name="tag"/>
|
||||||
|
<DatePicker Grid.Column="3" Grid.Row="6" BackgroundColor="{StaticResource Secondary}" Margin="20" x:Name="date"/>
|
||||||
|
|
||||||
|
<Button Text="ANNULER" Clicked="Button_Annuler" Grid.Column="1" Grid.Row="7" Style="{StaticResource WindowsButton2}"/>
|
||||||
|
<Button Text="VALIDER" Clicked="Button_Valider" Grid.Column="3" Grid.Row="7" Style="{StaticResource WindowsButton}"/>
|
||||||
|
|
||||||
|
</Grid>
|
||||||
|
|
||||||
|
|
||||||
|
</ContentView>
|
@ -0,0 +1,56 @@
|
|||||||
|
using Model;
|
||||||
|
|
||||||
|
namespace IHM.Desktop;
|
||||||
|
|
||||||
|
public partial class CV_debit : ContentView
|
||||||
|
{
|
||||||
|
public Manager Mgr => (App.Current as App).Manager;
|
||||||
|
public CV_debit()
|
||||||
|
{
|
||||||
|
InitializeComponent();
|
||||||
|
Mgr.LoadBanque();
|
||||||
|
Mgr.LoadCompte();
|
||||||
|
|
||||||
|
BindingContext = Mgr;
|
||||||
|
}
|
||||||
|
|
||||||
|
private void Button_Annuler(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
Navigation.PushAsync(new Dashboard());
|
||||||
|
}
|
||||||
|
|
||||||
|
private void Button_Valider(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
string nom = name.Text;
|
||||||
|
double Montant = Double.Parse(montant.Text);
|
||||||
|
string Type = type.Text;
|
||||||
|
string Tag = tag.Text;
|
||||||
|
DateTime Date = date.Date;
|
||||||
|
TagOperation to2 = new TagOperation();
|
||||||
|
MethodePayement mp2 = new MethodePayement();
|
||||||
|
|
||||||
|
|
||||||
|
foreach (string mp in Enum.GetNames(typeof(MethodePayement)))
|
||||||
|
{
|
||||||
|
if (Equals(Type, mp))
|
||||||
|
{
|
||||||
|
mp2 = (MethodePayement)Enum.Parse(typeof(MethodePayement), Type);
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
foreach (string to in Enum.GetNames(typeof(TagOperation)))
|
||||||
|
{
|
||||||
|
if (Equals(Tag, to))
|
||||||
|
{
|
||||||
|
to2 = (TagOperation)Enum.Parse(typeof(TagOperation), Tag);
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
Operation operation = new Operation(nom, Montant, Date, mp2, to2, false, true);
|
||||||
|
Mgr.effectuerOperation(Mgr.SelectedCompte, operation);
|
||||||
|
Navigation.PushAsync(new Dashboard());
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,41 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8" ?>
|
||||||
|
<ContentView xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
|
||||||
|
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
|
||||||
|
x:Class="IHM.Desktop.CV_modificationSolde">
|
||||||
|
|
||||||
|
|
||||||
|
<Grid BackgroundColor="{StaticResource Tertiary}">
|
||||||
|
<Grid.RowDefinitions>
|
||||||
|
<RowDefinition Height="1*"/>
|
||||||
|
<RowDefinition Height="1*"/>
|
||||||
|
<RowDefinition Height="2*"/>
|
||||||
|
<RowDefinition Height="2*"/>
|
||||||
|
<RowDefinition Height="2*"/>
|
||||||
|
<RowDefinition Height="2*"/>
|
||||||
|
<RowDefinition Height="2*"/>
|
||||||
|
</Grid.RowDefinitions>
|
||||||
|
<Grid.ColumnDefinitions>
|
||||||
|
<ColumnDefinition Width="1*"/>
|
||||||
|
<ColumnDefinition Width="2*"/>
|
||||||
|
<ColumnDefinition Width="1*"/>
|
||||||
|
<ColumnDefinition Width="2*"/>
|
||||||
|
<ColumnDefinition Width="1*"/>
|
||||||
|
</Grid.ColumnDefinitions>
|
||||||
|
|
||||||
|
|
||||||
|
<Label Text="Modification du solde" Grid.Column="1" Grid.Row="0" Grid.ColumnSpan="3" Style="{StaticResource TitreWindows}" VerticalOptions="Center"/>
|
||||||
|
|
||||||
|
<Label Text="Montant" Grid.Column="1" Grid.Row="3" Style="{StaticResource TitreWindows}" Margin="20"/>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<Entry Placeholder="Entrez un montant" Grid.Column="3" Grid.Row="3" Style="{StaticResource zoneDeTexte}" Margin="20"/>
|
||||||
|
|
||||||
|
|
||||||
|
<Button Text="ANNULER" Clicked="Button_Clicked" Grid.Column="1" Grid.Row="6" Style="{StaticResource WindowsButton2}"/>
|
||||||
|
<Button Text="VALIDER" Clicked="Button_Clicked_1" Grid.Column="3" Grid.Row="6" Style="{StaticResource WindowsButton}"/>
|
||||||
|
|
||||||
|
</Grid>
|
||||||
|
|
||||||
|
</ContentView>
|
@ -0,0 +1,19 @@
|
|||||||
|
namespace IHM.Desktop;
|
||||||
|
|
||||||
|
public partial class CV_modificationSolde : ContentView
|
||||||
|
{
|
||||||
|
public CV_modificationSolde()
|
||||||
|
{
|
||||||
|
InitializeComponent();
|
||||||
|
}
|
||||||
|
|
||||||
|
private void Button_Clicked(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
Navigation.PushAsync(new Dashboard());
|
||||||
|
}
|
||||||
|
|
||||||
|
private void Button_Clicked_1(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
Navigation.PushAsync(new Dashboard());
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,15 @@
|
|||||||
|
namespace IHM.Desktop;
|
||||||
|
|
||||||
|
public class CV_retirer : ContentView
|
||||||
|
{
|
||||||
|
public CV_retirer()
|
||||||
|
{
|
||||||
|
Content = new VerticalStackLayout
|
||||||
|
{
|
||||||
|
Children = {
|
||||||
|
new Label { HorizontalOptions = LayoutOptions.Center, VerticalOptions = LayoutOptions.Center, Text = "Welcome to .NET MAUI!"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,42 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8" ?>
|
||||||
|
<ContentView xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
|
||||||
|
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
|
||||||
|
xmlns:inputs="clr-namespace:Syncfusion.Maui.Inputs;assembly=Syncfusion.Maui.Inputs"
|
||||||
|
x:Class="IHM.Desktop.CV_retirer">
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<Grid BackgroundColor="{StaticResource Tertiary}">
|
||||||
|
<Grid.RowDefinitions>
|
||||||
|
<RowDefinition Height="1*"/>
|
||||||
|
<RowDefinition Height="1*"/>
|
||||||
|
<RowDefinition Height="2*"/>
|
||||||
|
<RowDefinition Height="2*"/>
|
||||||
|
<RowDefinition Height="2*"/>
|
||||||
|
<RowDefinition Height="2*"/>
|
||||||
|
<RowDefinition Height="2*"/>
|
||||||
|
</Grid.RowDefinitions>
|
||||||
|
<Grid.ColumnDefinitions>
|
||||||
|
<ColumnDefinition Width="1*"/>
|
||||||
|
<ColumnDefinition Width="2*"/>
|
||||||
|
<ColumnDefinition Width="1*"/>
|
||||||
|
<ColumnDefinition Width="2*"/>
|
||||||
|
<ColumnDefinition Width="1*"/>
|
||||||
|
</Grid.ColumnDefinitions>
|
||||||
|
|
||||||
|
|
||||||
|
<Label Text="Retirer une opération" Grid.Column="1" Grid.Row="0" Grid.ColumnSpan="3" Style="{StaticResource TitreWindows}" VerticalOptions="Center"/>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<Label Text="Selectionner l'opération" Grid.ColumnSpan="2" Grid.Column="1" Grid.Row="3" Style="{StaticResource TitreWindows}" VerticalOptions="Center"/>
|
||||||
|
|
||||||
|
<inputs:SfComboBox HeightRequest="50" ItemsSource="{Binding SelectedCompte.LesOpe}" Grid.Column="3" Grid.Row="3" x:Name="recup"/>
|
||||||
|
|
||||||
|
<Button Text="ANNULER" Clicked="Button_Annuler" Grid.Column="1" Grid.Row="5" Style="{StaticResource WindowsButton2}"/>
|
||||||
|
<Button Text="VALIDER" Clicked="Button_Valider" Grid.Column="3" Grid.Row="5" Style="{StaticResource WindowsButton}"/>
|
||||||
|
|
||||||
|
</Grid>
|
||||||
|
|
||||||
|
|
||||||
|
</ContentView>
|
@ -0,0 +1,30 @@
|
|||||||
|
using Model;
|
||||||
|
|
||||||
|
namespace IHM.Desktop;
|
||||||
|
|
||||||
|
public partial class CV_retirer : ContentView
|
||||||
|
{
|
||||||
|
public Manager Mgr => (App.Current as App).Manager;
|
||||||
|
public CV_retirer()
|
||||||
|
{
|
||||||
|
InitializeComponent();
|
||||||
|
Mgr.LoadBanque();
|
||||||
|
Mgr.LoadCompte();
|
||||||
|
|
||||||
|
BindingContext = Mgr;
|
||||||
|
}
|
||||||
|
|
||||||
|
private void Button_Annuler(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
Navigation.PushAsync(new Dashboard());
|
||||||
|
}
|
||||||
|
|
||||||
|
private void Button_Valider(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
var s = recup.SelectedItem;
|
||||||
|
Operation operation = (Operation)s;
|
||||||
|
Mgr.supprimerOperation(Mgr.SelectedCompte, operation);
|
||||||
|
Navigation.PushAsync(new Dashboard());
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,39 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8" ?>
|
||||||
|
<ContentView xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
|
||||||
|
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
|
||||||
|
xmlns:inputs="clr-namespace:Syncfusion.Maui.Inputs;assembly=Syncfusion.Maui.Inputs"
|
||||||
|
x:Class="IHM.Desktop.CV_supprimerOp">
|
||||||
|
|
||||||
|
|
||||||
|
<Grid BackgroundColor="{StaticResource Tertiary}">
|
||||||
|
<Grid.RowDefinitions>
|
||||||
|
<RowDefinition Height="1*"/>
|
||||||
|
<RowDefinition Height="1*"/>
|
||||||
|
<RowDefinition Height="2*"/>
|
||||||
|
<RowDefinition Height="2*"/>
|
||||||
|
<RowDefinition Height="2*"/>
|
||||||
|
<RowDefinition Height="2*"/>
|
||||||
|
<RowDefinition Height="2*"/>
|
||||||
|
</Grid.RowDefinitions>
|
||||||
|
<Grid.ColumnDefinitions>
|
||||||
|
<ColumnDefinition Width="1*"/>
|
||||||
|
<ColumnDefinition Width="2*"/>
|
||||||
|
<ColumnDefinition Width="1*"/>
|
||||||
|
<ColumnDefinition Width="2*"/>
|
||||||
|
<ColumnDefinition Width="1*"/>
|
||||||
|
</Grid.ColumnDefinitions>
|
||||||
|
|
||||||
|
<Label Text="Supprimer une opération" Grid.Column="1" Grid.Row="0" Grid.ColumnSpan="3" Style="{StaticResource TitreWindows}" VerticalOptions="Center"/>
|
||||||
|
|
||||||
|
<Label Text="Selectionner l'opération" Grid.ColumnSpan="2" Grid.Column="1" Grid.Row="3" Style="{StaticResource TitreWindows}" VerticalOptions="Center"/>
|
||||||
|
|
||||||
|
|
||||||
|
<inputs:SfComboBox HeightRequest="50" ItemsSource="{Binding SelectedCompte.LesOpe}" Grid.Column="3" Grid.Row="3" x:Name="recup"/>
|
||||||
|
|
||||||
|
|
||||||
|
<Button Text="ANNULER" Clicked="Button_Annuler" Grid.Column="1" Grid.Row="5" Style="{StaticResource WindowsButton2}"/>
|
||||||
|
<Button Text="VALIDER" Clicked="Button_Valider" Grid.Column="3" Grid.Row="5" Style="{StaticResource WindowsButton}"/>
|
||||||
|
|
||||||
|
</Grid>
|
||||||
|
|
||||||
|
</ContentView>
|
@ -0,0 +1,29 @@
|
|||||||
|
using Model;
|
||||||
|
|
||||||
|
namespace IHM.Desktop;
|
||||||
|
|
||||||
|
public partial class CV_supprimerOp : ContentView
|
||||||
|
{
|
||||||
|
public Manager Mgr => (App.Current as App).Manager;
|
||||||
|
public CV_supprimerOp()
|
||||||
|
{
|
||||||
|
InitializeComponent();
|
||||||
|
Mgr.LoadBanque();
|
||||||
|
Mgr.LoadCompte();
|
||||||
|
|
||||||
|
BindingContext = Mgr;
|
||||||
|
}
|
||||||
|
|
||||||
|
private void Button_Annuler(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
Navigation.PushAsync(new Dashboard());
|
||||||
|
}
|
||||||
|
|
||||||
|
private void Button_Valider(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
var s = recup.SelectedItem;
|
||||||
|
Operation operation = (Operation)s;
|
||||||
|
Mgr.supprimerOperation(Mgr.SelectedCompte,operation);
|
||||||
|
Navigation.PushAsync(new Dashboard());
|
||||||
|
}
|
||||||
|
}
|
@ -1,32 +1,90 @@
|
|||||||
<?xml version="1.0" encoding="utf-8" ?>
|
<?xml version="1.0" encoding="utf-8" ?>
|
||||||
<ContentView xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
|
<ContentView xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
|
||||||
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
|
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
|
||||||
x:Class="IHM.Desktop.Compte"
|
x:Class="IHM.Desktop.Compte">
|
||||||
BackgroundColor="{StaticResource Yellow300Accent}">
|
|
||||||
|
|
||||||
<StackLayout Margin="20" Orientation="Vertical">
|
<Border Stroke="{StaticResource Yellow100Accent}" StrokeThickness="4" Margin="10" StrokeShape="RoundRectangle 45,5,5,45">
|
||||||
|
|
||||||
<Label
|
<Grid BackgroundColor="{StaticResource Tertiary}" >
|
||||||
Text="VOTRE COMPTE"
|
<Grid.RowDefinitions>
|
||||||
VerticalOptions="StartAndExpand"
|
<RowDefinition Height="0.5*"/>
|
||||||
Style="{StaticResource TitreWindows}"/>
|
<RowDefinition Height="0.75*"/>
|
||||||
|
<RowDefinition Height="5*"/>
|
||||||
|
<RowDefinition Height="1*"/>
|
||||||
|
|
||||||
|
</Grid.RowDefinitions>
|
||||||
|
<Grid.ColumnDefinitions>
|
||||||
|
<ColumnDefinition Width="1*"/>
|
||||||
|
<ColumnDefinition Width="1*"/>
|
||||||
|
</Grid.ColumnDefinitions>
|
||||||
|
|
||||||
<Label
|
|
||||||
FontAttributes="Bold"
|
|
||||||
Text="Compte courant --- 'BINDING'"
|
|
||||||
HorizontalOptions="Center"
|
|
||||||
VerticalOptions="CenterAndExpand"
|
|
||||||
FontFamily="Comic Sans MS"
|
|
||||||
FontSize="20"/>
|
|
||||||
|
|
||||||
|
<Label
|
||||||
|
Grid.Column="0" Grid.Row="0" Grid.ColumnSpan="2"
|
||||||
|
VerticalOptions="Center"
|
||||||
|
Style="{StaticResource TitreWindows}"
|
||||||
|
Text="COMPTE"
|
||||||
|
HorizontalOptions="Center"/>
|
||||||
|
|
||||||
<Button
|
|
||||||
x:Name="ConnexionButton"
|
|
||||||
Text="Modifier votre solde"
|
|
||||||
Style="{StaticResource WindowsButton}"
|
|
||||||
VerticalOptions="Fill"/>
|
|
||||||
|
|
||||||
|
<Button
|
||||||
|
Clicked="AddCredit_Clicked"
|
||||||
|
Grid.Column="0" Grid.ColumnSpan="2" Grid.Row="1"
|
||||||
|
x:Name="AddCredit"
|
||||||
|
Text="Modifier le solde"
|
||||||
|
Style="{StaticResource WindowsButton}"/>
|
||||||
|
|
||||||
</StackLayout>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<ContentView Grid.Column="0" Grid.Row="2" Grid.ColumnSpan="2" Grid.RowSpan="2" >
|
||||||
|
|
||||||
|
|
||||||
|
<Grid>
|
||||||
|
<Grid.ColumnDefinitions>
|
||||||
|
<ColumnDefinition Width="1*"/>
|
||||||
|
<ColumnDefinition Width="1*"/>
|
||||||
|
|
||||||
|
</Grid.ColumnDefinitions>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<Label Grid.Column="0" Text="{Binding SelectedCompte.Nom}"
|
||||||
|
TextColor="{StaticResource Secondary}"
|
||||||
|
FontAttributes="Bold" FontSize="Large"
|
||||||
|
HorizontalOptions="Center"
|
||||||
|
VerticalOptions="Center"/>
|
||||||
|
|
||||||
|
<Label Grid.Column="1" Text="{Binding SelectedCompte.Solde}"
|
||||||
|
TextColor="{StaticResource Secondary}"
|
||||||
|
FontAttributes="Bold" FontSize="Large"
|
||||||
|
HorizontalOptions="Center"
|
||||||
|
VerticalOptions="Center"/>
|
||||||
|
|
||||||
|
<Label Grid.Column="1" Text="€"
|
||||||
|
TextColor="{StaticResource Secondary}"
|
||||||
|
FontAttributes="Bold" FontSize="Large"
|
||||||
|
HorizontalOptions="Center"
|
||||||
|
VerticalOptions="Center"
|
||||||
|
Margin="120,0,0,0"/>
|
||||||
|
|
||||||
|
|
||||||
|
</Grid>
|
||||||
|
|
||||||
|
|
||||||
|
</ContentView>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<ContentView Grid.Row="0" Grid.Column="0" Grid.ColumnSpan="2" Grid.RowSpan="4" x:Name="windowAjout">
|
||||||
|
|
||||||
|
</ContentView>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</Grid>
|
||||||
|
</Border>
|
||||||
</ContentView>
|
</ContentView>
|
@ -1,10 +1,27 @@
|
|||||||
|
using Model;
|
||||||
|
|
||||||
namespace IHM.Desktop;
|
namespace IHM.Desktop;
|
||||||
|
|
||||||
public partial class Compte : ContentView
|
public partial class Compte : ContentView
|
||||||
{
|
{
|
||||||
public Compte()
|
public Manager Mgr => (App.Current as App).Manager;
|
||||||
|
public Compte()
|
||||||
{
|
{
|
||||||
InitializeComponent();
|
InitializeComponent();
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Mgr.LoadBanque();
|
||||||
|
Mgr.LoadCompte();
|
||||||
|
|
||||||
|
BindingContext = Mgr;
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
private void AddCredit_Clicked(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
windowAjout.Content = new CV_modificationSolde();
|
||||||
|
|
||||||
|
}
|
||||||
}
|
}
|
@ -1,9 +1,28 @@
|
|||||||
|
using Model;
|
||||||
|
|
||||||
namespace IHM.Desktop;
|
namespace IHM.Desktop;
|
||||||
|
|
||||||
public partial class Echeancier : ContentView
|
public partial class Echeancier : ContentView
|
||||||
{
|
{
|
||||||
public Echeancier()
|
public Manager Mgr => (App.Current as App).Manager;
|
||||||
|
public Echeancier()
|
||||||
{
|
{
|
||||||
InitializeComponent();
|
InitializeComponent();
|
||||||
|
|
||||||
|
Mgr.LoadBanque();
|
||||||
|
Mgr.LoadCompte();
|
||||||
|
|
||||||
|
BindingContext = Mgr;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
private void SaveEcheance_Clicked(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
windowAjout.Content = new CV_EnregistrerEcheance();
|
||||||
|
}
|
||||||
|
|
||||||
|
private void DelEcheance_Clicked(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
windowAjout.Content = new CV_SupprimerEcheance();
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -1,37 +1,165 @@
|
|||||||
<?xml version="1.0" encoding="utf-8" ?>
|
<?xml version="1.0" encoding="utf-8" ?>
|
||||||
<ContentView xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
|
<ContentView xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
|
||||||
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
|
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
|
||||||
x:Class="IHM.Desktop.Operations"
|
x:Class="IHM.Desktop.Operations">
|
||||||
BackgroundColor="{StaticResource Yellow300Accent}">
|
|
||||||
<VerticalStackLayout Margin="20">
|
|
||||||
<Label
|
<Border Stroke="{StaticResource Yellow100Accent}" StrokeThickness="4" Margin="10" StrokeShape="RoundRectangle 45,5,5,45">
|
||||||
|
|
||||||
|
<Grid BackgroundColor="{StaticResource Tertiary}">
|
||||||
|
<Grid.RowDefinitions>
|
||||||
|
<RowDefinition Height="0.5*"/>
|
||||||
|
<RowDefinition Height="0.75*"/>
|
||||||
|
<RowDefinition Height="0.5*"/>
|
||||||
|
<RowDefinition Height="5*"/>
|
||||||
|
<RowDefinition Height="0.7*"/>
|
||||||
|
|
||||||
|
</Grid.RowDefinitions>
|
||||||
|
<Grid.ColumnDefinitions>
|
||||||
|
<ColumnDefinition Width="1*"/>
|
||||||
|
<ColumnDefinition Width="1*"/>
|
||||||
|
<ColumnDefinition Width="1*"/>
|
||||||
|
<ColumnDefinition Width="1*"/>
|
||||||
|
</Grid.ColumnDefinitions>
|
||||||
|
|
||||||
|
<Label
|
||||||
|
Grid.Column="0" Grid.Row="0" Grid.ColumnSpan="4"
|
||||||
Style="{StaticResource TitreWindows}"
|
Style="{StaticResource TitreWindows}"
|
||||||
Text="OPERATION"
|
Text="OPERATIONS"
|
||||||
VerticalOptions="StartAndExpand"/>
|
VerticalOptions="Center"
|
||||||
|
HorizontalOptions="Center"/>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<HorizontalStackLayout HorizontalOptions="Center">
|
|
||||||
<Button
|
<Button
|
||||||
|
Clicked="AddCredit_Clicked"
|
||||||
|
Grid.Column="0" Grid.Row="1"
|
||||||
x:Name="AddCredit"
|
x:Name="AddCredit"
|
||||||
Text="Effectuer un crédit"
|
Text="Effectuer un crédit"
|
||||||
Style="{StaticResource WindowsButton}"/>
|
Style="{StaticResource WindowsButton}"/>
|
||||||
|
|
||||||
<Button
|
<Button
|
||||||
|
Clicked="RetireOperation_Clicked"
|
||||||
|
Grid.Column="1" Grid.Row="1"
|
||||||
x:Name="RetireOperation"
|
x:Name="RetireOperation"
|
||||||
Text="Retirer une opération"
|
Text="Retirer une opération"
|
||||||
Style="{StaticResource WindowsButton}"/>
|
Style="{StaticResource WindowsButton}"/>
|
||||||
|
|
||||||
<Button
|
<Button
|
||||||
|
Clicked="AddDebit_Clicked"
|
||||||
|
Grid.Column="2" Grid.Row="1"
|
||||||
x:Name="AddDebit"
|
x:Name="AddDebit"
|
||||||
Text="effectuer un débit"
|
Text="Effectuer un débit"
|
||||||
Style="{StaticResource WindowsButton}"/>
|
Style="{StaticResource WindowsButton}"/>
|
||||||
|
|
||||||
<Button
|
<Button
|
||||||
|
Clicked="DelOperation_Clicked"
|
||||||
|
Grid.Column="3" Grid.Row="1"
|
||||||
x:Name="DelOperation"
|
x:Name="DelOperation"
|
||||||
Text="Supprimer une opération"
|
Text="Supprimer une opération"
|
||||||
Style="{StaticResource WindowsButton}"/>
|
Style="{StaticResource WindowsButton}"/>
|
||||||
|
|
||||||
</HorizontalStackLayout>
|
|
||||||
|
|
||||||
|
|
||||||
</VerticalStackLayout>
|
|
||||||
|
<Border Stroke="{StaticResource Secondary}" Margin="10,0,10,0" Padding="3" StrokeThickness="4" StrokeShape="RoundRectangle 45,5,5,45" Grid.Row="2" Grid.Column="0" Grid.ColumnSpan="4">
|
||||||
|
|
||||||
|
<Grid Grid.Row="2" Grid.Column="0" Grid.ColumnSpan="4">
|
||||||
|
<Grid.ColumnDefinitions>
|
||||||
|
<ColumnDefinition Width="1*"/>
|
||||||
|
<ColumnDefinition Width="1*"/>
|
||||||
|
<ColumnDefinition Width="1*"/>
|
||||||
|
<ColumnDefinition Width="1*"/>
|
||||||
|
<ColumnDefinition Width="1*"/>
|
||||||
|
|
||||||
|
</Grid.ColumnDefinitions>
|
||||||
|
<Label Text="Nom" Grid.Column="0" TextColor="{StaticResource Secondary}" HorizontalOptions="Center" FontSize="Micro" FontAttributes="Bold" VerticalOptions="Center"></Label>
|
||||||
|
<Label Text="Date" Grid.Column="1" TextColor="{StaticResource Secondary}" HorizontalOptions="Center" FontSize="Micro" FontAttributes="Bold" VerticalOptions="Center"></Label>
|
||||||
|
<Label Text="Moyen de Paiement" Grid.Column="2" TextColor="{StaticResource Secondary}" HorizontalOptions="Center" FontSize="Micro" FontAttributes="Bold" VerticalOptions="Center"></Label>
|
||||||
|
<Label Text="Tag" Grid.Column="3" TextColor="{StaticResource Secondary}" HorizontalOptions="Center" FontSize="Micro" FontAttributes="Bold" VerticalOptions="Center"></Label>
|
||||||
|
<Label Text="Montant" Grid.Column="4" TextColor="{StaticResource Secondary}" HorizontalOptions="Center" FontSize="Micro" FontAttributes="Bold" VerticalOptions="Center"></Label>
|
||||||
|
|
||||||
|
</Grid>
|
||||||
|
</Border>
|
||||||
|
|
||||||
|
<ContentView Grid.Column="0" Grid.Row="3" Grid.ColumnSpan="4" Grid.RowSpan="1" Margin="10,0,10,0" >
|
||||||
|
|
||||||
|
<CollectionView ItemsSource="{Binding SelectedCompte.LesOpe}" Grid.Row="3" Grid.ColumnSpan="4" Grid.RowSpan="2">
|
||||||
|
|
||||||
|
<CollectionView.ItemTemplate>
|
||||||
|
|
||||||
|
<DataTemplate>
|
||||||
|
<Grid>
|
||||||
|
<Grid.ColumnDefinitions>
|
||||||
|
<ColumnDefinition Width="1*"/>
|
||||||
|
<ColumnDefinition Width="1*"/>
|
||||||
|
<ColumnDefinition Width="1*"/>
|
||||||
|
<ColumnDefinition Width="1*"/>
|
||||||
|
<ColumnDefinition Width="1*"/>
|
||||||
|
|
||||||
|
</Grid.ColumnDefinitions>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<Label Grid.Column="0" Text="{Binding Nom}"
|
||||||
|
TextColor="{StaticResource Secondary}"
|
||||||
|
FontAttributes="Bold" FontSize="Body"
|
||||||
|
HorizontalOptions="Center"
|
||||||
|
VerticalOptions="Center"/>
|
||||||
|
|
||||||
|
<Label Grid.Column="1" Text="{Binding DateOperation, StringFormat='{0:d}'}"
|
||||||
|
TextColor="{StaticResource Secondary}"
|
||||||
|
FontAttributes="Bold" FontSize="Body"
|
||||||
|
HorizontalOptions="Center"
|
||||||
|
VerticalOptions="Center"/>
|
||||||
|
|
||||||
|
<Label Grid.Column="2" Text="{Binding ModePayement}"
|
||||||
|
TextColor="{StaticResource Secondary}"
|
||||||
|
FontAttributes="Bold" FontSize="Body"
|
||||||
|
HorizontalOptions="Center"
|
||||||
|
VerticalOptions="Center"/>
|
||||||
|
|
||||||
|
<Label Grid.Column="3" Text="{Binding Tag}"
|
||||||
|
TextColor="{StaticResource Secondary}"
|
||||||
|
FontAttributes="Bold" FontSize="Body"
|
||||||
|
HorizontalOptions="Center"
|
||||||
|
VerticalOptions="Center"/>
|
||||||
|
|
||||||
|
|
||||||
|
<Label Grid.Column="4" Text="{Binding Montant}"
|
||||||
|
TextColor="{StaticResource Secondary}"
|
||||||
|
FontAttributes="Bold" FontSize="Body"
|
||||||
|
HorizontalOptions="Center"
|
||||||
|
VerticalOptions="Center"/>
|
||||||
|
|
||||||
|
|
||||||
|
</Grid>
|
||||||
|
</DataTemplate>
|
||||||
|
</CollectionView.ItemTemplate>
|
||||||
|
</CollectionView>
|
||||||
|
|
||||||
|
</ContentView>
|
||||||
|
|
||||||
|
<ContentView Grid.Row="0" Grid.Column="0" Grid.ColumnSpan="4" Grid.RowSpan="5" x:Name="windowAjout">
|
||||||
|
|
||||||
|
</ContentView>
|
||||||
|
|
||||||
|
<Border Stroke="{StaticResource Secondary}" BackgroundColor="{StaticResource Yellow100Accent}" Margin="10,10,10,10" Padding="3" StrokeThickness="4" StrokeShape="RoundRectangle 45,5,5,45" Grid.Row="5" Grid.Column="0" Grid.ColumnSpan="4">
|
||||||
|
<Grid>
|
||||||
|
<Grid.ColumnDefinitions>
|
||||||
|
<ColumnDefinition Width="6*"/>
|
||||||
|
<ColumnDefinition Width="1*"/>
|
||||||
|
</Grid.ColumnDefinitions>
|
||||||
|
<Label Text="TOTAL" Grid.Column="0" Grid.ColumnSpan="2" HorizontalOptions="Center" TextColor="{StaticResource Secondary}" FontSize="Medium" FontAttributes="Bold" VerticalOptions="Center"></Label>
|
||||||
|
<Label Text="{Binding SelectedCompte.Solde}" Grid.Column="1" Grid.ColumnSpan="2" HorizontalOptions="Center" TextColor="{StaticResource Secondary}" FontSize="Medium" FontAttributes="Bold" VerticalOptions="Center"></Label>
|
||||||
|
<Label Text="€" Grid.Column="1" Grid.ColumnSpan="2" HorizontalOptions="End" Margin="0,0,50,0" TextColor="{StaticResource Secondary}" FontSize="Medium" FontAttributes="Bold" VerticalOptions="Center"></Label>
|
||||||
|
|
||||||
|
</Grid>
|
||||||
|
|
||||||
|
</Border>
|
||||||
|
|
||||||
|
|
||||||
|
</Grid>
|
||||||
|
</Border>
|
||||||
</ContentView>
|
</ContentView>
|
@ -1,9 +1,40 @@
|
|||||||
|
using Model;
|
||||||
|
|
||||||
namespace IHM.Desktop;
|
namespace IHM.Desktop;
|
||||||
|
|
||||||
public partial class Operations : ContentView
|
public partial class Operations : ContentView
|
||||||
{
|
{
|
||||||
public Operations()
|
|
||||||
|
public Manager Mgr => (App.Current as App).Manager;
|
||||||
|
public Operations()
|
||||||
{
|
{
|
||||||
InitializeComponent();
|
InitializeComponent();
|
||||||
|
|
||||||
|
Mgr.LoadBanque();
|
||||||
|
Mgr.LoadCompte();
|
||||||
|
|
||||||
|
BindingContext = Mgr;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void AddCredit_Clicked(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
windowAjout.Content = new CV_credit();
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
private void RetireOperation_Clicked(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
windowAjout.Content = new CV_retirer();
|
||||||
|
}
|
||||||
|
|
||||||
|
private void AddDebit_Clicked(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
windowAjout.Content = new CV_debit();
|
||||||
|
}
|
||||||
|
|
||||||
|
private void DelOperation_Clicked(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
windowAjout.Content = new CV_supprimerOp();
|
||||||
|
|
||||||
|
}
|
||||||
}
|
}
|
After Width: | Height: | Size: 548 B |
After Width: | Height: | Size: 566 B |
After Width: | Height: | Size: 668 B |
Before Width: | Height: | Size: 963 B After Width: | Height: | Size: 511 B |
After Width: | Height: | Size: 744 B |
After Width: | Height: | Size: 156 KiB |
After Width: | Height: | Size: 211 KiB |
After Width: | Height: | Size: 240 KiB |