/DemoBlazorLocalAndSessionStorage

Use protected local and Session Storage, Save List, Get Count etc... in .NET 8 blazor, No Stress anymore

Primary LanguageHTML

Easily use Protected Local & Session Storage, Save List, Get Count etc.. in .NET 8 Blazor - The BEST https://youtu.be/jY-2nR7JLcY

localSession

EXAMPLE @page "/"

@rendermode InteractiveServer @using NetcodeHub.Packages.Extensions.LocalStorage @using NetcodeHub.Packages.Extensions.SessionStorage @inject ILocalStorageService localStorageService @inject ISessionStorageService sessionStorageService

Set and Get String

Content: @Content

Set String Get String
Id: @entity.Id
Name: @entity.Name
Email: @entity.Email

<button class="btn btn-primary m-2" @onclick="SetModel">Set Model <button class="btn btn-primary m-2" @onclick="GetModel">Get Model

@if (Entities != null) { @foreach (var i in Entities) {
Id: @i.Id
Name: @i.Name
Email: @i.Email
} }
Set List Model Get List Model

Count: [@Count] <button class="btn btn-primary m-2" @onclick="GetCount">Get Count <button class="btn btn-primary m-2" @onclick="AddItemToLocal">Add Item To Local

@code { string? Content; // Local Storage // Session Storage

// Get and Set String as Unprotected
//==========================================================================================

async Task SetString() => await localStorageService.SaveAsEncryptedStringAsync("key", "Netcode-Hub");
async Task GetString() => Content = (await localStorageService.GetEncryptedItemAsStringAsync("key"));

async Task SetString() => await sessionStorageService.SaveAsEncryptedStringAsync("key", "Netcode-Hub");
async Task GetString() => Content = (await sessionStorageService.GetEncryptedItemAsStringAsync("key"));

Get and Set String as Protected
==========================================================================================

async Task SetString() => await localStorageService.SaveAsEncryptedStringAsync("key", "Netcode-Hub");
async Task GetString() => Content = (await localStorageService.GetEncryptedItemAsStringAsync("key"));

async Task SetString() => await sessionStorageService.SaveAsEncryptedStringAsync("key", "Netcode-Hub");
async Task GetString() => Content = (await sessionStorageService.GetEncryptedItemAsStringAsync("key"));




Entity entity = new();
Entity entity1 = new();

// Get and Set Model as Unprotected
//==========================================================================================
async Task SetModel()
{

    entity1.Id = 1;
    entity1.Name = "Netcode-Hub";
    entity1.Email = "NetcodeHub@gmail.com";
    await localStorageService.SaveItemAsModelAsync<Entity>("key", entity1);
}
async Task GetModel() => entity = await localStorageService.GetItemAsModelAsync<Entity>("key");

async Task SetModel()
{

    entity1.Id = 1;
    entity1.Name = "Netcode-Hub";
    entity1.Email = "NetcodeHub@gmail.com";
    await sessionStorageService.SaveItemAsModelAsync<Entity>("key", entity1);
}
async Task GetModel() => entity = await sessionStorageService.GetItemAsModelAsync<Entity>("key");



// Get and Set Model as Protected
//==========================================================================================
async Task SetModel()
{

    entity1.Id = 1;
    entity1.Name = "Netcode-Hub";
    entity1.Email = "NetcodeHub@gmail.com";
    await localStorageService.SaveEncryptedItemAsModelAsync<Entity>("key", entity1);
}
async Task GetModel() => entity = await localStorageService.GetEncryptedItemAsModelAsync<Entity>("key");


async Task SetModel()
{

    entity1.Id = 1;
    entity1.Name = "Netcode-Hub";
    entity1.Email = "NetcodeHub@gmail.com";
    await sessionStorageService.SaveEncryptedItemAsModelAsync<Entity>("key", entity1);
}
async Task GetModel() => entity = await sessionStorageService.GetEncryptedItemAsModelAsync<Entity>("key");



List<Entity> Entities = [];

// Get and Set List<T> as Unprotected
//==========================================================================================
async Task SetListModel()
{

    entity1.Id = 1;
    entity1.Name = "Netcode-Hub";
    entity1.Email = "NetcodeHub@gmail.com";
    await localStorageService.AddItemToListAsync<Entity>("key", entity1);
}
async Task GetListModel() => Entities = await localStorageService.GetItemListAsync<Entity>("key");

async Task SetListModel()
{

    entity1.Id = 1;
    entity1.Name = "Netcode-Hub";
    entity1.Email = "NetcodeHub@gmail.com";
    await sessionStorageService.AddItemToListAsync<Entity>("key", entity1);
}
async Task GetListModel() => Entities = await sessionStorageService.GetItemListAsync<Entity>("key");



// Get and Set List<T> as Unprotected
//==========================================================================================
async Task SetListModel()
{

    entity1.Id = 1;
    entity1.Name = "Netcode-Hub";
    entity1.Email = "NetcodeHub@gmail.com";
    await localStorageService.AddItemToEncryptedListAsync<Entity>("key", entity1);
}
async Task GetListModel() => Entities = await localStorageService.GetEncryptedItemListAsync<Entity>("key");

async Task SetListModel()
{

    entity1.Id = 1;
    entity1.Name = "Netcode-Hub";
    entity1.Email = "NetcodeHub@gmail.com";
    await sessionStorageService.AddItemToEncryptedListAsync<Entity>("key", entity1);
}
async Task GetListModel() => Entities = await sessionStorageService.GetEncryptedItemListAsync<Entity>("key");

async Task AddItemToLocal()
{
    entity1.Id = 1;
    entity1.Name = "Netcode-Hub";
    entity1.Email = "NetcodeHub@gmail.com";
    await localStorageService.AddItemToListAsync<Entity>("key", entity1);
}
int Count;
async Task GetCount() => Count = await localStorageService.GetItemsCountAsync<Entity>("key");
async Task GetEncryptedCount() => Count = await localStorageService.GetEncryptedItemsCountAsync<Entity>("key");
async Task GetSessionCount() => Count = await sessionStorageService.GetItemsCountAsync<Entity>("key");
async Task DeleteLocalItem() => await localStorageService.DeleteItemAsync("key");
async Task ClearLocalStorage() => await localStorageService.ClearAllItemsAsync();
async Task DeleteSessionItem() => await sessionStorageService.DeleteItemAsync("key");
async Task ClearSessionStorage() => await sessionStorageService.ClearAllItemsAsync();
public class Entity
{
    public int Id { get; set; }
    public string? Name { get; set; }
    public string? Email { get; set; }
}

}

/Follow Netcode-Hub/
https://netcodehub.blogspot.com
https://github.com/Netcode-Hub
https://twitter.com/NetcodeHub | Twitter
https://web.facebook.com/NetcodeHub | Facebook
https://www.linkedin.com/in/netcode-hub-90b188258/ | LinkedIn

/You can buy a coffee for me to support the channel/ ☕️
https://www.buymeacoffee.com/NetcodeHub
Buy Me A Coffee
PLEASE DO NOT FOGET TO STAR THIS REPOSITORY