You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
289 lines
12 KiB
289 lines
12 KiB
@page "/Company/Dashboard"
|
|
@inject Blazored.SessionStorage.ISessionStorageService sessionStorage
|
|
@inject NavigationManager NavManager
|
|
@inherits Admin.ListBase;
|
|
@using System.ComponentModel.DataAnnotations
|
|
@using Syncfusion.Blazor.Grids;
|
|
@using Syncfusion.Blazor.Buttons;
|
|
@using Syncfusion.Blazor.Spinner;
|
|
@using Syncfusion.Blazor.Navigations;
|
|
@using Syncfusion.Blazor.Popups;
|
|
@using BlazorApp.Helper
|
|
@using BWPMModels;
|
|
<h3><b>Übersicht</b></h3>
|
|
<p></p>
|
|
|
|
<style>
|
|
.e-icons {
|
|
font-size: 10px;
|
|
}
|
|
|
|
.e-search:before {
|
|
content: '\e993';
|
|
}
|
|
|
|
.e-upload:before {
|
|
content: '\e725';
|
|
}
|
|
|
|
.e-font:before {
|
|
content: '\e34c';
|
|
}
|
|
|
|
.e-plus-icon::before {
|
|
content: '\e78f';
|
|
}
|
|
|
|
.e-pager {
|
|
display: none;
|
|
}
|
|
|
|
.btn {
|
|
border-radius: 0;
|
|
height: 24px;
|
|
width: 24px;
|
|
@* background-color: #007BFF; *@
|
|
}
|
|
|
|
.e-copy::before {
|
|
content: '\e77b';
|
|
}
|
|
|
|
.e-btn.e-icon-btn {
|
|
padding: initial;
|
|
}
|
|
</style>
|
|
<div class="control-section e-tab-section">
|
|
<div class="card">
|
|
<h6 class="card-header card-header1">
|
|
<div class="row">
|
|
<div class="col-sm">
|
|
Firmen-Daten
|
|
</div>
|
|
<div class="col-sm">
|
|
<div class="float-right">
|
|
<SfButton id="btn1" CssClass="btn" IconCss="e-icons e-plus-icon" IsPrimary="false" OnClick="@((args) => NavigateToStammdaten())"></SfButton>
|
|
<SfTooltip ID="Tooltip" Target="#btn1" Content="Stammdaten bearbeiten"></SfTooltip>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</h6>
|
|
<div class="card-body">
|
|
<div class="row">
|
|
<div class="col-sm">
|
|
<div class="card">
|
|
<h6 class="card-header">
|
|
Adresse
|
|
</h6>
|
|
<div class="card-body">
|
|
@_firma.nameZ1<br />
|
|
@_firma.nameZ2 @if (_firma.nameZ2 != "")
|
|
{
|
|
<br />
|
|
}
|
|
@_firma.strasse<br />
|
|
@_firma.plz @_firma.ort<br />
|
|
<br>
|
|
Tel: @_firma.tel<br />
|
|
Mail: @_firma.mail<br>
|
|
Internet: @_firma.web<br />
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="col-sm">
|
|
<div class="card">
|
|
<h6 class="card-header">
|
|
Bemerkung für Organisator
|
|
</h6>
|
|
<div class="card-body">
|
|
@_firma.bemerkung
|
|
</div>
|
|
</div>
|
|
<p></p>
|
|
<div class="card">
|
|
<h6 class="card-header">
|
|
Ansprechperson
|
|
</h6>
|
|
<div class="card-body">
|
|
@_firma.ansprechperon_vorname @_firma.ansprechperson_name<br />
|
|
@_firma.handy
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="col-sm">
|
|
<div class="card">
|
|
<h6 class="card-header">
|
|
Bemerkung zum Ausbildungsstandort
|
|
</h6>
|
|
<div class="card-body">
|
|
@_firma.ausbildungsstandort
|
|
</div>
|
|
</div>
|
|
<p></p>
|
|
<div class="card">
|
|
<h6 class="card-header">
|
|
Bemerkung zur Ausbildung
|
|
</h6>
|
|
<div class="card-body">
|
|
@_firma.ausbildungsbemerkung
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<p></p>
|
|
</div>
|
|
</div>
|
|
<p></p>
|
|
<div class="row">
|
|
<div class="col-sm">
|
|
<div class="card">
|
|
<h6 class="card-header card-header2">
|
|
<div class="row">
|
|
<div class="col-sm">
|
|
Ansprechpartner
|
|
</div>
|
|
<div class="col-sm">
|
|
<div class="float-right">
|
|
<SfButton CssClass="btn" IconCss="e-icons e-plus-icon" IsPrimary="false" OnClick="@((args) => NavigateToAnsprechpartner())"></SfButton>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</h6>
|
|
<div class="card-body">
|
|
<SfGrid DataSource="@GridDataAP" @ref="GridAP" AllowPaging="true" AllowSorting="true" RowHeight="20">
|
|
<GridPageSettings PageCount="5" PageSizes="false"></GridPageSettings>
|
|
|
|
<GridColumns>
|
|
|
|
<GridColumn Field=@nameof(Ansprechpartner.ID) HeaderText="Id" IsPrimaryKey="true" AllowAdding="false" Width="60" Visible="false"></GridColumn>
|
|
|
|
<GridColumn Field=@nameof(Ansprechpartner.FirmaID) HeaderText="Firmaid" Width="100" Visible="false"></GridColumn>
|
|
|
|
<GridColumn Field=@nameof(Ansprechpartner.name) HeaderText="Name" Width="100" Visible="true"></GridColumn>
|
|
|
|
<GridColumn Field=@nameof(Ansprechpartner.vorname) HeaderText="Vorname" Width="100" Visible="true"></GridColumn>
|
|
|
|
<GridColumn Field=@nameof(Ansprechpartner.anrede) HeaderText="Anrede" Width="100" Visible="true"></GridColumn>
|
|
|
|
<GridColumn Field=@nameof(Ansprechpartner.tel) HeaderText="Tel" Width="100" Visible="true"></GridColumn>
|
|
|
|
<GridColumn Field=@nameof(Ansprechpartner.email) HeaderText="Email" Width="100" Visible="true"></GridColumn>
|
|
|
|
<GridColumn Field=@nameof(Ansprechpartner.aktiv) HeaderText="Aktiv" Width="100" Visible="false" DisplayAsCheckBox="true"></GridColumn>
|
|
|
|
<GridColumn Field=@nameof(Ansprechpartner.erstellt_am) HeaderText="Erstellt_am" Width="100" Visible="false" Format="d" Type="ColumnType.Date"></GridColumn>
|
|
|
|
<GridColumn Field=@nameof(Ansprechpartner.mutiert_am) HeaderText="Mutiert_am" Width="100" Visible="false" Format="d" Type="ColumnType.Date"></GridColumn>
|
|
|
|
<GridColumn Field=@nameof(Ansprechpartner.mutierer) HeaderText="Mutierer" Width="100" Visible="false"></GridColumn>
|
|
</GridColumns>
|
|
</SfGrid>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<p></p>
|
|
<div class="row">
|
|
<div class="col-sm">
|
|
<div class="card">
|
|
<h6 class="card-header card-header3">
|
|
<div class="row">
|
|
<div class="col-sm">
|
|
Berufsangebot
|
|
</div>
|
|
<div class="col-sm">
|
|
<div class="float-right">
|
|
<SfButton CssClass="btn" IconCss="e-icons e-plus-icon" IsPrimary="false" OnClick="@((args) => NavigateToBerufsangebot())"></SfButton>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</h6>
|
|
<div class="card-body">
|
|
<SfGrid DataSource="@GridData" @ref="Grid" AllowPaging="true" AllowSorting="true" RowHeight="20">
|
|
<GridPageSettings PageCount="5" PageSizes="false"></GridPageSettings>
|
|
<GridEditSettings AllowAdding="false" AllowDeleting="false" AllowEditing="false" Mode="EditMode.Dialog"></GridEditSettings>
|
|
|
|
<GridColumns>
|
|
<GridColumn Field=@nameof(View_Berufsangebot.firmaid) HeaderText="Firmaid" Width="100" Visible="false"></GridColumn>
|
|
|
|
<GridColumn Field=@nameof(View_Berufsangebot.beruf) HeaderText="Beruf" Width="100" Visible="true"></GridColumn>
|
|
|
|
<GridColumn Field=@nameof(View_Berufsangebot.ansprechpartner) HeaderText="Ansprechpartner" Width="100" Visible="true"></GridColumn>
|
|
|
|
<GridColumn Field=@nameof(View_Berufsangebot.zeit) HeaderText="Zeit" Width="100" Visible="true"></GridColumn>
|
|
|
|
<GridColumn Field=@nameof(View_Berufsangebot.anzahl_plaetze) HeaderText="Anzahl Plätze" Width="100" Visible="true"></GridColumn>
|
|
|
|
<GridColumn Field=@nameof(View_Berufsangebot.bemerkung) HeaderText="Bemerkung" Width="100" Visible="true"></GridColumn>
|
|
|
|
<GridColumn Field=@nameof(View_Berufsangebot.schuelerbemerkung) HeaderText="Schuelerbemerkung" Width="100" Visible="true"></GridColumn>
|
|
|
|
<GridColumn Field=@nameof(View_Berufsangebot.standortbemerkung) HeaderText="Standortbemerkung" Width="100" Visible="true"></GridColumn>
|
|
</GridColumns>
|
|
</SfGrid>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
</div>
|
|
|
|
@code {
|
|
|
|
string userid = "";
|
|
private Firma _firma { get; set; } = new BWPMModels.Firma();
|
|
public List<BWPMModels.Firma> Firmendaten { get; set; }
|
|
public List<BWPMModels.View_Berufsangebot> GridData { get; set; }
|
|
public List<BWPMModels.Ansprechpartner> GridDataAP { get; set; }
|
|
|
|
public List<BWPMModels.View_Berufsangebot> View_Berufsangebots { get; set; }
|
|
|
|
public static int? pkey { get; set; }
|
|
public bool Initial { get; set; } = true;
|
|
|
|
public bool ContinuePaging = true;
|
|
public bool InitialRender { get; set; }
|
|
public int Value = 0; // consider that value your querystring contains
|
|
public int foundrow = 0;
|
|
SfGrid<View_Berufsangebot> Grid { get; set; }
|
|
SfGrid<BWPMModels.Ansprechpartner> GridAP { get; set; }
|
|
protected override async Task OnInitializedAsync()
|
|
{
|
|
var authState = await authenticationStateTask;
|
|
userid = authState.User.Claims.FirstOrDefault().Value;
|
|
await sessionStorage.SetItemAsync("UserID", userid);
|
|
Firmendaten = BlazorApp.Controller.FirmaController.GetByUserID(userid);
|
|
_firma = Firmendaten.First<BWPMModels.Firma>();
|
|
await sessionStorage.SetItemAsync("FirmaID", _firma.ID.ToString());
|
|
|
|
GridData = BlazorApp.Controller.View_BerufsangebotController.GetByFirmaID(_firma.ID);
|
|
GridDataAP = BlazorApp.Controller.AnsprechpartnerController.GetAllAktivDataByFirmaID(_firma.ID);
|
|
}
|
|
|
|
protected override async Task OnAfterRenderAsync(bool firstRender)
|
|
{
|
|
if (firstRender != true) { return; };
|
|
var authState = await authenticationStateTask;
|
|
userid = authState.User.Claims.FirstOrDefault().Value;
|
|
await sessionStorage.SetItemAsync("UserID", userid);
|
|
Firmendaten = BlazorApp.Controller.FirmaController.GetByUserID(userid);
|
|
_firma = Firmendaten.First<BWPMModels.Firma>();
|
|
await sessionStorage.SetItemAsync("FirmaID", _firma.ID.ToString());
|
|
|
|
}
|
|
|
|
private void NavigateToStammdaten()
|
|
{
|
|
NavigationManager.NavigateTo("/Company/Company");
|
|
}
|
|
private void NavigateToBerufsangebot()
|
|
{
|
|
NavigationManager.NavigateTo("/Company/Berufsangebot");
|
|
}
|
|
|
|
private void NavigateToAnsprechpartner()
|
|
{
|
|
NavigationManager.NavigateTo("/Company/CompanyContact");
|
|
}
|
|
}
|