Advertisement
leonard007

Untitled

Feb 8th, 2025
40
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 11.19 KB | None | 0 0
  1. @page "/procentaje"
  2. @rendermode InteractiveServer
  3. @using Microsoft.Data.SqlClient
  4. @inject IJSRuntime JsRuntime
  5.  
  6. <PageTitle>Procentaje</PageTitle>
  7.  
  8. @if(parolaCorecta == true)
  9. {
  10. <div class="container">
  11.     <div class="card">
  12.         <h3 class="card-title">Editeaza Procentaje</h3>
  13.         <div class="form-group">
  14.             <label for="casProcent">CAS Procent:</label>
  15.             <input type="number" class="form-control" id="casProcent" @bind="CASProcent" step="0.01" min="0" max="1" @bind:event="oninput" />
  16.         </div>
  17.         <div class="form-group">
  18.             <label for="cassProcent">CASS Procent:</label>
  19.             <input type="number" class="form-control" id="cassProcent" @bind="CASSProcent" step="0.01" min="0" max="1" @bind:event="oninput" />
  20.         </div>
  21.         <div class="form-group">
  22.             <label for="impozitProcent">Impozit Procent:</label>
  23.             <input type="number" class="form-control" id="impozitProcent" @bind="ImpozitProcent" step="0.01" min="0" max="1" @bind:event="oninput" />
  24.         </div>
  25.         <button class="btn-primary" @onclick="SalvareProcente">Salveaza Procente</button>
  26.     </div>
  27.  
  28.     <div class="card info-card">
  29.         <h4>Procente Actuale</h4>
  30.         <div class="info-item">
  31.             <span>CAS:</span>
  32.             <span class="value">@CASProcentActual</span>
  33.         </div>
  34.         <div class="info-item">
  35.             <span>CASS:</span>
  36.             <span class="value">@CASSProcentActual</span>
  37.         </div>
  38.         <div class="info-item">
  39.             <span>Impozit:</span>
  40.             <span class="value">@ImpozitProcentActual</span>
  41.         </div>
  42.     </div>
  43.  
  44.     <div class="card password-card">
  45.         <h4>Schimba Parola</h4>
  46.         <div class="form-group">
  47.                 @if (arataParola == true)
  48.                 {
  49.                     <input type="text" class="form-control" placeholder="Introduceti parola noua" @bind="parolaNoua" />
  50.                 }
  51.                 else
  52.                 {
  53.                     <input type="password" class="form-control" placeholder="Introduceti parola noua" @bind="parolaNoua" />
  54.                 }
  55.             <br />
  56.             <button class="btn btn-primary" @onclick="SchimbaParola">Schimba Parola</button>
  57.             <button class="btn btn-secondary" @onclick="FunctieAratareParola">Arata parola</button>
  58.         </div>
  59.     </div>
  60. </div>
  61. }
  62. else {
  63.     <div class="login-container">
  64.         <div class="login-card">
  65.             <h3>Autentificare</h3>
  66.             <div class="form-group">
  67.                 <img width="300px" height="300px" src="https://external-content.duckduckgo.com/iu/?u=https%3A%2F%2Fstatic.vecteezy.com%2Fsystem%2Fresources%2Fpreviews%2F003%2F689%2F228%2Foriginal%2Fonline-registration-or-sign-up-login-for-account-on-smartphone-app-user-interface-with-secure-password-mobile-application-for-ui-web-banner-access-cartoon-people-illustration-vector.jpg&f=1&nofb=1&ipt=53d02b66b27ada77162237c4d8ecf4bdd80fc90dacaa7f3269031539716cefc8&ipo=images" />
  68.                 <input type="password" class="form-control" placeholder="Introduceti parola" @bind="parola" />
  69.                 <br />
  70.                 <button class="btn-primary align-content-center" @onclick="VerificaParola">Verifica</button>
  71.             </div>
  72.             @if (parolaIntrodusaGresit == true)
  73.             {
  74.                 <p class="error-message">Parola introdusa este gresita sau este mai mica de 8 caractere</p>
  75.             }
  76.         </div>
  77.     </div>
  78. }
  79.  
  80. @code {
  81.     private decimal CASProcent { get; set; } = 0.25m;
  82.     private decimal CASSProcent { get; set; } = 0.10m;
  83.     private decimal ImpozitProcent { get; set; } = 0.10m;
  84.     private double CASProcentActual;
  85.     private double CASSProcentActual;
  86.     private double ImpozitProcentActual;
  87.     private string parola = string.Empty;
  88.     private string parolaNoua = string.Empty;
  89.     private bool parolaCorecta = false;
  90.     private bool parolaIntrodusaGresit = false;
  91.     private bool arataParola = false;
  92.  
  93.     private string parolaAsteptata;
  94.     string NORMAL = Console.IsOutputRedirected ? "" : "\x1b[39m";
  95.     string RED = Console.IsOutputRedirected ? "" : "\x1b[91m";
  96.     string GREEN = Console.IsOutputRedirected ? "" : "\x1b[92m";
  97.     string YELLOW = Console.IsOutputRedirected ? "" : "\x1b[93m";
  98.     string BLUE = Console.IsOutputRedirected ? "" : "\x1b[94m";
  99.     string MAGENTA = Console.IsOutputRedirected ? "" : "\x1b[95m";
  100.     string CYAN = Console.IsOutputRedirected ? "" : "\x1b[96m";
  101.     string GREY = Console.IsOutputRedirected ? "" : "\x1b[97m";
  102.     string BOLD = Console.IsOutputRedirected ? "" : "\x1b[1m";
  103.     string NOBOLD = Console.IsOutputRedirected ? "" : "\x1b[22m";
  104.     string UNDERLINE = Console.IsOutputRedirected ? "" : "\x1b[4m";
  105.     string NOUNDERLINE = Console.IsOutputRedirected ? "" : "\x1b[24m";
  106.     string REVERSE = Console.IsOutputRedirected ? "" : "\x1b[7m";
  107.     string NOREVERSE = Console.IsOutputRedirected ? "" : "\x1b[27m";
  108.  
  109.     protected override async Task OnInitializedAsync()
  110.     {
  111.         parolaCorecta = false;
  112.         arataParola = false;
  113.         await IncarcareProcenteActuale();
  114.         await IncarcareParola();
  115.     }
  116.  
  117.     private void FunctieAratareParola()
  118.     {
  119.         arataParola = true;
  120.     }
  121.  
  122.     private async Task IncarcareProcenteActuale()
  123.     {
  124.         string connectionString = "Server=DESKTOP-0A21C4G\\SQLEXPRESS;Database=Management;Trusted_Connection=True;TrustServerCertificate=True;";
  125.         using (SqlConnection connection = new SqlConnection(connectionString))
  126.         {
  127.             await connection.OpenAsync();
  128.             string query = "SELECT * FROM dbo.TabelProcentaje";
  129.             using (SqlCommand command = new SqlCommand(query, connection))
  130.             {
  131.                 using (SqlDataReader reader = await command.ExecuteReaderAsync())
  132.                 {
  133.                     if(reader.Read())
  134.                     {
  135.                         CASProcentActual = reader.GetDouble(0);
  136.                         CASSProcentActual = reader.GetDouble(1);
  137.                         ImpozitProcentActual = reader.GetDouble(2);
  138.                     }
  139.                 }
  140.             }
  141.         }
  142.         Console.WriteLine($"{GREEN} [ INFO ]{NORMAL} Procentele actuale au fost incarcate");
  143.     }
  144.  
  145.     private async Task IncarcareParola()
  146.     {
  147.         string connectionString = "Server=DESKTOP-0A21C4G\\SQLEXPRESS;Database=Management;Trusted_Connection=True;TrustServerCertificate=True;";
  148.         using (SqlConnection connection = new SqlConnection(connectionString))
  149.         {
  150.             await connection.OpenAsync();
  151.             string query = "SELECT parola FROM dbo.TabelProcentaje";
  152.             using (SqlCommand command = new SqlCommand(query, connection))
  153.             {
  154.                 using (SqlDataReader reader = await command.ExecuteReaderAsync())
  155.                 {
  156.                     if(reader.Read())
  157.                     {
  158.                         parolaAsteptata = reader.GetString(0);
  159.                     }
  160.                 }
  161.             }
  162.         }
  163.     }
  164.  
  165.     private async Task SalvareProcente()
  166.     {
  167.         if (CASProcent < 0 || CASProcent > 1)
  168.         {
  169.             CASProcent = 0.25m;
  170.             await JsRuntime.InvokeVoidAsync("alert", "Procentul nu poate fi mai mic decat 0 sau mai mare decat 1");
  171.         }
  172.         else if (CASSProcent < 0 || CASSProcent > 1)
  173.         {
  174.             CASSProcent = 0.10m;
  175.             await JsRuntime.InvokeVoidAsync("alert", "Procentul nu poate fi mai mic decat 0 sau mai mare decat 1");
  176.         }
  177.         else if (ImpozitProcent < 0 || ImpozitProcent > 1)
  178.         {
  179.             ImpozitProcent = 0.10m;
  180.             await JsRuntime.InvokeVoidAsync("alert", "Procentul nu poate fi mai mic decat 0 sau mai mare decat 1");
  181.         }
  182.         else
  183.         {
  184.             string connectionString = "Server=DESKTOP-0A21C4G\\SQLEXPRESS;Database=Management;Trusted_Connection=True;TrustServerCertificate=True;";
  185.             using (SqlConnection connection = new SqlConnection(connectionString))
  186.             {
  187.                 await connection.OpenAsync();
  188.                 string query = "IF EXISTS (SELECT 1 FROM dbo.TabelProcentaje) " +
  189.                                "BEGIN " +
  190.                                "UPDATE dbo.TabelProcentaje SET " +
  191.                                "CAS = CASE WHEN @CAS IS NOT NULL THEN @CAS ELSE CAS END, " +
  192.                                "CASS = CASE WHEN @CASS IS NOT NULL THEN @CASS ELSE CASS END, " +
  193.                                "Impozit = CASE WHEN @Impozit IS NOT NULL THEN @Impozit ELSE Impozit END " +
  194.                                "END " +
  195.                                "ELSE " +
  196.                                "INSERT INTO dbo.TabelProcentaje (CAS, CASS, Impozit) VALUES (@CAS, @CASS, @Impozit)";
  197.                 using (SqlCommand command = new SqlCommand(query, connection))
  198.                 {
  199.                     command.Parameters.AddWithValue("@CAS", CASProcent);
  200.                     command.Parameters.AddWithValue("@CASS", CASSProcent);
  201.                     command.Parameters.AddWithValue("@Impozit", ImpozitProcent);
  202.  
  203.                     await command.ExecuteNonQueryAsync();
  204.                     Console.WriteLine($"{GREEN} [ INFO ]{NORMAL} Datele au fost modificate, noile valori sunt: {CASProcent}, {CASSProcent}, {ImpozitProcent}");
  205.                 }
  206.             }
  207.         }
  208.         await IncarcareProcenteActuale();
  209.     }
  210.  
  211.     private void VerificaParola()
  212.     {
  213.         if (parola == parolaAsteptata)
  214.         {
  215.             parolaCorecta = true;
  216.         }
  217.         else
  218.         {
  219.             parolaIntrodusaGresit = true;
  220.             parolaCorecta = false;
  221.         }
  222.     }
  223.  
  224.     private async void SchimbaParola()
  225.     {
  226.         if (string.IsNullOrEmpty(parolaNoua) || parolaNoua.Length < 8)
  227.         {
  228.             await JsRuntime.InvokeVoidAsync("alert", "Nu s-a introdus nimic sau parola este mai mica de 8 caractere, parola nu a putut fi schimbata");
  229.             Console.WriteLine($"{RED} [ ALERT ]{NORMAL} S-a incercat modificarea parolei");
  230.         }
  231.         else
  232.         {
  233.             string connectionString = "Server=DESKTOP-0A21C4G\\SQLEXPRESS;Database=Management;Trusted_Connection=True;TrustServerCertificate=True;";
  234.             using (SqlConnection connection = new SqlConnection(connectionString))
  235.             {
  236.                 await connection.OpenAsync();
  237.                 string query = "IF EXISTS (SELECT 1 FROM dbo.TabelProcentaje) " +
  238.                                "BEGIN " +
  239.                                "UPDATE dbo.TabelProcentaje SET parola = @parolaNoua " +
  240.                                "END " +
  241.                                "ELSE " +
  242.                                "INSERT INTO dbo.TabelProcentaje (parola) VALUES (@parolaNoua)";
  243.                 using (SqlCommand command = new SqlCommand(query, connection))
  244.                 {
  245.                     command.Parameters.AddWithValue("@parolaNoua", parolaNoua);
  246.                     await command.ExecuteNonQueryAsync();
  247.                 }
  248.             }
  249.             parolaAsteptata = parolaNoua;
  250.             await JsRuntime.InvokeVoidAsync("alert", "Parola a fost schimbata cu succes");
  251.             Console.WriteLine($"{GREEN} [ INFO ]{NORMAL} Parola a fost schimbata, noua parola este {parolaNoua}");
  252.         }
  253.     }
  254. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement