Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- @page "/procentaje"
- @rendermode InteractiveServer
- @using Microsoft.Data.SqlClient
- @inject IJSRuntime JsRuntime
- <PageTitle>Procentaje</PageTitle>
- @if(parolaCorecta == true)
- {
- <div class="container">
- <div class="card">
- <h3 class="card-title">Editeaza Procentaje</h3>
- <div class="form-group">
- <label for="casProcent">CAS Procent:</label>
- <input type="number" class="form-control" id="casProcent" @bind="CASProcent" step="0.01" min="0" max="1" @bind:event="oninput" />
- </div>
- <div class="form-group">
- <label for="cassProcent">CASS Procent:</label>
- <input type="number" class="form-control" id="cassProcent" @bind="CASSProcent" step="0.01" min="0" max="1" @bind:event="oninput" />
- </div>
- <div class="form-group">
- <label for="impozitProcent">Impozit Procent:</label>
- <input type="number" class="form-control" id="impozitProcent" @bind="ImpozitProcent" step="0.01" min="0" max="1" @bind:event="oninput" />
- </div>
- <button class="btn-primary" @onclick="SalvareProcente">Salveaza Procente</button>
- </div>
- <div class="card info-card">
- <h4>Procente Actuale</h4>
- <div class="info-item">
- <span>CAS:</span>
- <span class="value">@CASProcentActual</span>
- </div>
- <div class="info-item">
- <span>CASS:</span>
- <span class="value">@CASSProcentActual</span>
- </div>
- <div class="info-item">
- <span>Impozit:</span>
- <span class="value">@ImpozitProcentActual</span>
- </div>
- </div>
- <div class="card password-card">
- <h4>Schimba Parola</h4>
- <div class="form-group">
- @if (arataParola == true)
- {
- <input type="text" class="form-control" placeholder="Introduceti parola noua" @bind="parolaNoua" />
- }
- else
- {
- <input type="password" class="form-control" placeholder="Introduceti parola noua" @bind="parolaNoua" />
- }
- <br />
- <button class="btn btn-primary" @onclick="SchimbaParola">Schimba Parola</button>
- <button class="btn btn-secondary" @onclick="FunctieAratareParola">Arata parola</button>
- </div>
- </div>
- </div>
- }
- else {
- <div class="login-container">
- <div class="login-card">
- <h3>Autentificare</h3>
- <div class="form-group">
- <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" />
- <input type="password" class="form-control" placeholder="Introduceti parola" @bind="parola" />
- <br />
- <button class="btn-primary align-content-center" @onclick="VerificaParola">Verifica</button>
- </div>
- @if (parolaIntrodusaGresit == true)
- {
- <p class="error-message">Parola introdusa este gresita sau este mai mica de 8 caractere</p>
- }
- </div>
- </div>
- }
- @code {
- private decimal CASProcent { get; set; } = 0.25m;
- private decimal CASSProcent { get; set; } = 0.10m;
- private decimal ImpozitProcent { get; set; } = 0.10m;
- private double CASProcentActual;
- private double CASSProcentActual;
- private double ImpozitProcentActual;
- private string parola = string.Empty;
- private string parolaNoua = string.Empty;
- private bool parolaCorecta = false;
- private bool parolaIntrodusaGresit = false;
- private bool arataParola = false;
- private string parolaAsteptata;
- string NORMAL = Console.IsOutputRedirected ? "" : "\x1b[39m";
- string RED = Console.IsOutputRedirected ? "" : "\x1b[91m";
- string GREEN = Console.IsOutputRedirected ? "" : "\x1b[92m";
- string YELLOW = Console.IsOutputRedirected ? "" : "\x1b[93m";
- string BLUE = Console.IsOutputRedirected ? "" : "\x1b[94m";
- string MAGENTA = Console.IsOutputRedirected ? "" : "\x1b[95m";
- string CYAN = Console.IsOutputRedirected ? "" : "\x1b[96m";
- string GREY = Console.IsOutputRedirected ? "" : "\x1b[97m";
- string BOLD = Console.IsOutputRedirected ? "" : "\x1b[1m";
- string NOBOLD = Console.IsOutputRedirected ? "" : "\x1b[22m";
- string UNDERLINE = Console.IsOutputRedirected ? "" : "\x1b[4m";
- string NOUNDERLINE = Console.IsOutputRedirected ? "" : "\x1b[24m";
- string REVERSE = Console.IsOutputRedirected ? "" : "\x1b[7m";
- string NOREVERSE = Console.IsOutputRedirected ? "" : "\x1b[27m";
- protected override async Task OnInitializedAsync()
- {
- parolaCorecta = false;
- arataParola = false;
- await IncarcareProcenteActuale();
- await IncarcareParola();
- }
- private void FunctieAratareParola()
- {
- arataParola = true;
- }
- private async Task IncarcareProcenteActuale()
- {
- string connectionString = "Server=DESKTOP-0A21C4G\\SQLEXPRESS;Database=Management;Trusted_Connection=True;TrustServerCertificate=True;";
- using (SqlConnection connection = new SqlConnection(connectionString))
- {
- await connection.OpenAsync();
- string query = "SELECT * FROM dbo.TabelProcentaje";
- using (SqlCommand command = new SqlCommand(query, connection))
- {
- using (SqlDataReader reader = await command.ExecuteReaderAsync())
- {
- if(reader.Read())
- {
- CASProcentActual = reader.GetDouble(0);
- CASSProcentActual = reader.GetDouble(1);
- ImpozitProcentActual = reader.GetDouble(2);
- }
- }
- }
- }
- Console.WriteLine($"{GREEN} [ INFO ]{NORMAL} Procentele actuale au fost incarcate");
- }
- private async Task IncarcareParola()
- {
- string connectionString = "Server=DESKTOP-0A21C4G\\SQLEXPRESS;Database=Management;Trusted_Connection=True;TrustServerCertificate=True;";
- using (SqlConnection connection = new SqlConnection(connectionString))
- {
- await connection.OpenAsync();
- string query = "SELECT parola FROM dbo.TabelProcentaje";
- using (SqlCommand command = new SqlCommand(query, connection))
- {
- using (SqlDataReader reader = await command.ExecuteReaderAsync())
- {
- if(reader.Read())
- {
- parolaAsteptata = reader.GetString(0);
- }
- }
- }
- }
- }
- private async Task SalvareProcente()
- {
- if (CASProcent < 0 || CASProcent > 1)
- {
- CASProcent = 0.25m;
- await JsRuntime.InvokeVoidAsync("alert", "Procentul nu poate fi mai mic decat 0 sau mai mare decat 1");
- }
- else if (CASSProcent < 0 || CASSProcent > 1)
- {
- CASSProcent = 0.10m;
- await JsRuntime.InvokeVoidAsync("alert", "Procentul nu poate fi mai mic decat 0 sau mai mare decat 1");
- }
- else if (ImpozitProcent < 0 || ImpozitProcent > 1)
- {
- ImpozitProcent = 0.10m;
- await JsRuntime.InvokeVoidAsync("alert", "Procentul nu poate fi mai mic decat 0 sau mai mare decat 1");
- }
- else
- {
- string connectionString = "Server=DESKTOP-0A21C4G\\SQLEXPRESS;Database=Management;Trusted_Connection=True;TrustServerCertificate=True;";
- using (SqlConnection connection = new SqlConnection(connectionString))
- {
- await connection.OpenAsync();
- string query = "IF EXISTS (SELECT 1 FROM dbo.TabelProcentaje) " +
- "BEGIN " +
- "UPDATE dbo.TabelProcentaje SET " +
- "CAS = CASE WHEN @CAS IS NOT NULL THEN @CAS ELSE CAS END, " +
- "CASS = CASE WHEN @CASS IS NOT NULL THEN @CASS ELSE CASS END, " +
- "Impozit = CASE WHEN @Impozit IS NOT NULL THEN @Impozit ELSE Impozit END " +
- "END " +
- "ELSE " +
- "INSERT INTO dbo.TabelProcentaje (CAS, CASS, Impozit) VALUES (@CAS, @CASS, @Impozit)";
- using (SqlCommand command = new SqlCommand(query, connection))
- {
- command.Parameters.AddWithValue("@CAS", CASProcent);
- command.Parameters.AddWithValue("@CASS", CASSProcent);
- command.Parameters.AddWithValue("@Impozit", ImpozitProcent);
- await command.ExecuteNonQueryAsync();
- Console.WriteLine($"{GREEN} [ INFO ]{NORMAL} Datele au fost modificate, noile valori sunt: {CASProcent}, {CASSProcent}, {ImpozitProcent}");
- }
- }
- }
- await IncarcareProcenteActuale();
- }
- private void VerificaParola()
- {
- if (parola == parolaAsteptata)
- {
- parolaCorecta = true;
- }
- else
- {
- parolaIntrodusaGresit = true;
- parolaCorecta = false;
- }
- }
- private async void SchimbaParola()
- {
- if (string.IsNullOrEmpty(parolaNoua) || parolaNoua.Length < 8)
- {
- await JsRuntime.InvokeVoidAsync("alert", "Nu s-a introdus nimic sau parola este mai mica de 8 caractere, parola nu a putut fi schimbata");
- Console.WriteLine($"{RED} [ ALERT ]{NORMAL} S-a incercat modificarea parolei");
- }
- else
- {
- string connectionString = "Server=DESKTOP-0A21C4G\\SQLEXPRESS;Database=Management;Trusted_Connection=True;TrustServerCertificate=True;";
- using (SqlConnection connection = new SqlConnection(connectionString))
- {
- await connection.OpenAsync();
- string query = "IF EXISTS (SELECT 1 FROM dbo.TabelProcentaje) " +
- "BEGIN " +
- "UPDATE dbo.TabelProcentaje SET parola = @parolaNoua " +
- "END " +
- "ELSE " +
- "INSERT INTO dbo.TabelProcentaje (parola) VALUES (@parolaNoua)";
- using (SqlCommand command = new SqlCommand(query, connection))
- {
- command.Parameters.AddWithValue("@parolaNoua", parolaNoua);
- await command.ExecuteNonQueryAsync();
- }
- }
- parolaAsteptata = parolaNoua;
- await JsRuntime.InvokeVoidAsync("alert", "Parola a fost schimbata cu succes");
- Console.WriteLine($"{GREEN} [ INFO ]{NORMAL} Parola a fost schimbata, noua parola este {parolaNoua}");
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement