Ajoutez un compte avec sa banque, son type et son hypothèse de croissance pour structurer votre patrimoine.
+Les informations renseignées seront utilisées dans les relevés, transactions et vues de synthèse.
+Cette action retire le compte de l'application et peut être bloquée si des données liées existent encore.
+Confirmez l'identité et la configuration du compte avant de poursuivre.
+@(string.IsNullOrWhiteSpace(account.Bank) ? "Banque non renseignée" : account.Bank) · @(account.Type?.Title ?? "Type non renseigné")
+Historique des relevés associés à ce compte.
+| Date | +Valeur | +
|---|---|
| @statement.Date.ToString("dd/MM/yyyy") | +@statement.Value.ToString("C", culture) | +
Liste des opérations exécutées sur ce compte.
+| Date | +Titre | +Quantité | +Valeur | +Total Achat | +Total Ajd | + +
|---|---|---|---|---|---|
| @(transaction.Date?.ToString("dd/MM/yyyy") ?? "—") | +@(transaction.Stocks?.Title ?? "—") | +@(transaction.Quantity?.ToString("N2", culture) ?? "—") | +@(transaction.Value?.ToString("C", culture) ?? "—") | +@((transaction.Quantity*transaction.Value)?.ToString("N2", culture) ?? "—") | +@(transaction.Stocks.Ticker != null && ((Dictionary |
+
+
Actifs patrimoniaux actuellement rattachés à ce compte.
+| Titre | +Date d'achat | +Quantité | +Prix | +Total | +
|---|---|---|---|---|
| @patrimony.Title | +@(patrimony.BuyingDate?.ToString("dd/MM/yyyy") ?? "—") | +@(patrimony.Quantity?.ToString("N2", culture) ?? "—") | +@(patrimony.Price?.ToString("C", culture) ?? "—") | +@total.ToString("C", culture) | +
Adaptez les informations du compte pour garder une structure de données propre et exploitable.
+Les modifications seront visibles dans toutes les vues liées à ce compte.
+Gérez tous vos comptes financiers, leur typologie et leur hypothèse de croissance dans une interface cohérente.
+Retrouvez la banque, le type et le profil de croissance associés à chaque compte.
+| Banque | +Compte | +Type | +Croissance | +Actions | +
|---|---|---|---|---|
|
+
+
+ @if (!string.IsNullOrWhiteSpace(item.Bank))
+ {
+
+
+ }
+
+ @(string.IsNullOrWhiteSpace(item.Bank) ? "Non renseigné" : item.Bank)
+ |
+ @item.Title | +@(item.Type?.Title ?? "—") | +@(item.Increase?.Title ?? "—") | ++ + | +
Créez un premier compte pour structurer vos données financières.
+Visualisez instantanément le poids de chaque type de compte et suivez la structure globale de votre patrimoine.
+Ajoutez ou mettez à jour des comptes pour afficher la répartition.
+@summary.ActualValue.ToString("C", displayCulture) · @summary.Percentage.ToString("0.0", displayCulture)% du patrimoine
+| Établissement | +Compte | +Investi | +Valorisation | +Poids | +
|---|---|---|---|---|
|
+
+
+ @if (!string.IsNullOrWhiteSpace(account.Bank))
+ {
+
+ |
+ + @account.Title + | +@account.StartValue.ToString("C", displayCulture) | +@account.ActualValue.ToString("C", displayCulture) = 0 ? "sf-progress-positive" : "sf-progress-negative")">@progress.ToString("0.0%", displayCulture) | +@accountShare.ToString("0.0", displayCulture)% | +
Use this page to detail your site's privacy policy.
diff --git a/StockFin/Views/Shared/Error.cshtml b/StockFin/Views/Shared/Error.cshtml new file mode 100644 index 0000000..c169d35 --- /dev/null +++ b/StockFin/Views/Shared/Error.cshtml @@ -0,0 +1,25 @@ +@* @model ErrorViewModel +@{ + ViewData["Title"] = "Error"; +} + +
+ Request ID: @Model.RequestId
+
+ Swapping to Development environment will display more detailed information about the error that occurred. +
++ The Development environment shouldn't be enabled for deployed applications. + It can result in displaying sensitive information from exceptions to end users. + For local debugging, enable the Development environment by setting the ASPNETCORE_ENVIRONMENT environment variable to Development + and restarting the app. +
*@ diff --git a/StockFin/Views/Shared/_Layout.cshtml b/StockFin/Views/Shared/_Layout.cshtml new file mode 100644 index 0000000..eeed9c6 --- /dev/null +++ b/StockFin/Views/Shared/_Layout.cshtml @@ -0,0 +1,134 @@ + + + + + +Ajoutez une valorisation ponctuelle pour enrichir le suivi historique d'un compte.
+Renseignez la date, le compte et la valeur observée.
+Enregistrez rapidement la valeur du jour pour tous les comptes suivis dans une seule interface.
+Renseignez un montant par compte pour constituer votre snapshot quotidien.
+Cette action retirera définitivement ce relevé de l'historique.
+Confirmez le relevé ciblé avant de poursuivre.
+Mettez à jour ce relevé pour garder votre historique fidèle à la réalité.
+La modification sera visible dans vos vues de suivi dès l'enregistrement.
+Suivez les valorisations de vos comptes et gardez un historique propre de chaque relevé enregistré.
+Chaque ligne représente un point de contrôle sur la valeur d'un compte.
+| Date | +Compte | +Valeur | +Actions | +
|---|---|---|---|
| @item.Date.ToString("yyyy-MM-dd") | ++ @if (item.AccountId.HasValue) + { + @item.Account?.Title + } + else + { + @item.Account?.Title + } + | +@item.Value | ++ + | +
Ajoutez un premier relevé pour commencer votre suivi.
+Ajoutez un instrument financier avec ses identifiants de marché et son prix de référence.
+Ces informations seront réutilisées dans vos transactions et vos valorisations.
+Cette suppression retirera l'instrument de votre référentiel.
+Assurez-vous qu'aucune donnée importante n'est encore liée à ce titre.
+Ajustez la fiche instrument pour maintenir des données de marché cohérentes dans l'application.
+Les changements seront réutilisés dans les vues de portefeuille et de transactions.
+Administrez vos instruments financiers et suivez leur prix courant dans une vue claire et cohérente.
+Conservez une référence propre de vos actions, ETF et autres instruments suivis.
+| Title | +ISIN | +Ticker | +Cost | +Current Price | +Actions | +
|---|---|---|---|---|---|
| @item.Title | +@item.Isin | +@item.Ticker | +@(item.Cost.HasValue ? item.Cost.Value.ToString("N2", displayCulture) : "") | +@(item.Ticker != null && ((Dictionary |
+ + + | +
Créez un premier instrument ou importez vos données Trade Republic.
+Chargez un export CSV pour enrichir automatiquement votre univers titres avec un flux de travail plus propre.
+Sélectionnez le fichier Exportation de transactions.csv exporté depuis Trade Republic.
+Ajoutez une valeur historique pour enrichir le suivi temporel d'un instrument.
+Renseignez le titre, la date et le montant mesuré.
+Cette action supprimera définitivement cette entrée de votre historique.
+Contrôlez les informations de la valeur avant validation.
+Corrigez ou ajustez une mesure historique pour garder vos séries temporelles fiables.
+Les changements seront visibles dans l'historique du titre concerné.
+Conservez l'évolution des prix de vos instruments pour alimenter vos analyses et valorisations historiques.
+Chaque entrée représente une valeur observée pour un titre à une date donnée.
+| Titre | +Date | +Valeur | +Actions | +
|---|---|---|---|
| @item.Stocks?.Title | +@item.Date?.ToString("dd/MM/yyyy") | +@item.Value?.ToString("N2", culture) € | ++ + | +
Ajoutez un premier point de mesure pour commencer l'historique d'un titre.
+Ajoutez un mouvement d'investissement en renseignant le compte, le titre et les montants associés.
+Les informations enregistrées seront utilisées dans le suivi de votre portefeuille.
+Cette opération retirera définitivement la transaction de votre historique.
+Confirmez les informations ci-dessous avant de continuer.
+Ajustez les informations de cette opération pour conserver un historique précis.
+Les modifications seront reflétées immédiatement dans vos tableaux de suivi.
+Centralisez vos achats et ventes pour garder une lecture claire de l'activité de votre portefeuille.
+Consultez chaque mouvement enregistré sur vos comptes et titres.
+| Date | +Compte | +Titre | +Quantité | +Valeur | +Actions | +
|---|---|---|---|---|---|
| @(item.Date.HasValue ? item.Date.Value.ToString("yyyy-MM-dd") : "") | ++ @if (item.AccountId.HasValue) + { + @item.Account?.Title + } + else + { + @item.Account?.Title + } + | +@(item.Stocks?.Title ?? "—") | +@item.Quantity | +@item.Value | ++ + | +
Commencez par créer une transaction pour alimenter votre historique.
+`s get reset. However, we also reset the\n// bottom margin to use `rem` units instead of `em`.\n\np {\n margin-top: 0;\n margin-bottom: $paragraph-margin-bottom;\n}\n\n\n// Abbreviations\n//\n// 1. Add the correct text decoration in Chrome, Edge, Opera, and Safari.\n// 2. Add explicit cursor to indicate changed behavior.\n// 3. Prevent the text-decoration to be skipped.\n\nabbr[title] {\n text-decoration: underline dotted; // 1\n cursor: help; // 2\n text-decoration-skip-ink: none; // 3\n}\n\n\n// Address\n\naddress {\n margin-bottom: 1rem;\n font-style: normal;\n line-height: inherit;\n}\n\n\n// Lists\n\nol,\nul {\n padding-left: 2rem;\n}\n\nol,\nul,\ndl {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nol ol,\nul ul,\nol ul,\nul ol {\n margin-bottom: 0;\n}\n\ndt {\n font-weight: $dt-font-weight;\n}\n\n// 1. Undo browser default\n\ndd {\n margin-bottom: .5rem;\n margin-left: 0; // 1\n}\n\n\n// Blockquote\n\nblockquote {\n margin: 0 0 1rem;\n}\n\n\n// Strong\n//\n// Add the correct font weight in Chrome, Edge, and Safari\n\nb,\nstrong {\n font-weight: $font-weight-bolder;\n}\n\n\n// Small\n//\n// Add the correct font size in all browsers\n\nsmall {\n @include font-size($small-font-size);\n}\n\n\n// Mark\n\nmark {\n padding: $mark-padding;\n color: var(--#{$prefix}highlight-color);\n background-color: var(--#{$prefix}highlight-bg);\n}\n\n\n// Sub and Sup\n//\n// Prevent `sub` and `sup` elements from affecting the line height in\n// all browsers.\n\nsub,\nsup {\n position: relative;\n @include font-size($sub-sup-font-size);\n line-height: 0;\n vertical-align: baseline;\n}\n\nsub { bottom: -.25em; }\nsup { top: -.5em; }\n\n\n// Links\n\na {\n color: rgba(var(--#{$prefix}link-color-rgb), var(--#{$prefix}link-opacity, 1));\n text-decoration: $link-decoration;\n\n &:hover {\n --#{$prefix}link-color-rgb: var(--#{$prefix}link-hover-color-rgb);\n text-decoration: $link-hover-decoration;\n }\n}\n\n// And undo these styles for placeholder links/named anchors (without href).\n// It would be more straightforward to just use a[href] in previous block, but that\n// causes specificity issues in many other styles that are too complex to fix.\n// See https://github.com/twbs/bootstrap/issues/19402\n\na:not([href]):not([class]) {\n &,\n &:hover {\n color: inherit;\n text-decoration: none;\n }\n}\n\n\n// Code\n\npre,\ncode,\nkbd,\nsamp {\n font-family: $font-family-code;\n @include font-size(1em); // Correct the odd `em` font sizing in all browsers.\n}\n\n// 1. Remove browser default top margin\n// 2. Reset browser default of `1em` to use `rem`s\n// 3. Don't allow content to break outside\n\npre {\n display: block;\n margin-top: 0; // 1\n margin-bottom: 1rem; // 2\n overflow: auto; // 3\n @include font-size($code-font-size);\n color: $pre-color;\n\n // Account for some code outputs that place code tags in pre tags\n code {\n @include font-size(inherit);\n color: inherit;\n word-break: normal;\n }\n}\n\ncode {\n @include font-size($code-font-size);\n color: var(--#{$prefix}code-color);\n word-wrap: break-word;\n\n // Streamline the style when inside anchors to avoid broken underline and more\n a > & {\n color: inherit;\n }\n}\n\nkbd {\n padding: $kbd-padding-y $kbd-padding-x;\n @include font-size($kbd-font-size);\n color: $kbd-color;\n background-color: $kbd-bg;\n @include border-radius($border-radius-sm);\n\n kbd {\n padding: 0;\n @include font-size(1em);\n font-weight: $nested-kbd-font-weight;\n }\n}\n\n\n// Figures\n//\n// Apply a consistent margin strategy (matches our type styles).\n\nfigure {\n margin: 0 0 1rem;\n}\n\n\n// Images and content\n\nimg,\nsvg {\n vertical-align: middle;\n}\n\n\n// Tables\n//\n// Prevent double borders\n\ntable {\n caption-side: bottom;\n border-collapse: collapse;\n}\n\ncaption {\n padding-top: $table-cell-padding-y;\n padding-bottom: $table-cell-padding-y;\n color: $table-caption-color;\n text-align: left;\n}\n\n// 1. Removes font-weight bold by inheriting\n// 2. Matches default `