Commit c53b5da4 authored by Davut  KESMÜK's avatar Davut KESMÜK
Browse files

Initial commit

parents
@page "/fetchdata"
<PageTitle>Weather forecast</PageTitle>
@using Todo_App.Data
@inject WeatherForecastService ForecastService
<h1>Weather forecast</h1>
<p>This component demonstrates fetching data from a service.</p>
@if (forecasts == null)
{
<p><em>Loading...</em></p>
}
else
{
<table class="table">
<thead>
<tr>
<th>Date</th>
<th>Temp. (C)</th>
<th>Temp. (F)</th>
<th>Summary</th>
</tr>
</thead>
<tbody>
@foreach (var forecast in forecasts)
{
<tr>
<td>@forecast.Date.ToShortDateString()</td>
<td>@forecast.TemperatureC</td>
<td>@forecast.TemperatureF</td>
<td>@forecast.Summary</td>
</tr>
}
</tbody>
</table>
}
@code {
private WeatherForecast[]? forecasts;
protected override async Task OnInitializedAsync()
{
forecasts = await ForecastService.GetForecastAsync(DateTime.Now);
}
}
using System;
using System.Data.SqlClient;
using Microsoft.JSInterop;
using System.Threading.Tasks;
using System.Linq;
using System.Collections.Generic;
using System.Diagnostics;
using System.Globalization;
using Microsoft.AspNetCore.Components;
using Microsoft.AspNetCore.Components.Web;
using Microsoft.AspNetCore.Components.Server.ProtectedBrowserStorage;
using System.Data;
using Todo_App.Data;
namespace Todo_App.Pages
{
public partial class Login
{
[Inject]
NavigationManager navigationManager { get; set; }
public string login_password { get; set; }
public string login_email { get; set; }
[Inject]
IJSRuntime jSRuntime { get; set; }
public string register_name { get; set; }
public string register_surname { get; set; }
public string register_email { get; set; }
public string register_password { get; set; }
/*
protected override void OnInitialized()
{
}*/
SqlConnection baglanti = new SqlConnection("workstation id=BlazorOSM.mssql.somee.com;packet size=4096;user id=mssql_58_SQLLogin_1;pwd=ztdvdv9bog;data source=BlazorOSM.mssql.somee.com;persist security info=False;initial catalog=BlazorOSM");
public async void login_check()
{
try
{
baglanti.Open();
SqlCommand cmd = new SqlCommand("Todo_user_check", baglanti);
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.AddWithValue("@email", login_email);
cmd.Parameters.AddWithValue("@password", login_password);
SqlParameter outputParam = cmd.Parameters.Add("@result_rol", SqlDbType.Int);
SqlParameter outputParam1 = cmd.Parameters.Add("@check_result", SqlDbType.Int);
SqlParameter outputParam2 = cmd.Parameters.Add("@result_id", SqlDbType.Int);
SqlParameter outputParam3 = cmd.Parameters.Add("@isim_", SqlDbType.NVarChar, 50);
SqlParameter outputParam4 = cmd.Parameters.Add("@soyisim_", SqlDbType.NVarChar, 50);
outputParam.Direction = ParameterDirection.Output;
outputParam1.Direction = ParameterDirection.Output;
outputParam2.Direction = ParameterDirection.Output;
outputParam3.Direction = ParameterDirection.Output;
outputParam4.Direction = ParameterDirection.Output;
cmd.ExecuteScalar();
if (outputParam.Value.ToString() == "1" && outputParam1.Value.ToString() == "1")
{
navigationManager.NavigateTo("/main_page");
System.Console.WriteLine("Giriş Başarılı");
Login_info.email = login_email;
Login_info.password = login_password;
Login_info.id = Int32.Parse(outputParam2.Value.ToString());
Login_info.name = outputParam3.Value.ToString();
Login_info.surname = outputParam4.Value.ToString();
}
else if (outputParam.Value.ToString() == "2" && outputParam1.Value.ToString() == "1")
{
navigationManager.NavigateTo("/ekip_lideri");
System.Console.WriteLine("Giriş Başarılı");
Login_info.email = login_email;
Login_info.password = login_password;
Login_info.id = Int32.Parse(outputParam2.Value.ToString());
Login_info.name = outputParam3.Value.ToString();
Login_info.surname = outputParam4.Value.ToString();
}
else if (outputParam.Value.ToString() == "3" && outputParam1.Value.ToString() == "1")
{
navigationManager.NavigateTo("/normal_main");
System.Console.WriteLine("Giriş Başarılı");
Login_info.email = login_email;
Login_info.password = login_password;
Login_info.id = Int32.Parse(outputParam2.Value.ToString());
Login_info.name = outputParam3.Value.ToString();
Login_info.surname = outputParam4.Value.ToString();
System.Console.WriteLine(outputParam3.Value.ToString());
}
else
{
await jSRuntime.InvokeVoidAsync("login_error", login_email, login_password);
}
}
catch (Exception e)
{
System.Console.WriteLine(e.Message + " " + "sad");
}
finally
{
baglanti.Close();
}
}
public void register()
{
try
{
baglanti.Open();
SqlCommand cmd = new SqlCommand("Todo_user_register", baglanti);
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.AddWithValue("@kullanici_Adi", register_name);
cmd.Parameters.AddWithValue("@kullanici_soyadi", register_surname);
cmd.Parameters.AddWithValue("@kullanici_email", register_email);
cmd.Parameters.AddWithValue("@kullanici_password", register_password);
SqlParameter outputParam = cmd.Parameters.Add("@result", SqlDbType.Int);
outputParam.Direction = ParameterDirection.Output;
cmd.ExecuteScalar();
System.Console.WriteLine(outputParam.Value.ToString());
if (outputParam.Value.ToString() == "1")
jSRuntime.InvokeVoidAsync("register_state", 1);
else if (outputParam.Value.ToString() == "-1")
jSRuntime.InvokeVoidAsync("register_state", -1);
}
catch (Exception e)
{
System.Console.WriteLine(e.Message);
}
finally
{
baglanti.Close();
}
}
}
}
\ No newline at end of file
@page "/"
<PageTitle>Login</PageTitle>
<!DOCTYPE html>
<html lang="tr-TR" id="html_login">
<link rel="stylesheet" href="css/Login.css">
<head>
<title>STBMYO Sınav Modülü Giriş Sayfası</title>
<link href="https://fonts.googleapis.com/css?family=Poppins:600&display=swap" rel="stylesheet">
<meta name="viewport" content="width=device-width, initial-scale=1">
</head>
<body onload="login_kontrol()">
<div id="container" class="container">
<img id="wave" class="wave" src="images/Todo_image.jpg">
<div class="img">
</div>
<div class="login-content">
<div id="database_result">
<p id="_register_state">Kayıt Başarıyla Gerçekleştirildi Hesabınızın Admin <br> Tarafından Onaylanmasını
Bekleyin
</p>
<p>
Kayıt Yapılamadı Kullanıcı veritabanında var olabilir ya da bağlantıda hata olabilir daha sonra
tekrar deneyiniz
</p>
</div>
<form>
<img src="images/icons8-education-80.png">
<h2 class="title">HOŞGELDİNİZ</h2>
<div class="input-div one" style="border-bottom-color: red;">
<div class="i">
<i style="color: #32be8f;" class="fas fa-user"></i>
</div>
<div class="div">
<h5 id="input_baslik1">Email</h5>
<input id="login_input_username" type="text" @bind="login_email" @bind:event="oninput"
class="input" name="username" onblur="isim_kaydir_2(this)" onfocus="isim_kaydir(this)"
required>
</div>
</div>
<div class="input-div pass" style="border-bottom-color: red;">
<div class="i">
<i style="color: #32be8f;" class="fas fa-lock"></i>
</div>
<div class="div">
<div id="visibility" onclick="visibilty()"><img id="visibility_img"
src="../images/visibility_of.png" alt="" srcset=""></div>
<h5 id="input_baslik2">Şifre</h5>
<input id="login_input_password" @bind="login_password" @bind:event="oninput" type="password"
class="input" name="password" onblur="isim_kaydir_2(this)" onfocus="isim_kaydir(this)">
</div>
</div>
<a onclick="forgot_password()">Şifreni mi unuttun?</a>
<input type="button" @onclick="login_check" class="btn" style="font-weight: bold;" value="GİRİŞ">
</form>
<div id="register_div">
<div class="c-subscribe-box u-align-center" id="register_div_ic">
<div class="rainbow"><span></span><span></span></div>
<div class="c-subscribe-box__wrapper">
<h2 class="c-subscribe-box__title">KAYIT OL</h2>
<form id="register_form">
<div class="input-group mb-3">
<div class="input-group-prepend">
<span class="input-group-text">Ad</span>
</div>
<input type="text" name="name" @bind="register_name" @bind:event="oninput"
class="form-control register_form-control" aria-describedby="basic-addon1">
</div>
<div class="input-group mb-3">
<div class="input-group-prepend">
<span class="input-group-text">Soyad</span>
</div>
<input type="text" name="surname" @bind="register_surname" @bind:event="oninput"
class="form-control register_form-control" aria-describedby="basic-addon1">
</div>
<div class="input-group mb-3">
<div class="input-group-prepend">
<span class="input-group-text">Email</span>
</div>
<input type="text" name="username" @bind="register_email" @bind:event="oninput"
class="form-control register_form-control" aria-describedby="basic-addon1">
</div>
<div class="input-group mb-3">
<div class="input-group-prepend">
<span class="input-group-text" style="cursor: pointer;"
onclick="register_visibilty()">Şifre</span>
</div>
<input id="register_password_input" @bind="register_password" @bind:event="oninput"
name="password" type="password" class="form-control register_form-control"
aria-describedby="basic-addon1" style="padding-right:10px;">
</div>
<button type="button" style="width: 80%;" class="btn-success" id="register_ic_kayit_ol"
@onclick="register">KAYIT OL</button>
<button type="reset" style="margin-left: -12%;margin-top: 7.9%;"
class="btn-warning btn_register_exits">TEMİZLE</button>
</form>
</div>
<button type="button" class="btn-warning btn_register_exits" onclick="register_area_off()">GİRİŞ
YAP</button>
</div>
</div>
</div>
<h3 style="font-size:25px;margin-left:-8%;" id="smyo_name"></h3>
<button id="register_button" onclick="register_area_on()">KAYIT OL</button>
</div>
<div id="kullanici_kontrol">
<p>"Email":@if (login_email == null)
{
<p style=" color:black;margin-top: -3.5%; margin-left: 11%; position: absolute;">null</p>
}
else
{
<p id="email_p"
style=" color:black;margin-top: -3.5%; margin-left: 11%; position: absolute;">@login_email</p>
}<br>"Password":@if (login_password == null)
{
<p
style=" color:black;margin-top: -3.3%; margin-left: 16%; position: absolute;">null</p>
}
else
{
<p id="sifre_p"
style=" color:black;margin-top: -3.3%; margin-left: 16%; position: absolute;">@login_password</p>
}
<br>"Girilen bilgiler ile Eşleşen kayıt olmayabilir ya da hesabınız onaylanmamış olabilir"</p>
</div>
</body>
</html>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="stylesheet" href="css/MainNavMenu.css">
<title>Main Page</title>
</head>
<body>
<nav class="navbar navbar-expand-lg navbar-light bg-light">
<div class="container-fluid">
<button id="mainpage_button" onclick="window.location.href='main_page'">
Anasayfa
</button>
<button class="navbar-toggler" type="button" data-mdb-toggle="collapse"
data-mdb-target="#navbarTogglerDemo03" aria-controls="navbarTogglerDemo03" aria-expanded="false"
aria-label="Toggle navigation">
</button>
<a class="navbar-brand" id="user_button" href="main_page/kullaniciler">Kullanıcılar</a>
<button class="navbar-toggler" type="button" data-mdb-toggle="collapse"
data-mdb-target="#navbarTogglerDemo03" aria-controls="navbarTogglerDemo03" aria-expanded="false"
aria-label="Toggle navigation">
</button>
<a class="navbar-brand" id="team_button" href="main_page/ekipler">Ekipler</a>
<button class="navbar-toggler" type="button" data-mdb-toggle="collapse"
data-mdb-target="#navbarTogglerDemo03" aria-controls="navbarTogglerDemo03" aria-expanded="false"
aria-label="Toggle navigation">
</button>
<a class="navbar-brand" id="todos_button" href="main_page/gorevler">Görevler</a>
<button id="exit_button" onclick="window.location.href='/'">
Çıkış
</button>
@*
<div class="collapse navbar-collapse" id="navbarTogglerDemo03">
<div id="search_div" class="d-flex input-group w-auto">
<input type="search" class="form-control" placeholder="Ara" aria-label="Search" />
<button class="btn btn-outline-primary" type="button" data-mdb-ripple-color="dark">
ARA
</button>
</div>
</div>*@
</div>
</nav>
</body>
</html>
\ No newline at end of file
using System;
using System.Data.SqlClient;
using Microsoft.JSInterop;
using System.Threading.Tasks;
using System.Linq;
using System.Collections.Generic;
using System.Diagnostics;
using System.Globalization;
using Microsoft.AspNetCore.Components;
using Microsoft.AspNetCore.Components.Web;
using Microsoft.AspNetCore.Components.Server.ProtectedBrowserStorage;
using System.Data;
using Todo_App.Data;
using System.Text.Json;
namespace Todo_App.Pages
{
public partial class MainPage
{
public string admin_isim { get; set; }
public string admin_soyisim { get; set; }
public int ekip_sayisi { get; set; }
public int kullanici_sayisi { get; set; }
public class User_Class
{
public Int32 ID { get; set; }
public String name { get; set; }
public string surname { get; set; }
public string email { get; set; }
public string password { get; set; }
public string Registration_Date { get; set; }
}
[Inject]
IJSRuntime jSRuntime { get; set; }
[Inject]
NavigationManager navigationManager { get; set; }
public void kullanici_onayla_sil(int par, int secim)
{
try
{
SqlCommand cmd = new SqlCommand("Todo_hesap_onayla_sil", baglanti);
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.AddWithValue("@user_id", par);
cmd.Parameters.AddWithValue("@secenek", secim);
baglanti.Open();
cmd.ExecuteNonQuery();
jSRuntime.InvokeVoidAsync("element_sil_mainpage", par, secim);
}
catch (Exception e)
{
System.Console.WriteLine(e.Message);
}
finally
{
baglanti.Close();
}
}
SqlConnection baglanti = new SqlConnection("workstation id=BlazorOSM.mssql.somee.com;packet size=4096;user id=mssql_58_SQLLogin_1;pwd=ztdvdv9bog;data source=BlazorOSM.mssql.somee.com;persist security info=False;initial catalog=BlazorOSM");
List<User_Class> list = new List<User_Class>();
protected override async void OnInitialized()
{
try
{
SqlCommand cmd = new SqlCommand("Todo_Admin_bilgi_getir", baglanti);
cmd.CommandType = CommandType.StoredProcedure;
SqlParameter cikti1 = cmd.Parameters.Add("@isim", SqlDbType.NVarChar, 50);
SqlParameter cikti2 = cmd.Parameters.Add("@soyisim", SqlDbType.NVarChar, 50);
SqlParameter cikti3 = cmd.Parameters.Add("@ekip_sayisi", SqlDbType.Int);
SqlParameter cikti4 = cmd.Parameters.Add("@kullanici_sayisi", SqlDbType.Int);
SqlParameter cikti5 = cmd.Parameters.Add("@admin_id", SqlDbType.Int);
cikti1.Direction = ParameterDirection.Output;
cikti2.Direction = ParameterDirection.Output;
cikti3.Direction = ParameterDirection.Output;
cikti4.Direction = ParameterDirection.Output;
cikti5.Direction = ParameterDirection.Output;
baglanti.Open();
cmd.ExecuteNonQuery();
admin_isim = cikti1.Value.ToString();
Login_info.name = admin_isim;
admin_soyisim = cikti2.Value.ToString();
Login_info.surname = admin_soyisim;
ekip_sayisi = Int32.Parse(cikti3.Value.ToString());
kullanici_sayisi = Int32.Parse(cikti4.Value.ToString());
Login_info.id =Int32.Parse(cikti5.Value.ToString());
}
catch (Exception e)
{
System.Console.WriteLine(e.Message);
}
finally
{
baglanti.Close();
}
try
{
SqlCommand cmd = new SqlCommand("Todo_Onaylanmamis_Kullaniciler", baglanti);
cmd.CommandType = CommandType.StoredProcedure;
baglanti.Open();
SqlDataReader dr = cmd.ExecuteReader();
while (dr.Read())
{
list.Add(new User_Class { ID = Int32.Parse(dr["User_ID"].ToString()), name = dr["User_Name"].ToString(), surname = dr["User_Surname"].ToString(), email = dr["User_Email"].ToString(), password = dr["User_Password"].ToString(), Registration_Date = dr["User_Registration_Date"].ToString() });
System.Console.WriteLine(list[0].email);
}
}
catch (Exception err)
{
System.Console.WriteLine(err.Message);
}
finally
{
baglanti.Close();
/*
string serializedString = JsonSerializer.Serialize(list);
jSRuntime.InvokeVoidAsync("Todo_Onaylanmamis_Kullaniciler_Json",list);*/
}
}
}
}
@page "/main_page"
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="stylesheet" href="css/MainPage.css">
<title>Document</title>
</head>
<body>
<div id="admin_info">
<div id="admin_isim_soyisim">
<p id="admin_isim">@admin_isim</p>
<p id="admin_soyisi">@admin_soyisim</p>
</div>
<p id="ekip_sayisi">Ekip Sayisi:@ekip_sayisi</p>
<p id="kullanici_sayisi">Kullanici Sayisi:@kullanici_sayisi</p>
</div>
<h4 id="baslik1">ONAY BEKLEYENLER</h4>
<div id="onay_bekleyenler">
@foreach (var kullaniciler in list)
{
<div class="kullanici_div" id="@kullaniciler.ID">
<div class="ic_div">
<p class="name_surname">@kullaniciler.name @kullaniciler.surname</p>
@*Burada ki fonksiyon divler oluşturulurken dinamik ID leri olacak bu IDler fonksiyona gönderilicek her
bir divin ID si farklı olacak*@
<button class="btn_kullanici btn-primary bilgileri_gor" onclick="bilgileri_gor_function(@kullaniciler.ID)">Bilgileri
Gör</button>
<button class="btn_kullanici btn-success onayla_button" @onclick="()=>kullanici_onayla_sil(kullaniciler.ID,1)" >Onayla</button>
<button class="btn_kullanici btn-danger onay_iptal_button"
@onclick="()=>kullanici_onayla_sil(kullaniciler.ID,2)">SİL</button>
</div>
<p class="user_info" style="margin-top: 1%;">ID: @kullaniciler.ID</p>
<p class="user_info">Email: @kullaniciler.email</p>
<p class="user_info">Şifre: @kullaniciler.password</p>
<p class="user_info">Kayıt Tarihi: @kullaniciler.Registration_Date</p>
</div>
}
</div>
</body>
</html>
\ No newline at end of file
using System;
using System.Data.SqlClient;
using Microsoft.JSInterop;
using System.Threading.Tasks;
using System.Linq;
using System.Collections.Generic;
using System.Diagnostics;
using System.Globalization;
using Microsoft.AspNetCore.Components;
using Microsoft.AspNetCore.Components.Web;
using Microsoft.AspNetCore.Components.Server.ProtectedBrowserStorage;
using System.Data;
using Todo_App.Data;
using System.Text.Json;
using Todo_App.Data;
namespace Todo_App.Pages
{
public partial class NormalUserPage
{
public class gelen_gorevler
{
public int task_id { get; set; }
}
SqlConnection baglanti = new SqlConnection("workstation id=BlazorOSM.mssql.somee.com;packet size=4096;user id=mssql_58_SQLLogin_1;pwd=ztdvdv9bog;data source=BlazorOSM.mssql.somee.com;persist security info=False;initial catalog=BlazorOSM");
List<gelen_gorevler> gelen_gorevler_list = new List<gelen_gorevler>();
public string kullanici_isim{get;set;}
public string kullanici_soyisim{get;set;}
protected override void OnInitialized()
{
kullanici_isim=Login_info.name;
kullanici_soyisim=Login_info.surname;
try
{
System.Console.WriteLine(Login_info.id);
SqlCommand cmd = new SqlCommand("Todo_Get_Gorev_NormalUser", baglanti);
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.AddWithValue("@user_id", Int32.Parse(Login_info.id.ToString()));
baglanti.Open();
SqlDataReader dr = cmd.ExecuteReader();
while (dr.Read())
{
gelen_gorevler_list.Add(new gelen_gorevler { task_id = Int32.Parse(dr["Task_ID"].ToString()) });
}
baglanti.Close();
}
catch (Exception e)
{
System.Console.WriteLine(e.Message);
}
}
public string gelen_task_content{get;set;}
public string gelen_task_id{get;set;}
public string gelen_task_sender_id{get;set;}
public string gelen_task_start_date{get;set;}
public string gelen_task_finish_date{get;set;}
public MarkupString result ;
public void normal_gorev_getir(int a)
{
try
{
SqlCommand cmd = new SqlCommand("Todo_Get_Gorev_NormalUser2", baglanti);
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.AddWithValue("@task_id", Int32.Parse(a.ToString()));
baglanti.Open();
SqlDataReader dr = cmd.ExecuteReader();
while (dr.Read()){
gelen_task_id=a.ToString();
result=new MarkupString(dr["Task_Content"].ToString());
gelen_task_content=result.ToString();
gelen_task_sender_id=dr["Task_sender_ID"].ToString();
gelen_task_start_date=dr["Task_start_date"].ToString();
gelen_task_finish_date=dr["Task_finish_date"].ToString();
}
baglanti.Close();
}
catch (Exception e)
{
System.Console.WriteLine(e.Message);
}
}
}
}
\ No newline at end of file
@page "/normal_main"
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<link rel="stylesheet" href="css/NormalUserPage.css">
</head>
<body>
<p style="font-size:25px;color: red;">İSİM: <p style="color: black;">@kullanici_isim</p> </p>
<p style="font-size:25px;color: red;">SOY İSİM: <p style="color: black;">@kullanici_soyisim</p> </p>
<button style="position: absolute;margin-top: -10%;margin-left: 90%;" onclick="window.location.href='/'">ÇIKIŞ</button>
<div id="ekip_todolari" style="">
@foreach (var item in gelen_gorevler_list)
{
var i = item.task_id;
<p @onclick="()=>normal_gorev_getir(i)">Gorev ID :@item.task_id</p>
}
</div>
<div id="sutun_isimleri_normal">
<div style="margin-left: 5%;margin-top: 2.5%; font-size: 20px; font-weight: bold; position: absolute;">Gorev ID</div>
<div style="margin-left: 18.5%;margin-top: 2.5%; font-size: 20px; font-weight: bold; position: absolute;">Gorev Başlama Tarihi</div>
<div style="margin-left: 43%;margin-top: 2.5%; font-size: 20px; font-weight: bold; position: absolute;">Görev Bitiş Tarihi</div>
<div style="margin-left: 69%;margin-top: 2.5%; font-size: 20px; font-weight: bold; position: absolute;">Görev İçerik</div>
<div style="margin-left: 84.5%;margin-top: 2.5%; font-size: 20px; font-weight: bold; position: absolute;">Görev Gönderen ID</div>
</div>
<div id="ekip_todolari_tiklama_div" >
<p class="todolarin_p">@gelen_task_id</p>
<p class="todolarin_p">@gelen_task_start_date</p>
<p class="todolarin_p">@gelen_task_finish_date</p>
<p class="todolarin_p">@gelen_task_content</p>
<p class="todolarin_p">@gelen_task_sender_id</p>
</div>
</body>
</html>
\ No newline at end of file
@page "/"
@namespace Todo_App.Pages
@addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers
@{
Layout = "_Layout";
}
<component type="typeof(App)" render-mode="ServerPrerendered" />
<script src="~/js/login.js"></script>
<script src="~/js/emptypage.js"></script>
<script src="~/js/main_page.js"></script>
<script src="~/js/AdminUsersPage.js"></script>
<script src="~/js/AdminTodosPage.js"></script>
<script src="/js/froala_editor.min.js"></script>
<script src="/js/jquery-1.10.2.min.js"></script>
<script src="~/js/EkipLideri.js"></script>
@using Microsoft.AspNetCore.Components.Web
@namespace Todo_App.Pages
@addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<base href="~/" />
<link rel="stylesheet" href="css/bootstrap/bootstrap.min.css" />
<link href="css/site.css" rel="stylesheet" />
<link href="Todo_App.styles.css" rel="stylesheet" />
<component type="typeof(HeadOutlet)" render-mode="ServerPrerendered" />
</head>
<body>
@RenderBody()
<div id="blazor-error-ui">
<environment include="Staging,Production">
An error has occurred. This application may no longer respond until reloaded.
</environment>
<environment include="Development">
An unhandled exception has occurred. See browser dev tools for details.
</environment>
<a href="" class="reload">Reload</a>
<a class="dismiss">🗙</a>
</div>
<script src="_framework/blazor.server.js"></script>
</body>
</html>
using Microsoft.AspNetCore.Components;
using Microsoft.AspNetCore.Components.Web;
using Todo_App.Data;
var builder = WebApplication.CreateBuilder(args);
// Add services to the container.
builder.Services.AddRazorPages();
builder.Services.AddServerSideBlazor();
builder.Services.AddSingleton<WeatherForecastService>();
var app = builder.Build();
// Configure the HTTP request pipeline.
if (!app.Environment.IsDevelopment())
{
app.UseExceptionHandler("/Error");
// The default HSTS value is 30 days. You may want to change this for production scenarios, see https://aka.ms/aspnetcore-hsts.
app.UseHsts();
}
app.UseHttpsRedirection();
app.UseStaticFiles();
app.UseRouting();
app.MapBlazorHub();
app.MapFallbackToPage("/_Host");
app.Run();
{
"iisSettings": {
"windowsAuthentication": false,
"anonymousAuthentication": true,
"iisExpress": {
"applicationUrl": "http://localhost:37835",
"sslPort": 44382
}
},
"profiles": {
"Todo_App": {
"commandName": "Project",
"dotnetRunMessages": true,
"launchBrowser": true,
"applicationUrl": "https://localhost:7186;http://localhost:5196",
"environmentVariables": {
"ASPNETCORE_ENVIRONMENT": "Development"
}
},
"IIS Express": {
"commandName": "IISExpress",
"launchBrowser": true,
"environmentVariables": {
"ASPNETCORE_ENVIRONMENT": "Development"
}
}
}
}
@using Microsoft.AspNetCore.WebUtilities
@inherits LayoutComponentBase
@inject NavigationManager nvgt
@using Todo_App.Data
@{
void URL()
{
string yol = nvgt.ToBaseRelativePath(nvgt.Uri);
if (yol.Substring(0, yol.Length) == "")
{
Login_info.email = null;
Login_info.password = null;
@Body
}
else if (yol == "normal_main")
{
if (Login_info.email != null && Login_info.password != null)
{
@Body
}
else
{
nvgt.NavigateTo("/");
}
System.Console.WriteLine("normal_kullanici");
}
else if (yol == "ekip_main")
{
if (Login_info.email != null && Login_info.password != null)
{
@Body
}
else
{
nvgt.NavigateTo("/");
}
System.Console.WriteLine("ekip_lideri");
}
else if (yol == "ekip_lideri")
{
if (Login_info.email != null && Login_info.password != null)
{
@Body
}
else
{
nvgt.NavigateTo("/");
}
System.Console.WriteLine("ekip_lideri");
}
else if (yol.Length > 8)
{
if (yol.Substring(0, 9) == "main_page")
{
if (Login_info.email != null && Login_info.password != null)
{
<Todo_App.Pages.MainNavMenu></Todo_App.Pages.MainNavMenu>
@Body
}
else
{
nvgt.NavigateTo("/");
}
}
else
{
System.Console.WriteLine("1 " + yol.Length);
<Todo_App.Pages.EmptyPage></Todo_App.Pages.EmptyPage>
System.Console.WriteLine(yol);
}
}
else
{
<Todo_App.Pages.EmptyPage></Todo_App.Pages.EmptyPage>
}
}
URL();
}
\ No newline at end of file
.page {
position: relative;
display: flex;
flex-direction: column;
}
main {
flex: 1;
}
.sidebar {
background-image: linear-gradient(180deg, rgb(5, 39, 103) 0%, #3a0647 70%);
}
.top-row {
background-color: #f7f7f7;
border-bottom: 1px solid #d6d5d5;
justify-content: flex-end;
height: 3.5rem;
display: flex;
align-items: center;
}
.top-row ::deep a, .top-row .btn-link {
white-space: nowrap;
margin-left: 1.5rem;
}
.top-row a:first-child {
overflow: hidden;
text-overflow: ellipsis;
}
@media (max-width: 640.98px) {
.top-row:not(.auth) {
display: none;
}
.top-row.auth {
justify-content: space-between;
}
.top-row a, .top-row .btn-link {
margin-left: 0;
}
}
@media (min-width: 641px) {
.page {
flex-direction: row;
}
.sidebar {
width: 250px;
height: 100vh;
position: sticky;
top: 0;
}
.top-row {
position: sticky;
top: 0;
z-index: 1;
}
.top-row, article {
padding-left: 2rem !important;
padding-right: 1.5rem !important;
}
}
<div class="top-row ps-3 navbar navbar-dark">
<div class="container-fluid">
<a class="navbar-brand" href="">Todo_App</a>
<button title="Navigation menu" class="navbar-toggler" @onclick="ToggleNavMenu">
<span class="navbar-toggler-icon"></span>
</button>
</div>
</div>
<div class="@NavMenuCssClass" @onclick="ToggleNavMenu">
<nav class="flex-column">
<div class="nav-item px-3">
<NavLink class="nav-link" href="" Match="NavLinkMatch.All">
<span class="oi oi-home" aria-hidden="true"></span> Home
</NavLink>
</div>
<div class="nav-item px-3">
<NavLink class="nav-link" href="counter">
<span class="oi oi-plus" aria-hidden="true"></span> Counter
</NavLink>
</div>
<div class="nav-item px-3">
<NavLink class="nav-link" href="fetchdata">
<span class="oi oi-list-rich" aria-hidden="true"></span> Fetch data
</NavLink>
</div>
</nav>
</div>
@code {
private bool collapseNavMenu = true;
private string? NavMenuCssClass => collapseNavMenu ? "collapse" : null;
private void ToggleNavMenu()
{
collapseNavMenu = !collapseNavMenu;
}
}
.navbar-toggler {
background-color: rgba(255, 255, 255, 0.1);
}
.top-row {
height: 3.5rem;
background-color: rgba(0,0,0,0.4);
}
.navbar-brand {
font-size: 1.1rem;
}
.oi {
width: 2rem;
font-size: 1.1rem;
vertical-align: text-top;
top: -2px;
}
.nav-item {
font-size: 0.9rem;
padding-bottom: 0.5rem;
}
.nav-item:first-of-type {
padding-top: 1rem;
}
.nav-item:last-of-type {
padding-bottom: 1rem;
}
.nav-item ::deep a {
color: #d7d7d7;
border-radius: 4px;
height: 3rem;
display: flex;
align-items: center;
line-height: 3rem;
}
.nav-item ::deep a.active {
background-color: rgba(255,255,255,0.25);
color: white;
}
.nav-item ::deep a:hover {
background-color: rgba(255,255,255,0.1);
color: white;
}
@media (min-width: 641px) {
.navbar-toggler {
display: none;
}
.collapse {
/* Never collapse the sidebar for wide screens */
display: block;
}
}
<div class="alert alert-secondary mt-4">
<span class="oi oi-pencil me-2" aria-hidden="true"></span>
<strong>@Title</strong>
<span class="text-nowrap">
Please take our
<a target="_blank" class="font-weight-bold link-dark" href="https://go.microsoft.com/fwlink/?linkid=2149017">brief survey</a>
</span>
and tell us what you think.
</div>
@code {
// Demonstrates how a parent component can supply parameters
[Parameter]
public string? Title { get; set; }
}
<Project Sdk="Microsoft.NET.Sdk.Web">
<PropertyGroup>
<TargetFramework>net6.0</TargetFramework>
<Nullable>enable</Nullable>
<ImplicitUsings>enable</ImplicitUsings>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="System.Data.SqlClient" Version="4.8.3" />
</ItemGroup>
</Project>
@using System.Net.Http
@using Microsoft.AspNetCore.Authorization
@using Microsoft.AspNetCore.Components.Authorization
@using Microsoft.AspNetCore.Components.Forms
@using Microsoft.AspNetCore.Components.Routing
@using Microsoft.AspNetCore.Components.Web
@using Microsoft.AspNetCore.Components.Web.Virtualization
@using Microsoft.JSInterop
@using Todo_App
@using Todo_App.Shared
{
"DetailedErrors": true,
"Logging": {
"LogLevel": {
"Default": "Information",
"Microsoft.AspNetCore": "Warning"
}
}
}
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment