diff --git a/.drone.yml b/.drone.yml index 8aaf352..66794a0 100644 --- a/.drone.yml +++ b/.drone.yml @@ -40,8 +40,8 @@ steps: - dotnet restore Banquale.sln - dotnet sonarscanner begin /k:"Banquale" /d:sonar.host.url=$${PLUGIN_SONAR_HOST} /d:sonar.login=$${PLUGIN_SONAR_TOKEN} - dotnet build Banquale.sln -c Release --no-restore -# - dotnet test Banquale.sln --logger trx --no-restore /p:CollectCoverage=true /p:CoverletOutputFormat=cobertura --collect "XPlat Code Coverage" -# - reportgenerator -reports:"**/coverage.cobertura.xml" -reporttypes:SonarQube -targetdir:"coveragereport" + - dotnet test Banquale.sln --logger trx --no-restore /p:CollectCoverage=true /p:CoverletOutputFormat=cobertura --collect "XPlat Code Coverage" + - reportgenerator -reports:"**/coverage.cobertura.xml" -reporttypes:SonarQube -targetdir:"coveragereport" # - dotnet publish Banquale/Banquale.csproj -c Release --no-restore -o $CI_PROJECT_DIR/build/release -f:net7.0-android /p:AndroidSdkDirectory=/usr/lib/android-sdk - dotnet sonarscanner end /d:sonar.login=$${PLUGIN_SONAR_TOKEN} depends_on: [tests] diff --git a/Documentation/docPrepaAppli-IHM/Diagramme_de_Classes.mdj b/Documentation/docPrepaAppli-IHM/Diagramme_de_Classes.mdj index ea911d2..6c5038e 100644 --- a/Documentation/docPrepaAppli-IHM/Diagramme_de_Classes.mdj +++ b/Documentation/docPrepaAppli-IHM/Diagramme_de_Classes.mdj @@ -400,13 +400,30 @@ "height": 13, "text": "+Person(name: string, firstName: string, password: string)", "horizontalAlignment": 0 + }, + { + "_type": "UMLOperationView", + "_id": "AAAAAAGIQqFhtZigRhM=", + "_parent": { + "$ref": "AAAAAAGIHoWVA74AsGI=" + }, + "model": { + "$ref": "AAAAAAGIQqFhqZidBCo=" + }, + "font": "Arial;13;0", + "left": 61, + "top": 289, + "width": 332.69970703125, + "height": 13, + "text": "#LogIn(id: string, password: string): bool", + "horizontalAlignment": 0 } ], "font": "Arial;13;0", "left": 56, "top": 269, "width": 342.69970703125, - "height": 23 + "height": 38 }, { "_type": "UMLReceptionCompartmentView", @@ -442,7 +459,7 @@ "left": 56, "top": 176, "width": 342.69970703125, - "height": 118, + "height": 131, "nameCompartment": { "$ref": "AAAAAAGIHoWVAr36lLA=" }, @@ -487,8 +504,8 @@ }, "visible": false, "font": "Arial;13;0", - "left": 656, - "top": -480, + "left": 576, + "top": -448, "height": 13 }, { @@ -498,8 +515,8 @@ "$ref": "AAAAAAGIHo06rr5aRtc=" }, "font": "Arial;13;1", - "left": 533, - "top": 191, + "left": 493, + "top": 207, "width": 347.85791015625, "height": 13, "text": "Customer" @@ -512,8 +529,8 @@ }, "visible": false, "font": "Arial;13;0", - "left": 656, - "top": -480, + "left": 576, + "top": -448, "width": 73.67724609375, "height": 13, "text": "(from Model)" @@ -526,15 +543,15 @@ }, "visible": false, "font": "Arial;13;0", - "left": 656, - "top": -480, + "left": 576, + "top": -448, "height": 13, "horizontalAlignment": 1 } ], "font": "Arial;13;0", - "left": 528, - "top": 184, + "left": 488, + "top": 200, "width": 357.85791015625, "height": 25, "stereotypeLabel": { @@ -562,25 +579,25 @@ "subViews": [ { "_type": "UMLAttributeView", - "_id": "AAAAAAGIHo4n0L6Eyh4=", + "_id": "AAAAAAGIQpG8BWAF2JA=", "_parent": { "$ref": "AAAAAAGIHo06rr5fP+Q=" }, "model": { - "$ref": "AAAAAAGIHo4nwL6BxX0=" + "$ref": "AAAAAAGIQpG79GACCco=" }, "font": "Arial;13;0", - "left": 533, - "top": 214, + "left": 493, + "top": 230, "width": 347.85791015625, "height": 13, - "text": "-AccountsList: List", + "text": "-NbAccounts: unsigned int", "horizontalAlignment": 0 } ], "font": "Arial;13;0", - "left": 528, - "top": 209, + "left": 488, + "top": 225, "width": 357.85791015625, "height": 23 }, @@ -604,8 +621,8 @@ "$ref": "AAAAAAGIHo7/f76bkwo=" }, "font": "Arial;13;0", - "left": 533, - "top": 237, + "left": 493, + "top": 253, "width": 347.85791015625, "height": 13, "text": "+Customer(name: string, firstName: string, password: string)", @@ -613,8 +630,8 @@ } ], "font": "Arial;13;0", - "left": 528, - "top": 232, + "left": 488, + "top": 248, "width": 357.85791015625, "height": 23 }, @@ -629,8 +646,8 @@ }, "visible": false, "font": "Arial;13;0", - "left": 328, - "top": -240, + "left": 288, + "top": -224, "width": 10, "height": 10 }, @@ -645,18 +662,18 @@ }, "visible": false, "font": "Arial;13;0", - "left": 328, - "top": -240, + "left": 288, + "top": -224, "width": 10, "height": 10 } ], "font": "Arial;13;0", "containerChangeable": true, - "left": 528, - "top": 184, + "left": 488, + "top": 200, "width": 357.85791015625, - "height": 81, + "height": 89, "nameCompartment": { "$ref": "AAAAAAGIHo06rr5aRtc=" }, @@ -788,7 +805,7 @@ "top": 214, "width": 479.64794921875, "height": 13, - "text": "-Balance: int", + "text": "-Balance: double", "horizontalAlignment": 0 }, { @@ -824,30 +841,13 @@ "height": 13, "text": "-IBAN: string", "horizontalAlignment": 0 - }, - { - "_type": "UMLAttributeView", - "_id": "AAAAAAGIHpUUQL7znzA=", - "_parent": { - "$ref": "AAAAAAGIHpOZKL6wPo0=" - }, - "model": { - "$ref": "AAAAAAGIHpUUNr7wcUc=" - }, - "font": "Arial;13;0", - "left": 973, - "top": 259, - "width": 479.64794921875, - "height": 13, - "text": "-AccountList: List", - "horizontalAlignment": 0 } ], "font": "Arial;13;0", "left": 968, "top": 209, "width": 489.64794921875, - "height": 68 + "height": 53 }, { "_type": "UMLOperationCompartmentView", @@ -870,18 +870,69 @@ }, "font": "Arial;13;0", "left": 973, + "top": 267, + "width": 479.64794921875, + "height": 13, + "text": "+Account(balance: int, name: string, iban: string)", + "horizontalAlignment": 0 + }, + { + "_type": "UMLOperationView", + "_id": "AAAAAAGIQqJiaKLQYl8=", + "_parent": { + "$ref": "AAAAAAGIHpOZKL6xeIs=" + }, + "model": { + "$ref": "AAAAAAGIQqJiXaLNR0g=" + }, + "font": "Arial;13;0", + "left": 973, "top": 282, "width": 479.64794921875, "height": 13, - "text": "+Account(Balance: int, Name: string, IBAN: string, AccountList: List)", + "text": "+DoTransactions(name: string, IBAN: string, sum: string): bool", + "horizontalAlignment": 0 + }, + { + "_type": "UMLOperationView", + "_id": "AAAAAAGIQqK/8aNjZKw=", + "_parent": { + "$ref": "AAAAAAGIHpOZKL6xeIs=" + }, + "model": { + "$ref": "AAAAAAGIQqK/66Ngw9o=" + }, + "font": "Arial;13;0", + "left": 973, + "top": 297, + "width": 479.64794921875, + "height": 13, + "text": "+DoRequest(name: string, IBAN: string, sum: string): bool", + "horizontalAlignment": 0 + }, + { + "_type": "UMLOperationView", + "_id": "AAAAAAGIQqldK7Av78U=", + "_parent": { + "$ref": "AAAAAAGIHpOZKL6xeIs=" + }, + "model": { + "$ref": "AAAAAAGIQqldJLAsyg8=" + }, + "font": "Arial;13;0", + "left": 973, + "top": 312, + "width": 479.64794921875, + "height": 13, + "text": "+AskForHelp(type: string, type: string, message: string): void", "horizontalAlignment": 0 } ], "font": "Arial;13;0", "left": 968, - "top": 277, + "top": 262, "width": 489.64794921875, - "height": 23 + "height": 68 }, { "_type": "UMLReceptionCompartmentView", @@ -921,7 +972,7 @@ "left": 968, "top": 184, "width": 489.64794921875, - "height": 116, + "height": 161, "nameCompartment": { "$ref": "AAAAAAGIHpOZKL6rK3I=" }, @@ -1039,23 +1090,6 @@ "$ref": "AAAAAAGIHpWTGr74dEI=" }, "subViews": [ - { - "_type": "UMLAttributeView", - "_id": "AAAAAAGIHpXFyb8lTlw=", - "_parent": { - "$ref": "AAAAAAGIHpWTG78AJks=" - }, - "model": { - "$ref": "AAAAAAGIHpXFur8iCRY=" - }, - "font": "Arial;13;0", - "left": 1605, - "top": 214, - "width": 447.13525390625, - "height": 13, - "text": "-Type: int", - "horizontalAlignment": 0 - }, { "_type": "UMLAttributeView", "_id": "AAAAAAGIHpYISb8thsc=", @@ -1067,7 +1101,7 @@ }, "font": "Arial;13;0", "left": 1605, - "top": 229, + "top": 214, "width": 447.13525390625, "height": 13, "text": "-Sum: int", @@ -1084,7 +1118,7 @@ }, "font": "Arial;13;0", "left": 1605, - "top": 244, + "top": 229, "width": 447.13525390625, "height": 13, "text": "-InvolvedAccounts: Account", @@ -1101,7 +1135,7 @@ }, "font": "Arial;13;0", "left": 1605, - "top": 259, + "top": 244, "width": 447.13525390625, "height": 13, "text": "-Category: string", @@ -1112,7 +1146,7 @@ "left": 1600, "top": 209, "width": 457.13525390625, - "height": 68 + "height": 53 }, { "_type": "UMLOperationCompartmentView", @@ -1135,18 +1169,35 @@ }, "font": "Arial;13;0", "left": 1605, - "top": 282, + "top": 267, "width": 447.13525390625, "height": 13, "text": "+Transactions(type: int, sum: int, involvedAccounts: Account, category: string)", "horizontalAlignment": 0 + }, + { + "_type": "UMLOperationView", + "_id": "AAAAAAGIQqriT7a8/DY=", + "_parent": { + "$ref": "AAAAAAGIHpWTG78BXGU=" + }, + "model": { + "$ref": "AAAAAAGIQqriQ7a5XjA=" + }, + "font": "Arial;13;0", + "left": 1605, + "top": 282, + "width": 447.13525390625, + "height": 13, + "text": "+ChangeCategory(type: string): void", + "horizontalAlignment": 0 } ], "font": "Arial;13;0", "left": 1600, - "top": 277, + "top": 262, "width": 457.13525390625, - "height": 23 + "height": 38 }, { "_type": "UMLReceptionCompartmentView", @@ -1186,7 +1237,7 @@ "left": 1600, "top": 184, "width": 457.13525390625, - "height": 116, + "height": 131, "nameCompartment": { "$ref": "AAAAAAGIHpWTG7773DM=" }, @@ -1438,8 +1489,8 @@ }, "visible": false, "font": "Arial;13;0", - "left": 463, - "top": 237, + "left": 442, + "top": 251, "height": 13, "alpha": 1.5707963267948966, "distance": 15, @@ -1459,8 +1510,8 @@ }, "visible": null, "font": "Arial;13;0", - "left": 463, - "top": 252, + "left": 442, + "top": 266, "height": 13, "alpha": 1.5707963267948966, "distance": 30, @@ -1480,8 +1531,8 @@ }, "visible": false, "font": "Arial;13;0", - "left": 462, - "top": 208, + "left": 443, + "top": 221, "height": 13, "alpha": -1.5707963267948966, "distance": 15, @@ -1499,7 +1550,7 @@ "$ref": "AAAAAAGIHo06rr5ZC8o=" }, "lineStyle": 1, - "points": "527:228;399:230", + "points": "487:243;399:242", "showVisibility": true, "nameLabel": { "$ref": "AAAAAAGIHstAnMBE9/w=" @@ -1532,8 +1583,8 @@ }, "visible": false, "font": "Arial;13;0", - "left": 487, - "top": 328, + "left": 484, + "top": 331, "height": 13, "alpha": 1.5707963267948966, "distance": 15, @@ -1553,8 +1604,8 @@ }, "visible": null, "font": "Arial;13;0", - "left": 482, - "top": 342, + "left": 480, + "top": 345, "height": 13, "alpha": 1.5707963267948966, "distance": 30, @@ -1574,8 +1625,8 @@ }, "visible": false, "font": "Arial;13;0", - "left": 496, - "top": 299, + "left": 493, + "top": 302, "height": 13, "alpha": -1.5707963267948966, "distance": 15, @@ -1593,7 +1644,7 @@ "$ref": "AAAAAAGIHqeu5b/TIyM=" }, "lineStyle": 1, - "points": "586:351;399:290", + "points": "580:351;399:295", "showVisibility": true, "nameLabel": { "$ref": "AAAAAAGIHstR4cBVAg0=" @@ -1624,17 +1675,18 @@ "model": { "$ref": "AAAAAAGIHswqEsBjCPQ=" }, - "visible": false, "font": "Arial;13;0", - "left": 926, - "top": 210, + "left": 862, + "top": 232, + "width": 89.96533203125, "height": 13, "alpha": 1.5707963267948966, "distance": 15, "hostEdge": { "$ref": "AAAAAAGIHswqEsBn9oI=" }, - "edgePosition": 1 + "edgePosition": 1, + "text": "+AccountsList *" }, { "_type": "EdgeLabelView", @@ -1647,8 +1699,8 @@ }, "visible": null, "font": "Arial;13;0", - "left": 927, - "top": 195, + "left": 906, + "top": 217, "height": 13, "alpha": 1.5707963267948966, "distance": 30, @@ -1668,8 +1720,8 @@ }, "visible": false, "font": "Arial;13;0", - "left": 925, - "top": 239, + "left": 905, + "top": 261, "height": 13, "alpha": -1.5707963267948966, "distance": 15, @@ -1689,8 +1741,8 @@ }, "visible": false, "font": "Arial;13;0", - "left": 912, - "top": 209, + "left": 872, + "top": 230, "height": 13, "alpha": 0.5235987755982988, "distance": 30, @@ -1710,8 +1762,8 @@ }, "visible": false, "font": "Arial;13;0", - "left": 915, - "top": 196, + "left": 875, + "top": 217, "height": 13, "alpha": 0.7853981633974483, "distance": 40, @@ -1731,8 +1783,8 @@ }, "visible": false, "font": "Arial;13;0", - "left": 907, - "top": 237, + "left": 867, + "top": 258, "height": 13, "alpha": -0.5235987755982988, "distance": 25, @@ -1753,7 +1805,7 @@ "visible": false, "font": "Arial;13;0", "left": 941, - "top": 211, + "top": 233, "height": 13, "alpha": -0.5235987755982988, "distance": 30, @@ -1773,7 +1825,7 @@ "visible": false, "font": "Arial;13;0", "left": 939, - "top": 197, + "top": 219, "height": 13, "alpha": -0.7853981633974483, "distance": 40, @@ -1793,7 +1845,7 @@ "visible": false, "font": "Arial;13;0", "left": 944, - "top": 238, + "top": 260, "height": 13, "alpha": 0.5235987755982988, "distance": 25, @@ -1838,7 +1890,7 @@ "$ref": "AAAAAAGIHo06rr5ZC8o=" }, "lineStyle": 1, - "points": "886:230;967:233", + "points": "846:251;967:255", "showVisibility": true, "nameLabel": { "$ref": "AAAAAAGIHswqEsBoP2A=" @@ -1894,17 +1946,18 @@ "model": { "$ref": "AAAAAAGIHsw52cD3xzs=" }, - "visible": false, "font": "Arial;13;0", - "left": 1528, - "top": 220, + "left": 1472, + "top": 235, + "width": 110.43017578125, "height": 13, "alpha": 1.5707963267948966, "distance": 15, "hostEdge": { "$ref": "AAAAAAGIHsw52cD7NVc=" }, - "edgePosition": 1 + "edgePosition": 1, + "text": "+TransactionsList *" }, { "_type": "EdgeLabelView", @@ -1917,8 +1970,8 @@ }, "visible": null, "font": "Arial;13;0", - "left": 1528, - "top": 205, + "left": 1527, + "top": 220, "height": 13, "alpha": 1.5707963267948966, "distance": 30, @@ -1939,7 +1992,7 @@ "visible": false, "font": "Arial;13;0", "left": 1528, - "top": 250, + "top": 264, "height": 13, "alpha": -1.5707963267948966, "distance": 15, @@ -1960,7 +2013,7 @@ "visible": false, "font": "Arial;13;0", "left": 1483, - "top": 220, + "top": 236, "height": 13, "alpha": 0.5235987755982988, "distance": 30, @@ -1980,8 +2033,8 @@ }, "visible": false, "font": "Arial;13;0", - "left": 1486, - "top": 206, + "left": 1485, + "top": 223, "height": 13, "alpha": 0.7853981633974483, "distance": 40, @@ -2002,7 +2055,7 @@ "visible": false, "font": "Arial;13;0", "left": 1479, - "top": 247, + "top": 264, "height": 13, "alpha": -0.5235987755982988, "distance": 25, @@ -2022,8 +2075,8 @@ }, "visible": false, "font": "Arial;13;0", - "left": 1573, - "top": 220, + "left": 1572, + "top": 234, "height": 13, "alpha": -0.5235987755982988, "distance": 30, @@ -2043,7 +2096,7 @@ "visible": false, "font": "Arial;13;0", "left": 1570, - "top": 206, + "top": 221, "height": 13, "alpha": -0.7853981633974483, "distance": 40, @@ -2063,7 +2116,7 @@ "visible": false, "font": "Arial;13;0", "left": 1577, - "top": 247, + "top": 261, "height": 13, "alpha": 0.5235987755982988, "distance": 25, @@ -2108,7 +2161,7 @@ "$ref": "AAAAAAGIHpOZJ76qovs=" }, "lineStyle": 1, - "points": "1458:241;1599:241", + "points": "1458:258;1599:255", "showVisibility": true, "nameLabel": { "$ref": "AAAAAAGIHsw52cD8VTs=" @@ -2144,135 +2197,900 @@ "headQualifiersCompartment": { "$ref": "AAAAAAGIHsw52cEGRBk=" } - } - ] - }, - { - "_type": "UMLClass", - "_id": "AAAAAAGIHoUoGr2MsDg=", - "_parent": { - "$ref": "AAAAAAFF+qBWK6M3Z8Y=" - }, - "name": "Per" - }, - { - "_type": "UMLClass", - "_id": "AAAAAAGIHoVeFr3OX0c=", - "_parent": { - "$ref": "AAAAAAFF+qBWK6M3Z8Y=" - }, - "name": "Class1" - }, - { - "_type": "UMLClass", - "_id": "AAAAAAGIHoWVAr33oyk=", - "_parent": { - "$ref": "AAAAAAFF+qBWK6M3Z8Y=" - }, - "name": "Person", - "ownedElements": [ - { - "_type": "UMLGeneralization", - "_id": "AAAAAAGIHssi6cAo7rA=", - "_parent": { - "$ref": "AAAAAAGIHoWVAr33oyk=" - }, - "source": { - "$ref": "AAAAAAGIHoWVAr33oyk=" - }, - "target": { - "$ref": "AAAAAAGIHo06rb5Xk/g=" - } - } - ], - "attributes": [ - { - "_type": "UMLAttribute", - "_id": "AAAAAAGIHog08L4yqug=", - "_parent": { - "$ref": "AAAAAAGIHoWVAr33oyk=" - }, - "name": "Id", - "visibility": "private", - "type": "string" - }, - { - "_type": "UMLAttribute", - "_id": "AAAAAAGIHoXoZb4ivtM=", - "_parent": { - "$ref": "AAAAAAGIHoWVAr33oyk=" - }, - "name": "Name", - "visibility": "private", - "type": "string" - }, - { - "_type": "UMLAttribute", - "_id": "AAAAAAGIHoeQ5b4q9e4=", - "_parent": { - "$ref": "AAAAAAGIHoWVAr33oyk=" - }, - "name": "FirstName", - "visibility": "private", - "type": "string" - }, - { - "_type": "UMLAttribute", - "_id": "AAAAAAGIHog4Yb44It8=", - "_parent": { - "$ref": "AAAAAAGIHoWVAr33oyk=" - }, - "name": "Password", - "visibility": "private", - "type": "string" }, { - "_type": "UMLAttribute", - "_id": "AAAAAAGIHog7XL4+Umw=", + "_type": "UMLClassView", + "_id": "AAAAAAGIQqxGtL1QKA4=", "_parent": { - "$ref": "AAAAAAGIHoWVAr33oyk=" + "$ref": "AAAAAAFF+qBtyKM79qY=" }, - "name": "Attribute3", - "type": "" - } - ], - "operations": [ - { - "_type": "UMLOperation", - "_id": "AAAAAAGIHojY1L5IuEY=", - "_parent": { - "$ref": "AAAAAAGIHoWVAr33oyk=" + "model": { + "$ref": "AAAAAAGIQqxGs71O/w0=" }, - "name": "Person", - "parameters": [ + "subViews": [ { - "_type": "UMLParameter", - "_id": "AAAAAAGIHolkar5PFjs=", + "_type": "UMLNameCompartmentView", + "_id": "AAAAAAGIQqxGtL1RwvM=", "_parent": { - "$ref": "AAAAAAGIHojY1L5IuEY=" + "$ref": "AAAAAAGIQqxGtL1QKA4=" }, - "name": "name", - "type": "string" - }, - { - "_type": "UMLParameter", - "_id": "AAAAAAGIHolkar5QyXQ=", - "_parent": { - "$ref": "AAAAAAGIHojY1L5IuEY=" + "model": { + "$ref": "AAAAAAGIQqxGs71O/w0=" }, - "name": "firstName", - "type": "string" - }, - { - "_type": "UMLParameter", - "_id": "AAAAAAGIHolkar5RdfY=", - "_parent": { + "subViews": [ + { + "_type": "LabelView", + "_id": "AAAAAAGIQqxGtL1Segs=", + "_parent": { + "$ref": "AAAAAAGIQqxGtL1RwvM=" + }, + "visible": false, + "font": "Arial;13;0", + "height": 13 + }, + { + "_type": "LabelView", + "_id": "AAAAAAGIQqxGtL1Tc7Y=", + "_parent": { + "$ref": "AAAAAAGIQqxGtL1RwvM=" + }, + "font": "Arial;13;1", + "left": 1541, + "top": 879, + "width": 390, + "height": 13, + "text": "Enum" + }, + { + "_type": "LabelView", + "_id": "AAAAAAGIQqxGtL1UphA=", + "_parent": { + "$ref": "AAAAAAGIQqxGtL1RwvM=" + }, + "visible": false, + "font": "Arial;13;0", + "width": 73.67724609375, + "height": 13, + "text": "(from Model)" + }, + { + "_type": "LabelView", + "_id": "AAAAAAGIQqxGtL1VTOU=", + "_parent": { + "$ref": "AAAAAAGIQqxGtL1RwvM=" + }, + "visible": false, + "font": "Arial;13;0", + "height": 13, + "horizontalAlignment": 1 + } + ], + "font": "Arial;13;0", + "left": 1536, + "top": 872, + "width": 400, + "height": 25, + "stereotypeLabel": { + "$ref": "AAAAAAGIQqxGtL1Segs=" + }, + "nameLabel": { + "$ref": "AAAAAAGIQqxGtL1Tc7Y=" + }, + "namespaceLabel": { + "$ref": "AAAAAAGIQqxGtL1UphA=" + }, + "propertyLabel": { + "$ref": "AAAAAAGIQqxGtL1VTOU=" + } + }, + { + "_type": "UMLAttributeCompartmentView", + "_id": "AAAAAAGIQqxGtL1Wpy0=", + "_parent": { + "$ref": "AAAAAAGIQqxGtL1QKA4=" + }, + "model": { + "$ref": "AAAAAAGIQqxGs71O/w0=" + }, + "font": "Arial;13;0", + "left": 1536, + "top": 897, + "width": 400, + "height": 10 + }, + { + "_type": "UMLOperationCompartmentView", + "_id": "AAAAAAGIQqxGtL1XSvY=", + "_parent": { + "$ref": "AAAAAAGIQqxGtL1QKA4=" + }, + "model": { + "$ref": "AAAAAAGIQqxGs71O/w0=" + }, + "subViews": [ + { + "_type": "UMLOperationView", + "_id": "AAAAAAGIQq2xCsIfnz8=", + "_parent": { + "$ref": "AAAAAAGIQqxGtL1XSvY=" + }, + "model": { + "$ref": "AAAAAAGIQq2w/MIWlQQ=" + }, + "font": "Arial;13;0", + "left": 1541, + "top": 912, + "width": 390, + "height": 13, + "text": "+Operation1()", + "horizontalAlignment": 0 + } + ], + "font": "Arial;13;0", + "left": 1536, + "top": 907, + "width": 400, + "height": 23 + }, + { + "_type": "UMLReceptionCompartmentView", + "_id": "AAAAAAGIQqxGtL1YTpE=", + "_parent": { + "$ref": "AAAAAAGIQqxGtL1QKA4=" + }, + "model": { + "$ref": "AAAAAAGIQqxGs71O/w0=" + }, + "visible": false, + "font": "Arial;13;0", + "width": 10, + "height": 10 + }, + { + "_type": "UMLTemplateParameterCompartmentView", + "_id": "AAAAAAGIQqxGtL1ZOBA=", + "_parent": { + "$ref": "AAAAAAGIQqxGtL1QKA4=" + }, + "model": { + "$ref": "AAAAAAGIQqxGs71O/w0=" + }, + "visible": false, + "font": "Arial;13;0", + "width": 10, + "height": 10 + } + ], + "font": "Arial;13;0", + "containerChangeable": true, + "left": 1536, + "top": 872, + "width": 400, + "height": 216, + "nameCompartment": { + "$ref": "AAAAAAGIQqxGtL1RwvM=" + }, + "attributeCompartment": { + "$ref": "AAAAAAGIQqxGtL1Wpy0=" + }, + "operationCompartment": { + "$ref": "AAAAAAGIQqxGtL1XSvY=" + }, + "receptionCompartment": { + "$ref": "AAAAAAGIQqxGtL1YTpE=" + }, + "templateParameterCompartment": { + "$ref": "AAAAAAGIQqxGtL1ZOBA=" + } + }, + { + "_type": "UMLEnumerationView", + "_id": "AAAAAAGIQq4B/MNWJAQ=", + "_parent": { + "$ref": "AAAAAAFF+qBtyKM79qY=" + }, + "model": { + "$ref": "AAAAAAGIQq4B/MNU1SI=" + }, + "subViews": [ + { + "_type": "UMLNameCompartmentView", + "_id": "AAAAAAGIQq4B/MNX1+4=", + "_parent": { + "$ref": "AAAAAAGIQq4B/MNWJAQ=" + }, + "model": { + "$ref": "AAAAAAGIQq4B/MNU1SI=" + }, + "subViews": [ + { + "_type": "LabelView", + "_id": "AAAAAAGIQq4B/MNYjB0=", + "_parent": { + "$ref": "AAAAAAGIQq4B/MNX1+4=" + }, + "font": "Arial;13;0", + "left": 1773, + "top": 405, + "width": 119, + "height": 13, + "text": "«enumeration»" + }, + { + "_type": "LabelView", + "_id": "AAAAAAGIQq4B/MNZ9rY=", + "_parent": { + "$ref": "AAAAAAGIQq4B/MNX1+4=" + }, + "font": "Arial;13;1", + "left": 1773, + "top": 420, + "width": 119, + "height": 13, + "text": "TransactionType" + }, + { + "_type": "LabelView", + "_id": "AAAAAAGIQq4B/MNal+M=", + "_parent": { + "$ref": "AAAAAAGIQq4B/MNX1+4=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 416, + "top": -592, + "width": 73.67724609375, + "height": 13, + "text": "(from Model)" + }, + { + "_type": "LabelView", + "_id": "AAAAAAGIQq4B/MNbMN4=", + "_parent": { + "$ref": "AAAAAAGIQq4B/MNX1+4=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 416, + "top": -592, + "height": 13, + "horizontalAlignment": 1 + } + ], + "font": "Arial;13;0", + "left": 1768, + "top": 400, + "width": 129, + "height": 38, + "stereotypeLabel": { + "$ref": "AAAAAAGIQq4B/MNYjB0=" + }, + "nameLabel": { + "$ref": "AAAAAAGIQq4B/MNZ9rY=" + }, + "namespaceLabel": { + "$ref": "AAAAAAGIQq4B/MNal+M=" + }, + "propertyLabel": { + "$ref": "AAAAAAGIQq4B/MNbMN4=" + } + }, + { + "_type": "UMLAttributeCompartmentView", + "_id": "AAAAAAGIQq4B/MNcRXA=", + "_parent": { + "$ref": "AAAAAAGIQq4B/MNWJAQ=" + }, + "model": { + "$ref": "AAAAAAGIQq4B/MNU1SI=" + }, + "subViews": [ + { + "_type": "UMLAttributeView", + "_id": "AAAAAAGIQq5hhcQV0FA=", + "_parent": { + "$ref": "AAAAAAGIQq4B/MNcRXA=" + }, + "model": { + "$ref": "AAAAAAGIQq5hfMQMINg=" + }, + "font": "Arial;13;0", + "left": 213, + "top": -291, + "width": 63.2353515625, + "height": 13, + "text": "+Attribute1", + "horizontalAlignment": 0 + }, + { + "_type": "UMLAttributeView", + "_id": "AAAAAAGIQq5vJ8RXXJ4=", + "_parent": { + "$ref": "AAAAAAGIQq4B/MNcRXA=" + }, + "model": { + "$ref": "AAAAAAGIQq5vG8RORHY=" + }, + "font": "Arial;13;0", + "left": 213, + "top": -276, + "width": 63.2353515625, + "height": 13, + "text": "+Attribute2", + "horizontalAlignment": 0 + } + ], + "visible": false, + "font": "Arial;13;0", + "left": 208, + "top": -296, + "width": 73.2353515625, + "height": 38 + }, + { + "_type": "UMLOperationCompartmentView", + "_id": "AAAAAAGIQq4B/MNd/Ho=", + "_parent": { + "$ref": "AAAAAAGIQq4B/MNWJAQ=" + }, + "model": { + "$ref": "AAAAAAGIQq4B/MNU1SI=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 208, + "top": -296, + "width": 10, + "height": 10 + }, + { + "_type": "UMLReceptionCompartmentView", + "_id": "AAAAAAGIQq4B/MNeemo=", + "_parent": { + "$ref": "AAAAAAGIQq4B/MNWJAQ=" + }, + "model": { + "$ref": "AAAAAAGIQq4B/MNU1SI=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 208, + "top": -296, + "width": 10, + "height": 10 + }, + { + "_type": "UMLTemplateParameterCompartmentView", + "_id": "AAAAAAGIQq4B/MNf49Y=", + "_parent": { + "$ref": "AAAAAAGIQq4B/MNWJAQ=" + }, + "model": { + "$ref": "AAAAAAGIQq4B/MNU1SI=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 208, + "top": -296, + "width": 10, + "height": 10 + }, + { + "_type": "UMLEnumerationLiteralCompartmentView", + "_id": "AAAAAAGIQq4B/cNgg2k=", + "_parent": { + "$ref": "AAAAAAGIQq4B/MNWJAQ=" + }, + "model": { + "$ref": "AAAAAAGIQq4B/MNU1SI=" + }, + "subViews": [ + { + "_type": "UMLEnumerationLiteralView", + "_id": "AAAAAAGIQq6EzcTJGKQ=", + "_parent": { + "$ref": "AAAAAAGIQq4B/cNgg2k=" + }, + "model": { + "$ref": "AAAAAAGIQq6EwMTAIAg=" + }, + "font": "Arial;13;0", + "left": 1773, + "top": 443, + "width": 119, + "height": 13, + "text": "credit", + "horizontalAlignment": 0 + }, + { + "_type": "UMLEnumerationLiteralView", + "_id": "AAAAAAGIQq95bMVCKAg=", + "_parent": { + "$ref": "AAAAAAGIQq4B/cNgg2k=" + }, + "model": { + "$ref": "AAAAAAGIQq95ZMU5GXc=" + }, + "font": "Arial;13;0", + "left": 1773, + "top": 458, + "width": 119, + "height": 13, + "text": "flow", + "horizontalAlignment": 0 + } + ], + "font": "Arial;13;0", + "left": 1768, + "top": 438, + "width": 129, + "height": 38 + } + ], + "font": "Arial;13;0", + "containerChangeable": true, + "left": 1768, + "top": 400, + "width": 129, + "height": 81, + "nameCompartment": { + "$ref": "AAAAAAGIQq4B/MNX1+4=" + }, + "suppressAttributes": true, + "suppressOperations": true, + "attributeCompartment": { + "$ref": "AAAAAAGIQq4B/MNcRXA=" + }, + "operationCompartment": { + "$ref": "AAAAAAGIQq4B/MNd/Ho=" + }, + "receptionCompartment": { + "$ref": "AAAAAAGIQq4B/MNeemo=" + }, + "templateParameterCompartment": { + "$ref": "AAAAAAGIQq4B/MNf49Y=" + }, + "enumerationLiteralCompartment": { + "$ref": "AAAAAAGIQq4B/cNgg2k=" + } + }, + { + "_type": "UMLAssociationView", + "_id": "AAAAAAGIQq/wXc7F3Ec=", + "_parent": { + "$ref": "AAAAAAFF+qBtyKM79qY=" + }, + "model": { + "$ref": "AAAAAAGIQq/wXc7Bgzg=" + }, + "subViews": [ + { + "_type": "EdgeLabelView", + "_id": "AAAAAAGIQq/wXs7G7vU=", + "_parent": { + "$ref": "AAAAAAGIQq/wXc7F3Ec=" + }, + "model": { + "$ref": "AAAAAAGIQq/wXc7Bgzg=" + }, + "font": "Arial;13;0", + "left": 1835, + "top": 349, + "width": 35.775390625, + "height": 13, + "alpha": 1.594601115019625, + "distance": 23, + "hostEdge": { + "$ref": "AAAAAAGIQq/wXc7F3Ec=" + }, + "edgePosition": 1, + "text": "-Type" + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAGIQq/wXs7H1IE=", + "_parent": { + "$ref": "AAAAAAGIQq/wXc7F3Ec=" + }, + "model": { + "$ref": "AAAAAAGIQq/wXc7Bgzg=" + }, + "visible": null, + "font": "Arial;13;0", + "left": 1859, + "top": 350, + "height": 13, + "alpha": 1.5707963267948966, + "distance": 30, + "hostEdge": { + "$ref": "AAAAAAGIQq/wXc7F3Ec=" + }, + "edgePosition": 1 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAGIQq/wXs7IKJ8=", + "_parent": { + "$ref": "AAAAAAGIQq/wXc7F3Ec=" + }, + "model": { + "$ref": "AAAAAAGIQq/wXc7Bgzg=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 1815, + "top": 351, + "height": 13, + "alpha": -1.5707963267948966, + "distance": 15, + "hostEdge": { + "$ref": "AAAAAAGIQq/wXc7F3Ec=" + }, + "edgePosition": 1 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAGIQq/wXs7JwAg=", + "_parent": { + "$ref": "AAAAAAGIQq/wXc7F3Ec=" + }, + "model": { + "$ref": "AAAAAAGIQq/wXc7CmtY=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 1844, + "top": 334, + "height": 13, + "alpha": 0.5235987755982988, + "distance": 30, + "hostEdge": { + "$ref": "AAAAAAGIQq/wXc7F3Ec=" + }, + "edgePosition": 2 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAGIQq/wXs7Kr40=", + "_parent": { + "$ref": "AAAAAAGIQq/wXc7F3Ec=" + }, + "model": { + "$ref": "AAAAAAGIQq/wXc7CmtY=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 1857, + "top": 336, + "height": 13, + "alpha": 0.7853981633974483, + "distance": 40, + "hostEdge": { + "$ref": "AAAAAAGIQq/wXc7F3Ec=" + }, + "edgePosition": 2 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAGIQq/wXs7Lk9Q=", + "_parent": { + "$ref": "AAAAAAGIQq/wXc7F3Ec=" + }, + "model": { + "$ref": "AAAAAAGIQq/wXc7CmtY=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 1817, + "top": 330, + "height": 13, + "alpha": -0.5235987755982988, + "distance": 25, + "hostEdge": { + "$ref": "AAAAAAGIQq/wXc7F3Ec=" + }, + "edgePosition": 2 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAGIQq/wXs7M5Hk=", + "_parent": { + "$ref": "AAAAAAGIQq/wXc7F3Ec=" + }, + "model": { + "$ref": "AAAAAAGIQq/wXc7DMyI=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 1845, + "top": 366, + "height": 13, + "alpha": -0.5235987755982988, + "distance": 30, + "hostEdge": { + "$ref": "AAAAAAGIQq/wXc7F3Ec=" + } + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAGIQq/wXs7N7rM=", + "_parent": { + "$ref": "AAAAAAGIQq/wXc7F3Ec=" + }, + "model": { + "$ref": "AAAAAAGIQq/wXc7DMyI=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 1858, + "top": 364, + "height": 13, + "alpha": -0.7853981633974483, + "distance": 40, + "hostEdge": { + "$ref": "AAAAAAGIQq/wXc7F3Ec=" + } + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAGIQq/wXs7ORZM=", + "_parent": { + "$ref": "AAAAAAGIQq/wXc7F3Ec=" + }, + "model": { + "$ref": "AAAAAAGIQq/wXc7DMyI=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 1817, + "top": 371, + "height": 13, + "alpha": 0.5235987755982988, + "distance": 25, + "hostEdge": { + "$ref": "AAAAAAGIQq/wXc7F3Ec=" + } + }, + { + "_type": "UMLQualifierCompartmentView", + "_id": "AAAAAAGIQq/wXs7PyYA=", + "_parent": { + "$ref": "AAAAAAGIQq/wXc7F3Ec=" + }, + "model": { + "$ref": "AAAAAAGIQq/wXc7CmtY=" + }, + "visible": false, + "font": "Arial;13;0", + "width": 10, + "height": 10 + }, + { + "_type": "UMLQualifierCompartmentView", + "_id": "AAAAAAGIQq/wXs7Qxp8=", + "_parent": { + "$ref": "AAAAAAGIQq/wXc7F3Ec=" + }, + "model": { + "$ref": "AAAAAAGIQq/wXc7DMyI=" + }, + "visible": false, + "font": "Arial;13;0", + "width": 10, + "height": 10 + } + ], + "font": "Arial;13;0", + "head": { + "$ref": "AAAAAAGIQq4B/MNWJAQ=" + }, + "tail": { + "$ref": "AAAAAAGIHpWTGr76MLU=" + }, + "lineStyle": 1, + "points": "1829:315;1831:399", + "showVisibility": true, + "nameLabel": { + "$ref": "AAAAAAGIQq/wXs7G7vU=" + }, + "stereotypeLabel": { + "$ref": "AAAAAAGIQq/wXs7H1IE=" + }, + "propertyLabel": { + "$ref": "AAAAAAGIQq/wXs7IKJ8=" + }, + "showEndOrder": "hide", + "tailRoleNameLabel": { + "$ref": "AAAAAAGIQq/wXs7JwAg=" + }, + "tailPropertyLabel": { + "$ref": "AAAAAAGIQq/wXs7Kr40=" + }, + "tailMultiplicityLabel": { + "$ref": "AAAAAAGIQq/wXs7Lk9Q=" + }, + "headRoleNameLabel": { + "$ref": "AAAAAAGIQq/wXs7M5Hk=" + }, + "headPropertyLabel": { + "$ref": "AAAAAAGIQq/wXs7N7rM=" + }, + "headMultiplicityLabel": { + "$ref": "AAAAAAGIQq/wXs7ORZM=" + }, + "tailQualifiersCompartment": { + "$ref": "AAAAAAGIQq/wXs7PyYA=" + }, + "headQualifiersCompartment": { + "$ref": "AAAAAAGIQq/wXs7Qxp8=" + } + } + ] + }, + { + "_type": "UMLClass", + "_id": "AAAAAAGIHoUoGr2MsDg=", + "_parent": { + "$ref": "AAAAAAFF+qBWK6M3Z8Y=" + }, + "name": "Per" + }, + { + "_type": "UMLClass", + "_id": "AAAAAAGIHoVeFr3OX0c=", + "_parent": { + "$ref": "AAAAAAFF+qBWK6M3Z8Y=" + }, + "name": "Class1" + }, + { + "_type": "UMLClass", + "_id": "AAAAAAGIHoWVAr33oyk=", + "_parent": { + "$ref": "AAAAAAFF+qBWK6M3Z8Y=" + }, + "name": "Person", + "ownedElements": [ + { + "_type": "UMLGeneralization", + "_id": "AAAAAAGIHssi6cAo7rA=", + "_parent": { + "$ref": "AAAAAAGIHoWVAr33oyk=" + }, + "source": { + "$ref": "AAAAAAGIHoWVAr33oyk=" + }, + "target": { + "$ref": "AAAAAAGIHo06rb5Xk/g=" + } + } + ], + "attributes": [ + { + "_type": "UMLAttribute", + "_id": "AAAAAAGIHog08L4yqug=", + "_parent": { + "$ref": "AAAAAAGIHoWVAr33oyk=" + }, + "name": "Id", + "visibility": "private", + "type": "string" + }, + { + "_type": "UMLAttribute", + "_id": "AAAAAAGIHoXoZb4ivtM=", + "_parent": { + "$ref": "AAAAAAGIHoWVAr33oyk=" + }, + "name": "Name", + "visibility": "private", + "type": "string" + }, + { + "_type": "UMLAttribute", + "_id": "AAAAAAGIHoeQ5b4q9e4=", + "_parent": { + "$ref": "AAAAAAGIHoWVAr33oyk=" + }, + "name": "FirstName", + "visibility": "private", + "type": "string" + }, + { + "_type": "UMLAttribute", + "_id": "AAAAAAGIHog4Yb44It8=", + "_parent": { + "$ref": "AAAAAAGIHoWVAr33oyk=" + }, + "name": "Password", + "visibility": "private", + "type": "string" + }, + { + "_type": "UMLAttribute", + "_id": "AAAAAAGIHog7XL4+Umw=", + "_parent": { + "$ref": "AAAAAAGIHoWVAr33oyk=" + }, + "name": "Attribute3", + "type": "" + } + ], + "operations": [ + { + "_type": "UMLOperation", + "_id": "AAAAAAGIHojY1L5IuEY=", + "_parent": { + "$ref": "AAAAAAGIHoWVAr33oyk=" + }, + "name": "Person", + "parameters": [ + { + "_type": "UMLParameter", + "_id": "AAAAAAGIHolkar5PFjs=", + "_parent": { + "$ref": "AAAAAAGIHojY1L5IuEY=" + }, + "name": "name", + "type": "string" + }, + { + "_type": "UMLParameter", + "_id": "AAAAAAGIHolkar5QyXQ=", + "_parent": { + "$ref": "AAAAAAGIHojY1L5IuEY=" + }, + "name": "firstName", + "type": "string" + }, + { + "_type": "UMLParameter", + "_id": "AAAAAAGIHolkar5RdfY=", + "_parent": { "$ref": "AAAAAAGIHojY1L5IuEY=" }, "name": "password", "type": "string" } ] + }, + { + "_type": "UMLOperation", + "_id": "AAAAAAGIQqFhqZidBCo=", + "_parent": { + "$ref": "AAAAAAGIHoWVAr33oyk=" + }, + "name": "LogIn", + "visibility": "protected", + "parameters": [ + { + "_type": "UMLParameter", + "_id": "AAAAAAGIQqFp6ZjazPM=", + "_parent": { + "$ref": "AAAAAAGIQqFhqZidBCo=" + }, + "name": "id", + "type": "string" + }, + { + "_type": "UMLParameter", + "_id": "AAAAAAGIQqFp6ZjbzpI=", + "_parent": { + "$ref": "AAAAAAGIQqFhqZidBCo=" + }, + "name": "password", + "type": "string" + }, + { + "_type": "UMLParameter", + "_id": "AAAAAAGIQqFp6Zjc9+0=", + "_parent": { + "$ref": "AAAAAAGIQqFhqZidBCo=" + }, + "type": "bool", + "direction": "return" + } + ] } ] }, @@ -2303,6 +3121,7 @@ "_parent": { "$ref": "AAAAAAGIHo06rb5Xk/g=" }, + "name": "AccountsList *", "end1": { "_type": "UMLAssociationEnd", "_id": "AAAAAAGIHswqEsBkmq4=", @@ -2329,13 +3148,13 @@ "attributes": [ { "_type": "UMLAttribute", - "_id": "AAAAAAGIHo4nwL6BxX0=", + "_id": "AAAAAAGIQpG79GACCco=", "_parent": { "$ref": "AAAAAAGIHo06rb5Xk/g=" }, - "name": "AccountsList", + "name": "NbAccounts", "visibility": "private", - "type": "List" + "type": "unsigned int" } ], "operations": [ @@ -2392,6 +3211,7 @@ "_parent": { "$ref": "AAAAAAGIHpOZJ76ocws=" }, + "name": "TransactionsList *", "end1": { "_type": "UMLAssociationEnd", "_id": "AAAAAAGIHsw52cD4hSc=", @@ -2424,7 +3244,7 @@ }, "name": "Balance", "visibility": "private", - "type": "int" + "type": "double" }, { "_type": "UMLAttribute", @@ -2445,16 +3265,6 @@ "name": "IBAN", "visibility": "private", "type": "string" - }, - { - "_type": "UMLAttribute", - "_id": "AAAAAAGIHpUUNr7wcUc=", - "_parent": { - "$ref": "AAAAAAGIHpOZJ76ocws=" - }, - "name": "AccountList", - "visibility": "private", - "type": "List" } ], "operations": [ @@ -2472,7 +3282,7 @@ "_parent": { "$ref": "AAAAAAGIHpUDir7q9Xk=" }, - "name": "Balance", + "name": "balance", "type": "int" }, { @@ -2481,7 +3291,7 @@ "_parent": { "$ref": "AAAAAAGIHpUDir7q9Xk=" }, - "name": "Name", + "name": "name", "type": "string" }, { @@ -2490,17 +3300,146 @@ "_parent": { "$ref": "AAAAAAGIHpUDir7q9Xk=" }, + "name": "iban", + "type": "string" + } + ] + }, + { + "_type": "UMLOperation", + "_id": "AAAAAAGIQqJiXaLNR0g=", + "_parent": { + "$ref": "AAAAAAGIHpOZJ76ocws=" + }, + "name": "DoTransactions", + "parameters": [ + { + "_type": "UMLParameter", + "_id": "AAAAAAGIQqK1raMKeD0=", + "_parent": { + "$ref": "AAAAAAGIQqJiXaLNR0g=" + }, + "type": "bool", + "direction": "return" + }, + { + "_type": "UMLParameter", + "_id": "AAAAAAGIQqZmwKejQuM=", + "_parent": { + "$ref": "AAAAAAGIQqJiXaLNR0g=" + }, + "name": "name", + "type": "string" + }, + { + "_type": "UMLParameter", + "_id": "AAAAAAGIQqZmwKekCRU=", + "_parent": { + "$ref": "AAAAAAGIQqJiXaLNR0g=" + }, "name": "IBAN", "type": "string" }, { "_type": "UMLParameter", - "_id": "AAAAAAGIHsqjOcAfwqc=", + "_id": "AAAAAAGIQqZmwKelXP8=", "_parent": { - "$ref": "AAAAAAGIHpUDir7q9Xk=" + "$ref": "AAAAAAGIQqJiXaLNR0g=" + }, + "name": "sum", + "type": "string" + } + ] + }, + { + "_type": "UMLOperation", + "_id": "AAAAAAGIQqK/66Ngw9o=", + "_parent": { + "$ref": "AAAAAAGIHpOZJ76ocws=" + }, + "name": "DoRequest", + "parameters": [ + { + "_type": "UMLParameter", + "_id": "AAAAAAGIQqMZLqOdf4E=", + "_parent": { + "$ref": "AAAAAAGIQqK/66Ngw9o=" + }, + "type": "bool", + "direction": "return" + }, + { + "_type": "UMLParameter", + "_id": "AAAAAAGIQqZQ56Vinbo=", + "_parent": { + "$ref": "AAAAAAGIQqK/66Ngw9o=" + }, + "name": "name", + "type": "string" + }, + { + "_type": "UMLParameter", + "_id": "AAAAAAGIQqZQ56Vjp5E=", + "_parent": { + "$ref": "AAAAAAGIQqK/66Ngw9o=" + }, + "name": "IBAN", + "type": "string" + }, + { + "_type": "UMLParameter", + "_id": "AAAAAAGIQqZQ56Vk4gc=", + "_parent": { + "$ref": "AAAAAAGIQqK/66Ngw9o=" + }, + "name": "sum", + "type": "string" + } + ] + }, + { + "_type": "UMLOperation", + "_id": "AAAAAAGIQqldJLAsyg8=", + "_parent": { + "$ref": "AAAAAAGIHpOZJ76ocws=" + }, + "name": "AskForHelp", + "parameters": [ + { + "_type": "UMLParameter", + "_id": "AAAAAAGIQqrDerBpvz4=", + "_parent": { + "$ref": "AAAAAAGIQqldJLAsyg8=" + }, + "name": "type", + "type": "string" + }, + { + "_type": "UMLParameter", + "_id": "AAAAAAGIQqrDe7BqtUg=", + "_parent": { + "$ref": "AAAAAAGIQqldJLAsyg8=" + }, + "name": "type", + "type": "string" + }, + { + "_type": "UMLParameter", + "_id": "AAAAAAGIQqrDe7BrNHI=", + "_parent": { + "$ref": "AAAAAAGIQqldJLAsyg8=" + }, + "name": "message", + "type": "string" + }, + { + "_type": "UMLParameter", + "_id": "AAAAAAGIQqrDe7BsiIg=", + "_parent": { + "$ref": "AAAAAAGIQqldJLAsyg8=" }, - "name": "AccountList", - "type": "List" + "type": "void", + "direction": "return" } ] } @@ -2513,17 +3452,39 @@ "$ref": "AAAAAAFF+qBWK6M3Z8Y=" }, "name": "Transactions", - "attributes": [ + "ownedElements": [ { - "_type": "UMLAttribute", - "_id": "AAAAAAGIHpXFur8iCRY=", + "_type": "UMLAssociation", + "_id": "AAAAAAGIQq/wXc7Bgzg=", "_parent": { "$ref": "AAAAAAGIHpWTGr74dEI=" }, "name": "Type", - "visibility": "private", - "type": "int" - }, + "end1": { + "_type": "UMLAssociationEnd", + "_id": "AAAAAAGIQq/wXc7CmtY=", + "_parent": { + "$ref": "AAAAAAGIQq/wXc7Bgzg=" + }, + "reference": { + "$ref": "AAAAAAGIHpWTGr74dEI=" + } + }, + "end2": { + "_type": "UMLAssociationEnd", + "_id": "AAAAAAGIQq/wXc7DMyI=", + "_parent": { + "$ref": "AAAAAAGIQq/wXc7Bgzg=" + }, + "reference": { + "$ref": "AAAAAAGIQq4B/MNU1SI=" + }, + "navigable": "navigable" + }, + "visibility": "private" + } + ], + "attributes": [ { "_type": "UMLAttribute", "_id": "AAAAAAGIHpYIRL8qPro=", @@ -2601,6 +3562,34 @@ "type": "string" } ] + }, + { + "_type": "UMLOperation", + "_id": "AAAAAAGIQqriQ7a5XjA=", + "_parent": { + "$ref": "AAAAAAGIHpWTGr74dEI=" + }, + "name": "ChangeCategory", + "parameters": [ + { + "_type": "UMLParameter", + "_id": "AAAAAAGIQqvKZLb2L6o=", + "_parent": { + "$ref": "AAAAAAGIQqriQ7a5XjA=" + }, + "name": "type", + "type": "string" + }, + { + "_type": "UMLParameter", + "_id": "AAAAAAGIQqvKZLb3Q3s=", + "_parent": { + "$ref": "AAAAAAGIQqriQ7a5XjA=" + }, + "type": "void", + "direction": "return" + } + ] } ] }, @@ -2676,6 +3665,70 @@ ] } ] + }, + { + "_type": "UMLClass", + "_id": "AAAAAAGIQqxGs71O/w0=", + "_parent": { + "$ref": "AAAAAAFF+qBWK6M3Z8Y=" + }, + "name": "Enum", + "operations": [ + { + "_type": "UMLOperation", + "_id": "AAAAAAGIQq2w/MIWlQQ=", + "_parent": { + "$ref": "AAAAAAGIQqxGs71O/w0=" + }, + "name": "Operation1" + } + ] + }, + { + "_type": "UMLEnumeration", + "_id": "AAAAAAGIQq4B/MNU1SI=", + "_parent": { + "$ref": "AAAAAAFF+qBWK6M3Z8Y=" + }, + "name": "TransactionType", + "attributes": [ + { + "_type": "UMLAttribute", + "_id": "AAAAAAGIQq5hfMQMINg=", + "_parent": { + "$ref": "AAAAAAGIQq4B/MNU1SI=" + }, + "name": "Attribute1", + "type": "" + }, + { + "_type": "UMLAttribute", + "_id": "AAAAAAGIQq5vG8RORHY=", + "_parent": { + "$ref": "AAAAAAGIQq4B/MNU1SI=" + }, + "name": "Attribute2", + "type": "" + } + ], + "literals": [ + { + "_type": "UMLEnumerationLiteral", + "_id": "AAAAAAGIQq6EwMTAIAg=", + "_parent": { + "$ref": "AAAAAAGIQq4B/MNU1SI=" + }, + "name": "credit" + }, + { + "_type": "UMLEnumerationLiteral", + "_id": "AAAAAAGIQq95ZMU5GXc=", + "_parent": { + "$ref": "AAAAAAGIQq4B/MNU1SI=" + }, + "name": "flow" + } + ] } ] } diff --git a/Documentation/images/BanqualeLogo1080x1080.png b/Documentation/images/BanqualeLogo1080x1080.png new file mode 100644 index 0000000..95339fb Binary files /dev/null and b/Documentation/images/BanqualeLogo1080x1080.png differ diff --git a/Documentation/images/banqualeLogo.png b/Documentation/images/banqualeLogo.png new file mode 100644 index 0000000..d7b7701 Binary files /dev/null and b/Documentation/images/banqualeLogo.png differ diff --git a/Documentation/images/banqualeLogo.jpg b/Documentation/images/banqualeSlogan.jpg similarity index 100% rename from Documentation/images/banqualeLogo.jpg rename to Documentation/images/banqualeSlogan.jpg diff --git a/src/Banquale/Banquale/App.xaml.cs b/src/Banquale/Banquale/App.xaml.cs index 3339e96..47e07c7 100644 --- a/src/Banquale/Banquale/App.xaml.cs +++ b/src/Banquale/Banquale/App.xaml.cs @@ -15,11 +15,11 @@ public partial class App : Application MyManager.DataLoad(); MyManager.Persistence = new DataContractPersistance.DataContractPers(); - MyManager.DataSave(); InitializeComponent(); MainPage = new AppShell(); + //MyManager.DataSave(); } -} \ No newline at end of file +} diff --git a/src/Banquale/Banquale/AppShell.xaml b/src/Banquale/Banquale/AppShell.xaml index d01fdb1..6a0dbdc 100644 --- a/src/Banquale/Banquale/AppShell.xaml +++ b/src/Banquale/Banquale/AppShell.xaml @@ -4,28 +4,25 @@ xmlns="http://schemas.microsoft.com/dotnet/2021/maui" xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml" xmlns:views="clr-namespace:Banquale.Views" + xmlns:balance="clr-namespace:Banquale.Views.Balance" + xmlns:transfer="clr-namespace:Banquale.Views.Transfer" Shell.FlyoutBehavior="Disabled"> - - - + diff --git a/src/Banquale/Banquale/AppShell.xaml.cs b/src/Banquale/Banquale/AppShell.xaml.cs index 358a89f..9735096 100644 --- a/src/Banquale/Banquale/AppShell.xaml.cs +++ b/src/Banquale/Banquale/AppShell.xaml.cs @@ -1,5 +1,6 @@ using Banquale.Views; - +using Banquale.Views.Category; +using Banquale.Views.Transfer; namespace Banquale; public partial class AppShell : Shell @@ -8,7 +9,7 @@ public partial class AppShell : Shell { InitializeComponent(); Routing.RegisterRoute("balance/categorydetails", typeof(CategoryPage)); - Routing.RegisterRoute("newpagedetails", typeof(NewPage1)); + Routing.RegisterRoute("balance/newpagedetails", typeof(NewPage1)); Routing.RegisterRoute("menu/requestdetails", typeof(RequestPage)); Routing.RegisterRoute("menu/ribdetails", typeof(RibPage)); Routing.RegisterRoute("menu/transferdetails", typeof(TransferPage)); diff --git a/src/Banquale/Banquale/Banquale.csproj b/src/Banquale/Banquale/Banquale.csproj index 57a7a4c..644ae23 100644 --- a/src/Banquale/Banquale/Banquale.csproj +++ b/src/Banquale/Banquale/Banquale.csproj @@ -67,6 +67,8 @@ + + @@ -80,5 +82,7 @@ + + diff --git a/src/Banquale/Banquale/Model/Account.cs b/src/Banquale/Banquale/Model/Account.cs index a6127ac..1b62a9e 100644 --- a/src/Banquale/Banquale/Model/Account.cs +++ b/src/Banquale/Banquale/Model/Account.cs @@ -1,20 +1,118 @@ using System; using System.Collections.Generic; +using System.ComponentModel; +using System.Diagnostics; using System.Linq; +using System.Runtime.Serialization; using System.Text; using System.Threading.Tasks; - namespace Banquale.Model { - public class Account + [DataContract] + public class Account : INotifyPropertyChanged { - public int Balance { get; set; } + public event PropertyChangedEventHandler PropertyChanged; + + void OnPropertyChanged(string propertyName) + { + PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName)); + } + + [DataMember] + public double Balance + { + get => balance; + set + { + if (balance == value) + return; + balance = value; + OnPropertyChanged(nameof(Balance)); + } + } + private double balance; + + + [DataMember] + public string Name + { + get => name; + set + { + if (name == value) + return; + name = value; + OnPropertyChanged(nameof(Name)); + } + } + private string name; + + + [DataMember] + public string IBAN + { + get => iban; + set + { + if (iban == value) + return; + iban = value; + OnPropertyChanged(nameof(IBAN)); + } + } + private string iban; + + + public Account(int balance, string name, string iban) + { + Balance = balance; + Name = name; + IBAN = iban; + } + + [DataMember] + public List TransactionsList { get; set; } = new List(); + + //public bool DoTransactions(string name, string IBAN, float sum) + //{ + // List transactions.add(sum); + // if() + // return true; + //} + + internal static void DoTransactions(Entry name, Entry iban, Entry sum) + { + Debug.WriteLine(name); + Debug.WriteLine(iban); + Debug.WriteLine(sum); + Debug.WriteLine("Transaction successed !"); + } + + //public bool DoRequest(string name, string IBAN, float sum) + //{ + // List transactions.add(sum); + // if () + // return true; + //} - public string Name { get; set;} + //public void AskForHelp(string type, string type2, string message) + //{ + // Console.WriteLine("Help button pressed !"); + //} - public string IBAN { get; set; } + internal static void AskForHelp(Entry request, Entry subject, Editor message) + { + Debug.WriteLine(request.Text); + Debug.WriteLine(subject); + Debug.WriteLine(message); + Debug.WriteLine("Help button pressed !"); + //throw new NotImplementedException(); + } - public List TransactionsList { get; set; } + internal static void DoRequest(Entry name, Entry iBAN, Entry sum) + { + throw new NotImplementedException(); + } } } diff --git a/src/Banquale/Banquale/Model/Customer.cs b/src/Banquale/Banquale/Model/Customer.cs index 106cc7e..3b8e2ac 100644 --- a/src/Banquale/Banquale/Model/Customer.cs +++ b/src/Banquale/Banquale/Model/Customer.cs @@ -12,12 +12,16 @@ namespace Banquale.Model public class Customer : Person { [DataMember] - public List AccountsList { get; private set; } + public List AccountsList { get; private set; } = new List(); + + //private uint NbAccounts { get; set; } = AccountsList.Count; public Customer(string name, string firstName, string password) : base(name, firstName, password) {} + + } diff --git a/src/Banquale/Banquale/Model/IPersistenceManager.cs b/src/Banquale/Banquale/Model/IPersistenceManager.cs index 2930ad3..c50a775 100644 --- a/src/Banquale/Banquale/Model/IPersistenceManager.cs +++ b/src/Banquale/Banquale/Model/IPersistenceManager.cs @@ -10,6 +10,6 @@ namespace Banquale.Model { public (List, List) DataLoad(); - void DataSave(List c, List t); + void DataSave(List c, List t /*, List c2*/); } } diff --git a/src/Banquale/Banquale/Model/Manager.cs b/src/Banquale/Banquale/Model/Manager.cs index d40d2c2..17c8535 100644 --- a/src/Banquale/Banquale/Model/Manager.cs +++ b/src/Banquale/Banquale/Model/Manager.cs @@ -12,13 +12,15 @@ namespace Banquale.Model [DataMember] public List TransactionsList { get; private set; } + public List AccountList { get; private set; } + public IPersistenceManager Persistence { get; set; } - public Manager(IPersistenceManager persistance) { + public Manager(IPersistenceManager persistence) { TransactionsList = new List(); CustomersList = new List(); - Persistence = persistance; + Persistence = persistence; } diff --git a/src/Banquale/Banquale/Model/Transactions.cs b/src/Banquale/Banquale/Model/Transactions.cs index e970439..2ebf0dd 100644 --- a/src/Banquale/Banquale/Model/Transactions.cs +++ b/src/Banquale/Banquale/Model/Transactions.cs @@ -1,26 +1,102 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; +using System.ComponentModel; +using System.Runtime.Serialization; namespace Banquale.Model { - public class Transactions + [DataContract] + public class Transactions : INotifyPropertyChanged { - public int Type { get; private set; } - public int Sum { get; private set; } + void OnPropertyChanged(string propertyName) + { + PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName)); + } + + [DataMember] + public int Type + { + get => type; + set + { + if(type == value) + return; + type = value; + OnPropertyChanged(nameof(Type)); + } + } + [DataMember] - public Account InvolvedAccounts { get; private set; } + private int type; - public string Category { get; private set; } + [DataMember] + public Double Sum + { + get => sum; + set + { + if (sum == value) + return; + sum = value; + OnPropertyChanged(nameof(Sum)); + } + } + [DataMember] + private Double sum; + + [DataMember] + public Account InvolvedAccounts + { + get => involvedAccounts; + set + { + if (involvedAccounts == value) + return; + involvedAccounts = value; + OnPropertyChanged(nameof(InvolvedAccounts)); + } + } + [DataMember] + private Account involvedAccounts; - public Transactions(int type, int sum, Account involvedAccounts, string category) { + [DataMember] + public string Category + { + get => category; + set + { + if (category == value) + return; + category = value; + OnPropertyChanged(nameof(Category)); + } + } + [DataMember] + private string category; + + [DataMember] + public DateTime Date + { + get => date; + set + { + if (date == value) + return; + date = value; + OnPropertyChanged(nameof(Date)); + } + } + [DataMember] + private DateTime date; + + public Transactions(int type, Double sum, Account involvedAccounts, string category, DateTime date) + { Type = type; Sum = sum; InvolvedAccounts = involvedAccounts; Category = category; + Date = date; } + + public event PropertyChangedEventHandler PropertyChanged; } } diff --git a/src/Banquale/Banquale/Stub/Stub.cs b/src/Banquale/Banquale/Stub/Stub.cs index 52800c8..bc20ecd 100644 --- a/src/Banquale/Banquale/Stub/Stub.cs +++ b/src/Banquale/Banquale/Stub/Stub.cs @@ -1,23 +1,50 @@ using System; +using System.Diagnostics; using Banquale.Model; namespace Banquale.Stub { - public class Stub : IPersistenceManager - { + public class Stub : IPersistenceManager + { - public (List, List) DataLoad() + public (List, List /*, List*/) DataLoad() { Customer Customer1 = new Customer("Jacques", "Morice", "J'aimeLesFrites"); Customer Customer2 = new Customer("Francis", "Begore", "J'aimeLes"); Customer Customer3 = new Customer("Michel", "Boudout", "MonMdP"); - Console.WriteLine(Customer1); + + Account Account1 = new Account(999, "Tatouille", "FR76 9161 9581 6296 8415 2361 004"); + Account Account2 = new Account(9510, "Despoints", "FR76 4785 8569 6914 4152 5263 003"); + Account Account3 = new Account(3519, "Perotte", "FR76 6352 2541 4169 6958 5847 002"); + + + Transactions Transactions1 = new Transactions(0, 55, Account1, "Test", new DateTime(2023, 6, 21)); + Transactions Transactions2 = new Transactions(1, 54.99, Account2, "Test", new DateTime(2022, 8, 15)); + Transactions Transactions3 = new Transactions(0, 1000, Account3, "Test", new DateTime(2020, 9, 1)); + + Debug.WriteLine(Customer1.Name, Customer1.Password); List CustomersList = new List(); - List TransactionsList = new List(); + List TransactionsList= new List(); + List AccountsList = new List(); + + + + Account1.TransactionsList.Add(Transactions1); + Account2.TransactionsList.Add(Transactions2); + + //AccountsList.Add(Account1); + //AccountsList.Add(Account2); + //AccountsList.Add(Account3); + + Customer1.AccountsList.Add(Account1); + Customer1.AccountsList.Add(Account2); + + + CustomersList.Add(Customer1); CustomersList.Add(Customer2); CustomersList.Add(Customer3); - return (CustomersList, TransactionsList); + return (CustomersList, TransactionsList /*, AccountsList*/); } public void DataSave(List c, List t) diff --git a/src/Banquale/Banquale/Views/BalancePage.xaml b/src/Banquale/Banquale/Views/Balance/BalancePage.xaml similarity index 77% rename from src/Banquale/Banquale/Views/BalancePage.xaml rename to src/Banquale/Banquale/Views/Balance/BalancePage.xaml index 636656b..e2cc3bc 100644 --- a/src/Banquale/Banquale/Views/BalancePage.xaml +++ b/src/Banquale/Banquale/Views/Balance/BalancePage.xaml @@ -1,8 +1,9 @@  @@ -15,38 +16,49 @@ RowDefinitions="auto, 35, *" ColumnDefinitions="250, auto" Grid.Row="0" - Margin="30" - > - -