Posts Tagged :

create

Components on Blazor 1024 557 mezo

Components on Blazor

Hi my fellow Padawans

Blazor is a frontend framework like Angular or React but mostly like React and it has components for create pages and reusable objects functionalities.

But how can we create a component and use it on the pages in our Blazor application?

First Read this Article and create your first Blazor application ­čÖé

Then on your Solution Explorer find Pages and right click on it and Add -> Razor Component

On Add New Item windows write your components name and create it

I decided to make something different and I created Todo.Razor file and I add these codes on the page

@page "/todo"
@using BlazorApp1.Data;

<h3>Todo</h3>

<ul>
    @foreach (var todo in todos)
    {
            <li>@todo.Title</li>
    }
</ul>

<input placeholder="Something todo" @bind="newTodo" />
<button @onclick="AddTodo">Add todo</button>

@code {
    private List<TodoItem> todos = new();
    private string? newTodo;

    private void AddTodo()
    {
        if (!string.IsNullOrWhiteSpace(newTodo))
        {
            todos.Add(new TodoItem { Title = newTodo });
            newTodo = string.Empty;
        }
    }
}

And find NavMenu.razor file inside of the Shared folder on your Solution Explorer. Find the last item of menu divs and Add this code:

  <div class="nav-item px-3">
            <NavLink class="nav-link" href="todo">
                <span class="oi oi-list-rich" aria-hidden="true"></span> Todo
            </NavLink>
        </div>

You will have a NavMenu.Razor page like this:

<div class="top-row ps-3 navbar navbar-dark">
    <div class="container-fluid">
        <a class="navbar-brand" href="">BlazorApp1</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>
        <div class="nav-item px-3">
            <NavLink class="nav-link" href="todo">
                <span class="oi oi-list-rich" aria-hidden="true"></span> Todo
            </NavLink>
        </div>
    </nav>
</div>

@code {
    private bool collapseNavMenu = true;

    private string? NavMenuCssClass => collapseNavMenu ? "collapse" : null;

    private void ToggleNavMenu()
    {
        collapseNavMenu = !collapseNavMenu;
    }
}

When you open the webpage you will see the Todo on your left navigation menu and then you will see your amazing Todo application like below:

If you want to use this component in other pages for example add this component on the home page. Go to your Index.Razor inside of the Pages folder and add this code :

<Todo/>

Your index.Razor will look like this

@page "/"

<PageTitle>Index</PageTitle>

<h1>Hello, Everyone!</h1>

Welcome to your new app. Hello 

<SurveyPrompt Title="How is Blazor working for you?" />




<Todo/>

Then we RUN our app oooorrr we can Hot Reload and we will see the result like below:

That is easy isn’t it ?

I hope that is helpful

May the knowledge be with you

C# ile Powerpoint Sunumu Haz─▒rlamak 554 382 mezo

C# ile Powerpoint Sunumu Haz─▒rlamak

Merhaba arkada┼člar
Uzun s├╝reden beri bir makale yazmaya vakit bulam─▒yorum ama yava┼č yava┼č geri d├Ân├╝yorum. Bu yaz─▒da sizlere zevkli k├╝├ž├╝k bir ├Ârnek g├Âstermek istiyorum. ­čśÇ C# ├╝zerinden program yard─▒m─▒ ile PowerPoint sunumu haz─▒rlaman─▒n nas─▒l oldu─ču ile ilgili ba┼člang─▒├žta ├žok i┼činize yarayacak bir kod par├žas─▒
Bunun i├žin ├Âncelikle bir windows Forms projesi a├žal─▒m ve 1 tane Buton ekleyelim ­čÖé Projemiz i├žersine Referans olarak 2 ├Ânemli k├╝t├╝phane eklememiz gerekiyor. Sa─ča t─▒klay─▒p “Add Reference” dedikten sonra “COM” sekmesi i├žersinde bulunan microsoft graph 15.0 object library ve microsoft PowerPoint 15.0 object library k├╝t├╝phanelerini se├žip ekleyelim.
Art─▒k gerisi ├žok kolay ­čÖé i┼čte bundan sonra i┼či yapacak olan kod par├žas─▒

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using Microsoft.Office.Interop.PowerPoint;
using Microsoft.Office.Core;

namespace testToCreatePttFileFromImages
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}

private void button1_Click(object sender, EventArgs e)
{
string pictureFileName = “C:\\picToVideo\\2.jpg”;

Microsoft.Office.Interop.PowerPoint.Application pptApplication = new Microsoft.Office.Interop.PowerPoint.Application();

Microsoft.Office.Interop.PowerPoint.Slides slides;
Microsoft.Office.Interop.PowerPoint._Slide slide;
Microsoft.Office.Interop.PowerPoint.TextRange objText;

// Create the Presentation File
Presentation pptPresentation = pptApplication.Presentations.Add(MsoTriState.msoTrue);

Microsoft.Office.Interop.PowerPoint.CustomLayout customLayout = pptPresentation.SlideMaster.CustomLayouts[Microsoft.Office.Interop.PowerPoint.PpSlideLayout.ppLayoutText];

// Create new Slide
slides = pptPresentation.Slides;
slide = slides.AddSlide(1, customLayout);

// Add title
objText = slide.Shapes[1].TextFrame.TextRange;
objText.Text = “The Header Of The Presentation”;
objText.Font.Name = “Arial”;
objText.Font.Size = 32;

//objText = slide.Shapes[2].TextFrame.TextRange;
//objText.Text = “this text come after the heading with bullet”;

Microsoft.Office.Interop.PowerPoint.Shape shape = slide.Shapes[2];
slide.Shapes.AddPicture(pictureFileName, Microsoft.Office.Core.MsoTriState.msoFalse, Microsoft.Office.Core.MsoTriState.msoTrue, shape.Left, shape.Top, shape.Width, shape.Height);

//slide.NotesPage.Shapes[2].TextFrame.TextRange.Text = “the text is for the notes to specific page”;

pptPresentation.SaveAs(@”c:\picToVideo\fppt.pptx”, Microsoft.Office.Interop.PowerPoint.PpSaveAsFileType.ppSaveAsDefault, MsoTriState.msoTrue);
pptPresentation.Close();
pptApplication.Quit();

}
}
}

SQL _ Trigger 713 381 mezo

SQL _ Trigger

Merhaba arkada┼člar

Fazla zaman─▒m olmad─▒─č─▒ i├žin blogla fazla ilgilenemiyorum ┬ái┼čte o nadir buldu─čum zamanlardan birtanesinde daha ┬áyararl─▒ olaca─č─▒n─▒ umdu─čum bir konu ile sizlerleyim. (TV program─▒ gibi oldu ama idare edin art─▒k :D) .

Bug├╝n sizlere parmaklar─▒m─▒n yazabildi─či kadar trigger anlatmak istiyorum.

Trigger Nedir?┬á ├ľnce bu soruya ├žok basit bir bak─▒┼č a├ž─▒s─▒ ile bakal─▒m yani trigger in t├╝rk├že meali ile. ┬áNe dersiniz ? Evet dedi─činizi duyar gibiyim adeta ­čśÇ┬á Trigger tetik demektir. Nas─▒l yani tetik bildi─čimiz silahlardaki tetikten i┼čte ­čśë┬á Tetik ├žekildi─činde nas─▒l silah bir tak─▒m i┼člemler ger├žekle┼čiyor ve kur┼čun at─▒yor . Sql dede baz─▒ i┼člemlerden sonra otomatik olarak ba┼čka i┼člemlerin yap─▒lmas─▒n─▒ yani tetiklenmesini isteyebiliriz b├Âyle bir yap─▒y─▒ Trigger dedi─čimiz kod par├žalar─▒ ger├žekle┼čtirirler…

Peki Trigger dedi─čimiz olay nas─▒l yaz─▒l─▒r yada yap─▒l─▒r???

 

Triggerlar, Query ekran─▒nda T-SQL kodu ile veya Management Studio ile olu┼čturulup y├Ânetilebilirler ve┬á View ┬áve tablolar ├╝zerinde tan─▒mlanabilir.┬á CREATE TRIGGER komutunu ┬ákullanabilmek i├žin sysadmin, db_owner veya db_ddladmin┬á rol├╝ne sahip olmak gerekir.┬á Bir trigger ba┼čka bir tabloya eri┼čecekse bu tablo i├žin de trigger olu┼čturan kullan─▒c─▒n─▒n eri┼čim izni veya g├╝ncelleme izni olmas─▒ gerekir.

 

Peki trigger ÔÇś lar─▒ ne zaman kullan─▒r─▒z ?

*┬á De─či┼čiklikleri takip etmek i├žin,

* Birincil anahtar ├╝retmek i├žin,

* Karma┼č─▒k i┼č kurallar─▒n─▒ ger├žekle┼čtirmek i├žin,

* E-posta atmak gibi olaylar─▒ otomatik olarak yapmak i├žin,

* Standart hata mesajlar─▒n─▒n d─▒┼č─▒nda bir hata mesaj─▒ elde etmek i├žin,

* Veritaban─▒ eri┼čimlerini takip edebilmek i├žin,

* Nesnede meydana gelebilecek de─či┼čiklikleri takip ve engellemek i├žin kullanabiliriz.

 

Trigger dedi─čimiz yap─▒ kendi i├žinde 2 ye tekrar o ┬áb├Âl├╝nenlerden biride┬á ikiye ayr─▒l─▒r ­čśÇ ├žokmu kar─▒┼č─▒k oldu ? ­čśÇ yani ├Âzetle ┼č├Âyle :

DDL TriggerÔÇÖlar: Create, Alter ve Drop i┼člemleri ger├žekle┼čti─činde ├žal─▒┼čan triggerÔÇÖlard─▒r.

DML TriggerÔÇÖlar: Insert, Update ve Delete i┼člemleri ger├žekle┼čti─činde ├žal─▒┼čan triggerÔÇÖlard─▒r.

CREATE TRIGGER tetikleyici_adiON tablo_adiFOR veya AFTER veya INSTEAD OF (INSERT veya UPDATE veya DELETE)AS Sql ifadeleri

 

After (For) TriggerÔÇÖ─▒: After triggerlar─▒, kendiyle ili┼čkili i┼člem ger├žekle┼čtikten hemen sonra ate┼členir.

Veritaban─▒ndaki temel i┼člemler i├žin (ekleme, silme ve g├╝ncelleme) After triggerlar─▒ tan─▒mlanabilir.

Create Trigger Tg_SilinenKay─▒tlar

On Employees

After Delete

As

Begin

Declare @Ad nvarchar(50)

Declare @CalisanID ─░nt

Select @Ad=FirstName,@CalisanID=Employees From Deleted

Select CalisanID,Ad+’-Silinmi┼čtir’,GetDate()From Deleted

Insert Into CalisanKayitRapor Values(@CalisanID,@Ad+’- Silindi’,GetDate())

End

Instead Of TriggerÔÇÖ─▒: Instead of triggerlar─▒, belirlenen i┼člem ger├žekle┼čirken devreye girer ve kendi i├žinde tan─▒mlanan komutlar─▒ icra etmeye ba┼člar. Yani, belirlenen i┼člemin yerine ge├žer. Instead of triggerlari i┼člemlerin aras─▒na girebildi─činden kontrol ama├žl─▒ kullan─▒labilirler. T─▒pk─▒ After triggerlar─▒ gibi temel veritaban─▒ i┼člemleri i├žin Instead Of triggerlar─▒┬á tan─▒mlanabilir.

Alter Trigger Tg_CalisanKayitRaporOn EmployeesAfter InsertASBegin

Declare @Ad Nvarchar(50)

Declare @CalisanID int

Select @Ad = FirstName,@CalisanID = EmployeeID From Inserted

 

Insert Into CalisanKayitRapor Values(@CalisanID,@Ad,GetDate())

End

 

INSERT ÔÇô UPDATE ÔÇô DELETE

Trigger devreye girdikten sonra Inserted veya Deleted tablolar─▒nda yeni eklenen veya silinen kay─▒tlar─▒n bir kopyas─▒ tutulur.

Trigger Update (ALTER)

CREATE ile olu┼čturulmu┼č bir tetikleyiciyi daha sonra ├╝zerinde de─či┼čiklikler

yapmak ├╝zere tekrar a├žmak isteyebilirsiniz. Bunun i├žin, tablonuzda olu┼čturulmu┼č bir tetikleyici ├╝zerindeyken sa─č t─▒klayarak a├ž─▒lan men├╝den Modify komutunu vermeniz gerekir.

 

Trigger Silmek (DROP)

Olu┼čturulan bir tetikleyiciyi DROP komutuyla ya da tetikleyici ├╝zerinde sa─č t─▒klayarak a├ž─▒lan men├╝den Delete komutunu vererek silebilirsiniz.

Delete Trigger Tg_CalisanKayitRapor

Trigger Enable ya da Disable

Olu┼čturulan bir tetikleyici, her zaman aktif durumdad─▒r. Tetikleyiciyle ilgili bir durum olu┼čtu─čunda otomatik olarak devreye girer. ─░stenildi─činde olu┼čturulan bu tetikleyiciler pasif

h├óle getirilebilir. Tetikleyici ├╝zerinde sa─č t─▒klayarak a├ž─▒lan men├╝de Disable komutunu verdi─činizde tetikleyici pasif h├óle gelir.

ALTER TABLE tablo_adiDISABLE TRIGGER Musteri_SilmeveyaENABLED TRIGGER Musteri_Silme

 

Umar─▒m yararl─▒ olur…

 

M.Zeki Osmanc─▒k.

 

SQL _ Views 150 150 mezo

SQL _ Views

Merhaba arkada┼člar bu yaz─▒m─▒zda MSSQL de bulunan View yap─▒s─▒ndan bahsetmek istiyorum. Bu yaz─▒n─▒n sonunda View yap─▒s─▒n─▒ nas─▒l yaz─▒ld─▒─č─▒n─▒ ne i┼če yarad─▒─č─▒n─▒ ├Â─črenmi┼č olacaks─▒n─▒z.

View yap─▒lar─▒n─▒ bilinenin aksine sadece ihtiyac─▒m─▒z oldu─čunda kullanmam─▒z i┼čimizi kolayla┼čt─▒raca─č─▒ gibi bizi gereksiz y├╝ktende kurtaracakt─▒r. Yerinde kullan─▒ld─▒─č─▒nda veritaban─▒nda ├žok daha verimli ├žal─▒┼čmalar yapmam─▒z─▒ sa─člarlar.

Peki nedir bu view ? ViewÔÇÖler┬á bir veya birden fazla tablonun istenilen verilerinin bir arada sunulmas─▒n─▒ sa─člayan tan─▒mlanm─▒┼č sorgulard─▒r. View leri sanal tablolar olarakda nitelendirebiliriz. Ayn─▒ olu┼čturdu─čumuz tablolar gibi sat─▒r ve s├╝tunlara sahiptir. Birden fazla s├╝tunun birle┼čerek tek bir komut alt─▒nda toplad─▒─č─▒m─▒z─▒ d├╝┼č├╝nebiliriz. Hatta sadece tek bir tablo ile ilgili bir view olu┼čturdu─čumuzda ─░nsert Update Delete gibi i┼člemlerinide ger├žekle┼čtirebiliriz. View ler i├žin sanal kelimesini kullan─▒yoruz ├ž├╝nk├╝ ├╝zerinde veri tutmazlar , sadece istenen veriye ula┼č─▒lmas─▒ i├žin bir ara├žt─▒r asl─▒nda. Bir view yazd─▒─č─▒m─▒zda ne oluyor acaba ? Bize neler kazand─▒r─▒yor bir g├Âz atal─▒m.

*─░lk olarak birden fazla tablo ile ├žal─▒┼č─▒rken gereksiz karma┼čadan kurtuluyoruz. Yani ne demek bu ? Biz uzun bir SQL sorgusu yazd─▒─č─▒m─▒zda her seferinde bu uzun ve karma┼č─▒k kodla u─čra┼čmak yerine bir view i┼čimizi g├Âr├╝yor.

*Bir di─čer art─▒s─▒ ise veri ula┼č─▒m performans─▒n─▒ artt─▒rmak.

*Veri eri┼čimini s─▒n─▒rlamak ve kontrol alt─▒nda tutmak

View olu┼čtururken dikkat etmemiz gereken hususlar:
Olu┼čturulan View de;
-Compute ya da Compute By c├╝mleci─či,
-Into anahtar s├Âzc├╝─č├╝,
-Option c├╝mleci─či
kullan─▒lamaz.
-ViewÔÇÖler temporary tablo dedi─čimiz ge├žici olarak olu┼čturulan tablolara referans verilemez. Bu tablolardan veri istenemez.
-Order By c├╝mleci─či sadece TOP operat├Âr├╝ ile birlikte kullan─▒ld─▒─č─▒nda kullan─▒labilir.
-Bir View farkl─▒ tablolardan gelen ayn─▒ isimlere sahip farkl─▒ s├╝tunlar─▒ i├žerebilir.
-ViewÔÇÖlerdeki s├╝tunlar aritmetik ifadelere sahip olabilir

-Bir view olu┼čturabilmek i├žin database ├╝zerinde sysadmin (system administrator),┬á db_owner (database owner), db_ddladmin (data definition language administrator) yetkilerine sahip olmal─▒y─▒z.

Northwind veritaban─▒n─▒ kullanarak ├Ârneklerimizi verelim ve bir view nas─▒l yaz─▒l─▒yor nas─▒l kullan─▒l─▒yor g├Ârelim ­čśë

Syntax  olarak

CREATE VIEW [View_Ismi]ASSQL Kodlar─▒.

Haydi┬á sizle ├Ânce ├žok basit bir Select sorgusu sonra kar─▒┼č─▒k bir select sorgusu ile ├Ârnek verelim.

Birde karma┼č─▒k olana bakal─▒m.

Bu kadar uzun bir kodla ( hatta bundan daha uzunda olabilirdi belki ) her seferinde u─čra┼čmak insan─▒ yorabilir kar─▒┼č─▒kl─▒─ča ve hatalara olanak sa─člar i┼čte bu kar─▒┼č─▒kl─▒k ve hatalara meydan vermemek i├žin View kullanmal─▒y─▒z diyoruz.

Kodlarla ├žok g├╝zel yazd─▒k bu View i peki hi├ž bilgimiz yoksa kod bilmiyorsak olamazm─▒ ?┬á O zaman ne yapaca─č─▒z bu View denen z─▒kk─▒m─▒ yaratmak i├žin ├žok basit :

├ľncelikle Object explorer penceresinde database imiz i├žersinde bulunan klas├Ârlerden Views klas├Âr├╝ne sa─č t─▒k yap─▒yoruz ve New View diyoruz.

Ard─▒ndan bizden hangi tablolarla alakal─▒ ├žal─▒┼čma yapmak istedi─čimizi soruyor bizde istedi─čimiz tablolar─▒ se├žiyoruz.

Se├žtikten sonra zaten biraz ├Ânce uzun uzun yazd─▒─č─▒m─▒z kodlar─▒ bizlere otomatik olarak yaz─▒lm─▒┼č halinin canl─▒ halini getiriyor ekrana tek yapmam─▒z gereken kaydetmek ­čśÇ

Basit olarak bir view olu┼čturma i┼člemi bu kadar arkada┼člar bir ba┼čka makalemizdede bu View in i├žindekine┬á , dibindekine , alt─▒nda yatan koca ayzberge (iceberg) bakaca─č─▒z

G├Âr├╝┼čmek ├╝zere…

    Join our Newsletter

    We'll send you newsletters with news, tips & tricks. No spams here.