parent
5309f461a2
commit
5e8ebf7e2a
@ -0,0 +1,11 @@
|
||||
namespace BlazorProject.Models;
|
||||
|
||||
public class Employee
|
||||
{
|
||||
public string Name { get; set; }
|
||||
public string Gender { get; set; }
|
||||
public string City { get; set; }
|
||||
public int Salary { get; set; }
|
||||
public DateTime JoiningDate { get; set; }
|
||||
|
||||
}
|
@ -0,0 +1,65 @@
|
||||
@page "/employee"
|
||||
|
||||
@using BlazorProject.Models
|
||||
|
||||
<h1>@title</h1>
|
||||
<br />
|
||||
<EditForm Model="@employee" OnSubmit="SaveEmployeeToLocalStorage">
|
||||
<div class="row">
|
||||
<div class="col-md-4">
|
||||
<div class="form-group">
|
||||
<label class="control-label col-md-12">@Localize["Name"]</label>
|
||||
<input class="form-control" @bind="employee.Name"/>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="control-label col-md-12">@Localize["Gender"]</label>
|
||||
<select class="form-control" @bind="employee.Gender">
|
||||
<option value="">@Localize["Select Gender"]</option>
|
||||
<option value="Male">@Localize["Male"]</option>
|
||||
<option value="Female">@Localize["Female"]</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-4">
|
||||
<div class="form-group">
|
||||
<label class="control-label col-md-12">@Localize["City"]</label>
|
||||
<input class="form-control" @bind="employee.City" />
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="control-label col-md-12">@Localize["Salary"]</label>
|
||||
<input type="number" class="form-control" @bind="employee.Salary" />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<button type="submit" class="btn btn-primary">@Localize["Save"]</button>
|
||||
</EditForm>
|
||||
|
||||
<hr />
|
||||
<div class="row">
|
||||
<div class="col-md-8">
|
||||
<table class='table'>
|
||||
<thead class="table-active">
|
||||
<tr>
|
||||
@foreach (string header in TableHeader)
|
||||
{
|
||||
<th>
|
||||
@Localize[header]
|
||||
</th>
|
||||
}
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
@foreach (Employee emp in lstEmployees)
|
||||
{
|
||||
<tr>
|
||||
<td>@emp.Name</td>
|
||||
<td>@Localize[emp.Gender]</td>
|
||||
<td>@emp.City</td>
|
||||
<td>@emp.Salary.ToString("C2")</td>
|
||||
<td>@emp.JoiningDate</td>
|
||||
</tr>
|
||||
}
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
@ -0,0 +1,54 @@
|
||||
using BlazorProject.Models;
|
||||
using Microsoft.AspNetCore.Components;
|
||||
using Microsoft.Extensions.Localization;
|
||||
using Microsoft.JSInterop;
|
||||
using Newtonsoft.Json;
|
||||
|
||||
namespace BlazorProject.Pages;
|
||||
|
||||
public partial class EmployeeData
|
||||
{
|
||||
[Inject] public IStringLocalizer<App> Localize { get; set; }
|
||||
[Inject] public IJSRuntime JSRuntime { get; set; }
|
||||
|
||||
Employee employee = new Employee();
|
||||
|
||||
List<Employee> lstEmployees = new List<Employee>();
|
||||
|
||||
string title;
|
||||
|
||||
string companyName = "Phrase";
|
||||
|
||||
string[] TableHeader = { "Name", "Gender", "City", "Salary", "Joining Date" };
|
||||
|
||||
protected override async Task OnInitializedAsync()
|
||||
{
|
||||
setTitle();
|
||||
var empGetJS = (IJSInProcessRuntime)JSRuntime;
|
||||
var empList = await empGetJS.InvokeAsync<string>("employeeData.get");
|
||||
FetchEmployeeFromLocalStorage(empList);
|
||||
}
|
||||
|
||||
void SaveEmployeeToLocalStorage()
|
||||
{
|
||||
employee.JoiningDate = DateTime.Now;
|
||||
lstEmployees.Add(employee);
|
||||
var empSetJS = (IJSInProcessRuntime)JSRuntime;
|
||||
empSetJS.InvokeVoid("employeeData.set", JsonConvert.SerializeObject(lstEmployees));
|
||||
employee = new Employee();
|
||||
}
|
||||
|
||||
void FetchEmployeeFromLocalStorage(string empList)
|
||||
{
|
||||
if (empList != null)
|
||||
{
|
||||
lstEmployees = JsonConvert.DeserializeObject<List<Employee>>(empList);
|
||||
}
|
||||
}
|
||||
|
||||
void setTitle()
|
||||
{
|
||||
string localizedTitle = Localize["EmployeeData"];
|
||||
title = string.Format(localizedTitle, companyName);
|
||||
}
|
||||
}
|
@ -0,0 +1,48 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
|
||||
<root>
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>1.3</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<data name="City" xml:space="preserve">
|
||||
<value>Ville</value>
|
||||
</data>
|
||||
<data name="Gender" xml:space="preserve">
|
||||
<value>Genre</value>
|
||||
</data>
|
||||
<data name="Salary" xml:space="preserve">
|
||||
<value>Salaire</value>
|
||||
</data>
|
||||
<data name="EmployeeData" xml:space="preserve">
|
||||
<value>Données des employés</value>
|
||||
</data>
|
||||
<data name="Male" xml:space="preserve">
|
||||
<value>Homme</value>
|
||||
</data>
|
||||
<data name="Female" xml:space="preserve">
|
||||
<value>Femme</value>
|
||||
</data>
|
||||
<data name="Joining Date" xml:space="preserve">
|
||||
<value>Date d'arrivée</value>
|
||||
</data>
|
||||
<data name="Name" xml:space="preserve">
|
||||
<value>Nom</value>
|
||||
</data>
|
||||
<data name="Save" xml:space="preserve">
|
||||
<value>Sauvegarder</value>
|
||||
</data>
|
||||
</root>
|
@ -0,0 +1,48 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
|
||||
<root>
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>1.3</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<data name="City" xml:space="preserve">
|
||||
<value>City</value>
|
||||
</data>
|
||||
<data name="Gender" xml:space="preserve">
|
||||
<value>Gender</value>
|
||||
</data>
|
||||
<data name="Salary" xml:space="preserve">
|
||||
<value>Salary</value>
|
||||
</data>
|
||||
<data name="EmployeeData" xml:space="preserve">
|
||||
<value>EmployeeData</value>
|
||||
</data>
|
||||
<data name="Male" xml:space="preserve">
|
||||
<value>Male</value>
|
||||
</data>
|
||||
<data name="Female" xml:space="preserve">
|
||||
<value>Female</value>
|
||||
</data>
|
||||
<data name="Name" xml:space="preserve">
|
||||
<value>Name</value>
|
||||
</data>
|
||||
<data name="Joining Date" xml:space="preserve">
|
||||
<value>Joining Date</value>
|
||||
</data>
|
||||
<data name="Save" xml:space="preserve">
|
||||
<value>Save</value>
|
||||
</data>
|
||||
</root>
|
Loading…
Reference in new issue